분류 전체보기
-
프로토콜 스택을 이용한 데이터의 송수신 (2)네트워크 2018. 5. 24. 23:56
안녕하세요 오늘은 지난번에 배웠던 네트워크 프로토콜 스택의 간단한 구조를 정의한 공부를 진행했는데http://dayzen1258.tistory.com/entry/%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EC%8A%A4%ED%83%9D%EC%9D%84-%ED%86%B5%ED%95%9C-%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B3%B5%EB%B6%80-1?category=820726 이번 시간 부터는 본격적으로 클라이언트와 서버에서의 데이터의 송수신에 대하여 포스팅을 진행해볼까 합니다. 먼저 지난번 얘기했던 어플리케이션 계층의 Socket부분이 생각 나시나요?사용자의 어플리케이션에서 Socket을 이용해서 리졸버를 통해 도메인에서 IP를 얻어와 보..
-
경우의 수 출력하기프로그래밍/알고리즘 2018. 5. 22. 23:45
오랜만의 간단한 알고리즘 문제를 가지고 돌아왔습니다!! 문제)두개의 수를 입력받는다첫번째 입력 K에는 K의 수만큼 a를 출력하고두번째 입력 N에는 N의 수만큼 b를 출력하는데 규칙이 존재한다.a와 b의 우선순위에서는 ab의 순서로 출력이 되며 각각의 나올수 있는 경우의 모든 수를 출력한다. 예시) 입력- K : 2, N : 2출력 aabb abab abba baab baba bbaa 입력- K : 3, N : 2출력 aaabb aabab aabba abaab ababa abbaa baaab baaba babaa bbaaa 설명 먼저 K의 수만큼 a가 출력 되고 N의 수만큼 b가 출력됩니다.a와b가 출력 될수있는 모든 경우의 수가 출력이 되는데a와b의 우선순위는 a>b이기때문에 a부터 순서대로 b까지 출력..
-
프로토콜 스택을 통한 네트워크 공부 (1)네트워크 2018. 5. 17. 09:50
서버를 공부하다 보니 클라이언트와 서버의 네트워크 교환이 어떻게 이루어지는지 잘 알지 못하고 있다는 사실을 알게되었습니다.그렇기에 네트워크의 기초부터 웹 서버와 클라이언트의 교환까지 천천히 공부해 나아가며 포스팅 할 생각입니다. 먼저 프로토콜 스택이란 무엇인지에 대하여 먼저 알아보겠습니다. 모든 컴퓨터가 네트워크를 통해서 데이터의 교환을 위해서는 프로토콜이 필요합니다.즉 프로토콜 스택이란 간단히 프로토콜의 집합이라고 생각하시면 됩니다. (프로토콜에 대한 자세한 내용은 추후에 포스팅을 따로 올리도록 하겠습니다.) 출처 : http://graphy21.blogspot.kr/2010/07/chaper-4-tcp-1.html 위의 그림은 간단한 계층별 구조도를 나타낸 그림입니다. 1. Application La..
-
Spring boot란?프로그래밍/Spring 2018. 5. 13. 23:53
먼저 Spring boot를 알기전에 Spring이란 무엇인지에 대하여 먼저 알아보도록 하겠습니다. 1. Spring스프링은 자바 플랫폼을 기반으로 만들어진 오픈소스 프레임워크로 간단하게 스프링이라고 합니다.대표적인 사례로 전자정부 표준프레임워크의 기반으로 사용되며 현재는 spring 5.0.7까지가 릴리즈된 버전 이며 나중에 가면 더 늘겠지요?? 2. Spring boot스프링 부트는 스프링에서 어려운 설정이나 WAS에 대한 설정없이 바로 개발에 들어갈 수 있도록 만든 프레임워크 입니다!최소한의 설정으로 스프링의 여러가지 라이브러리나 플랫폼을 사용할 수 있는 장점과 내장형 톰캣, 제티 등을 탑재하여 단독 실행가능 기능을 제공합니다. 자세한 사항은 : https://spring.io/ 여기서 접속하셔서 ..
-
KiwiJuice프로그래밍/알고리즘 2018. 5. 6. 09:54
오늘은 간단한 시뮬레이션 알고리즘 기초중 유명한 알고리즘인 키위주스 알고리즘을 풀어보도록 하겠습니다. 문제 타로는 맛있는 키위 주스를 준비했습니다. 타로는 맛있는 키위주스를 준비했습니다. 타로는 0부터 N-1이라 이름을 붙인 N개의 병에 키위주스를 넣었습니다. 이때 i번째의 병의 용량은 capaties[i] 리터이며 타로가 i번째 병에 넣은 키위 주스의 양을 bottles[i] 리터라고 합니다.타로는 병에 키위주스를 재분배하려고 하며, 0부터 M-1까지 M회 조작합니다.i번째의 조작은 타로가 병 fromId[i]부터 병 toId[i]에 키위 주스를 넣는 것을 의미합니다. 병 fromId[i]가 비어있거나 병 toId[i]가 꽉 차 있는 순간, 타로는 더 이상 키위 주스를 넣지 않습니다.N개의 요소를 가진..
-
함수형 프로그래밍?프로그래밍 2018. 4. 23. 22:36
이번에 JPA를 공부하면서 Optional이라는 개념이 처음으로 알게 되어 꼬리를 물고 물고 들어니깐 함수형 프로그래밍이라는 개념이나왔습니다. 함수? 모든 함수는 두종류의 입력과 출력을 지니는데 보통 우리 개발자가 아는 함수는 무엇이있을까? public int add (int x, int t) {...}위와 같은 함수는 int형의 타입으로 x와 y를 받아온뒤 int형의 타입으로 데이터를 출력해줍니다. 그렇다면 두번째 종류의 함수는 무엇일까요?public void createMessage() { Message message = process.getProcess(); if(message != null){convert(message)} }이 함수는 Input도 Output또한 명시적으로는 존재하지 않지만 다른..
-
DAO? DTO? VO?프로그래밍/Spring 2018. 4. 16. 09:23
Spring boot를 공부하면서 다양한 용어들을 접하는데 그중 Jpa를 공부하면서 DAO, DTO, VO의 개념들을 알게 되었고 개발을 하면서도 헷갈려서 이번 기회에 정리를 해볼까 합니다. DAO란?Data Access Object의 약자로 말 그대로 DB나 데이터에 연결을 하기위한 객체를 말합니다. 활용도웹서버에서 DB에 연결하기 위해서 connection을 사용하는 요청이 증가해 과부화가 걸리면 안되기에 connection pool이라는 기능이 존재합니다.커넥션 풀이라는 기능은 커넥션 객체를 만들어 사용을 사용을 한뒤 객체를 반환하는 것인데 모든 커넥션에서 DB에 접속하는 하나의 객체를 만들어 이 객체가 모든 DB의 연결을 처리하도록 도와주는 객체를 DAO라고합니다. 예시)spring boot에서 ..
-
객체 지향적 방법론프로그래밍/개발 방법론 2018. 4. 10. 00:46
객체 지향적 방법론을 알기전에 간단한 기본 정의에 대하여 공부하고 들어가고자 한다. 먼저 객체란 무엇일까? (출처 :네이버 지식백과) 네이버 백과사전을 통해 객체에 조사해보니 실세계에 존재하거나 생각할 수 있는 것을 객체라고 정의를 하는데 그렇다면 지향이란 무엇일까? 지향 또한 똑같이 네이버에 검색해보니 형용사적 표현으로 ~을 지향하는 이라는 뜻을 지닌다. 즉 객체 지향이라는 말은 객체를 중심으로 사고하는 것 이라는 제 나름대로의 결론을 생각해 보았는데 객체 지향이라는 뜻을 알게된후 객체지향적 방법론을 생각해보니 객체를 단위로 시스템을 분석하고 설계하여 구현하는 방법론 이라는 결과가 나왔다. 그렇다면 객체는 어째서 우리에게 나타나 인기를 끌게 되었는지가 궁금해졌다. 70년대 이전의 소프트웨어 개발방식은 ..