일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 포인트 컷
- 백준 8979번 올림픽 S5 자바
- 백준 2660번 회장뽑기 G5
- 서브모듈 yml
- dp
- StringTokenizer
- map
- 백준 1240번 노드사이의 거리
- append
- toUpperCase
- HashSet
- 코틀린기초
- 백준 1967번 트리의 지름 G4 자바
- 백준 2206번 벽 부수고 이동하기 G3
- 백준 2589번 보물섬 G5
- StringBuilder
- 프로그래머스
- HashMap
- 전위 중위 후위
- replace()
- 스프링 다중프로필
- 스프링 on-profile
- kotlin
- 프로그래머스 자바
- hash
- 백준 1600번 말이 되고픈 원숭이
- 프로그래머스 java
- Java
- 백준 11725번 트리의 부모 찾기
- Stack
- Today
- Total
목록분류 전체보기 (140)
말하는 컴공감자의 텃밭
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bBxUQD/btsH9stCUtx/0qt7g3LTMe4oRx366A7Eqk/img.png)
스프링 프레임워크에서 포인트컷(Pointcut)은 매우 중요한 개념 중 하나인데 난 몰랐다. 예에나는 처음 들어봤다 껄껄 먼저 포인트컷이 뭔지 왜 쓰는지. 이해를 하고, 사용법을 살펴보자포인트컷이 뭔데?포인트컷은 특정 메서드 호출 또는 특정 시점의 실행 지점을 지정하는 규칙이라고 말할 수 있다.포인트 컷을 사용하면 애플리케이션의 특정 부분에 부가 기능을 적용할 수 있다. 포인트컷은 주로 정규 표현식을 사용하여 메서드 이름, 파라미터, 반환 타입 등을 지정할 수 있다.그럼 왜 사용하지?포인트컷을 사용하는 이유 1. 포인트컷을 통해 핵심 기능과 부가 기능을 분리할 수 있다. 우리는 스프링으로 개발할때 AOP가 중요하다. 업데이트 할때마다 고쳐야 할 부분이 여러곳이라면 얼마나 번거로워요...AOP는 관점 지향..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/y8rQf/btsHZrtLfzd/kEjxqmJrBDF95ebvguOKCk/img.png)
config: activate: on-profile: local로컬에서 개발할거야 라고 명시했는데,, 왜 안되는거니 ***************************APPLICATION FAILED TO START***************************Description:Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine suitable jdbc url Error starting Tomcat context. Exception: org.springframework.beans.factory..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/0vERx/btsHsRM501l/tyuomeyos1iz62FWWbFuRK/img.png)
배포를 진행해보자. 도커 파일, 도커 이미지, JAR 파일이 있다고 가정하고 진행한다.Yaml 파일 종류를 다루고 Ingress, Service, Deployment를 활용해보는것이 목표. 도커 이미지로 배포하기.먼저 이미지가 존재한다면 터미널에서 간단하게 서버를 열어보자. docker run -i -t -p 8080:8080 > 이제 미니쿠베로 해보자.https://minikube.sigs.k8s.io/docs/start/사이트에서 파일을 받거나, 커맨드 명령어를 통해 다운받으면 된다. New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -ForceInvoke-WebRequest -OutFile 'c:\minikube\minikube.exe' -Uri..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dD0T9f/btsHrWPa9aJ/lIau1bB55Cm8KMxnlyUMjk/img.jpg)
쿠버네티스는 VM을 통해 컨테이너화 된 개발환경으로 확장 가능한 오픈소스 플랫폼이다.선언적 구성으로 자동화를 통해 효율적으로 관리할 수 있다. 그렇다면 컨테이너는 무엇인가? "컨테이너는 애플리케이션을 실행하는데 필요한 모든 것이 포함된 소프트웨어 패키지를 의미합니다." 개발자들이 자신의 환경에서 협업을 하거나 어떤 특정 프로젝트를 진행하고 싶은데 환경 세팅은 늘 번거럽고 어렵다.누구는 윈도우 누구는 맥이면 OS도도 다를것이고, 자바 개발이라면 JDK 버전 등등 벌써 번거로운데 이 컨테이너는 필요한 패키지를 다 갖고있으니 어디서나 동일한 환경에서 사용할 수 있는 공간을 제공한다. 벌써 편하잖아.그리고 프로젝트를 새로하고싶다면 똑같은 환경이 되어있는 컨테이너에 새로 만들면 그만. 간단하다. 그렇다면 환경 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/1TMxU/btsHpsusxTq/asGonEPzIZ5MFPCvDI0sK1/img.png)
https://krampoline-ide.kakao.com/my/dashboard목표 : 크램폴린으로 프로젝트 github에서 이미지를 만들어 배포까지 진행하기. 1. 깃허브 크램폴린 IDE 연동2. Dockerfile 생성3. IDE 에서 pull을 통해 gitjhub에 있는 Dockerfile 확인. 4. D2hub Repository 생성D2hub 생성 확인 5. Kargo 배포 구성 파일 작성 Kargo로 앱 배포 시 github 소스 저장소의 main 브랜치에 저장된 소스 코드의 쿠버네티스 리소스 구성 파일을 읽는다루트 디렉토리의 k8s 폴더 하위에 위치해야 인식함. kustomization.yaml에 k8s 구성 파일을 참조.이제 쿠버네티스 구성 파일 작성 시 D2Hub 이미지 경로를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bBfryT/btsG96EwHVQ/kYLxUjVkEIBII4oIhBltF1/img.png)
메인 레포지토리에서git submodule add 으로 연결 git status로khv97@DESKTOP-AQ39IHP MINGW64 ~/Desktop/sub_module (master)$ git statusOn branch masterNo commits yetChanges to be committed: (use "git rm --cached ..." to unstage) new file: .gitmodules new file: sub_Module서브 모듈파일 생긴거 확인 팀원은 메인 레포를 clone하거나 init, update를 해야함.git clone {Repository_URL}git submodule initgit submodule update 그..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bUaLOv/btsGZtfvEjt/u2lMC8zKdvaixKKmQPwKs1/img.jpg)
이전 문제인 벽 부수면서 이동하기 객체에 걍 boolean으로 줬다. " data-og-host="hb-in99.tistory.com" data-og-source-url="https://hb-in99.tistory.com/147" data-og-url="https://hb-in99.tistory.com/147" data-og-image="https://scrap.kakaocdn.net/dn/2onvR/hyVVFLMuQW/DmplUnDC9xqrc7bAFkNjKk/img.jpg?width=259&height=194&face=0_0_259_194,https://scrap.kakaocdn.net/dn/RYK8n/hyVVDNYE2H/J59HMz7Wp0kDI8K494iDK1/img.jpg?width=259&hei..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/sczJo/btsGNN0JSgi/f7EPFWdfLQkOcZ3p0Qv5mk/img.jpg)
G3.. 이놈 조건이 독특하다. 단순히 최단 거리를 구하는 알고리즘 + 벽을 1번 뚫을 수 있다가 조건이다. 근데 저 조건 하나가 왤케 무겁지 어떻게 뚫은거 체크하지~? -> 객체에 걍 boolean으로 줬다. 그리고 하나 더 visited를 3차원으로 선언해 주었다. 이게 풀면서도 아! 이거 생각 많이해야겠다 했는데 다행히 방법이 맞았다. 벽을 부수는 순간 다른 공간으로 인식해야하기 때문인데, 지도에 지름길이 하나 생길 수도 안부수는게 더 빠를 수도 있는 경우가 생기니까. 결국 판단하는 기준은 부수는 위치로 나눠야하며 만약 부순 이후라면 다르게 경로를 탐색해주어야 한다. 이런 조건을 사용하지 않는다면 부수고 새로 열리는 길이 더 효율적인지 판단해서 넣어도 답이 나올것 같다.. 하지만 지금은 졸려서리 빨..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cNX71I/btsGJo5T4WW/MynB9YakzlD8kB307Mipok/img.jpg)
문제를 한참 읽은 것 같다. 친구의친구의친구의..친구의..ㅊ.ㄱ..ㅇ... 정리하자면 친구인 사이가 많을수록 점수가 낮다. 친구 -> 1점 친구의 친구 -> 2점 친구의 친구의 친구 -> 3점 ... 점수가 낮을수록 친구가 많다는 뜻 이므로 회장점수가 가장 높다고 판단한다. 예제를 간단히 그래프로 나타냈을때 이처럼 된다. 주의할 점은 어떤 두 회원이 친구사이이면서 동시에 친구의 친구사이이면, 이 두사람은 친구사이라고 본다. 그렇다면 깊이자나. 깊이. 탐색하면 끝이네. 다만 회장후보의 점수와 후보 수를 출력해야하고, 후보자들을 출력해야 하므로 정렬도 필요하다. 가보자고 코드 흐름 먼저 각 사람의 회장 점수를 계산합니다. 이 과정에서 가장 높은 회장점수를 찾아 메모리를 아낍니다. 정리한 회장 점수를 통해서 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JbyTp/btsGIYGxL3X/WT0NfCFRntfMdLmBroM3a0/img.jpg)
문제를 잘 읽어도 보물이 없다. 땅과 바다 뿐이다. 눈이 침침한가. 보물은 육지에서 서로 빠르게 가도 가장~~ 먼 위치에 묻혀있다고 한다. 결국 L의 범위를 탐색해서 그 안에서 가장 먼 거리를 찾으면 된다. 최단거리는? BFS 손흥민 봉준호 제이팍 레스고 BFS는 탐색안된 영역을 찾아 시작점을 잡아주고 B와 W를 구분한 뒤 BFS 내부에서 Maxdist= Math.max(Maxdist,dist); 를 통해 최대 거리를 찾아주면 된다. HTML 삽입 미리보기할 수 없는 소스 큐에 배열을 넣어도~ 클래스를 짜서 넣어도~ 뭐든 상관은 없다.