일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 다익스트라
- BufferedReader
- 거쳐가는 정점
- Java
- 벨만 포드 알고리즘
- 최단경로
- Android Studio
- 직무면접
- 음수가 포함된 최단경로
- Controller
- 코딩테스트
- 동적계획법
- spring boot
- disjoint set
- 플로이드 와샬
- clean code
- 기술면접
- onclick
- Django
- bottom-up
- Python
- 우선순위큐
- compiler
- union-find
- scikit-learn
- kmeans
- dto
- 유니온 파인드
- top-down
- 엔테크서비스
- Today
- Total
목록전체 글 (132)
춤추는 개발자
1. 프레임워크란? SW개발의 뼈대, 기준이 되는 부분을 미리 구현한 것 하나의 프레임워크에는 여러 라이브러리와 여러 프레임워크가 포함되어 있다. 개발 플랫폼의 역할을 수행. 장점 개발 속도가 빠름, 생산성 증가. 품질 보장 단점 프레임워크에 대한 이해 필요 프레임워크 내부를 커스터마이징하기 힘들다. 느리고 무겁다. 비용이 많이 든다. 2. 라이브러리 독립성을 가진 최소단위의 기능이다. (함수 단위) 재사용가능한 최소 단위 기능 또는 기능들의 집함, 기능을 사용하기위해 다른 기능이 필요하지 않아야 한다. 표준 라이브러리(언어가 제공해주는 기본 함수), 사용자 라이브러리(직접 만든 라이브러리)가 있다. 3. 자바란 무엇인가? 객체지향 프로그래밍 언어로 가장 큰 특징은 운영체제없이 독립적이라는 점. 즉, O..
1. Controller 사용자의 요청(request)을 어떻게 처리할지 결정하는 파트입니다. 즉, Controller에 정의 된 기준대로 요청을 처리합니다. @Controller Controller의 역할을 수행한다고 명시해주는 어노테이션, Controller의 내용을 기준 삼아 요청을 처리. @RequestMapping(vale=" ", method= ) Controller에 들어온 요청을 처리하는 기준점입니다. 서버의 URL + value로 매핑되며 method의 RequestMethod.GET or POST 주소창에 URL + value를 입력하면 method가 수행됩니다. 2. Service 사용자의 요청(request)에 대해 어떤 처리를 할지 결정하는 파트입니다. 즉, Controller가 ..
Q. Spring의 특징은? Spring의 가장 큰 특징은 의존성 주입(DI)과 제어의 역전(IOC). 이들로 인해서 결합도를 낮추는 방식으로 어플리케이션을 개발할 수 있다. 이런 방식으로 개발한 응용프로그램은 단위테스트가 용이하기 때문에 퀄리티 높은 프로그램 개발이 가능합니다. Q. 의존성 주입이란? 객체간의 결합도를 낮출 수 있는 방식으로 어노테이션을 이용해 구현할 수 있습니다. 의존성 주입이 없는 경우 @RestController public class MyController { private MyService service = new MyService(); @RequestMapping("/welcome") public String welcome() { return service.retrieveWe..
Scanner와 BufferedReader의 가장 큰 차이점은 속도입니다. 숫자 100만개를 입력받는데 걸리는 속도는 Scanner는 약 2.5ms / BufferedReader는 약 0.4ms 나머지 차이점은 다음과 같다. 버퍼크기 : Scanner(1024 chars), BufferedReader(8192 chars) 문자열 : Scanner는 문자열을 구분하여 분석, BufferedReader는 문자열을 단순히 읽고 저장 동기화 : Scanner은 동기화x, BufferedReader는 동기화가 가능 BufferedReader는 InputStreamReader에 버퍼링 기능이 추가된 class입니다. 일정한 크기의 데이터를 한 번에 읽어와 버퍼에 보관, 사용자의 요청이 있을 때 버퍼에서 데이터를 읽..
1. String 과 StringBuilder, StringBuffer String과 StringBuilder, StringBuffer의 차이는 동일 객체 내에서 변경이 가능한지의 여부입니다. 먼저, String은 불변의 속성을 갖습니다. String str = "hello"; str += " world"; str에 world를 추가할 경우, str은 "hello world"라는 새로운 메모리 영역을 가리키게 됩니다. 이때, "hello"는 Garbage로 남아 GC에 의해 사라지게 됩니다. 만약, 문자열의 수정이 빈번할 경우 힙 영역에 임시 Garbage가 쌓여서 메모리 부족이 발생할 수 있습니다. StringBuilder sb = new StringBuilder(); sb.append("a"); sb..
2020년 엔테크서비스 하반기 인턴전체형 코딩 테스트 알고리즘 4문제, SQL 1문제 1, 2번은 비교적 쉬웠습니다. 기본적인 알고리즘이나 자료구조만 알아도 풀 수 있는 난이도였어요. 2번은 규칙이 있는 문제였습니다! 3, 4번이 약간 어려웠고 나름 변별력있는 문제라고 느껴졌어요. 특히, 4번은 트리나 그래프 문제를 평소에 풀어봤다면 설계하는데 큰 문제없다고 생각합니다. SQL은 프로그래머스에 있는 SQL문제의 난이도로 join, where, having, order by, group by 이정도만 알아도 가능합니다. 결과적으로 460/500으로 합격! (참고로 3번 문제 효율성을 해결하지 못해 60/100점.) 테스트 종료 후, 3번 문제 다시 풀어보니 투 포인터로 해결했습니다.