본문 바로가기
  • 노션에서 삽질한 내용을 정리하는 블로그

전체 글162

Hash Map Hash Map : 형식으로 자료 저장 Key -> Hash Function -> Hash Value 코드 HashMap happy = new HashMap(); happy.put("a", 10); happy.put("b", 1); happy.put("c", 88); System.out.println(happy); {a=10, b=1, c=88} System.out.println(happy.get("c")); //c값에 저장된 value값을 반환 88 happy.getOrDefault("a", 0) ; // a를 찾아보고 찾고자 하는 키가 있으면 그 값을 반환 happy.getOrDefault("d", 0) ; // d를 찾아보고 찾고자 하는 키가 없으므로 그 값에 기본값 0을 반환 System.out... 2020. 11. 12.
Stack & Queue 내가 몰아서 보려고 쓰는 Stack과 Queue 조작 메소드 Stack 메소드 isEmpty() peek() : 해당 스택 제일 상단(마지막에 저장된 요소)을 반환 pop() : 해당 스택 제일 상단(마지막에 저장된 요소)을 반환하며 스택에서 제거 push() : 해당 스택의 제일 상단에 전달된 요소 삽입 search(Object o) : 해당 스택에서 전달된 객체가 존재하는 위치의 인덱스 반환, 이 때 인덱스는 제일 상단에 있는 요소의 위치부터 0 이아닌 1부터 시작 (?) Queue 메소드 add() : 해당 큐의 맨 뒤에 요소를 삽입 / 삽입에 성공하면 true 반환, 큐에 여유 공간이 없어 삽입에 실패하면 illegalStateExceprtion 발생 element() : 해당 큐의 맨 앞에 있는.. 2020. 11. 11.
Linked List 자료구조 : 컴퓨터에 자료를 저장하는 구조 Linked List - 일렬로 연결된 데이터를 저장할 때 사용 - 데이터를 저장할 수 있는 공간이 있으면, 그 안에 다음 데이터의 주소를 가지고 있는 구조 배열과 비교하자면, 배열 방 크기는 한 번 저장하면 늘이거나 줄일 수 없다. 즉, 길이가 정해져있지않은 데이터를 다루려고할 때에는 Linked List가 적절 데이터를 삽입하려고 하면, 앞의 노드가 가리키던 주소를 자신이 가진다. 그리고 앞의 노드는 자신의(삽입 노드) 주소를 가리키게 한다. 삭제하는 경우에는 삭제하려면, 삭제되는 노드가 가리키던 next노드의 주소값을 삭제 노드 앞의 노드가 가져간다. 이때 노드는 자신을 가리키는 주소가 사라졌을 뿐 여전히 데이터를 가지고 있는 상태! Java에서는 이 노드.. 2020. 11. 11.
Spring Boot 실습 3: Repository Test 공부 자료: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 Back-End Java Spring MVC Spring Boot 온라인 강의 백엔 www.inflearn.com 웹 개발 실습 # 3 개발한 기능을 실행해서 테스트 해보자 개발한 기능을 실행해서 테스트할 때 main 메서드를 실행하거나 웹 어플리케이션의 컨트롤러를 통해 해당 기능을 실행하는 방법이 있다. 하지만 이 방법은 시간이 오래걸리고 반복 실행이 어렵고 여러 테스트를 한 번에 하기 어렵다는 쓰리 콤보 단점이 있다. JUnit이라는 프레임워크를 통해 테스트를 실행하여.. 2020. 11. 6.
Spring Boot 실습 2: Repository 공부 자료: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 Back-End Java Spring MVC Spring Boot 온라인 강의 백엔 www.inflearn.com 웹 개발 실습 #2 구현체 MemoryMemberRepository 를 생성하고 MemberRepository의 모든 메서드를 구현한다. 1. save ( ) 메서드 구현하기 : 저장 기능 구현 1-1) 저장을 해놓아야 하는 곳 생성 : store Map 형식 Key값이 되는 것은 ID(Long), 값은 Member 객체다 HashMap과 long - 실무에서.. 2020. 11. 6.
Spring Boot 실습 1: 비즈니스 로직 공부 자료: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 Back-End Java Spring MVC Spring Boot 온라인 강의 백엔 www.inflearn.com 웹 개발 실습 #1 비즈니스 요구사항 분석부터 먼저, 핵심 비즈니스 로직을 살펴보자 데이터 : 회원 ID, 회원 이름 기능 : 회원 등록 및 조회 가상의 시나리오: 아직 데이터 저장소가 선정되지 않은 상태에서 개발을 시작하는 중이다. [ 클래스 의존관계 ] 인터페이스로 구현 클래스를 변경할 수 있게 설계한다. 메모리로 단순하게 저장할 수 있는 구현체를 만들어 .. 2020. 11. 5.
Spring 웹 개발 기초 공부 자료: 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다. 초급 프레임워크 및 라이브러리 웹 개발 Back-End Java Spring MVC Spring Boot 온라인 강의 백엔 www.inflearn.com 스프링 웹 개발 기초 정적 컨텐츠 : welcome page처럼 서버에서 뭐 하는 것 없이 파일을 !그냥 그대로! 웹브라우저에 내려주기 MVC 와 템플릿 엔진: 서버에서 프로그래밍해서 HTML을 조금 동적으로 변환하여 내려주기 API : JSON이라는 데이터 구조 포맷으로 클라이언트에게 데이터를 전달하는 방식 , API만 .. 2020. 11. 5.
Spring Boot 공부 기록 2 Spring Boot 기능 Spring Boot는 자바 웹 애플리케이션 개발과 관련된 어마어마한 기능을 담고 있기 때문에 필요한 기능을 찾는 것이 중요하다. > 기능확인하기 접속 사이트: spring.io 경로 : Project > Spring BOOT >Learn > 해당 버전에 맞는 Ref.Docs > Spring boot Feature > Welcome Page 기능 스프링 부트는 static > index.html 을 가장 첫 번째로 찾아서 웰컴 페이지 기능을 제공 Spring Boot 구조 1. Controller-Model-View 2. Controller 파일 생성 : 웹 어플리케이션의 첫 진입점 model(data:hello!) return: "hello" 🔦 viewResolver가 te.. 2020. 11. 5.
Spring Boot 공부 기록 1 Spring Boot 시작 1. Gradle 프로젝트 파일 생성 https://start.spring.io Spring Initializer : 스프링 부트 프로젝트 생성하는 웹사이트 * 요즘은 Maven → Gradle 프로젝트 추세 ** (Snapshot) : '아직 만들고 있다'는 뜻 Group : 기업 도메인을 적어주는 곳 Artifact : 빌드 결과물 ✔ Dependencies Lombok Spring Web Thymeleaf - html 템플릿 엔진 2. Generate 후 생성되는 파일 압축을 풀어서 IntelliJ로 "build.gradle" 열기 ✔ build.gradle 선택하여 Open as Project 처음에 외부에서 라이브러리를 다운받는 동안 네트워크가 연결되어야 하고, 로딩이.. 2020. 11. 4.
FTP 프로토콜 FTP : 상호연결된 기기간 파일 주고 받는 프로토콜 1. http로 웹페이지에 표시된 사진을 다운 받기 위해서 FTP 사용 2. 대표적인 Method: GET & POST ex) wget http://~ wget : 웹(w)을 통해 받는다(get) 3. FTP는 온전한 파일 전송을 위해 TCP로 받아야 한다 4. 두 개의 포트를 사용한다. 4-1. active mode : 명령어와 응답이 오가는 21번 포트 (ftp: 데이터 주고 받는 session) 4-2. passive mode: 실제 데이터가 오가는 20번 포트 (ftp_data: 데이터 주고받는 프로토콜) 5. 보안 기능이 추가된 FTP : FTPS, SFTP, TFTP 2020. 11. 3.
가상화 : Hypervisor Hypervisor 1. TYPE1과 TYPE2로 분류된다. 2. 타입1은 베어메탈형 하이퍼바이저 호스트 하드웨어에 직접 설치하여 구동됩니다. 2-1. xen, kvm, esxi,Hyper-V등 2-2. kvm은 Linux를 하이퍼바이저로 전환시킨다. 3. 타입2 하이퍼바이저는 소프트웨어 형태로 호스트OS 위에 설치됩니다. 3-1. vm workstation, virtualBox, qemu가 대표적인 제품입니다. 4. 각 하이퍼바이저별로 지원하는 이미지포맷이 다릅니다 2020. 11. 3.
Linux : 리눅스에 대하여 Linux Super Computer/기업용 Computer의 운영체제 UNIX의 Small.ver Kernel [커널] : Linux의 가장 핵심 파트 1. 커널이 오픈소스로 공개되어 해당 OS관련 어플리케이션 개발이 활발히 진행 중 1-1. GNU 프로젝트: 오픈소스, 리눅스와 호환 가능 2. 기술 지원이 가능한 유료 버전도 있음 2-1. RedHat Enterprise Multi User * Multi Tasking 1. 리눅스의 관리자 root = window의 administrator= super user : 리눅스의 시스템 전체 및 명령어 관리 2. 리눅스의 사용자 user = normal user : 별도의 working directory를 가지며, 관리자 공간에 접근 불가능 Shell : .. 2020. 11. 3.