일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 플레이팅
- 개발자 채용연계형인턴
- 코딩테스트 연습
- 개발자 면접
- 신입 개발자 필수 면접 질문
- 셰프의찾아가는구내식당
- docker
- 프로그래머스 코딩테스트
- 자바 암호화
- 자바 stream
- 개발자 코딩테스트
- 도커
- 자바 암호화 복호화
- Plating
- 신입 개발자 면접 질문
- 자바 암호화 알고리즘
- .dockerignore
- 식단일기
- 직장인점심구독
- 신입 개발자 면접
- 개발자 면접 질문
- 신입 개발자 자바 면접 질문
- 개발자 인턴
- 프로그래머스
- 식단
- 신입 개발자 자바 면접
- 개발자 정규직
- docker image
- Linux
- 샐러드
- Today
- Total
목록지식노트 (73)
달리는 두딘
저희 사수님이 스케줄러 설정을 해놓으셨을 때, curl이라는 명령어를 사용해서 호출하는 모습을 볼 수 있었습니다. 저번에도 팀장님이 알려주신 적이 있었는데, 그런 의미로 공부해보겠습니다. curl은 사용자 상호 작용 없이 작동하도록 설계된 서버에서 또는 서버로 데이터를 전송하기 위한 명령줄 유틸리티입니다. curl을 사용하면 HTTP, HTTPS, SCP , SFTP 및 FTP 등 지원되는 프로토콜 중 하나를 사용하여 데이터를 다운로드하거나 업로드할 수 있습니다. curl은 전송을 재개하고 대역폭을 제한하며 프록시 지원, 사용자 인증 등을 수행할 수 있는 다양한 옵션을 제공합니다. 이 튜토리얼에서는 가장 일반적인 curl 옵션에 대한 실제 예와 자세한 설명을 통해 컬 도구를 사용하는 방법을 보여드리겠습니..
Cron 표현식은 스케줄러 시간을 세팅할 때 사용된다. 필드는 총 7개이며, 연도는 생략가능하다. Cron 표현식의 형태 필드 허용되는 값 허용되는 특수문자 초 (Seconds) 0~59 , - * / 분 (Minutes) 0~59 , - * / 시 (Hours) 0~23 , - * / 일 (Day of month) 1~31 , - * / L W 월 (Month) 1~12 또는 JAN ~ DEC , - * / 요일 (Day of week) 0 ~ 6 또는 SUN ~ SAT , - * / L # 년 (Year) 1970 ~ 2099 , - * / 특수문자 * : 모든 값 ? : 특정한 값이 없음 - : 범위 지정 , : 여러 값을 지정 / : 증가하는 값을 지정 (초기값/증가값) L : 마지막 값 지정 W..
나부랭이가 이번에 또 사고를 쳤습니다. ... 큽 근데 이번엔 좀 억울하고!!! 원인이 밝혀지지 않아서 찾는 중에 팀장님이 멋진 명령어를 알려주시며, 숙제라고 하셨습니다. 그런 의미로 공부해보겠습니다. awk awk : 데이터를 조작하고 리포트를 생성하기 위해 사용하는 언어입니다. 리눅스에서 사용하는 awk는 GNU 버전의 gawk로 심볼릭 링크되어 있습니다 간단한 연산자를 명령라인에서 사용할 수 있으며, 큰 프로그램을 위해 사용될 수 있습니다. awk는 데이터를 조작할 수 있기 때문에 쉘 스크립트에서 사용되는 필수 툴이며, 작은 데이터베이스를 관리하기 위해서도 필수입니다 Alfred Aho, Peter Weinberger, Brian Kernighan 3명이 만들었는데 이들의 이름 이니셜을 가져와서 a..
JPA를 사용하며 겪은 여러 오류들을 기록합니다. 매핑 충돌 오류 org.hibernate.DuplicateMappingException JPA는 Entity를 관리합니다. Entity 등록은 클래스에 @Entity를 붙여서 이뤄집니다. @Entity(name="~")로 name 속성을 가집니다. name 속성을 생략하면 클래스명으로 JPA가 관리합니다. 만약 다른 패키지에 동일한 이름의 Entity로 설정한 클래스가 있다면 이러한 오류가 발생합니다. 따라서 name속성에 패키지명까지 붙여서 지정해주는 것이 좋습니다. hibernate.hbm2ddl.auto 관련 resources/META-INF/persistence.xml에서 application 실행 시에 DB 테이블을 자동으로 생성하는 옵션을 아래..
Stream에서 어떤 조건에 일치하는 요소(element) 1개를 찾을 때, findAny()와 findFirst() API를 사용할 수 있습니다. findAny()는 Stream에서 가장 먼저 탐색되는 요소를 리턴하고, findFirst()는 조건에 일치하는 요소들 중에 Stream에서 순서가 가장 앞에 있는 요소를 리턴합니다. 차이점에 대해서 자세히 알아보겠습니다. findFirst() findFirst()는 filter 조건에 일치하는 element 1개를 Optional로 리턴합니다. 조건에 일치하는 요소가 없다면 empty가 리턴됩니다. List elements = Arrays.asList("a", "a1", "b", "b1", "c", "c1"); Optional firstElement = e..
Spring 어플리케이션에서 HTTP 요청을 할 땐 주로 RestTemplate 을 사용했었습니다. 하지만 Spring 5.0 버전부터는 RestTemplate 은 유지 모드로 변경되고 향후 deprecated 될 예정입니다. RestTemplate 의 대안으로 Spring 에서는 WebClient 사용을 강력히 권고하고 있으며 다음과 같은 특징을 가지고 있습니다. Non-blocking I/O Reactive Streams back pressure High concurrency with fewer hardware resources Functional-style, fluent API that takes advantage of Java 8 lambdas Synchronous and asynchronous ..
Java8 Stream의 filter, map, flatMap 사용 방법 및 예제를 소개합니다. Stream Filter filter는 말 그대로 특정조건으로 스트림의 컨텐츠를 필터링하는 것입니다. 사용방법은 함수에 filter(조건)으로 조건을 넣으시면 됩니다. 아래 코드를 보시면 c로 시작하는 문자열만 필터링하도록 조건을 설정하였고 이 조건에 해당하는 문자의 stream이 리턴되었습니다. List list = Arrays.asList("a1", "a2", "b1", "b2", "c2", "c1", "c3"); Stream stream1 = list.stream(); Stream filtered = stream1.filter(s -> s.startsWith("c")); filtered.forEach(S..
DBMS에서 데이터의 일관성을 보장하기 위한 기본적인 방법인 Lock에 대해서 알아봅니다. Lock이란? 데이터의 일관성을 보장하기 위한 방법입니다. 오라클과 같이 고가의 DBMS를 사용하는 이유가 데이터의 무결성과 일관성을 유지하는 능력이 뛰어나기 때문입니다. Lock의 종류는? Lock은 상황에 따라서 크게 두가지로 나누어 집니다. Shared Lock(공유 Lock 또는 Read Lock) 보통 데이터를 읽을 때 사용합니다. 원하는 데이터에 lock을 걸었지만 다른 세션에서 읽을 수 있습니다. 공유Lock을 설정한 경우 추가로 공유Lock을 설정할 수 있지만, 배타적 Lock은 설정할 수 없습니다. 즉, 내가 보고 있는 데이터는 다른 사용자가 볼 수 있지만, 변경할 수는 없습니다. 2. Exclus..
CI ○ CI 란? CI는 Connecting Information의 약자로 우리말로 '연계정보'라 부른다 본인 확인기관 등에서 개인별로 고유하게 부여하는 개인 식별정보로 어느 업체에서 발급해도 유일하게 발급되므로 이 값이 같으면 동일인으로 판단할 수 있다. 주민등록번호 수집이 금지되면서 인터넷 서비스업체에서는 휴대폰본인인증, 공인인증, 신용카드 인증을 통해 CI를 제공받고 있으며 주민등록번호를 대신해 고객을 구별하는 데이터로 사용하고 있다. ○ CI 값 예시 CI는 88byte로 영어 대소문자와 특수문자의 조합으로 표현되며 실제 CI는 아래와 같이 생겼다 wEi9oYSuekQGxT9MV4rKHG4CO+Zrp+onhLIIuembI8jx/0PLF5Ne3oMBxvUFlN4UmsgjeNErZfmpCVUFH..
ThreadPoolTaskExecutor는 이름에서 알 수 있듯이 스레드 풀을 사용하는 Executor입니다. 상위 인터페이스를 확인해 보면 java.util.concurrent.Executor를 Spring에서 구현한 것을 확인할 수 있습니다. 이 스레드 풀을 사용할 때 설정에 몇 가지 주의점이 필요합니다. 한번 확인해보겠습니다. 스레드 설정 @Bean("simpleTaskExecutor") public TaskExecutor taskExecutor() { ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); taskExecutor.setCorePoolSize(5);// 기본 스레드 수 taskExecutor.setMaxPoolSize..