목록IT (224)
잡동사니
인프런의 스프링 부트 개념과 활용 - 백기선을 수강하면서 내용을 정리하고 간단한 후기를 남깁니다. 스프링 부트 시작하기 Spring Boot Reference Documentation의 Introducing Spring Boot에 따르면 스프링 부트는 스프링기반 독립적인 어플리케이션을 쉽게 만들 수 있도록 지원한다. 스프링이나 3th 파티 라이브러리들을 최소한의 노력으로 사용할 수 있다. 스프링 부트의 목적은 다음과 같다. 스프링 개발자가 빠르고 폭넒게 개발할 수 있도록 제공한다. 기본적으로 제공하는 설정을 빠르게 수정할 수 있다. Embedded 서버나 보안, 메트릭 등과 같은 비기능적 요소들을 폭넒게 제공한다. 더 이상 XML 설정이나 코드 generation을 하지 않는다. 스프링 부트 원리 의존성..
안녕하세요. yeTi입니다. 오늘은 Eclipse에서 JUnit을 구동할때 발생하는 Caused by: java.lang.ClassNotFoundException: org.junit.platform.engine.EngineDiscoveryListener를 해결한 상황을 공유하고자 합니다. 저는 다음과 같은 상황에서 정상적으로 JUnit을 사용하고 있었습니다. IDE : STS-4.5.1.RELEASE Java : openjdk-12.0.1 (JavaSE-11) SpringBoot : 2.2.4.RELEASE Gradle : 6.0.1 JUnit : 5.5.2 오류 그런데 STS에서 업데이트 안내가 떠서 업데이트를 하고나니(4.6.0.RELEASE) 다음과 같은 오류가 발생하면서 JUnit이 동작하지 않았..
안녕하세요. yeTi입니다. 오늘은 2020년 카카오의 신입을 대상으로하는 코딩테스트의 문제를 풀어보고자 합니다. 문제 및 해설은 2020 신입 개발자 블라인드 채용 1차 코딩 테스트 문제 해설에 기재되어 있는데 스스로 풀어보고 회고해보는 시간입니다. 7개의 문제 중 4번 문제를 풀어봤습니다. 정확도는 30분정도만에 해결했지만 효율성을 해결하는데 3시간 30분이 걸렸습니다.ㅜ 다른 풀이는1번 문제 풀이, 2번 문제 풀이, 3번 문제 풀이에서 확인하실 수 있습니다. 채점 결과는 다음과 같습니다. 정확성: 25.0 효율성 : 75.0 합계: 100.0 / 100.0 문제 설명 [본 문제는 정확성과 효율성 테스트 각각 점수가 있는 문제입니다.] 친구들로부터 천재 프로그래머로 불리는 "프로도"는 음악을 하는 친..
안녕하세요. yeTi입니다. 오늘은 2020년 카카오의 신입을 대상으로하는 코딩 테스트의 문제를 풀어보고자 합니다. 문제 및 해설은 2020 신입 개발자 블라인드 채용 1차 코딩 테스트 문제 해설에 기재되어 있는데 스스로 풀어보고 회고해보는 시간입니다. 7개의 문제 중 3번 문제를 풀어봤습니다. 어렵게 생각해서 헤매다 7시간이 걸렸습니다.ㅜ 다른 풀이는1번 문제 풀이, 2번 문제 풀이에서 확인하실 수 있습니다. 채점 결과는 다음과 같습니다. 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 고고학자인 "튜브"는 고대 유적지에서 보물과 유적이 가득할 것으로 추정되는 비밀의 문을 발견하였습니다. 그런데 문을 열려고 살펴보니 특이한 형태의 자물쇠로 잠겨 있었고 문 앞에는 특이한 형태의 열쇠와 함께..
안녕하세요. yeTi입니다. 오늘은 2020년 카카오의 신입을 대상으로하는 코딩 테스트의 문제를 풀어보고자 합니다. 문제 및 해설은 2020 신입 개발자 블라인드 채용 1차 코딩 테스트 문제 해설에 기재되어 있는데 스스로 풀어보고 회고해보는 시간입니다. 7개의 문제 중 2번 문제를 풀어봤습니다. 이번에는 생각할께 별로 없어서 30분정도 걸렸네요.ㅎㅎ 다른 풀이는1번 문제 풀이에서 확인하실 수 있습니다. 채점 결과는 다음과 같습니다. 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴파일하여 로그를 보니 대부분 ..
코딩 테스트, 2020 카카오 문제 1 안녕하세요. yeTi입니다. 오늘은 2020년 카카오의 신입을 대상으로하는 코딩 테스트의 문제를 풀어보고자 합니다. 문제 및 해설은 2020 신입 개발자 블라인드 채용 1차 코딩 테스트 문제 해설에 기재되어 있는데 스스로 풀어보고 회고해보는 시간입니다. 7개의 문제 중 1번 문제를 풀어봤습니다. 개인적으로 어렵게 느껴졌는지 풀이하는데 2시간이나 걸렸네요.ㅜ 채점 결과는 다음과 같습니다. 정확성: 100.0 합계: 100.0 / 100.0 문제 설명 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는..
안녕하세요. yeTi입니다. 오늘은 Java에서 사용하는 키워드의 일부를 살펴보려고 합니다. Final 한번 정의된 값을 수정할 수 없도록 제한한다. Final Class : 상속 방지 Final Method : Override 방지 Final Variable : 값의 변경 금지 final keyword in java - GeeksForGeeks, final, finally and finalize in Java - GeeksForGeeks에 추가적인 내용이 있습니다. Static 객체의 정의없이 항상 메모리에 올려두고 모든 객체와 공유한다. Static Block : Static Variable을 초기화 Static Variable : 공유 변수 static keyword in java - GeeksFo..
안녕하세요. yeTi입니다. 오늘은 Maven과 Gradle을 비교해보려고 합니다. Gradle vs Maven Comparison - Gradle을 기반으로 이해해보고자 합니다. 유연성 구글은 안드로이드의 공식 빌드툴로 Gradle을 선택했습니다. 왜 구글은 Gradle을 선택했을까요? 빌드 스크립트가 코드라서? 아닙니다. Gradle이 쉽게 확장할 수 있도록 설계됐기 때문입니다. Gradle과 Maven 모두 configuration을 할 수 있도록 제공합니다. Maven은 커스터마이징하기 좀더 까다롭고 불가능한것도 있습니다. 반면에 Gradle은 어떤 요구사항이든 받아들일 수 있을만큼 유연하게 구성할 수 있습니다. Performance 큰 프로젝트나 많은 디펜던시를 가지고 있는 프로젝트에 대한 빌드..
안녕하세요. yeTi입니다. 오늘은 HTTP(Hypertext Transfer Protocol)에 대해 알아보려고 합니다. HTTP - 위키백과에 따르면 HTTP는 WWW상에서 정보를 주고받을 수 있는 Request-Response 프로토콜로, 주로 HTML 문서를 주고받는데 사용됩니다. 현재 주로 사용하는 HTTP/1.1의 표준은 공식적으로 1997년 1월에 출시되었고, HTTP/2는 2015년 5월에 출시되었다. HTTP/1.1 RFC 2068에 따르면, HTTP는 Application-level 프로토콜로 Generic, Stateless, Object-oriented의 특성을 가지며 다양한 환경에서 사용가능하다. 첫 버전인 HTTP/0.9는 raw data를 전송하기 위한 단순한 프로토콜이었는데,..
안녕하세요. yeTi입니다. 오늘은 Java의 GC(Garbage Collection)에 대해서 알아보겠습니다. Oracle JDK 8 Java Platform, Standard Edition HotSpot Virtual Machine Garbage Collection Tuning Guide를 참고하여 작성했습니다. GC (Garbage Collector)란? 메모리 관리 툴입니다. GC는 다음의 세가지 작업을 수행합니다. Young 영역(Young Generation) 에 객체를 할당하고 오래된 객체를 Old 영역(Old Generation)으로 옮깁니다. 힙 메모리의 전체 점유율이 임계 값을 초과하면 Java HotSpot VM이 마킹 단계를 트리거 하고, 동시(병렬) 마킹 단계에서 Old 영역에 살..