벨로그정리
오늘 수정기능 못한게 속상했다 집에서 혼자 다시 해보자
강의영상 복습
프로그래머스 sql (시간 없어도 단 10분이라도 해)
지난주 금요일, 집에서 노트북에 sts4 다운 -> 환경세팅 후 학원에서 푸쉬 했던 커밋을 클론했더니.. src 폴더가 사라지고 src 하위 폴더들만 있는 기이한(?) 현상으로 빨간줄 테러를 당하는 참사가 생겼다. 몇시간동안 구글링하고 찾은 방법은..
- package explorer에서 프로젝트 마우스 우클릭 -> build path -> configure build path 클릭
- library가 jre로 설정 되어있길래, jdk 17로 선택하고 apply하니 사라진 src 폴더가 생기면서 에러가 모두 사라짐.
그런데 또 다른 에러가 발생.. 바로 임포트해서 불러온 프로젝트를 package explorere에서 delete하고 또 다시 불러오기 할때 sts4가 무반응이라는 것. 에러 메세지도 안뜨고, 그냥 불러와지지가 않더라.. sts4이랑 씨름하다 밤 12시반이 되버렸고. 4시간을 날린 것 같아 부글부글.. 나의 인내심의 한계는 여기까지 였던 듯.. 조금 쉬면서 진정을 하고. 다른 공부를 마저하고 자버렸다. 다음날 구글링 후 해결!
- .project 이야기가 나오길래 깃헙 레파지토리 확인 해보니 정말 .project 파일이 깃허브에 같이 푸쉬가 됬네?
- 첨에 gitinit -> gitignore 할때 내가 .project를 .projects라고 오타를 내는 바람에 그런 것 같더라..
- 구글링에선 .project 파일을 삭제하면 된다고했다. 그래서 그냥 프로젝트 폴더에서 과감하게 삭제!
- 삭제 후 불러오기 하니 해결! 그리고 gitignore로 .project로 수정함.
...된 줄 알았지........................... 오늘 난 또 sts4과 깃헙때문에 2시간을 날렸다. 이번엔 삭제했던 .project가 화근이었다. 학원에서도 .project 파일 삭제하고 푸쉬했는데 최근 커밋에는 당연 .project가 없겠지... 그걸 그대로 집에와서 또 import clone 하려니 no project 라며 clone이 안되더라....(띠로리) 진짜 정말적이었다.. .project 파일을 삭제 한게 후회스럽더라.. 근데 이것도 결국은 해결했다 2시간만에..
- git hub clone by url을 하면 no project 어쩌구 할거다.
- 그럴땐 그냥 무시하고, 내가 clone 하려고 했던 폴더 경로를 직접 들어가보면, clone 시도했던 프로젝트가 고스란히 들어와있다!
- 그럼 sts4에서 open projects from file system해서 불러오면 끝이다!
그냥 이 시간도 모두 깃헙과 이클립스/sts4 공부한거라고 생각하려고 한다. 좋게생각하면 이런일이 지금 발생한게 어디야~ 진짜 포트폴리오랑 개인프로젝트 할때 이런일이 생겼다고 해봐. 아니 나중에 회사에서 이런 실수해서 혼자 뻘짓 하고 있다고 생각해봐.... 아찔하다. 이것도 배움이라고 생각하자! 깃헙 정말 너어..... 🔫
String sql = "UPDATE article ";
sql += "SET updateDate = NOW()";
if (title.length() > 0) {
sql += ", title = '" + newTitle + "'";
}
if (body.length() >0) {
sql += ", `body`= '" + newBody + "' ";
}
sql += " WHERE id = " + id + ";";
왜 이런 로직을 짰는지 처음엔 이해가가지 않았다.
article 수정 시,
제목만 수정 하고 싶거나, 내용만 수정 하고 싶을 때가 있을 거다.
수정할 제목만 새로 입력하고, 내용 입력 시 아무것도 적지 않고 엔터를 쳤을 때는
blank가 그대로 내용으로 데이터베이스에 저장이 되는 것이 문제였던 것.
새제목만 적고 내용 입력 시 엔터만 쳤을 때 아무 것도 입력 되지 않게 설정 한거였다.
내용의 길이가 0보다 클 경우 (내용이 실제로 입력 됐다는 뜻) 저장하고,
내용의 길이가 0인 경우 (내용이 아무 것도 입력 되지 않았을 때는) 저장하지 말라는 뜻!
또, 콤마를 쿼리 뒤가 아닌 앞에 찍는 이유는,
실제로 내용을 입력하지 않았을때 WHERE id 앞에 콤마가 붙어버려 syntax error 생기는 것을 방지하기 위해서!
"요소의 저장 순서를 유지하지 않습니다." (맞다!!!까먹었었던 부분이었는데!)
제네릭은 <키, 밸류> 두개 넣어야함
값 얻으려면 .get(키)
containsKey -> 이거 contains랑 비슷하네
USER_INFO 테이블에서 2021년에 가입한 회원 중 나이가 20세 이상 29세 이하인 회원이 몇 명인지 출력하는 SQL문을 작성해주세요.
SELECT COUNT(USER_ID) AS `USERS`
FROM USER_INFO
WHERE DATE_FORMAT(JOINED,'%Y') = '2021' AND
AGE BETWEEN 20 AND 29
나는 자꾸 9명이 나온다..
실제 정답은 3명으로 나와야한다고 한다..
해결방법을 찾아봐야겠다.
4시간 * 평일 5일
5시간 * 주말 2일
- 주 30시간
- 한달 120시간
- 6개월 720시간
생각과 의심을 해야함
다양한 방법을 생각하고 의심해보려면
문법이해가 더 필요하다!!