전체 글 249

[SpringBoot] 스프링부트 시작하기

- 스프링 부트 : 스프링 프레임워크를 사용 가능한 상태로 만들어주는 도구. 스프링 프레임워크의 서브 프로젝트로 만들어졌다. - 프레임워크 : 애플리케이션의 아키텍처에 해당하는 골격 코드이다. - 메이븐(Maven)/그레이들(Gradle) : 라이브러리 관리와 빌드 자동화 도구이다. 스프링부트 프로젝트의 구조 1. src/main/java : 일반적인 자바 소스 등록 2. src/main/resources : 자바 소스가 아닌 xml이나 프로퍼티 파일을 등록 - 스프링 부트의 경우 기존 메이븐과 조금 다르다. 펼칠 경우 xml파일은 없고, 웹 애플리케이션과 관련된 static과 templates 폴더가 존재한다. - statc : html과 같은 정적인 웹 리소스 - templates : 타임리프 같은 ..

Dev/SpringBoot 2019.12.11

[기초 지식] IT 용어 정리

들어봤으나 명확히 알지 못하는 IT 관련 용어들이 매우 많다. 소통을 할 때 같은 방향으로 이야기하고 있는지 바로 알기 위해선 기초지식을 꾸준히 쌓아야 한다! 메모장에 야금야금 써둔 내용을 블로그에 써두고 계속 보기 위해 포스팅한다. • 온프레미스 : 클라우드 같은 개념과 대비되게 원격환경이 아닌 자체적으로 보유한 전산실 서버에 직접 설치해 운영하는 방식 • 오프프레미스 : 클라우드 방식의 서비스 • On heap store : java heap상에 놓이는 객체 • Off heap store : EHcache에 의해 관리되는 직렬화된 객체. Java heap 외부에 놓이므로 GC의 대상이 아니다 • Round Robin 방식 : 프로세스들 사이에 우선순위를 두지 않고 순서대로 시간단위로 cpu를 할당하는..

CS 2019.12.11

[Spring] Annotation 간략 정리

프로젝트를 진행하면서 스프링에서 다양한 어노테이션이 존재함을 알게 되었다! 간략하게 파악하는 차원에서 틈틈이 정리를 해보았다. 여러 책과 블로그들을 참고하였다. 1. @RestController ○ @Controller + @Responsebody ○ Return 되는 값은 View page를 통해 출력되는 게 아니라 Http Responsebody에 직접 쓰인다. ○ 즉, 객체(VO, DTO)를 반환하면 객체는 application/json 형식의 Responsebody에 직접 작성. ○ 클라이언트에 전달되는 데이터는 대부분 문자열이거나 VO나 컬렉션 형태의 자바 객체 ○ 자바 객체로 Response 전달 시, 자동으로 JSON으로 변환하여 처리함. 2. @Autowired ○ Setter 또는 생정자..

Dev/Spring 2019.12.11

[Book] 그림으로 배우는 IT 인프라구조

[1장. 아키텍처] 1. 인프라 아키텍처 - IT 인프라의 구조를 의미한다. 방대한 데이터들이 관리될 수 있도록 지탱해준다. 1-1. 집약형 아키텍처 - 대형 컴퓨터를 이용해서 모든 업무를 처리하는 형태이다. 대형 컴퓨터는 범용장비, 호스트, 메인 프레임 등으로 불렸다. 최대 장점은 구성이 간단하다. - 많은 기업에서 아직까지 사용. 주로 기간시스템이라 부르는 기업 내 핵심 업무 시스템에서 이용한다. - 도입 비용 및 유지 비용이 크고 확장성에 한계가 존재한다. 1-2. 분할형 아키텍처 (=분산 시스템 =오픈 시스템) - 여러 대의 컴퓨터를 조합해서 하나의 시스템을 구축하는 구조이다. - 표준OS나 개발언어를 이용하기 때문에 오픈 시스템이라고도 부른다. - 대형 컴퓨터에 비해 소형 컴퓨터의 구입비용이 압..

CS/Book 2019.12.10

[자료구조] 검색

[3장. 검색] 1. 검색 알고리즘 검색과 키 검색 : 데이터 집합에서 원하는 값을 가진 요소를 찾아내는 것이다. 키 : 주목하는 항목. 키는 데이터의 일부에 해당한다. 조건은 하나만 지정하기도 하지만 논리곱이나 논리합을 사용하여 복합해서 지정하기도 한다. 배열에서 검색하기 체인법 : 같은 해시 값의 데이터를 선형 리스트로 연결하는 방법이다. 오픈주소법 : 데이터를 위한 해시값이 충돌할 때 재해시하는 방법이다. 선형 검색 : 무작위로 늘어놓은 데이터 모임에서 검색을 수행한다. 이진 검색 : 일정한 규칙으로 늘어놓은 데이터 모임에서 아주 빠른 검색을 수행한다. 해시법 : 추가, 삭제가 자주 일어나는 데이터 모임에서 아주 빠른 검색을 수행한다. 데이터의 검색, 추가, 삭제에 소요되는 비용을 종합적으로 계산해..

CS/Data Structure 2019.12.05

[자료구조] 기본 자료구조(배열, 클래스)

자료구조와 함께 배우는 알고리즘 입문을 통해 자료구조 기초를 쌓아보자! [2장. 기본 자료구조] 1. 배열 자료구조 : 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계 데이터 단위는 데이터를 구성하는 한 덩어리. 자료구조는 쉽게 말해 자료를 효율적으로 이용할 수 있도록 컴퓨터에 저장하는 방법. 배열 : 같은 자료형의 변수로 이루어진 구성요소가 모인 것 배열 본체를 생성하는 본체에 대한 참조를 생성. 본체를 참조하는 배열변수. 인덱스. 배열은 같은 형의 구성요소가 직선 모양으로 속하여 줄지어 있는 단순한 자료구조. 배열의 구성요솟수를 알고 있는 경우 int[] a = new int[5];와 같이 선언한다. 또는 배열의 변수 선언과 본체 생성을 따로 수행하는 것도 가능하다. //선언하기 int[..

CS/Data Structure 2019.11.26

[자료구조] 알고리즘이란

자료구조와 함께 배우는 알고리즘 입문을 통해 자료구조 기초를 쌓아보자! [1장. 기본 알고리즘] 1. 알고리즘이란? - 값과 최댓값 순차적 구조 : 여러 문장(프로세스)이 순차적으로 실행되는 구조 선택 구조 : 식의 평가결과에 따라 프로그램의 실행 흐름을 변경하는 if문 개발할 때 순서도(플로우 차트)를 그리는 습관을 가지는 것이 좋다! 개발 구상이 복잡하거나, 팀원들과 전체 서비스 흐름을 공유하고 검토받는 데 유용하다. 알고리즘 : 문제를 해결하기 위한 것으로 명확하게 정의되고 순서가 있는 유한개의 규칙으로 이루어진 집합 - 조건 판단과 분기 연산자 : +,- 등의 연산기호 단항 연산자 : 피연산자 1개 a++ 2항 연산자 : 피연산자 2개 a < b 3항 연산자 : 피연산자 3개 a ? b : c 피..

CS/Data Structure 2019.11.09

[Linux] 생활코딩 리눅스 강좌 (5)

[권한 : permission] 권한 기본 유닉스 계열 시스템에서 '권한'을 통해 '제어가 가능한 대상'은 파일과 디렉토리이다. 이 대상에 관련된 읽기, 쓰기, 실행 권한을 제어한다. echo 'hello' > permission.txt 이 파일에 입력하는 명령어. 하지만 권한이 없는 사용자가 접근해서 작성할 경우 permission denied 된다. -rw-rw-r-- 1 hoho hoho 0 Dec 4 23:11 permission.txt 맨앞에 -는 파일을 의미. 디렉토리일땐 d가 기록된다. rw- rw- r-- Access mode. 접근 권한 소유자 권한/그룹 권한/모든 사용자 권한 r = read, w : write, x : execute hoho 소유자 owner hoho 그룹 권한을 변경..

CS/OS 2019.10.08

[Linux] 생활코딩 리눅스 강좌 (4)

[프로세스와 실행] 컴퓨터의 구조 프로세스 : 실행되고 있는 상태의 프로그램. 사용자가 입력한 명령어(command) 명령어는 /bin이나 /sbin과 같은 디렉토리에 파일 형태로 저장되어 있음. 스토리지에 파일이 저장되어 있고 이를 프로그램이라 함. CPU : 프로세서. cpu는 굉장히 빠르게 동작하므로 스토리지의 속도가 따라오지 못함. 스토리지에 설치된 프로그램을 사용할 때, 프로그램을 읽어서 메모리에 적재. 메모리에 올라온 프로그램을 CPU가 수행. 스토리지과 메모리는 정보를 저장하는 공통점이 존재. RAM : DDR과 같은 메모리. 가격 비쌈. 저장 용량이 적음. 속도 빠름 SSD, HDD : 저장장치. storage. 가격 저렴. 저장 용량이 큼. 속도 느림 프로세스 모니터링 ps : 프로세스 ..

CS/OS 2019.10.07

[Book] 클린코드

책을 생일 선물로 받았었다. 많이 부족한 탓에 머리를 탕 탕치는 내용이 정말 많다. 다 읽고나니 가볍게 읽기엔 책에서 말하는 몸으로 체득한 생활화가 안될 것 같다. 그래서 뒤늦게라도 블로그에 정리한다. 이 책은 옮긴이 말이나 추천사부터 멋있다. '코드에 정직하고, 코드에 상태에 관하여 동료들에게 정직하고, 무엇보다도 자기 코드에 대해서 자신에게 정직하라 ! ' 서문과 추천사를 읽으면서도 인상적인 문구들이 굉장히 많았다. 이 책은 전문적인 개발자는 무엇이며, 전문적인 개발자가 어떤 마음가짐으로 개발해야 하는지를 기술하고 있다. 매일 친구들과 함께 개발 잘하는 개발자가 되고싶다고 노래를 부른다. 회사에서는 '신입이지만 빠르게 적응하고 있다. 잘하고 있다.'는 얘기를 꾸준히 듣지만, 과연 내가 전문적인 개발자..

CS/Book 2019.10.05
반응형