분류 전체보기 44

자바 Queue

자바 Queue 문법 1. Queue 선언 Queue Q = new LinkedList(); 2. Queue에 데이터 삽입 Q.offer(1); 3. Queue에 데이터 꺼내기 Q.poll(); 4. Queue내에 데이터 존재 여부 Q.isEmpty(); 5. Queue의 크기 Q.size(); 예시 문제 (공주 구하기) import java.util.*; public class Main { public static void main(String[] args){ Scanner in=new Scanner(System.in); int n = in.nextInt(); int k = in.nextInt(); int answer = 0; Queue Q = new LinkedList(); for(int i=1; i

코딩테스트 2022.01.04

자바 오버라이딩 오버로딩

자바에서 다형성을 지원하는 방법은 오버로딩과 오버라이딩이 있다. (다형성: 같은 자료형에 여러 가지 객체를 대입하여 다양한 결과를 얻어내는 성질) 오버로딩(Overloading) (확장) 메서드의 이름은 같고 매개변수의 갯수나 타입이 다른 함수를 정의하는 것을 의미한다. 기존에 없던 새로운 메서드를 정의하는 것이다. package joon; public class Member { // test() 호출 void test(){ System.out.println("매개변수 없음"); } // test에 매개변수로 int형 2개 호출 void test(int a, int b){ System.out.println("매개변수 "+ a + "와 " + b); } // test에 매개변수 double형 1개 호출 v..

java spring 2021.12.16

자바의 클래스 멤버 변수 초기화 순서

static 변수 선언부 -> 필드 변수 선언부 -> 생성자 block 1. static 변수 선언부 클래스가 로드될 때 변수가 가장 먼저 초기화된다. 2. 필드 변수 선언부 객체 생성될 떼 생성자 block보다 앞서 초기화됨 3. 생성자 block 객체 생성될 때 JVM이 내부적으로 locking 필드 변수 중 finla 변수의 가시화는 생성자 block이 끝난 다음. 필드 변수 선언부에서 이미 초기화되었다면 그 값들을 덮어씀.

java spring 2021.12.16

자바의 메모리 영역

First: What is JVM? JVM이란 Java Virtual Machine의 약자. 자바 가상 머신이라고 부른다. 자바와 운영체제 사이의 중개자 역할을 수행 자바가 운영체제에 구애받지 않고 프로그램을 실행할 수 있게 도와준다. 가비지 컬렉터를 사용한 메모리 관리를 자동으로 수행한다. 스택 기반으로 동작한다. 자바 컴파일러에 의해 자바 소스 파일은 바이트 코드로 변환된다. 이러한 바이트 코드를 JVM에서 읽어들인 다음, 여러 과정을 거쳐 어떤 운영체제에서든지 프로그램을 실행할 수 있게 하는 것이다. JVM 메모리 구조 JVM의 구조는 Garbage Collector, Execution Engine, Class Loader, Runtime Data Area로, 4가지로 나누어진다. 자바 소스 파일은..

카테고리 없음 2021.12.16

MapReduce

명지대 클라우드 컴퓨팅 수업 내용 정리 Big Data & Hadoop Hadoop은 사실상의 표준 빅 데이터입니다. 저장 및 처리 플랫폼! 분산 파일 시스템 및 프레임워크 제공 매우 큰 분석 및 변환을 위해 MapReduce paradigm을 사용하는 data set - (수 천개의) 호스트들의 많은 데이터와 계산을 분할 - 응용 프로그램 계산을 그들의 데이터와 근접하게 병렬로 실행 Hadoop 클러스터는 commodity server를 추가해 컴퓨팅 용량을 확장하고, 스토리지 용량 및 IO 대역폭을 늘린다. Introduction of MapReduce - Google은 수백 가지의 특별한 목적을 가진 계산을 수행하였다. - 크롤링된 문서, 웹 요청 로그와 같은 대량의 원시 데이터를 처리하여 다양한 ..

카테고리 없음 2021.11.05

빅데이터

빅데이터의 3대 요소(3Vs) - 크기(Volume): 일반적으로는 수십 테라바이트 혹은 수십 테라바이트 이상, 데이터 웨어하우스 같은 솔루셔넹서 소화하기 어려울 정도로 급격히 데이터 양이 증가 -> 확장 가능한 방식으로 데이터를 저장하고, 분석하는 분산 컴퓨팅 기법으로 접근 필요 - 속도(Velocity): 실시간 처리(오늘날 디지털 데이터는 매우 빠른 속도로 생성, 데이터의 생산, 저장, 유통, 수집, 분석의 시릿간 처리가 중요), 장기적인 접근 - 다양성(Variety): 정형(고정된 필드에 저장되는 데이터), 반정형(고정된 필드로 저장되어 있지는 않지만, xml, html, json과 같이 메타데이터나 스키마 등을 포함하는 데이터), 비정형(고정된 필드에 저장되어 있지 않은 데이터 Concepts..

카테고리 없음 2021.10.27

정렬 알고리즘 총 정리(이것이 취업을 위한 코딩 테스트다)

정렬 알고리즘 개요 데이터를 특정 기준에 따라서 순서대로 나열하는 것 정렬 알고리즘은 프로그램을 작성할 때 가장 많이 사용되는 알고리즘 중 하나이다. 정렬 알고리즘의 종류는 매우 다양하다. 이 중 선택 정렬, 삽입 정렬, 퀵 정렬, 계수 정렬을 정리한다. [9, 4, 5, 3, 8, 7, 1, 3, 2, 6] 다음과 같은 뒤섞인 문자 리스트를 오름차순으로 정렬하는데. 다음과 같은 방식들이 있다. 선택 정렬 리스트 중 가장 작은 데이터를 선택해 리스트 맨 앞에 있는 데이터와 바꾼다. 그 다음 작은 데이터를 선택해 두번째 데이터와 바꾸는 과정을 반복한다. import sys import time sys.stdin=open("input.txt", "r") data = list(map(int, input().s..

코딩테스트 2021.09.25

리눅스 명령어 정리 실전편

1. 특정 프로세스 정보 확인 ~$ ps -ef | grep 프로세스이름 2. 프로세스의 PID 확인(1) ~$ pgrep 프로세스이름(일부가능) 3. 프로세스의 PID 확인(2) ~$ pidof 프로세스이름(일부불가능, 전체이름 입력) 4. 지속적으로 현재 실행 중인 프로세스 목록 확인 ~$ top 5. 특정 프로세스 상태 확인 ~$ top | grep 프로세스이름 6. 프로세스 죽이기 ~$ kill -9 PID 7. 메모리 확인 free -h 8. jar 파일 실행 방법 java -jar [빌드된 jar 파일 이름] 9. jar 파일 백그라운드 배포 방법 nohup java -jar [빌드된 jar 파일] & nohup java -jar \-Dspring.config.location=/home/ec2..

카테고리 없음 2021.08.20

Spring Boot Rest API image 파일 전송

domain import lombok.AllArgsConstrutor import lombok.Builder import lombok.Data import lombok.NoArgsConstructor @Builder @AllArgsConstrutor @NoArgsConstructor @Data @Entity public class Image{ @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private int id; private Stirng caption; private String postImageUrl; //사진을 전송받아서 서버에 특정 폴더에 저장 // DB에 그 저장된 경로를 insert @JoinColumn(name = "userId") // ..

java spring 2021.08.15