본문 바로가기

전체 글

(53)
웹 프로젝트(12books) -03. kakao 책 검색 api 1. kakao search api 카카오 개발자 에서 어플리케이션 등록을 했고, api key를 발급받았다. 카카오 개발자 센터의 설명에 따라 header에 api key 를 넣어서 양식에 맞게 api를 검색 키워드를 입력해서 호출하면 검색 키워드에 따른 json 데이터를 가져올 수 있다. 이를 우리 프로젝트에 맞게 가공해서 modal에 띄우는 작업을 했다. 예를 들면 자바라는 키워드로 책을 검색하면 카카오 api를 통해서 json 데이터를 가져오고 이를 modal 창에 뿌려주는 것이다. modal 창에서 내가 읽을 책을 선택하면 해당 isbn(책의 고유값, 사람으로 치면 주민등록번호)가 DB에 있는지 확인하고 없으면 DB에 저장을 하고 저장한 데이터를 고객의 화면에 띄워주고 모든 정보를 사용자가 입력..
AJAX 란? 1. AJAX 란? AJAX is a developer's dream, because you can: Read data from a web server - after the page has loaded Update a web page without reloading the page Send data to a web server - in the background AJAX는 개발자의 꿈이다. 왜냐하면 당신은 페이지가 로드된 후에 웹 서버로 부터 데이터를 읽어들일 수있다. 또 페이지를 다시 로딩하지않고도 웹 페이지를 업데이트 할 수 있다. 또 웹 서버로 데이터를 보낼 수 있다. function loadDoc() { var xhttp = new XMLHttpRequest(); xhttp.onreadystate..
Eager/Lazy Loading In Hibernate 1. 소개 ORM으로 작업을 할 때, data fetching/loading 은 eager와 lazy 2 타입으로 구분된다. 2. Eager and Lazy loading Eager loading은 데이터 초기화가 현장에서 일어나는 디자인 패턴이다. Lazy loading은 가능한 한 객체의 초기화를 지연시키는 데 사용되는 디자인 패턴이다. 3. 차이점 데이터가 메모리에 로드되는 순간이 가장 큰 차이점이다. Lazy loading 장점 - 초기 접근 시간은 다른 접근 방식보다 훨씬 적다. - 다른 방법보다 메모리 소비가 적다. 단점 - 지연된 초기화는 원치 않는 순간에 성능에 영향을 줄 수도 있다. - 경우에 따라 특별히 초기화 된 지연 초기화 객체를 처리해야하거나 예외가 발생할 수도 있다. Eager ..
TechStudy -07 TDD? TDD(Test Driven Development)란 ? 테스트 주도 개발(Test-driven development TDD)은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. 개발자는 먼저 요구사항을 검증하는 자동화된 테스트 케이스를 작성한다. 그런 후에, 그 테스트 케이스를 통과하기 위한 최소한의 코드를 생성한다. 마지막으로 작성한 코드를 표준에 맞도록 리팩토링한다. 이 기법을 개발했거나 '재발견' 한 것으로 인정되는 Kent Beck은 2003년에 TDD가 단순한 설계를 장려하고 자신감을 불어넣어준다고 말하였다. 출처 - 위키백과 "프로그램을 작성하기 전에 먼저 테스트를 하라!" - 켄트 백 프로그램을 작성하지도 않았는데 테스트를 먼저하라니, 마치 자동차를 만들기도 전에 주..
TechStudy -06 RESTful api REST(Representional State Transfer)ful api란?자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미한다. HTTP URI를 통해 자원을 명시하고 , HTTP method들을 통해 해당 자원에 대한 CRUD Operation을 적용하는 것을 의미한다. HTTP의 인프라를 그대로 사용해서 별도의 인프라 구축이 필요없고, 여러가지 서비스 디자인에서 생길 수 있는 문제를 최소화한다.
TechStudy -05.Stack Queue Stack이란? 실제 영어 사전에서 찾아보면 '건초더미'라는 의미를 지닙니다. 데이터를 일시적으로 저장하기 위한 자료구조로, 가장 나중에 넣은 데이터를 가장 먼저 꺼냅니다. 데이터의 입력과 출력 순서는 후입선출(LIFO, Last In First Out)입니다. Stack에 데이터를 넣는 작업을 push라 하고, Stack에서 데이터를 꺼내는 작업을 pop이라고 합니다. 데이블에 겹겹이 쌓은 접시처럼 데이터를 넣는 작업도 꺼내는 작업도 위쪽부터 수행합니다. 이렇게 푸시와 팝을 하는 위치를 top이라 하고, 가장 아랫부분을 bottom이라고 합니다. Queue란? 실제 영어 사전에서 찾아보면 '줄'이라는 의미를 지닙니다. 스택과 마찬가지로 데이터를 일시적으로 쌓아 두기 위한 자료구조입니다. 선입선출(FIF..
TechStudty -04 멀티 스레드의 특징 멀티 스레드란?* 아래는 멀티 스레드에 대해 알아보기 전에 알아야할 기초적인 것들의 정의들 프로그램 : 어떤 작업을 하기 위해 실행할 수 있는 파일프로세스 : 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램, 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적인 개체), 운영체제로 부터 시스템 자원을 할당받는 작업의 단위, 즉 동적인 개념으로는 실행된 프로그램을 말한다. 기본적으로 프로세스당 최소 1개의 스레드를 가지고 있다.스레드 : 프로세스 내에서 실행되는 여러 흐름의 단위를 말한다. 프로세스의 특정한 수행 경로이자 프로세스가 할당받은 자원으 이용하는 실행의 단위이다. 일반적으로 하나의 프로세스는 하나의 스레드를 가지고 작업을 수행한다. 하지만 멀티 스레드란 하나의 프로세스 내에서 둘 이상의..
TechStudty -03 HTTP 프로토콜이란? 1. HTTP 프로토콜이란?- www(world wide web)상에서 데이터를 주고 받기 위한 프로토콜이다. - 서버/클라이언트 모델을 따른다.- 애플리케이션 레벨의 프로토콜로 TCP/IP위에서 작동한다.- 어떤 종류의 데이터든지 전송할 수 있도록 설계되어있다. (html 문서, 이미지, 동영상 , 오디오, 텍스트 문서 등등)2. 작동방식?- 클라이언트에서 요청(request)를 보내면 서버는 요청을 처리해서 응답(response)한다. - 클라이언트 : 서버에 요청하는 클라이언트 소프트웨어가 설치된 컴퓨터- 서버 : 클라이언트의 요청을 받아서 요청을 해석하고 응답을 하는 소프트웨어가 설치된 컴퓨터 (Apache, nginx, IIS, lighttpd 등)- 보통 표준 포트인 80번 포트로 서비스한다...