More actions
No edit summary |
No edit summary |
||
| Line 14: | Line 14: | ||
우리의 주제는 HTML 하는 사람은 프로그래머일까요? | 우리의 주제는 HTML 하는 사람은 프로그래머일까요? | ||
HTML을 하는사람을 프로그래머라고 할 수 있을까? | HTML을 하는사람을 프로그래머라고 할 수 있을까? | ||
=== 왜이런 주제가 나왔을까요? == | === 왜이런 주제가 나왔을까요? == | ||
| Line 21: | Line 23: | ||
우리의 주제는 HTML 하는 사람은 프로그래머일까요? | 우리의 주제는 HTML 하는 사람은 프로그래머일까요? | ||
HTML을 하는사람을 프로그래머라고 할 수 있을까? | HTML을 하는사람을 프로그래머라고 할 수 있을까? | ||
=== 왜이런 주제가 나왔을까요? == | === 왜이런 주제가 나왔을까요? == | ||
| Line 38: | Line 42: | ||
우리의 주제는 HTML 하는 사람은 프로그래머일까요? | 우리의 주제는 HTML 하는 사람은 프로그래머일까요? | ||
HTML을 하는사람을 프로그래머라고 할 수 있을까? | HTML을 하는사람을 프로그래머라고 할 수 있을까? | ||
=== 왜이런 주제가 나왔을까요? == | === 왜이런 주제가 나왔을까요? == | ||
Revision as of 09:40, 22 May 2019
2019.05.15 ZeroPage 정모
OMS
OMS 주자 : 송정우 학우 - "HTML 하는 사람은 프로그래머일까요?"
= 왜이런 주제가 나왔을까요?
HTML은 프로그래밍 언어가 아니다. 라는 이야기가 훨씬 많다. ZP 내에서도 항상 나오던 이슈였다. 우리의 주제는 HTML 하는 사람은 프로그래머일까요? HTML을 하는사람을 프로그래머라고 할 수 있을까?
= 왜이런 주제가 나왔을까요?
HTML은 프로그래밍 언어가 아니다. 라는 이야기가 훨씬 많다. ZP 내에서도 항상 나오던 이슈였다. 우리의 주제는 HTML 하는 사람은 프로그래머일까요? HTML을 하는사람을 프로그래머라고 할 수 있을까?
= 왜이런 주제가 나왔을까요?
HTML은 프로그래밍 언어가 아니다. 라는 이야기가 훨씬 많다.
ZP 내에서도 항상 나오던 이슈였다. 우리의 주제는 HTML 하는 사람은 프로그래머일까요? HTML을 하는사람을 프로그래머라고 할 수 있을까?
= 왜이런 주제가 나왔을까요?
HTML은 프로그래밍 언어가 아니다. 라는 이야기가 훨씬 많다.
ZP 내에서도 항상 나오던 이슈였다. 우리의 주제는 HTML 하는 사람은 프로그래머일까요? HTML을 하는사람을 프로그래머라고 할 수 있을까?
= 왜이런 주제가 나왔을까요?
HTML은 프로그래밍 언어가 아니다. 라는 이야기가 훨씬 많다.
ZP 내에서도 항상 나오던 이슈였다. 우리의 주제는 HTML 하는 사람은 프로그래머일까요? HTML을 하는사람을 프로그래머라고 할 수 있을까?
왜 이 주제를 선택했을까요?
HTML은 프로그래밍 언어라고 보기 힘들다. 그러나 HTML을 하는 사람은 프로그래머라고'불릴만하다'라고 생각한다. 본인도 개발을 시작한지 만 2년 밖에 되지 않았다 웹사이트에 접속해보지 않은 사람이 없을 가능성이 매우매우 높다
쉽게 말하는 웹
웹을 쉽게 생각하는 사람이 많다. 그런데 본인은 웹은 어렵다고 생각하고 잘짜기도 어렵다고 생각함
스프링의 특징
Spring의 가장 큰 특징 두개
- DI (의존성 주입)
- AOP (관점 지향 프로그래밍)
오른쪽 로고 친숙하죠? ㅎ
근데 프레임워크가 뭐죠?
Framework란? 뼈대, 골격, 틀 이런 뜻. Library랑 다르다.
- Library = 필요한 기능을 짜둔 것
- Framework = 이리 만들고 구현하라 강요하는, 즉 형태를 짜주는 것
프레임워크에서 중요한 점
Framework에선 IoC (제어 역전)이 중요하다.
- 라이브러리를 쓸땐 여러분의 코드가 라이브러리를 부른다.
- 프레임워크를 쓸땐 프레임워크가 여러분의 코드를 부른다.
그래서 앞서 말한 서버가 뭐죠?
저도 몰라요 그러니 예시를 들어서 설명할께요.
Client-Server 모델 예시
네이버를 접속하면 네이버가 나오죠? 이 네이버, html파일을 전송해주는 애는? 서버 (회장님 질문: 프로그래밍 언어인가요?) 아니에요~
인프라 모형 예시
그림 : Presentiation Layer > Application Layer > Data Layer 여러분이 보는 거 있고 그 밑에 그걸 주는 서버 있고 그 밑에 데이터 주는 서버 있고 스프링은 중간을 만들게 해주는 프레임워크다~ 이 말이야!
다시 설명해드리죠
브라우저(아닐 수도 있지만)가 요청을 하면 html을 보내주는 애가 서버에요. 이 요청은 다양해요. 로그인 요청일 수도 있겠죠. 이런 다양한 요청을 받아주고 결과물을 html로 던저주는 게 스프링이고요 html이 아니라 json같은 다른 형식일 수도 있어요.
근데 사실 앞서 말씀드린 것들은
스프링만의 특징이 아니에요. django, flask 같은 애들도 이런 특징을 가지고 있습니다. 클론이요? 저도 모르는데 넣어봤어요. 익스프레스? 까먹고 못 넣었네요. 암튼 이런 다양한 프레임워크들이 있어요.
그래서 스프링은 뭐가 다르죠?
두가지가 있어요.
Dependenc Injection
프레임워크가 니 코드를 부르지. 니 코드가 프레임워크를 부르지 않아요. IoC랑 혼동되기도 하는 개념이에요. 완전히 분리되지 않은 개념이라서...
각 class를 bean object로 구성하여 Container가 관리합니다. 그러면 bean들끼리는 서로 몰라도 되는, 결합도를 낮추는 거에요. 이것을 의존성을 주입한다고 말해요.
어떻게?
Request가 온다 -> 디스패쳐 서블렛이 핸들러를 볼러용 -> 핸들러를 매핑해요. -> 핸들러가 컨트롤러를 불러용 -> 뷰 리솔버가 뷰를 볼러요. ... 이렇게 간접적으로 이어지게 하는거에요.
잘 모르겠죠? 저도 잘 몰라요. 구현 해봐야 아는데
AOP(Aspect-Oriented Programming)
이거 쓴다고 OOP를 못 쓰는 건 아니에요. 하나의 구현방식이라 생각하시면 되고요. 코드의 중복을 방지해주는 거에요.
개념
join point : 프로그램 실행 중 어떤 시점에서 실행할지 지정해주는 것, Spring에선 method call의 시작점, before? after? 이런식을 구현해요. Advice : 특정 join point에서 수행되는 동작. 예를 들어 세션으로 관리자가 맞는지 검사한다던지... 다양한 게 있겠죠? 그런식으로 권한 관리, 로깅 이런걸 할 수 있게.
@Aspect와 @Around를 써서 무언가를 할 수도 있어요.
Annotation
키워드들을 이용해서 자동으로 bean 설정을 해주는거에요. @Autowired를 넣으면 이걸 감지해서 자동으로 주입해주는... 뭐 이런 기능 xml이랑 겹치면 헷갈리면 하나만 쓰시든 기준을 세우든 하시면 됩니다.
까먹은 것
Spring은 원래 Enterprise용이에요. 스프링을 쓴다면 팀프로젝트일 가능성이 높지 않을까~ 그래서 언제 어노테이션을 쓰지 이건 어떻게 구현할지 미리 합의를 해두시고 시작하시는 게 좋을 겁니다.
기타
ORM, Spring Security, Spring Boot 있고요 스프링의 장점은 한글자료가 많다는 겁니다. 왜나고요? 정부에서 자바개발자를 찍어낼때 스프링을 가르쳤기 때문에... 학습하기 쉬울 수도 있어요. 물론 영어보단 낫다는 느낌입니다.
Q&A
Q. 스프링을 어떻게 시작하면 좋을까요? A. 부트로 시작하세요. "스프링 따라하기" 이런거 치면 자료 많아요.
OMS 다음 주자
송정우의 "HTML 하는 사람은 프로그래머일까요?"
스터디 및 프로젝트
- 스터디 활동 공유
스터디
| 스터디 이름 | 분야 | 19, 18강 했음. |
| Shaprest++ | C++ | |
| 앙기모와 머머리 | 모의투자 | 다음 주부터 주식 API 다룬다고 들었음. |
| J를기다리며 | 머신러닝 | 텐서플로우를 시작할 것임. |
| 사과세요 | IOS 앱개발 | 테이블을 다이나믹하게 다루는 걸 배움 |
| JS한방병원 | JavaScript | 폐강할 예정 (자바스크립트를 할 이유가 없어져서) |
| 그치만 HTML은 프로그래밍언어라구욧! | 웹 | 자바스크립트로 뭐 하는 것까지 배움. |
| 블리는 어썸할거야 | 블리는어썸할거야/진행내역 블리는 어썸할거야/진행 내역 | 지난 주에 실수표현 표준에 대해 공부하고, floating point도 나오길래 잠깐 다룸. |
| 준비하자프로그래밍경시대회 준비하자 프로그래밍 경시대회 | 알고리즘 | 이번 주 NPC때문에 휴강 |
| 운?췌! | 운영체제 | 스터디룸 못 빌려서 못 함. |
| NotKill Not Kill | 코틀린 | 다다음주에 앱 만들 듯 |
| 알고리즘알고하냐 | 알고리즘 | 혼자 했음. |
| Menu_Tab | 텝스 | DAILYEE로 이름 바꾸고 진행중임. |
프로젝트
| 프로젝트 | 진행 사항 |
| [caucsenotice] | |
| Robot_Study/OpenManipulator | Controller 코드 이해, 사용방법 파악 완료, init state까지 제작 |
| 무제 |
활동 소식
- "아무콘솔대잔치"로 대회명이 확정됨.
- 나머지는 공지방에 나와있음.
- 1:1 매칭을 위해 수요조사중.
- 구글 폼에 한번씩 작성해주세요.
- 멘토는 랜덤배정이지만 바뀔 수 있음.
Comment
- 310관 B312 선호합니다, 앞으로 여기서 했으면 좋겠습니다. - 우준혁