일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dfs
- 동적계획법
- DynamicProgramming
- 전공자따라잡기
- 피보나치
- 1707
- 이진트리
- 바인딩
- Bottom Up
- 인오더
- 포화이진트리
- 링킹
- 프로그래머스
- 도커
- 백준
- 11724
- 연결요소
- 포스트오더
- 그래프
- JAVA_HOME
- BFS
- 자바
- 이분그래프
- n진법게임
- 알고리즘
- 웹개발
- 순회
- 완전이진트리
- 9093
- Java
- Today
- Total
목록분류 전체보기 (23)
물음표 살인마
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/2gxip/btsiyWkLVZa/g5dCmpMqdGlvYtkCaQomIK/img.png)
1. https://start.spring.io/ 접속 사용할 옵션을 선택하면 프로젝트가 zip파일로 내려받아진다. 내려받아진 zip파일을 ide에서 열면 프로젝트 생성 끝! - 빌드관리도구: 라이브러리를 관리해준다. Apache Ant -> Maven -> Gradle로 넘어가는 추세라고 하니 잘 모르면 Gradle을 사용하자. - 스프링부트 버전: 뒤에 SNAPSHOT, M1같은 게 붙은 건 미정식 버전이다. 정식 버전 중 맘에 드는 걸 선택하자. - 프로젝트 메타데이터: 도메인과 프로젝트 이름, 자바 버전 등을 설정한다. - 라이브러리: 사용할 라이브러리를 선택한다. 나는 웹개발이라 Spring Web이랑 템플릿 엔진으로 Thymeleaf를 선택했다. 2. 메인 메서드 실행해보기 start.spri..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Ipgj8/btsh9Bcftim/NCRG4UeVRh33xpEiLK7XUK/img.png)
1. docker 컨테이너는 아무런 설정 없이 외부에서 접근할 수 없으며 도커가 설치된 호스트에서만 접근 가능하다. 외부에 컨테이너를 노출시키기 위해서는 docker의 NAT IP를 할당받은 eth0 인터페이스의 ip와 포트를 호스트의 ip와 포트에 바인딩해야한다. -p [호스트 포트]:[컨테이너 포트] 옵션으로 바인딩할 수 있다. - 여러개의 포트를 연결하려면 -p 옵션을 여러번 사용하면 된다. - -p 80과 같이 입력하면 컨테이너의 80번 포트를 쓸 수 잇는 호스트의 포트중 하나와 연결된다. 어느 포트와 연결되었는지는 docker ps 명령어를 입력해 확인해야한다. 2. 아파치 서버 설치 (1) apt-get update로 설치가능 리스트 업데이트하기 (2) apt-get install apache..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/4Pi8r/btshCbxXOaT/lw8v2zNPaBI5M8f0kwmLxk/img.png)
- npm이란: Node Package Manager, 라이브러리 설치를 쉽게 도와주는 도구. 노드를 설치하면 같이 딸려온다. - npm init: package.json 파일을 만들기 위해 사용하는 명령어 - package.json: 설치한 라이브러리 목록을 자동으로 기록해주는 파일. - express: 서버 생성 라이브러리. 1. npm init 명령어 실 2. entry point에 내가 원하는 파일명 기입 3. package.json이 생성된다 4. npm install express로 express라이브러리 설치 5. package.json에 express가 추가된 걸 볼 수 있다. 6. entry point로 설정한 파일(server.js)에 express 라이브러리 첨부해 서버 띄우기 서버를..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cemZk8/btshYchkWsv/ectZoBwdRLoYPlrOcZy7Kk/img.png)
도커엔진에서 사용하는 기본 단위는 이미지와 컨테이너다. 1. 이미지: 컨테이너를 생성할 때 필요한 요소. 여러 개의 계층으로된 바이너리 파일로 존재 컨테이너를 생성하고 실행할 때 읽기 전용으로 사용횐다. [저장소 이름]/[이미지 이름]:[태그] 형태로 구성됨 2. 도커 컨테이너: 이미지로 컨테이너를 생성하면 이미지 목적에 맞는 파일이 들어있는 파일시스템과 격리된 시스템 자원 밑 네트워크를 사용할 수 있는 독립된 공간이 생성된다. 이 공간이 컨테이너. 컨테이너는 이미지를 읽기전용으로 사용하고, 이미지에서 변경된 사항만 컨테이너 계층에 저장하므로 컨테이너에서 무엇을 하든 원래 이미지는 영향을 받지 않는다. 각 생성된 컨테이너는 각기 독립된 파일시스템을 제공받으며 호스트와 분리되어 있으므로 특정 컨테이너에 어..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Vw7vp/btr1ucS5eYn/HvpKGus67rA8RuaEIGVvek/img.png)
1. Node.js란? 자바스크립트는 정적이던 html 페이지를 동적으로 만들기 위해 만들어졌다. 즉 html을 위한, html에 종속된 언어였다. 그리고 자바스크립트 해석은 웹브라우저가 담당하는데, 그렇기 때문에 브라우저 안에 자바스크립트 해석 엔진이 내재되어 있다. (크롬-v8, 파이어폭스-spider monkey, 익플-chakra 등) 여기서 크롬이 자바스크립트 해석 엔진인 v8만 똑 떼서 출시한 게 node.js다. node.js는 브라우저말고 로컬pc에서도 자바스크립트를 실행할 수 있게 도와준다. 즉, node.js는 자바스크립트 실행환경(=런타임) 이다. * 런타임: 프로그래밍 언어는 주로 고급 언어로, 기계가 바로 이해할 수 없기 때문에 고급 언어로 작성된 소스 코드를 기계어로 변환하는 과..
회원인증방법 1. session-based (1)유저가 로그인하면, (2)서버가 유저의 세션아이디가 적힌 쿠키를 발행해 브라우저에 전송 (3)브라우저는 쿠키를 저장 (4)브라우저에서 유저가 마이페이지를 요청하면 (5)쿠키데이터도 같이 서버에 자동으로 전송된다 (6)전송된 쿠키안의 세션아이디를 바탕으로 서버의 세션데이터에서 비교해서 로그인 했으면 마이페이지 전송 => 자바스크립트 라이브러리가 알아서 해준당 특징: 서버에 로그인 상태를 저장(장점이자 단점) 2.token-based(JWT:Jason Web Token) (1)유저가 로그인, (2)서버가 웹토큰(암호화된 긴 문자열)을 발행해 브라우저에 전송 (3)브라우저는 쿠키 or local storegy에 저장 (4)마이페이지 요청(헤더에 웹토큰도 함께 전..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bAaXFn/btsbmbJrN1J/f319KKsigYmq0vcsyW5OC1/img.png)
자바로 진법 변환 하는 법 1. 10진수 -> n진수 Integer.toString(int i, int radix) 사용 첫번째 파라미터에 변환할 숫자, 두번째 파라미터에 변환할 진법을 넣으면 된다. 2진수, 8진수, 16진수의 경우 아래 함수도 사용 가능. Integer.toBinaryString(int i) Integer.toOctalString(int i) Integer.toHexString(int i) //변환할 숫자 int num = 22; for (int i = 2; i 10진수 Integer.parseInt(String s, int radix) 사용 //변환할 숫자 int num = 22; for (int i = 2; i = m*t) break; } String answer = ""; for..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/NxrY3/btrXGojvoQH/wByKjHna52UCkKsAR77mmk/img.png)
트리란? 자료구조의 일종 사이클이 없는 연결 그래프 모든 정점이 연결되어 있어야한다. 정점의 개수: V 간선의 개수: V-1 정점이 n개, 간선이 n개인 경우 -> 사이클이 딱 "1개" 있는 그래프 정점이 n개, 간선이 n-1개인 경우 -> 사이클이 없는 "트리" 이진트리? 자식을 최대 2개만 가지고 있는 트리 포화 이진트리? 리프 노드를 제외한 노드의 자식의 수: 2 리프 노드의 자식의 수: 0 모든 리프 노드의 깊이가 같아야 함. 높이가 h인 트리 노드의 개수: 2^h - 1 완전 이진트리? 리프 노드를 제외한 노드의 자식의 수: 2 리프 노드의 자식의 수: 0 마지막 레벨에는 노드가 일부는 없을 수도 있음. 오른쪽에서부터 몇개가 사라진 형태 트리의 표현 1. 그래프와 같은 방식으로 저장 2. 부모만..