SMALL

분류 전체보기 654

[Spring Framework] 웹 애플리케이션이란?

1994년 무렵 WWW(World Wide Web)나 HTML(Hyper Text Markup Language)이 잡지 등에 소개되기 시작했다. 그 무렵의 홈페이지에는 이미지도 거의 없고 한글로 된 페이지조차 그 수가 적었다. 당연히 인터넷을 업무에 사용하는 사람도 거의 없었으며, 취미 이야기를 하던 nifty 게시판이 인기 있던 시절이다. www가 유행하게 된 이유는 많지만, 그중 하나는 웹 브라우저가 있으면 회사 안에서뿐만 아니라 밖에서도 같은 정보를 공유할 수 있었기 때문이다. 즉, www는 일반 사용자나 일반 고객처럼 컴퓨터와 인연이 없는 사람도 컴퓨터를 켜고 웹 브라우저만 사용할 수 잇으면 간단히 이용할 수 있는 기술이었다. 스마트폰이 등장한 후 스마트폰용 앱이 널리 이용되는 지금상황에 비춰보면..

Study/Spring 2019.08.03

[Spring Framework] 스프링과 웹 애플리케이션

스프링은 웹 애플리케이션에 특화된 프레임워크가 아니며, 클라우드 네이티브화된 애플리케이션 만들기에 특화된 프레임워크도 아니다. 간단히 말해, 규모가 큰 애플리케이션을 자바로 만들 때 필요한 프레임워크이다. 욕심을 부려서 이것저것 다 설명하면 이해하기가 어려우므로, 여기서는 웹 애플리케이션을 대상으로 설명한다. 다만, 웹 애플리케이션으로 한정한다고 해도 그 안에는 다른 애플리케이션 개발에 이용할 수 있는 범용적인 부분도 포함될 것이다. 스프링에 관한 자세한 설명에 앞서 웹 애플리케이션과 그 설계 이론을 알아보자. 스프링을 웹 애플리케이션에 이용하려면 웹 애플리케이션과 그 설계 이론을 이해하는 거싱 매우 중요하다. 스프링은 구현을 위한 프레임워크가 아니라 설계를 위한 프레임워크라고 해도 과언이 아니다. 내용..

Study/Spring 2019.08.03

[Spring Framework] 스프링 서브 프로젝트

초기에는 스프링의 서브 프로젝트로 화면 전환의 흐름(flow)을 관리하는 스프링 웹 플로(Spring Web Flow)가 있었다. 그 후 인증/허가 처리를 관리하는 스프링 시큐리틸(Spring Security) 등이 추가됐고, 일괄 처리용의 스프링 배치 (Spring Batch)가 출시되었다. 최근에는 애플리케이션 개발을 간단하게 해주는 스프링 부트(Spring Boot)가 주목받고 있다. 스프링 서브 프로젝트는 이뿐만이 아니다. 요즘에는 스프링 웹 애플리케이션 기반으로 보기보다는 더 큰 엔터프라이즈 시스템의 기반으로 생각하는 것이 정확할 것 같다. 혹은 비즈니스 아이디어를 시스템으로 빠르게 만들어줄 수 있는 기반으로 보는 경우도 있다. 즉, 작은 시스템부터 큰 시스템까지 모두 대응할 수 있다. 물론 스..

Study/Spring 2019.08.03

[Spring Framework] 스프링의 역사

스프링은 2002년에 세상에 처음 나왔다. 로드 존슨(Road Johnson)이 자신의 저서에서 MVC 모델을 설명하면서 '이 프레임워크는 샘플이 아니며 공개돼 자유롭게 사용할 수 있다'는 취지의 문장에 이어서 스프링의 이름을 언급한 것이 최초이다. 아래의 표와 같이 스프링이정식으로 등장한 것은 2004년 3월이며, OSS(Open Source Software)로 시작한 스프링은 현재 Privoital 사(http://pivotal.io/)의 관리하에 아파치 라이센스 버전 2.0 조건으로 사용할 수 있다. 스프링(버전 1계열)을 자주 이용하기 시작한 때는 2006년 무렵이다. 당시에는 SSH라고 부르는 구성으로 웹 애플리케이션 프레임워크로 이용했다. SSH란 스프링(Spring), 스트럿츠(Strutcs..

Study/Spring 2019.08.03

[알고리즘] 알고리즘에 대한 이야기

" 문제를 해결할 수 있는 능력, 즉 알고리즘 능력 " 프로그래밍을 배우는 사람들은 모두 공감하는 사실을 포스팅하고자 한다. 우리는 코딩을 한다. 하지만 코딩을 하면서 문제가 생겼을 때 문제를 인지하고 해결할 수 있는 능력은 바로 주어지는 것이 아니다. 프로그래밍이라는 기술은 알고리즘이라는 세포로 이루어져 있다. 알고리즘이라는 세포의 내부에 존재하는 DNA는 논리이며, 만사에 논리적인 사람은 좋은 코드를 작성하지만, 논리적 사고가 결핍되어 있는 사람은 아무리 열심히 '코딩'을 배워도 좋은 코드를 작성하지 못한다. 그렇기 때문에 대학은 학생들에게 코딩 능력이 아니라, 문제를 해결할 수 있는 능력, 알고리즘 능력을 길러주는 방법에 대해 고민을 해야한다. 살에 새긴 문신 같은 코딩 능력은, 학원, 스터디 그룹..

Study/IT 이야기 2019.08.02

[Python] 파이썬의 활용 분야

프로그래밍언어는 프로그램을 만들기 위해 존재한다. 파이썬으로 모든 프로그램을 다 만들 수 있지만 언어별로 특화된 영역이 있어 모든 분야에 다 어울리는 것은 아니다. 파이썬은 쉬운 문법과 높은 생산성으로 다음 분야에 주로 활용된다. 1. 유틸리티 제작 : 간단한 작업을 처리하는 시스템 유틸리티 제작에 적합하다. 배치 파일이나 쉘 스크립트에 비해 성능이 월등해 간단한 관리 프로그램 제작에 최적이다. 2. 웹 프로그래밍 : 웹은 요구 사항이 빈번히 바뀌어 성능보다 신속한 대응과 유연성이 중요하다. 파이썬은 개발 기간이 짧고, 플랫폼 독립적이어서, 웹 개발에 유리하며, 실제 파이썬으로 운영되는 웹 사이트가 점점 늘어나고 있다. 3. 임베디드 : 사물 인터넷(IoT) 분야에 활용하여 초소형 컴퓨터 프로그래밍에 자..

Study/Python 2019.07.14

[Python] 파이썬의 특징 및 장점

특징 및 장점 파이썬은 인터프리터 방식으로 동작하는 스크립트 언어라는 면에서 전통적인 컴파일 언어와는 다른 독특한 특징이 만다. 주요 특징 및 장점은 다음과 같다. 1. 배우기 쉽고 사용하기도 쉽다. 성능은 조금 느리지만 생산성이 높아 C 언어에 비해 개발 기간이 짧다 2. 플랫폼에 독립적이어서 어느 운영체제에서나 사용할 수 있다. 그래서 이기종 간의 통신 환경인 웹에 유리하다. 3. 공개된 언어여서 비용이 전혀 들지 않으며, 언제든지 다운받아 사용이 가능하다. 심지어 소스까지 다 공개가 되어있다. 4. 실무에 필요한 고급 라이브러리를 대거 포함하고 있어 기본 패키지만 설치해도 웬만한 작업은 다 처리할 수 있다. 파이썬의 이런 철학을 배터리 포함(Batteries Included)이라고 한다. 웹, 그래..

Study/Python 2019.07.14

[공부방법] 두뇌를 정복하는 방법

천천히 하자. 더 많이 이해할수록 외워야 할 양이 줄어든다. 그저 읽기만 해서는 안된다. 잠깐씩 쉬면서 생각해보자. 질문이 나오면 바로 답으로 넘어가지 말고, 다른 사람이 그런 질문을 했다고 생각해보자. 더 깊고, 신중히 생각할수록 더 잘 배우고 오래 기억할 수 있다. 연습문제를 풀고, 직접 메모하자. 연습문제를 그저 쳐다만 보지말자, 연필을 사용해서 직접 풀어보면 학습 효과가 높아진다. 오감을 모두 사용하자. 몸을 쓰면서 공부하면 학습 효과가 높아진다는 증거와 자료는 많이 있다. 그냥 답만 보고 넘어가면 다른 사람이 대신 운동해주는 것을 구경하는 것과 마찬가지이다. '바보같은 질문이란 없다.' 질문해라 모르는 것은 적고, 직접 풀어보고 그래도 안되면 질문하자. 내용에 대해 이야기해라 큰 소리로! 소리 ..

Study/IT 이야기 2019.07.14

디자이너와 함께 일하는 방법

모든 일에는 순위가 있다 맞물려서 함께 돌아가는 구조이기는 하지만, 먼저 기획이 나오고 디자인이 나오는 것이 보통이다. 이 경우에는 기획자가 디자이너 앞에 있는 구조이다. 이 때 염두에 두어야 할 것에는 세 가지가 있다. " 기획 의도와 컨셉은 명확하게 " 교육 프로그램, 행사, 브랜딩 등등 기획에는 반드시 그 전체 기획안을 관통하는 컨셉과 기획 의도가 있기 마련이다. 만약! 이게 없다면 기획자를 의금부로 보내자. 디자이너는 기획자가 만든 기획 의도를 정확하게 파악해야 한다. 기획서에 적힌 목적과 목표만으로는 부족하다. 대화를 통해 중심을 잡아야 할 부분을 확실하게 파악하자. " 제작물 리스트 " 기획은 한 번 만들면 영원불멸한 것이 아니다. 끊임없이 수정되고 바뀌면서 최종 파일 500개를 만들어 내는데..

Study/IT 이야기 2019.06.30
반응형