일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- github
- 마크다운
- 브루트포스
- 배열 돌리기1
- Python
- GarbageCollector
- 그리디
- springboot
- 회고
- 면접복기
- Markdown
- deque
- DP
- 몬티홀
- BFS
- 프로세스
- 적정 스레드
- Greedy
- 백준
- Stack
- 이진탐색
- GC
- 구현
- 분할정복
- 정수론
- 문제풀이
- g1gc
- 그래프탐색
- 빌더패턴
- 그래프 탐색
- Today
- Total
목록프로그래밍 (40)
FeelingXD
멀티 포트의 필요성대부분의 경우에선 그렇지 않겠지만 서버를 여러포트로 지원해야할 때가있다. 예를들어 https 와 http 둘 모두를 지원해야한다면 두개의 경우를 생각해서 포트를 구성해야한다.코드// kotlin 코드입니다. :)package com.feelinxd.app.configimport org.apache.catalina.Contextimport org.apache.catalina.connector.Connectorimport org.apache.tomcat.util.descriptor.web.SecurityCollectionimport org.apache.tomcat.util.descriptor.web.SecurityConstraintimport org.springframework.beans...
Kotlin 빌드과정코틀린도 JVM 위에서 동작한다. 이를위해서는 코틀린또한 자바처럼 JVM 이 읽을수있는 JAVA Byte 코드로 변환된다.이과정이 JAVA의 컴파일과 비슷하면서 조금 차이가 있다.Kotlin 에서 Java Annotation 사용시 발생하는 문제Kotlin 과 Java 를 혼용해서 사용하고 Java 어노테이션 프로세서를 사용하고있다면 Kotlin 에서 읽지못하는 문제가 발생할 수 있다.왜 발생할까 ?Kotlin 컴파일 순서는 다음과 같다.컴파일 : Kotlin 코드가 먼저 컴파일되어서 .class 파일을 생성한다 그리고 Java 코드가 이후에 컴파일 될때 Java 어노테이션 프로세서가 생성한 코드를 Kotlin이 사용하기전에 이미 컴파일 되어있기때문에 컴파일 이후에 생성한Java 코드..
😸 Git 브랜치 전략Git 을 통해 협업을 하게된다면 브랜치를 통해 작업을하고 병합 하는 과정을 겪게될것이다. 다양한 git 브랜치 전략에 대해 알아보자.GIT FLOW - 깃 플로우GIT FLOW - 간략한 설명Git-flow에는 5가지 종류의 브랜치가 존재합니다. 항상 유지되는 메인 브랜치들(master, develop)과 일정 기간 동안만 유지되는 보조 브랜치들(feature, release, hotfix)이 있습니다.master : 제품으로 출시될 수 있는 브랜치develop : 다음 출시 버전을 개발하는 브랜치feature : 기능을 개발하는 브랜치release : 이번 출시 버전을 준비하는 브랜치hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치문제점GIT - flow 는 웹앱(..
Java package-private 문득 Junit으로 테스트를 작성할때 다른 클래스를 작성할때처럼 메소드에 지정자 없이 테스트를 작성하고 있었는데 접근제어자를 지정하지 않았을때 어떤 접근제어자가 설정 될지 궁금해졌다. @Test void test(){ // 접근제어자가 없는 메서드나 클래스는 어떤 접근제어를 할까 🤔 //given //when //then } Java의 접근제어자 접근제어자는 객체 지향적 설계에서 클래스의 노출을 최소화 하는데 도움을 준다. 자바에서는 이러한 정보 은닉을 위해 접근 제어자를 사용한다. 클래스나 메서드 앞에 작성하여 접근제어자를 명시한다. class Main{ private void privateMethod(){ // private 접근 } public void publ..
❓ Problem 🤔 How 어떤경우에 포도주로 최고의 만족감을 얻을수 있을까 Greedy 하게 접근해보자. 😀 구현 로직 우선 탐욕법으로 접근하기위해 포도주가 순서대로 정렬되어있어야한다. 포도주 에서 마실수있는 최고의 포도주를 마신다. 남은 포도주 에서 최저의 만족감을 주는 포도주를 마신다. (이미 최고의 포도주를 마신 뒤이므로 효용은 0이다.) 2->3 을 반복한다. 🍷 최적해를 찾아 탐욕적으로 접근하기 포도주에서는 어떻게 작동할까 우선 포도주에서 마실수있는 최고 효용을 K 라고 했을때 첫잔에서 얻을수있는 최고만족감은 언제나 K이다. 그후 남은 포도주에서 마실수있는 최저의 효용을 얻는다. 이때 얻을수있는 만족 효용은 0이다. 남은 포도주중에서 최고 효용의 포도주를 마신다. 이때 얻을 수 있는 효용은 ..
STACK 대신 DEQUE를 사용하자 학부생 시절 Java 에서 Stack자료형 대신 Deque 를 사용해야 한다는 말을 듣고 사용해 왔는데 이글을 통해서 왜 Stack 자료형 대신 Deque를 사용해야하는지 작성합니다. Stack 과 Deque 일반적인 자료구조에서.. 일반적인 자료구조의 관점에서 Deque 와 Stack 은 다음과 같다. Stack 📚 [!NOTE] 대표적인 LIFO(Last in First Out) 자료구조로 늦게 입력된 자료가 먼저 나가는 자료구조이다. Deque 📚 [!NOTE] Queue 와 Stack 의 특징을 동시에 가지고 있는 Deque은 먼저 입력된 자료, 가장 늦은 자료 두가지 모두에 대해 접근할 수 있다. 왜 JAVA 에서는 Stack대신 Deque 를 사용 하라는 ..
❓ Problem 🤔 How ❗ Solve SELECT MEMBER_ID -- 아이디 ,MEMBER_NAME -- 이름 ,GENDER -- 성별 ,DATE_FORMAT(DATE_OF_BIRTH,'%Y-%m-%d') AS DATE_OF_BIRTH -- 생년월일 FROM MEMBER_PROFILE WHERE TLNO IS NOT NULL AND MONTH(DATE_OF_BIRTH)='03' AND GENDER = 'W' ORDER BY MEMBER_ID ASC
❓ Problem 🤔 How 이 ❗ Solve # 섬의 개수 import sys from collections import deque input = sys.stdin.readline moves = [(0, 1), (0, -1), (1, 0), (-1, 0), (-1, -1), (1, 1), (-1, 1), (1, -1)] SEA = 0 LAND = 1 CHECKED = 2 def draw_board(row) -> list: return [list(map(int, input().split())) for _ in range(row)] def search_island() -> int: cnt = 0 for y in range(len(board)): for x in range(len(board[0])): if ..
❓ Problem 🤔 How SQL 문제를 풀때마다 알고리즘 풀이문제보다 나름 신경써야할것이많다. 🚧 ORDER BY 정렬시 고려할것 TOTAL_DISTANCE는 CONCAT으로 문제에서요구하는 거리의 단위인 km 문자열이 붙어서 결국 문자열 형태가 되었다 이를 이용해서 정렬할 경우 숫자가 아닌 문자열 기준으로 정렬된다. 🚧 ROUND 어디서 반올림할것인가? 문제에서 총 누계거리는 2번째 자리에서 평균 역 사이 거리는 3번째 자리에서 반올림 한는것이 문제의 설명이다. 그럼 ROUND 함수의 두번째인자에는 무엇이 들어가야할까 ? ROUND 의 두번째 인자는 소숫점 몇째짜리 까지 표시할 것인지에대한 매개변수이다. 즉 문제에서 요구한 두 번째 자리에서 반올림 하시오 -> 소숫점 첫째 자리까지 남기시오 가된다...
❓ Problem 아래와 같이 5와 사칙연산만으로 12를 표현할 수 있습니다. 12 = 5 + 5 + (5 / 5) + (5 / 5) 12 = 55 / 5 + 5 / 5 12 = (55 + 5) / 5 5를 사용한 횟수는 각각 6,5,4 입니다. 그리고 이중 가장 작은 경우는 4입니다. 이처럼 숫자 N과 number가 주어질 때, N과 사칙연산만 사용해서 표현 할 수 있는 방법 중 N 사용횟수의 최솟값을 return 하도록 solution 함수를 작성하세요. 🤔 How DP 카테고리 문제지만 DP를 어떻게 적용해하는지몰라 다른분의 풀이를 참고하여 이해한 문제 (다음에 다시 풀어봐야겠다.) DP테이블의 접근은 숫자를 N번썻을때 어떤수를 만들수 있는가? 이다. 즉 DP[i] 일때 N 을 i 번사용해서 만들수..
TLDR; 스프링 부트 2.x 버전에서는 스프링 시큐리티 특정 URL 에대한 스프링 필터를 무시하기 위해 WebSecurityConfigurerAdapter 를 사용했다. 하지만 WebSecurityConfigurerAdapter 가 deprecate 되고 나서는 다음과 같이 사용한다. 기존 WebSecurityConfigurerAdapter 를 상속하는 방법은 다음과 같았다. @Configuration public class SecurityConfiguration extends WebSecurityConfigurerAdapter { @Override public void configure(WebSecurity web) { web.ignoring().antMatchers("/ignore1", "/igno..
자바 버전들( Java versions ) 이 글에서는 자바 특정 자바 버전 몇가지에 대해 다룹니다.(8,11,17) 왜 특정 버전에 대해서만 다루나요 ? JAVA 는 옛날언어 라는 프레임이 있지만 Java도 매년 여러가지 업데이트를 통해 JAVA 사용자들에게 더 좋은 서비스를 제공하고자 하고있습니다. 그중 몇가지 버전(8,11,17)은 LTS(LONG TERM SUPPORT)로 장기 지원 버전이기에 장기적으로 변화가 적고 지원기능에대해 장기적으로 업데이트, 개선 을 지원하기에 결정 하였습니다. JAVA 8 [!NOTE] JAVA 8 버전부터 기존의 딱딱하고 JAVA는 옛날 언어다 라는 프레임을 많이 개선한 버전이라고 생각됩니다. 😉 JAVA 8 의 대표적 특징들 ✨ 람다 표현식(Lambda Expres..