목록분류 전체보기 (276)
HwangHub
ISSUE 운영중인 서버의 DB 스키마를 변경해야 했다. 로직을 수정하다보니 기존 스키마에 불필요한 칼럼이 존재함을 알게 된 것이다. 경우에 따라서는 칼럼을 추가해야 하는 경우도 있었다. 현재 운영 서버는 ddl-auto : none 으로 설정하고 사용하고 있다. 따라서 스키마 수정만을 위해 ddl-auto : update 처리하고 restart하는건 벼룩 잡겠다고 집을 태우는 것과 유사한 느낌이라고 판단했다. 잘 운영되고 있는 서버를 로직 수정도 아닌 상황에서 내려야 하며, ddl-auto에 의존하게 되면 어떻게 sql이 작성될지 알기 어렵다는 게 문제다. 즉, 리스크가 있는 선택이라는 거다. SQL 몇 줄 쓰는게 어려운 일도 아닌데, 참 바보같게도 과거에는 ddl-auto에 의존적으로 스키마 구성을 ..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
String name = "Hwang";String anotherName = "Hwang";name = "Jack"; name에 "Hwang"을 할당했다가 "Jack"을 할당할 수 있으니 불변 객체가 아니지 않냐고?만약 이런 의문이 들고 있다면 참조 변수와 객체에 대하여 먼저 알아봐야 한다. 이러한 질문은 들지 않는 상태라고 가정하고 시작한다. name에는 "Hwang"이 할당될 때, Hwang이라는 데이터를 가진 문자열 데이터가 JVM 메모리 구조 중 Heap에 생성되어 저장되었을 것이다. name이라고 하는 변수는 그저 heap 영역에 생성된 "Hwang"이라는 문자열 객체를 가리키고 있을 뿐이다. 그럼 이제 anotherName을 보자. 이 변수에도 "Hwang"이라는 문자열 객체를 참조하도록 하였..
보호되어 있는 글입니다.
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 문제 해석 n의 길이가 10이므로 기본적으로 완전탐색이 가능한지 파악하는게 좋다. 이 문제는 글자 하나씩 shift를 수행한 뒤 문자열을 인코딩했을 때 가장 짧은 길이를 물어보는 문제이므로, 이를 단순 완전탐색으로 알아내어도 최대 2차원 for loop만으로도 전체 경우 탐색이 가능할 것으로 예상되어 완탐을 수행하는 것에 무리가 없다고 보았다. 문제 풀이 package 코드트리.완전탐색.시뮬레이션; import java.io.BufferedReader; import java.io.IOException; ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b2G7w7/btsAWhSgP2R/IkU7rg5bDaOiSfAKu6QJjK/img.png)
사이드 프로젝트(송곳매)를 진행하던 중, 정적 페이지 호스팅을 위해 s3를 활용하였는데, 호스팅 이후에 no such key라는 이슈가 발생하였다. 문제 상황 문제를 재현해보면 다음과 같다. 나는 index.html을 요청하기 위해 루트 도메인 주소(www.songgotmae.com)를 호출하였는데, 아래와 같은 페이지가 뜨며 에러가 발생하였다. 문제 원인 기본적으로 S3는 파일을 key-value 형식으로 저장한다. 여기서 key는 파일 이름, 그리고 value는 파일 객체를 의미한다. 따라서 no such key라는 것은, 요청한 url에 해당하는 파일을 찾을 수 없다는 것을 의미한다. s3 호스팅 설정을 보면, main.html을 index 페이지로 제공할 수 있도록 설정해 두었는데, (당연하지만)..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/QUGPE/btsyVkRtUMT/kd5CGlJWZPauNgKavPMOJ0/img.png)
2023년, 나는 항공대 멋사 11기 대표를 맡았고, 지난 겨울부터 모든 이들에게 유의미한 1년이 될 수 있도록 열심히 했다. 아기사자 모집2023년 겨울, 11기 대표로서 처음 움직였던 일은 신입 부원들을 맞이하기 위한 마케팅 활동이었다. 스스로 일러스트레이터를 한달간 공부하며 홍보 포스터도 열심히 만들었다. 위 포스터보다 훨씬 밍숭맹숭한 결과물이었는데, 나름 열심히 만들었기에 뿌듯한 마음으로 좌니에게 가져가서 컨펌을 받으려고 했었다. 그런데 어느샌가 결국은 좌니가 도와줘서 위와 같이 고퀄리티로 재탄생하게 되었다는 비화가 존재한다. 이어서 홍보 영상도 좌니와 같이 열심히 찍으면서 개발 외적으로도 "나의 멋사"를 위해 열심히 몰두했던 겨울이었다. 민망하면서도, 나름 열심히 전투했던 흔적과 같은 내 멋사..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/O7nVY/btsAQBkqzOo/WNmUSvN37pUKUHzQqUsHk0/img.png)
What is Garbage Collection ? 자바를 공부하다보면 자주 마주하게 되는 "가비지 컬렉션"이라는 말. 이번 기회에 한번 제대로 알아보자. "가비지 컬렉션"이란, 말 그대로 쓰레기를 모아서 버려주는 것을 의미한다. 마치내가 방 안에서 살다 보면 처음엔 잘 쓰던 물건이더라도, 어느샌가 손도 대지 않는 물건이 존재하듯이, 프로그램도 계속 작업을 수행하다보면 끊임없이 필요 없는 데이터들이 메모리 위에 쌓여나가게 되는 것이 일반적이다. 고전적인 프로그래밍 랭귀지인 C나 C++의 경우에는 이렇게 메모리를 차지하는 데이터에 대하여 수동으로 free를 해줘야 한다. 이를 처리하지 않으면, 필요하지도 않은 데이터가 메모리에 지속적으로 공간을 차지하여 이를 활용하지 못한다 해서 "메모리 누수(memory..
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 문제 해석 위 문제는 일정 규칙에 따라 이동한다고 가정할 때, 가장 많은 이동 수를 얻는 경우를 찾는 문제이다. 특정 위치에서 항상 최선인 경우가 명확하다면 그리디 알고리즘으로 풀 수 있겠지만, 이번 경우에서는 위치와 grid상의 숫자에 따라 최선인 상황이 매우 다이나믹하게 변동된다. 따라서 동적 계획법이 적합한 알고리즘일 것으로 예상할 수 있다. 문제 풀이 첫 번째 풀이는 틀린 풀이이다. public class 이차원_최대_증가_수열 { private static int n, m; private sta..