본문 바로가기

분류 전체보기

(283)
[프로그래머스] 숫자 문자열과 영단어(JAVA) 문제는 다음과 같다. 이 문제를 해결하기 위해 Character.isDigit() 메소드를 사용하였다. isDigit 메소드를 쓰면 해당 문자가 숫자인지 문자인지 파악할 수 있다. 문자이면 false 를 숫자이면 true 를 반환한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 package algorithm.programmers.level1; public class NumberStringAndWord { c..
HTTPS 란 무엇일까 1.https란 HTTP는 포스팅한 것이 있으니 참조를 하자 (다른 사람걸 참조하는게 더 좋다!) HTTP는 정보를 텍스트로 주고 받는다. 이때 네트워크에서 전송신호를 가로채는 경우에는 데이터 유출이 발생할 수 있다. HTTP는 통신 프로토콜이다. HTTPS 역시 통신 프로토콜이다. 대신 보안성이 더 좋아진다. HTTPS는 HTTP에 Secure Socket 이 추가된 것이다. HTTPS의 정확한 이름은 'Hypertext Transfer Protocol Over Secure Socket Layer' 이다. 여기서 굵직한 글자를 합치면 SSL이 된다. HTTPS는 SSL 위에서 작동하는 프로토콜이다. 그냥 보안만 좋은 프로토콜이겠거니 할 수도 있지만 HTTP / HTTPS 여부는 검색엔진에서 도메인을 평..
http의 메소드 1. HTTP 메소드의 종류 메소드의 종류는 총 9가지가 있다. 메소드의 종류와 대략적인 용도를 알아보자 GET : 리소스를 조회한다. POST: 데이터를 처리하는 요청을 보낸다. PUT : 리소스를 대체한다. 해당 리소스가 없다면 생성한다. PATCH: 리소스의 일부문 변경을 한다. DELETE : 리소스를 삭제한다. HEAD : 헤더정보만 조회한다. GET메소드에서 메세지 부분을 제외한 상태줄과 헤더만 반환한다. OPTIONS: 대상 리소스에 대한 통신 가능 옵션을 설정한다. (주로 CORS에서 사용한다.) CONNECT : 대상 리소스로 식별되는 서버에 대한 터널을 설정한다. TRACE : 대상 리소스에 대한 경로를 따라 메시지 loop-back 테스트를 수행한다. 2. HTTP 메소드의 용도 GE..
[프로그래머스] 로또의 최고 순위와 최저 순위(JAVA) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 package algorithm.programmers.level1; public class LottoMaxAndMin { class Solution { public int[] solution(int[] lottos, int[] win_nums) { int[] answer = new int[2]; int winCount = 0 ; int zeroCount = 0 ; for (int lotto: lottos) { if(lotto..
[프로그래머스] 신고 결과 받기(JAVA) set을 쓸 생각을 미처 하지 못하였다. 대략적인 흐름은 이러하다. 1. 신고한 자가 누구를 신고하냐를 set을 통해 저장한다. 2. 신고받은 자가 일정 회수 이상인것만 남겨두고 set에 있는 정보를 지운다. 3. set 에 있는 정보만 구하면 그것이 곧 답니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 package algorithm.programmers.level1; import java.util.*; //신고 결과 받기 public class AbusingReport {..
http 란 무엇일까 1. HTTP란? HTTP란 Hyper Text Transfer Protocol 의 약자이다. 즉 HTTP는 프로토콜의 일종이다. 인터넷에서 우리는 웹 페이지(HTML), text, 이미지, 음성등의 데이터를 주고 받는다. 이때 데이터를 주고 받을 수 있게 해주는 프로토콜이 HTTP이다. 2. HTTP 의 동작 클라이언트와 서버는 request(요청) 와 response(응답) 를 한다. 요청과 응답시에는 각각 자신의 정보를 담은 메세지를 상대에게 보내는데, 이 메세지를 HTTP 메세지라 한다. HTTP 메세지는 start line / header / body 로 구성이된다. start line 은 요청시에는 메소드 버전, 요청이 전송되는 주소(request target), http 버전의 의 정보를 가..
blocking 과 non blocking 비동기 이벤트 기반 방식을 다루기 전에 그 이외의 방식을 다뤄보자 1. blocking vs non blocking blocking 과 no blocking은 호출되는 함수가 바로 리턴이되는가의 여부가 관심사이다. blocking의 경우 바로 리턴되지 않으며, non blocking의 경우에는 바로 리턴이 된다. 2. sync vs async 이 두가지는 상호 비교 대상이 되기 어려운데 바라보는 관점이 다르기 때문이다. sync/ async 는 호출되는 함수의 작업 완료 여부를 누가 신경쓰냐가 관심사이다. sync (동기 기반) : 호출되는 함수의 작업 완료 여부를 신경쓰는 것은 호출하는 함수이다. 즉 작업을 요청한 측에서 작업의 완료여부를 체크한다. async (비동기 기반) : 호출되는 함수의 작업 ..
웹서버 nginx 1. nginx 란 무엇일까 오픈소스에 유료지원도 있는 웹 서버이다. 가볍고 높은 성능을 목표로 하고 있으며 웹서버, 리버스 프록시, 메일프록시 와 같은 기능도 수행할 수 있다. 거의 모든 unix 계열 OS에서 지원되며, windows 에서는 부분적으로 지원이된다. niginx를 설명하는 키워드들은 event driven 아키텍쳐 / 적은 메모리 사용 / C10K problem의 해결 등으로 말 할 수 있을것 같다. 2. nginx 의 대략적인 특징 async event-driven 방식을 사용하는 이벤트 지향 아키텍쳐이다. 메모리 생성 속도가 빠르다. 더 적은 쓰레드로 많은 클라이언트 처리가 가능하다. 환경설정을 바꾼 후 서버 데몬을 재시작할 필요 없이 reload 신호만 보내면 된다. 즉, 프로세스..