분류 전체보기 117

JAVA 스터디 : Lombok annotation

▶ Lombok 이란? 롬복(Lombok)은 자바에서 Model(DTO, VO, Domain) Object 를 만들때, 멤버필드(프로퍼티)에 대한 Getter/Setter, ToString과 멤버필드에 주입하는 생성자를 만드는 코드 등 불필요하게 반복적으로 만드는 코드를 어노테이션을 통해 줄여 주는 라이브러리, 프로젝트 입니다. 사실 반복되는 Getter, Setter, toString 등을 자동으로 해주는 것만으로도 고마운 것 같다. ▶ License : MIT License MIT 라이선스(MIT LICENSE)는 미국 매사추세츠 공과대학교(MIT)에서 해당 대학의 소프트웨어 공학도들을 돕기 위해 개발한 라이선스다. MIT 라이선스를 따르는 소프트웨어를 개조한 제품을 반드시 오픈 소스로 배포해야 한다..

JAVA 2020.12.31

JAVA 스터디 : Spring AOP

AOP란? Aspect Oriented Programming의 약자로 관점 지향 프로그래밍이라고 불린다. 관점 지향은 쉽게 말해 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하겠다는 것이다. 여기서 모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말한다. 예를들어 핵심적인 관점은 결국 우리가 적용하고자 하는 핵심 비즈니스 로직이 된다. 또한 부가적인 관점은 핵심 로직을 실행하기 위해서 행해지는 데이터베이스 연결, 로깅, 파일 입출력 등을 예로 들 수 있다. AOP에서 각 관점을 기준으로 로직을 모듈화한다는 것은 코드들을 부분적으로 나누어서 모듈화하겠다는 의미다. 이때, 소스 코드상에서 다른 부분에 계속 반복해서 쓰는 코드들을 발견할 수..

JAVA 2020.12.30

JAVA 스터디 : Properties

JAVA 웹 프로젝트에서 Properties 파일 활용하기 웹 어플리케이션이 시작하자마자 가져와야하는 정보와 같은 것들을 프로퍼티 파일에 작성해서 관리할 수 있다. 프로퍼티 파일 작성하기 프로퍼티 파일은 한 라인에 key=value 형식으로 작성하고 .properties 확장자를 붙여 저장한다. 프로퍼티 파일 로딩 및 내용 가져오기(읽기) java.util.Properties 클래스를 사용해서 프로퍼티 파일을 다룰 수 있다. Properties는 key=value 형식의 텍스트 파일을 다룰 때 사용하는 클래스이다. 출처:atoz-develop.tistory.com/entry/%EC%9B%B9-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8%EC%97%90%EC%84%9C-Properti..

JAVA 2020.12.29

JAVA 스터디 : DI

Dependency Injection (의존성 주입) 객체 자체가 아니라 Framework에 의해 객체의 의존성이 주입되는 설꼐 패턴 Framework에 의해 동적으로 주입되므로 여러 객체간의 결합이 줄어든다. Dependency Injection은 Spring Framework 에서 지원하는 IoC의 형태 설정에 명시된대로 Container가 bean 객체를 생성하고 종속성 주입을 수행한다. Dependency Injection(의존성 주입)과 Inversion Of Control(제어의 역전)은 같은 의미로 사용된다. IoC는 DI를 통해 달성된다. IoC(제어의 역전): 프로그램 제어권을 framework가 가져가는 것 개발자가 모든 제어의 중심이지만 코드 전체에 대한 제어는 framework가 한..

JAVA 2020.12.28

JAVA 스터디 : nginx의 이해

트래픽이 많은 웹사이트를 위해 확장성을 위해 설계한 비동기 이벤트 기반구조의 웹서버 소프트웨어. 일명,더 적은 자원으로 더 빠르게 서비스를 하는 SW로 알려져 있다. 이 프로그램은 가벼움과 높은 성능을 목표로 만들어 졌으며, 러시아의 프로그래머, 이고르 시쇼브가 Apache의 C10K Problem(하나의 웹서버에 10,000개의 클라이언트의 접속을 동시에 다룰 수 있는 기술적인 문제)를 해결하기 위해 만든 Event-driven구조의 HTTP, Reverser Proxy, IMAP/POP PROXY server를 제공하는오픈소스 서버 프로그램이다. nginx는 Apache와 비교를 하는 편이다. Apache - 쓰레드 / 프로세스 기반 구조로 요청 하나당 쓰레드 하나가 처리하는 구조 - 사용자가 많으면..

JAVA 2020.12.25

JAVA 스터디 : MVC패턴이란?

디자인 패턴이란? 프로그램이나 어떤 특정한 것을 개발하는 중에 발생했던 문제점들을 정리해서 상황에 따라 간편하게 적용해서 쓸 수 있는 것을 정리하여 특정한 "규약"을 통해 쉽게 쓸 수 있는 형태로 만든 것을 말한다. 특정 앱을 만든다 가정했을 때, 유지보수나 타인과의 공유를 하면서 만드는 경우가 다수 있다. 그럴 대 좀 더 쉽고 깔끔하게 만들 수 있는 방법을 고민해야한다. 예를 들어 그냥 jQuery를 이용한다면 $('#lucid')로 DOM을 선택할 수 있는 있지만, 그냥 순수Javascript를 사용한다면 document.getElementsByid('lucid')로 길게 써가며 찾아야 한다. 이런 것을 "돕기" 위해 디자인이라는게 나오는 것이며 이렇듯 "좀 더 쉽고 편리하게" 사용할 수 있게 만든 ..

JAVA 2020.12.24

JAVA 스터디 : Ajax ?

AJAX (Asynchronous Javascript And XML) AJAX란, JavaScript의 라이브러리중 하나이며 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자이다. 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 로드하는 기법 이며 JavaScript를 사용한 비동기 통신, 클라이언트와 서버간에 XML 데이터를 주고받는 기술이다. 즉, 쉽게 말하자면 자바스크립트를 통해서 서버에 데이터를 요청하는 것이다. 비동기 방식이란? 비동기 방식은 웹페이지를 리로드하지 않고 데이터를 불러오는 방식이며 Ajax를 통해서 서버에 요청을 한 후 멈추어 있는 것이 아니라 그 프로그..

JAVA 2020.12.23

JAVA 스터디 : REST API가 정말 뭘까? 이제 간신히 스타트다

아무래도 도대체 rest API가 무엇인지 restful API와 다른 것인지, 방식을 다르게 쓴다는 말은 알았지만 그러면 도대체 뭘 해야한다는 것인지 ... 전혀 이해하지 못한 채로 심지어 node js 를 통한 rest api 의 기초편까지 동영상 공부를 했다. 그러나 node js 의 기초에 대해서만 ... 배우게 되었다. 난 여전히 rest api 를 이해하지 못했던 차에, 아주 짧은 동영상 강의가 있어 반신반의로 들어보았는데 이해가 됐다! 혹시나 누군가에게 도움이 될까 싶어 정리해본다. 우선 API는 Application Programming Interface 이다. 예를 들어 설명해보겠다. A라는 업체에서 날씨 정보를 보여줄 수 있는 소프트웨어를 만들어냈다. B업체에서 만들고 있는 소프트웨어에..

JAVA 2020.12.22

스터디 : node JS 기초

node JS란? 브라우저 밖에서 자바스크립트 코드를 실행할 수 있다. 크롬에서 사용하는 v8엔진을 사용한다. 이벤트 기반의 비동기 I/O 프레임워크 Common JS를 구현한 모듈 시스템 이벤트 기반의 비동기 I/O 프레임워크? --> 이벤트 기반의 프레임워크 이벤트: 클라이언트가 인입되면 이벤트가 발생함. 메인잡은 이벤트 루프에서 처리할 수 있지만 무거운 잡의 경우 다른 워커(worker)가 처리해야함. 메인이 되는 이벤트 루프가 하나의 thread 로만 구성됭어 있기 때문에 single thread 라고 함. --> 비동기? 요청이 들어오자마자 하나씩 진행하는걸 동기 프레임워크라함. (java / php) 노드의 경우 순차적으로 진행하긴 하지만 single thread 이지만 worker가 또 다른..

웹개발 2020.12.22

JAVA 스터디: RESTful API

REST(RESTful)란? REST는 프로토콜이나 표준이 아닌 아키텍처 원칙 세트로 API 개발자는 REST를 다양한 방식으로 구현할 수 있다. RESTful API를 통해 요청이 수행될 때 RESTful API는 리소스 상태에 대한 표현을 요청자에게 전송한다. 이 정보 또는 표현은 HTTP: JSON(Javascript Object Notation), HTML, XLT 또는 일반 텍스트를 통해 몇 가지 형식으로 전송된다. JSON은 그 이름에도 불구하고 사용 언어와 상관이 없을 뿐 아니라 인간과 머신이 모두 읽을 수 있기 때문에 가장 널리 사용된다. API가 RESTful로 간주되려면 다음 기준을 따라야 한다. 클라이언트, 서버 및 리소스로 구성되었으며 요청이 HTTP를 통해 관리되는 클라이언트-서버..

JAVA 2020.12.21