일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2019 카카오 개발자 겨울 인턴십 코딩테스트
- gcp
- 2018 카카오 공채
- 2019 KAKAO BLIND RECRUITMENT
- 카카오 공채
- 2018 KAKAO BLIND RECRUITMENT 1차
- 2018 카카오
- 2019 카카오 공채
- 알고리즘
- bfs
- 부스트코스
- 카카오
- c++
- 삼성 SW 역량테스트
- set
- 비트마스크
- CS 스터디
- 삼성 SW 기출문제
- map
- 자바
- 2018 KAKAO BLIND RECRUITMENT
- 백준
- dfs
- gradle
- 2020 카카오 공채
- Java
- Baekjoon
- 프로그래머스
- 젠킨스
- 2020 KAKAO BLIND RECRUITMENT
- Today
- Total
목록CS (13)
아무코딩
Stream 데이터 처리 연산을 지원하도록 소스에서 추출된 연속된 요소 JAVA8에서의 변경 사항 람다표현식(lambda expression) : 함수형 프로그래밍 스트림 API(Stream API) : 데이터의 추상화 Java.time 패키지 : Joda-Time을 이용한 새로운 날짜와 시간 API 나즈혼(Nashorn) : 자바스크립트의 새로운 엔진. 이중 스트림 API 에 대해 자세히 다루어 보겠습니다. Stream API Stream API 이전 자바에서 많은 양의 데이터를 저장하기 위해서는 배열이나 컬렉션을 사용. 이러한 데이터를 접근하기 위해서는 반복문이나 반복자(iterator)를 사용하여 매번 코드를 작성. 이러한 코드들은 길고 가독성이 떨어지고 코드의 재사용이 불가능. Stream API..
익명클래스란 무엇인가? 클래스의 선언과 객체의 생성을 동시에 하기 때문에 단 한번만 사용될 수 있고, 오직 하나의 객체만을 생성할 수 있는 일회용 클래스. 이름이 없기 때문에 생성자를 가질 수 없다. 단 하나의 클래스를 상속받거나 단 하나의 인터페이스만을 구현 할 수 잇다. 하나의 클래스로 상속받는 동시에 인터페이스를 구현하거나 둘 이상의 인터페이스를 구현할 수 없다. 생성자 다음에 중괄호 열고 닫고가 나오면, 해당 생성자 이름에 해당하는 클래스를 상속받는 이름없는 객체를 만든다는 것을 뜻한다. //추상클래스 Action public abstract class Action{ public abstract void exec(); } //추상클래스 Action을 상속받은 클래스 MyAction public c..
여러 프로세스 들이 번갈아가며 사용해야하는 자원이 있을 경우 주어진 시점에서 어떤 프로세스가 이 자원을 사용할 수 있도록 해줄 것인가를 결정 하는 것. Multi programming 의 목적 항상 실행중인 프로세스를 가지게 함으로써 중앙처리 장치 이용률을 최대화 하는것. 그래서 한정된 자원으로 최대한 성능을 이끌어 내기 위해서는 CPU를 적절하고 효율적으로 사용해야 한다. 따라서 OS는 실행 대기중인 프로세스들에게 자원 배정을 적절히 하여 시스템의 성능을 끌어올릴 수 있다. 스케쥴링의 대상 사용자 프로세스 및 시스템 프로세스가 대상 (프로세스 또는 스레드) 트랩이나 인터럽트 처리는 하드웨어적 작동에 의해 커널 내 처리 함수가 호출되어 수행되므로 스케줄링 대상이 아님. 프로세스가 구동하려면 다양한 시스템..
컬렉션 프레임 워크란? 자바에서 컬렉션 프레임워크란 다수의 데이터를 쉽고 효과적으로 처리할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미합니다. 컬렉션은 다수의 데이터, 즉 데이터 그룹을, 프레임워크는 표준화된 프로그래밍 방식을 의미합니다. 즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화 하여 클래스로 구현해 놓은 것입니다. 이러한 컬렉션 프레임워크는 자바의 인터페이스(interface)를 사용하여 구현됩니다. 컬렉션 종류 인터페이스설명구현 클래스 List 순서가 있는 데이터의 집합으로, 데이터의 중복을 허용한다. 예) 대기자 명단 Vector, ArrayList, LinkedList, Stack, Queue 등 Set 순서가 없는 데이터의 집합으로, 데이터의 중복을 허용..
이중 동작 모드란? 운영체제를 보호하기 위한 기법이다. 사용자와 운영체제는 시스템 자원을 공유한다. 그렇기 때문에 사용자에게 제한을 두지 않으면 사용자가 메모리 내의 주요 운영체제 자원을 망가뜨릴 위험이 생기게 된다. 즉, 운영체제의 원활한 작동과 기능을 위해서는 사용자의 시스템 자원 접근을 제한하는 보호 장치가 필수적이다. 이러한 보호장치가 바로 이중 동작모드(Dual-mode Operation)이다. 두가지 모드로 나누어진다 커널모드 수퍼바이저 모드(supervisor mode), 시스템 모드(system mode, 특권모드(privileged mode) 로도 불리운다. 운영체제를 위한 동작을 담당. 시스템의 모든 메모리에 접근 할 수 있고 모든 CPU명령을 실행 할 수 있다. 운영체제 코드나 디바이..
객체지향 프로그래밍(OOP) 객체지향 프로그래밍(Object Oriented Programming)이란? OOP는 컴퓨터 프로그램을 "객체"들의 모임으로 파악하고자 하는 프로그래밍의 패러다임 중에 하나이다. 각 객체들은 서로 메시지를 주고 받을 수 있으며 데이터를 처리 할 수있다. 절차 지향 C언어는 절차 지향 프로그래밍 이라고 하며, 쩔차 지향 프로그래밍은 프로세스가 함수 단위로 순서대로 진행되는 것을 말합니다. 객체 지향 프로그래밍의 장점 프로그램을 유연하고 변경이 용이하게 만든다. 프로그램의 개발과 보수를 간편하게 만든다. 직관적인 코드 분석을 가능하게 한다. 위의 장점들을 관통하는 객체 지향 프로그래밍의 중요한 특성은 강한 응집도(Strong Cohesion)과 약한 결합도(Weak Couplin..
Java의 특징 기본적으로 자바프로그램들은 JVM위에서 동작한다. JVM위에서 동작하기 위해서는 자바 바이트 코드가 필요하다. 이 자바 바이트코드는 개발자에 의해서 작성된 자바 소스코드(.java)를 자바컴파일러(javac)로 변환된 코드(.class)를 말한다. 자바 프로그램의 특징 JVM은 Bytecode를 구동하고 있는 OS에 맞추어 BinaryCode로 해석(Interpret)한다. 그러므로 JAVA 프로그램은 OS에 독립적이다. Bytecode는 클랩스 단위(.class)로 생성되므로, 프로그램의 수정이 일어나더라도 전체 소스코드를 다시 컴파일할 필요가 없다. 프로그램이 실행되는 도중에도 JVM은 OS로부터 메모리를 할당받아 스스로 관리한다. 대표적으로 GC(Garbage Collection)이..
Garbage Collector (가비지 컬렉터) 가비지(Garbage)란? 정리되지 않은 메모리 유효하지 않은 메모리 주소. int[] array = new int[3]; array[0] = 1; array[1] = 10; array[2] = 20; //새로운 String 타입의 배열을 만들어서 array가 새로운 배열을 가리키게함. array = new String{'가','나','다','라','마'}; 이때 기존의 array 가 가리키고 있던 int타입의 3칸짜리 배열은 주소를 잃어버려서 사용할수 없는 메모리가 된다.(정리되지 않은 메모리) 이를 자바에서는 가비지(Garbage)라고 부른다. 다른 예시 public class G..