본문 바로가기

분류 전체보기

(78)
NonNull 사랑...사...사...랑... 그냥 좋아합니다. @NonNull은 사용자에게 null 체크 잘하십쇼 하고 알려줄 수 있는 어노테이션입니다 보통 사용할 수 있는 용도는 아래와 같습니다 Record component / 함수의 파라미터 / 생성자의 파라미터 요렇게 쓸 수 있습니다 public void doSomething(@NonNull String input) { // input은 null일 수 없음 // 여기서 안전하게 input을 사용할 수 있음!! } @NonNull을 안 쓰면 아래와 같이 했겠쥬? 사실 씨쟁이는 아래의 코드가 더 익숙하지만 😒 파라미터만 보면 if 문 만들어야 직성이 풀리는 편. public void doSomething(String input) { // input은 null이면 아니된다.. if( input == null ) {..
SQLD 시험 후기 (누구인가? 누가 안 어렵다 했는가?🤔) 추석 연휴에 스터디 카페에서 썩어가는 나 공부할겸 일할겸 집 근처 스카에 왔는데 일이 생각보다 할게 많아서 원하던 공부를 못해서 조금 속상하다 그래서 짧게 자격증 후기나 남겨야겠다. 시험 전 마음가짐 필자는 지난 구구데이 때 SQLD 시험을 봤습니다 한달 전쯤 접수하고 준비를 바로 하려고 했는데, 신기한게 접수하고나서부터 야근의 늪에 빠져 공부할 시간이 없었다. 그리고 준비 기간 때 잘못 생각했던게, 인터넷에 검색만해도.. 취득하기 쉽다고 하고 전공자라면 2주정도면 쌉가능이라고 하길래 2주전부터 하면 되겠지~~ 했다 ... 그러면 안됐다 시험 한 3일전부터 야근 + 벼락치기 공부를 하며 기도메타 전략을 세웠다. 시험을 보고 오 망했는데 생각이 들었고, 11월에 재시험 보려고 마음 놓고 기다리고 있었는데 ..
Intellij) JUnit5 설정할 사람 괌 요즘 일하면서 내가 제일 신경 쓰고 있는 것은 히스토리를 잘 남기는 것이다 모든 일은 누구나 할 수 있다는 것을 깨달았지만 코드마다 있는 사연은... 그 사람밖에 알 수가 없다는 것이다 🥹 왜 그렇게 생각하게 됐냐구요? 저도 그러고 싶지 않았습니다 그래서!! 테스트 코드를 여느때와 다름없이 작성하던 중... 기존에는 JUnit4 버전으로 사용하고 있었는데 다른 담당자가 테스트 코드 실행 시 빠르게 내용을 파악하시면 좋겠다고 생각이 들었다 결론부터 먼저 말하자면.. 테스트 코드를 실행했을 때 아 이런 테스트~를 쉽게 파악하길 원했다 그러기 위해서는 @DisplayName 같은 어노테이션 사용이 필요했고, 이를 사용하기 위해서는 JUnit 버전을 업그레이드 해야했다 1. JUnit5 의존성 추가 (1) bu..
Intellij) 쿼리 볼 때 눈이 아프신가요? highlight 끄기 Aㅏ.. 보기만해도 눈이 아픕니다. 쿼리를 작성을 하면 이렇게 하이라이트 기능으로 인해 쿼리에 색칠이 칠해지는데요 🤕 임시로는 아래처럼, Highlight: All Problems에 마우스 오버를 하면, Syntax를 눌러주면 하이라이트 기능이 꺼집니다. 하지만 다른 파일을 열거나, 새로 프로젝트를 열면 다시 또 나타나는.. Setting에서 Configure Inspections 설정을 해도 되고, 사진처럼 바로 들어가도 됩니다. 그러면 창이 하나 뜨는데요, No data sources configured랑 SQL dialect detection 이 두 개에 대해 체크박스를 해제해주세요 그리고 Settings에 가셔서, Editor-Color Scheme-General의 Injected language..
Error) java: class, interface, or enum expected 해결 File-Settings-Editor-File Encodings Path 추가해서 에러가 난 디렉터리 또는 파일에 Encoding 설정을 해주면 됩니다 그래도 안된다면 새로 파일을 추가하고 코드를 복붙하는게 가장 빠릅니다. 저 같은 경우에는 로그나 코드에 인코딩 설정을 바꿨는데, 저런 에러가 생기더라구요 한글이 깨지는 현상이 생겨서 해결하려다가 에러를 만나게 된; 원인은 BOM(Byte Order Mark) 이라는 것이 생겨서 그렇습니다. 유니코드의 인코딩 방식에는은 빅엔디안(BE)과 리틀엔디안(LE)이 있습니다. 둘의 차이는 바이트를 읽는 순서의 차이인데, 이 것을 파일에 명시하기 위해 앞에 인코딩별 BOM 값을 살짝 넣어 놓습니다.
프로그래머스 - level3/있었는데요 없었습니다/MySql 해결방법 사실 어렵지 않게 풀었는데 제목이 포스팅 안할 수가 없는 이름이라.. 입양일과 보호일을 JOIN을 사용해서 같이 비교해주면 끗 코드 SELECT AI.animal_id, AI.name FROM ANIMAL_INS AI INNER JOIN ANIMAL_OUTS AO ON AI.animal_id = AO.animal_id WHERE AI.datetime > AO.datetime ORDER BY AI.datetime
프로그래머스 - level3/베스트 앨범/C++ 해결방법 총 두 가지의 자료구조를 사용했음 1) 많이 재생된 장르가 뭔지 → key를 장르로 하고 value에 같은 장르의 전체 재생 횟수를 뒀음 2) 같은 장르 내에서 많이 재생된 노래 순서 → 고유 번호, 장르, 재생횟수를 가지는 struct를 만들어서 sort 해줌 두 개를 재생 횟수를 기준으로, 내림차순(DESC) 정렬해줬음 코드 #include #include #include #include #include using namespace std; struct Music { int idx=0; string genre; int play = 0; Music(int _idx, string _g, int _p):idx(_idx), genre(_g), play(_p){} }; map maxGenre; boo..
프로그래머스 - level2/가장큰수/C++ 해결방법 이 문제는 정렬(sort)을 활용하여 풀 수 있음 제한 사항에 "정답이 너무 크니 문자열로 바꿔라"라고 있는데, int 형 배열 numbers를 string 배열로 바꾼 후, 정렬을 해줄 때 3번째 인자의 함수에서 커스텀 비교 함수를 넣어주면 됨 처음에는 sort 함수에서 to_string으로 바꿔서 numbers 배열의 순서를 바꿨었는데 시간초과가 되었음 🙁 참고사항 stl에서 제공하는 sort 함수의 파라미터는 위와 같습니닷 세 번째 파라미터가 뽀인트인데, 비교하고 싶은 두 개의 요소(인자)랑 return 값을 맞춰서 작성해줘야 합니다. 이 문제의 경우에는 조건을 숫자 1과 숫자 2를 붙여서 비교했을 때 더 큰 값만 넣어주면 됩니다. 예를 들어서, "6"과 "10"을 비교 시, 610 또는 ..