U E D R , A S I H C RSS

정모/2019.5.22

Difference between r1.16 and the current

@@ -1,9 +1,19 @@
= '''2019.05.15 ZeroPage 정모''' =
= '''2019.05.22 ZeroPage 정모''' =

[[TableOfContents]]

== OMS ==
OMS 주자 : [송정우] 학우 - "HTML 하는 사람은 프로그래머일까요?"
 
=== 왜이런 주제가 나왔을까요? ==
 
HTML은 프로그래밍 언어가 아니다. 라는 이야기가 훨씬 많다.
 
ZP 내에서도 항상 나오던 이슈였다.
우리의 주제는 HTML 하는 사람은 프로그래머일까요?
HTML을 하는사람을 프로그래머라고 할 수 있을까?
 
=== 왜 이 주제를 선택했을까요? ===

HTML은 프로그래밍 언어라고 보기 힘들다.
@@ -15,99 +25,55 @@
웹을 쉽게 생각하는 사람이 많다.
그런데 본인은 웹은 어렵다고 생각하고 잘짜기도 어렵다고 생각함

=== 스프링의 특징 ===
Spring의 가장 큰 특징 두개
* DI (의존성 주입)
* AOP (관점 지향 프로그래밍)
오른쪽 로고 친숙하죠? ㅎ

=== 근데 프레임워크가 뭐죠? ===
Framework란?
뼈대, 골격, 이런 뜻. Library랑 다르다.
* Library = 필요한 기능을 짜둔 것
* Framework = 이리 만들고 구현하라 강요하는, 형태를 짜주는
=== 무슨 이야기를 하고 싶었냐고요? ===
ROLE 여러 개로 나눠진다 그래고 웹 프로그래머는 크게 두 분야로 갈라진다 Backend Developer와 Frontend Developer.
==== BACKEND DEVELOPER ====
서버를 개발하고 관리하고 운영
서버 누군가가 정보를 요청했다면 그걸 처리해서 전달해주는 역할 웨이터 \\서버 같은 역할 학교에서 배우는 수업들이 꽤 중요하다 데이터베이스, os 등등

==== 프레임워크에서 중요한 점 ====
Framework에선 IoC (제어 역전)이 중요하다.
* 라이브러리를 쓸땐 여러분의 코드가 라이브러리를 부른다.
* 프레임워크를 쓸땐 프레임워크가 여러분의 코드를 부른다.
==== FRONTEND DEVELOPER ====
자바스크립트를 대표하는 노란색
앞단에 보이는 것들을 만들어요.
웹사이트는 프론트엔드 개발자들을 갈아 넣어서 만든 주스.. 아니 화면입니다.
HTML CSS Javascript를 이용해서 정적인 정보와 동적인 애니메이션 디자인을 한다.

=== 그래서 앞서 말한 서버가 뭐죠? ===
저도 몰라요
그러니 예시를 들어서 설명할께요.
==== Client-Server 모델 예시 ====
네이버를 접속하면 네이버가 나오죠?
이 네이버, html파일을 전송해주는 애는? 서버
(회장님 질문: 프로그래밍 언어인가요?)
아니에요~
==== 인프라 모형 예시 ====
그림 : Presentiation Layer > Application Layer > Data Layer
여러분이 보는 거 있고 그 밑에 그걸 주는 서버 있고 그 밑에 데이터 주는 서버 있고
스프링은 중간을 만들게 해주는 프레임워크다~ 이 말이야!
==== 다시 설명해드리죠 ====
브라우저(아닐 수도 있지만)가 요청을 하면 html을 보내주는 애가 서버에요.
이 요청은 다양해요. 로그인 요청일 수도 있겠죠.
이런 다양한 요청을 받아주고 결과물을 html로 던저주는 게 스프링이고요
html이 아니라 json같은 다른 형식일 수도 있어요.
=== 근데 사실 앞서 말씀드린 것들은 ===
스프링만의 특징이 아니에요.
django, flask 같은 애들도 이런 특징을 가지고 있습니다.
클론이요? 저도 모르는데 넣어봤어요.
익스프레스? 까먹고 못 넣었네요.
암튼 이런 다양한 프레임워크들이 있어요.

=== 그래서 스프링은 뭐가 다르죠? ===
두가지가 있어요.
==== Dependenc Injection ====
프레임워크가 코드를 부르지. 코드가 프레임워크를 부르지 않아요. 
IoC랑 혼동되기도 하는 개념이에요. 완전히 분리되지 않은 개념이라서...
===== 프론트엔드 개발자는 뭔가 쉬울 것 같다 =====
.. 필자도 5년전까지도 그렇게 생각함
현재는 프론트도 엄청나게 복잡해졌다. 
원래는 개판으로 짜도 돌아가던 코드들에서, 지금은 안된다. lazy loading 기능이 브라우져 자체에 들어가게되며 성능이 중요하게 되었다. 프론트엔드 개발은 ui/ux도 고려해야한다. 
디자인만 생각하면 된다고 생각하지만 랜더링 등도 알아야해서 어렵다.

각 class를 bean object로 구성하여 Container가 관리합니다.
그러면 bean들끼리는 서로 몰라도 되는, 결합도를 낮추는 거에요.
이것을 '''의존성을 주입'''한다고 말해요.

===== 어떻게? =====
Request가 온다
-> 디스패쳐 서블렛이 핸들러를 볼러용
-> 핸들러를 매핑해요.
-> 핸들러가 컨트롤러를 불러용
-> 뷰 리솔버가 뷰를 볼러요.
... 이렇게 간접적으로 이어지게 하는거에요.

모르겠죠? 저도 몰라요.
구현 해봐야 아는데
=== HTml 무시하냐? ===
seo,semantic html이라는 용어는 들어보셨나요?
seo는 들어 보셨죠?

==== AOP(Aspect-Oriented Programming) ====
이거 쓴다고 OOP를 쓰는 아니에요. 하나의 구현방식이라 생각하시면 되고요.
코드의 중복을 방지해주는 거에요.
==== seo ====
검색엔진 최적화, 검색 엔진의 결과에 상위에 랭크될 있도록 하는 것
semantic html(의미론적 html)
사실html은 태그라는 걸 이요해서 페이지를 만드는데, 이 태그가 쓰는 것만 쓰게 됩니다. 
(디브 하나만 쓰면 돼요! 그래서 태그를 쓰는 태그만 쓰게 됩니다)
그런데 메인태그라든지 많은 태그가 있다. 그리고 그런 태그를 설명하는 것이다.

===== 개념 =====

join point : 프로그램 실행 어떤 시점에서 실행할지 지정해주는 것, Spring에선 method call의 시작점, before? after? 이런식을 구현해요.
Advice : 특정 join point에서 수행되는 동작. 예를 들어 세션으로 관리자가 맞는지 검사한다던지... 다양한 게 있겠죠? 그런식으로 권한 관리, 로깅 이런걸 할 수 있게.
시맨틱한 html을 고려하지 않고 코드를 x같이 막짰다를 느끼게 된다!

@Aspect와 @Around를 써서 무언가를 수도 있어요.
요세는 html을 잘활용하기 위해 컴퓨터적 지식이 필요하다.

==== Annotation ====
키워드들을 이용해서 자동으로 bean 설정을 해주는거에요.
@Autowired를 넣으면 이걸 감지해서 자동으로 주입해주는... 이런 기능
xml이랑 겹치면 헷갈리면 하나만 쓰시든 기준을 세우든 하시면 됩니다.
웹하고 웹에 대한 내용도 들을꺼니까 도움이 되는지는 모르겠고요 웹개발에 민희형에게 연락을하세용 웹하는 분이 늘어서 행복합니다

=== 까먹은 === 
Spring은 원래 Enterprise용이에요.
스프링을 쓴다면 팀프로젝트일 가능성이 높지 않을까~
그래서 언제 어노테이션을 쓰지 이건 어떻게 구현할지 미리 합의를 해두시고 시작하시는 게 좋을 겁니다.
=== 질의 응답 ===

=== 기타 ===
ORM, Spring Security, Spring Boot 있고요 스프링의 장점은 한글자료가 많다는 겁니다.
왜나고요? 정부에서 자바개발자를 찍어낼때 스프링을 가르쳤기 때문에... 학습하기 쉬울 수도 있어요. 물론 영어보단 낫다는 느낌입니다.
==== 로컬스터러지랑 쿠키랑 다른게 뭐냐? ====
-사실 다른게 없죠

=== Q&A ===
'''Q.''' 스프링을 어떻게 시작하면 좋을까요?
'''A.''' 부트로 시작하세요. "스프링 따라하기" 이런거 치면 자료 많아요.
==== 다른게 없다니요? html이전에는 쿠키가 안되나요? ====
-로컬스터리지라는 개념은 쿠키라기보다는 인터넷이 안되는 환겨에서 정보를 남길 때
세션 스터러지에 정보를 저장하려 한다. 1회용성 비밀번호르 담는다. 비밀번호를 담는건 상당히 위험하니까.

=== OMS 다음 주자 ===
송정우의 "HTML 하는 사람은 프로그래머일까요?"

== 스터디 및 프로젝트 ==

@@ -123,14 +89,15 @@
|| [블리는 어썸할거야] || [:블리는어썸할거야/진행내역 블리는 어썸할거야/진행 내역] || 지난 주에 실수표현 표준에 대해 공부하고, floating point도 나오길래 잠깐 다룸. ||
|| [:준비하자프로그래밍경시대회 준비하자 프로그래밍 경시대회] || 알고리즘 || 이번 주 NPC때문에 휴강 ||
|| [운?췌!] || 운영체제 || 스터디룸 못 빌려서 못 함. ||
|| [:NotKill Not Kill] || 코틀린 || 다다음주에만들 ||
|| [:NotKill Not Kill] || Kotlin / Android || 안드로이드만들기로 8월에 재시작 ||
|| [알고리즘알고하냐] || 알고리즘 || 혼자 했음. ||
|| [Menu_Tab] || 텝스 || DAILYEE로 이름 바꾸고 진행중임. ||
=== '''프로젝트''' ===
|| 프로젝트 || 진행 사항 ||
|| [caucsenotice] || ||
|| [Robot_Study/OpenManipulator] || Controller 코드 이해, 사용방법 파악 완료, init state까지 제작 ||
|| [Robot_Study/OpenManipulator] || 노가다 시작 ||
|| [무제] || ||
|| [수충프로젝트] ||빅스비 캡슐 개발중, 카톡 챗봇 정보 업데이트중||

== 활동 소식 ==
* "아무콘솔대잔치"로 대회명이 확정됨.


1.1. OMS

OMS 주자 : 송정우 학우 - "HTML 하는 사람은 프로그래머일까요?"

=== 왜이런 주제가 나왔을까요? ==

HTML은 프로그래밍 언어가 아니다. 라는 이야기가 훨씬 많다.

ZP 내에서도 항상 나오던 이슈였다.
우리의 주제는 HTML 하는 사람은 프로그래머일까요?
HTML을 하는사람을 프로그래머라고 할 수 있을까?


1.1.1. 왜 이 주제를 선택했을까요?


HTML은 프로그래밍 언어라고 보기 힘들다.
그러나 HTML을 하는 사람은 프로그래머라고'불릴만하다'라고 생각한다.
본인도 개발을 시작한지 만 2년 밖에 되지 않았다
웹사이트에 접속해보지 않은 사람이 없을 가능성이 매우매우 높다

1.1.2. 쉽게 말하는 웹

웹을 쉽게 생각하는 사람이 많다.
그런데 본인은 웹은 어렵다고 생각하고 잘짜기도 어렵다고 생각함


1.1.3. 무슨 이야기를 하고 싶었냐고요?

ROLE 여러 개로 나눠진다 그래고 웹 프로그래머는 크게 두 분야로 갈라진다 Backend Developer와 Frontend Developer.

1.1.3.1. BACKEND DEVELOPER

서버를 개발하고 관리하고 운영
서버 누군가가 정보를 요청했다면 그걸 처리해서 전달해주는 역할 웨이터 \\서버 같은 역할 학교에서 배우는 수업들이 꽤 중요하다 데이터베이스, os 등등

1.1.3.2. FRONTEND DEVELOPER

자바스크립트를 대표하는 노란색
앞단에 보이는 것들을 만들어요.
웹사이트는 프론트엔드 개발자들을 갈아 넣어서 만든 주스.. 아니 화면입니다.
HTML CSS Javascript를 이용해서 정적인 정보와 동적인 애니메이션 및 디자인을 한다.


1.1.3.2.1. 프론트엔드 개발자는 뭔가 더 쉬울 것 같다
.. 필자도 5년전까지도 그렇게 생각함
현재는 프론트도 엄청나게 복잡해졌다.
원래는 개판으로 짜도 돌아가던 코드들에서, 지금은 안된다. lazy loading 기능이 브라우져 자체에 들어가게되며 성능이 중요하게 되었다. 프론트엔드 개발은 ui/ux도 고려해야한다.
디자인만 생각하면 된다고 생각하지만 랜더링 등도 알아야해서 어렵다.



1.1.4. HTml 무시하냐?

seo,semantic html이라는 용어는 들어보셨나요?
seo는 들어 보셨죠?

1.1.4.1. seo

검색엔진 최적화, 검색 엔진의 결과에 상위에 랭크될 있도록 하는 것
semantic html(의미론적 html)
사실html은 태그라는 걸 이요해서 페이지를 만드는데, 이 태그가 쓰는 것만 쓰게 됩니다.
(디브 하나만 쓰면 다 돼요! 그래서 태그를 쓰는 태그만 쓰게 됩니다)
그런데 메인태그라든지 많은 태그가 있다. 그리고 그런 태그를 설명하는 것이다.


시맨틱한 html을 고려하지 않고 코드를 x같이 막짰다를 느끼게 된다!

요세는 html을 잘활용하기 위해 컴퓨터적 지식이 필요하다.

웹하고 웹에 대한 내용도 들을꺼니까 도움이 되는지는 잘 모르겠고요 웹개발에 민희형에게 연락을하세용 웹하는 분이 늘어서 행복합니다

1.1.5. 질의 응답


1.1.5.1. 로컬스터러지랑 쿠키랑 다른게 뭐냐?

-사실 다른게 없죠

1.1.5.2. 다른게 없다니요? html이전에는 쿠키가 안되나요?

-로컬스터리지라는 개념은 쿠키라기보다는 인터넷이 안되는 환겨에서 정보를 남길 때
세션 스터러지에 정보를 저장하려 한다. 1회용성 비밀번호르 담는다. 비밀번호를 담는건 상당히 위험하니까.


1.2. 스터디 및 프로젝트


  • 스터디 활동 공유

1.2.1. 스터디

스터디 이름 분야 19, 18강 했음.
Shaprest++ C++
기모와 머머리 모의투자 다음 주부터 주식 API 다룬다고 들었음.
J를기다리며 머신러닝 텐서플로우를 시작할 것임.
사과세요 IOS 앱개발 테이블을 다이나믹하게 다루는 걸 배움
JS한방병원 JavaScript 폐강할 예정 (자바스크립트를 할 이유가 없어져서)
치만 HTML은 프로그래밍언어라구욧! 자바스크립트로 뭐 하는 것까지 배움.
리는 어썸할거야 리는 어썸할거야/진행 내역 지난 주에 실수표현 표준에 대해 공부하고, floating point도 나오길래 잠깐 다룸.
비하자 프로그래밍 경시대회 알고리즘 이번 주 NPC때문에 휴강
?췌! 운영체제 스터디룸 못 빌려서 못 함.
Not Kill Kotlin / Android 안드로이드 앱 만들기로 8월에 재시작
알고리즘알고하냐 알고리즘 혼자 했음.
Menu_Tab 텝스 DAILYEE로 이름 바꾸고 진행중임.

1.2.2. 프로젝트

프로젝트 진행 사항
caucsenotice
Robot_Study/OpenManipulator 노가다 시작
수충프로젝트 빅스비 캡슐 개발중, 카톡 챗봇 정보 업데이트중

1.3. 활동 소식

  • "아무콘솔대잔치"로 대회명이 확정됨.
    • 나머지는 공지방에 나와있음.
    • 1:1 매칭을 위해 수요조사중.
    • 구글 폼에 한번씩 작성해주세요.
    • 멘토는 랜덤배정이지만 바뀔 수 있음.

1.4. Comment

  • 310관 B312 선호합니다, 앞으로 여기서 했으면 좋겠습니다. - 우준혁


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-16 14:07:58
Processing time 0.0557 sec