우리 fisa 2기 '클라우드 서비스 개발' 9주차
9주차를 넘어 10주차에 접어들고 있다
나는 오늘 jsp를 하고 있는데, 지금 코드는 문제 없는데 이상한 에러 때문에 해결 못 해서 엄청 답답한 심정이다 ㅋㅋ ㅠ 오늘 안에 해결할 수 있을까??
일상 얘기
이 번 주는 눈이 정말 많이 오는 날이었따!! 날씨가 조금 따뜻해져서 좀 풀리나 싶었더니 ㅋㅋ
틈만 나면 눈이 오더라구요~ 예전에는 눈이 오면 점심 때 근처에서만 먹었지만 이제는 그냥 눈을 뚫고 맛집을 찾아간다 !
최근에 일본을 놀러갔다온 우리피사 동기가 있었다 ㅋㅋㅋ 수업 안듣고 가농!! 그 친구가 돌아와서 우리에게 기념품을 줬다!!
항상 일본을 보면 과자를 다양하게 맛있는 걸 만드는 거 같은데 특히나 단 음식은 정말 잘 만드는 것 같다!
우리나라 과자도 맛있지만 뭔가 다른 나라의 과자라서 그런지 조금 더 특별하게 맛있었(?) 거 같다 ㅎㅎ.
이 번 주는 우리 서비스 개발 팀들의 회식이 있었다 ~~ 정말 다들 공부해야한다고 정신없이 지내다가 드디어 한 번 잡은 회식이었다.
생각 외로 다들 끼가 충만하더라 ,,, 공부한다고 다들 숨겼어 ㅋㅋ 뭔가 다들 좀 풀리고 하면 훨씬 재밌게 놀 수 있는 사람들이란건 분명했다
우리 피사가 사람을 잘 뽑았던 걸까 다들 착하고 열심히하고 놀땐 너무 재미있고.. 완벽하다 ㅋㅋ
이날 진짜 엄청나게 놀았던거 같다 ~~ 나도 꽤나 취해서 결국 먼저 도망갔다는 ㅎㅎ.. 나의 주정은 그냥 자는거다..
그래서 잠에 짓눌려서 집으로 피신했다 ㅋㅋ 끝까지 남는 친구들 보면 대단하다고 느꼈다. 나름 운동한다고 했지만 술에는 약한가보다 ㅋㅋ
1. 이번 주 배운 것
<<수업내용>>
이 번 주는 DB를 가지고 java와 연결해보는 jdbc라는 것을 해보았다 !!
JDBC(Java Database Connectivity)는 Java 기반 애플리케이션의 데이터를 데이터베이스에 저장 및 업데이트 하거나, 데이터베이스에 저장된 데이터를 Java에서 사용할 수 있도록 하는 자바 API이다.
그러기 위해서는 자바와 DB와의 연결이 필요한데 그 때 필요한 Connector J 라는 것을 설치하고 우리가 작업하는 프로젝트의 classPath에 넣어주면된다.
https://jiholine10.tistory.com/245
Connector j 적용하기
Connector j란 자바코드로 DB에 접속해서 데이터를 관리하게 만들어주는 모듈 이다 Connector j를 설치하기 위해서 "maver repository" 에 접속한다. https://mvnrepository.com/artifact/com.mysql/mysql-connector-j/8.2.0 그리
jiholine10.tistory.com
이러한 방식으로 진행했다!!
https://jiholine10.tistory.com/248
DB 데이터 불러올 때 [try catch finally 방식과 try resources 의 차이]
일반적으로 DB 데이터를 불러 올 때 try catch finally 방식을 이용한다. 하지만, java 7 이후로 try resources 도 가능하게 되는데 이때 try안에 들어가는 데이터의 순서가 중요하며, AutoCloseable 인터페이스
jiholine10.tistory.com
그리고 자바에서는 어떻게 이 DB를 불러와서 적용해야하는지 배울 수 있었다.
이를 활용해서 우리만의 서비스를 개발하는 미니 프로젝트를 진행했다.
우리 주제는 신용등급에 따른 대출 상품을 추천해주는 어플리케이션이었다
우선 어떤 기능을 구현할지 정했고, 그 다음
이를 바탕으로
ERD를 통해 어떻게 테이블을 만들고 외래 키와 연결할지 다대 다는 어떻게 구성할지 짰었다.
이후, 팀을 분담하여 프로젝트를 진행했다. 나는 신용등급조회서비스를 개발하는 팀에 들어가서 진행을 했다.
우리 팀의 구성은 서비스를 구현하는 두 팀과 그 서비스를 합쳐서 최종 어플리케이션을 만드는 한 팀으로 구성되었다.
수업시간에 배웠던 것들을 써먹어가며 복습하는 좋은 시간이었다.
그리고 우리팀에 에이스가 있는데 그 친구 덕에 좋은 코드도 배울 수 있어서 좋았다 ㅎㅎ
이 과제 다음으로 서블릿이라는 것을 배웠다 !!
자바스크립트때 배운 복잡했던 서버 요청과 응답으로 만든 웹사이트 이번엔 자바로 진행하는 것이었다!!
Servlet이란 클라이언트의 요청을 처리하고, 그 결과를 반환하는 Servlet 클래스의 구현 규칙을 지킨 자바 웹 프로그래밍 기술이다.
그리고 이를 활용하기 위해 Tomcat을 설치해서 적용 하고 이를 활용해서 구현을 했는데 정말 복잡했다. ㅋㅋㅋ
이제야 감을 어느정도 잡아서 어떻게 구성할지는 알고 있지만 지금 현재 Connection = null을 해결하지 못해 진척을 못하고 있따 ㅠㅠ 얼른 다시 해봐야할 거 같다 ㅠㅠㅜ
<<코테>>
이번 한 주는 정렬 방법에 대해 코딩테스트를 공부를 진행했다.
선택정렬, 버블 정렬, 삽입 정렬 에 대해 기본적으로 배웠고
List를 정렬해주는 Collection.sort()와 배열을 정렬해주는 Arrays.sort() 에 대해 알 수 있었고
특히, 객체를 생성해서 Collection.sort를 적용하기 위해서는 객체를 생성해서 적용하려는 클래스는 Comparable<T>라는 인터페이스를 implements 해줘야 함을 알 수 있었다 !!
https://jiholine10.tistory.com/267
[정렬] 7. 좌표 정렬
이 문제를 접근할 때, 클래스를 생각을 했었다. 그렇게 해서 배열이나 클래스에 넣어서 정렬을 하려고 했는데, 일반적인 배열에서는 즉, 기본 타입 일때는 Arrays.sort를 활용해서 정렬을 했다면 객
jiholine10.tistory.com
여기에다가 정리해뒀는데, 이런 내용은 어느정도 암기가 되어있어야 하는 부분인 거 같다
그리고 이분 검색이라고 해서 정렬을 한 뒤에 내가 찾고자 하는 값의 인덱스 를 찾는 문제이다.
이 문제 역시 하나의 알고리즘 방식이고, 이 알고리즘 특징은 필요 없는 부분은 무시하고 탐색을 한다는 것이다 !!
이렇게 하면 기존 for문을 돌면서 진행했기에 시간 복잡도가 O(N) 인 반면에, 더 빠르게 진행할 수 있는 것이다.
https://jiholine10.tistory.com/268
[정렬] 8. 이분검색
-나의 풀이- 문제는 이분검색이라는 방식을 사용해서 하는 것 같지만 일단 이분 검색을 잘 모르기 때문에 다른 방식으로 풀어봤다. Arrays.sort를 통해서 정렬 한 뒤에 for문을 돌려 같은 값이 나오
jiholine10.tistory.com
아직 두 개의 정렬 문제가 남아있는데 다음 주에 완료하고 정리할 예정이당
<<자바 스크립트 복습>>
현재 자바스크립트를 복습을 하고 있는데
가장 기억에 남는 내용은 바로 "상태 코드(Status Code)" 이다.
상태 코드는 100 ~ 500 번대까지 있는데,
1. 100번대
-> 서버가 클라이언트에게 정보성 응답(Informational response)을 줄 때 사용되는 상태 코드들이다.
2. 200번대
-> 클라이언트의 리퀘스트가 성공 처리되었음을 의미하는 상태 코드들이다.
3. 300번대
-> 클라이언트의 리퀘스트가 아직 처리되지 않았고, 리퀘스트 처리를 원하면 클라이언트 측의 추가적인 작업이 필요하다는 것을 의미하는 상태코드이다.
4. 400번대
-> 리퀘스트를 보내는 클라이언트 쪽에 문제가 있음을 의미한다.
5. 500 번대
-> 서버 쪽의 문제로 인해 리퀘스트를 정상적으로 처리할 수 없음을 의미하는 상태 코드들이다.
이렇게 요약 정리를 해볼 수가 있었다.!! 다른 내용들은 복습하고 상기시키는 내용이었지만 이 상태 코드는 제대로 정리해본 것이 처음이라 가장 기억에 남는 내용이었다 ㅎㅎ
2. 이번 주에 겪은 시행착오와 극복
이 번 한 주도 쉽지 않은 하루였다 ~~ ㅋㅋ
1. 일단 맥이랑 workbench가 버전 문제 등으로 호환이 제대로 일어나지 않아 이를 해결하는데 많은 시간이 걸렸다 ㅠ
이것 저것 삽질한 결과, workbench 사용을 하지말고 대신 DBeaver을 사용하기로 결정했다 !!
https://jiholine10.tistory.com/239
WorkBench 강제 종료 문제 -> dbeaver 로 해결
오늘의 에러 등장 !!! workbench가 문제 없이 잘 되는 줄 알았지만 사실상 아니었따 ㅋㅋ erd 다이어그램을 보려고 하는 순간 강제 종료가 되더니 혹시나 해서 다른 것도 간간히 강제 종료되었다. ㅋ
jiholine10.tistory.com
그렇게 DBeaver를 설치하고 사용했는데 너무 잘 작동이 되었다 ㅎㅎ
2. 롬복 설치 에러
어느덧 삽질하는데는 꽤나 빠른편이 되었따 ㅎㅎ 적용을 하고 실행하려는데 계속 실행이 안 되었지만 이 역시도 해결완료 !
https://jiholine10.tistory.com/246
loombok 설치 에러
오늘의 맥북 에러는 롬복 설치 에러이다 !! 롬복 library를 적용하기 위해서 롬복을 설치한 뒤에, 터미널로 jar를 실행 하려고 했으나, java -jar lombok.jar 이러한 오류가 뜨면서 더이상 진행이 되지 않
jiholine10.tistory.com
3. Connection = null 에러
ㅎㅎㅎㅎㅎㅎ
지금 내가 겪고 있는 문제이다 ㅋㅋㅋㅋㅋㅋㅋ 실행 메서드로 실행했을 때에는 데이터를 잘 불러왔지만, 이상하게 서블릿으로 하면 db의 데이터를 못 가져오고 있다... 아직 나의 실력이 부족한 터라 고난을 겪고 있다 ㅠㅠ 하지만, 언제나 그랬듯이 이겨내고 해결할 것이다.
약간 흔들렸지만 !? ㅋ 다시 잡고 해결해보려고 한다 응원 부탁한다 큐
그 외에도 여러가지 문제 등이 있었지만 이제는 이런 것들을 만나면 이전 보다 빠르게 해결해 가고 있다 ㅎㅎ
앞으로도 있을 여러가지 이슈를 자신있게 헤쳐나가보겠다 !!😀
**
==> 결국 해결하고 잔다 ㅎㅎㅎ 파일의 위치가 문제의 원인이었던 것이다 ㅋㅋ 역시 간단했다. 엄청난 삽질이었지만 그래도 해결했다는 안도감과 함께 난 잔당
**
3. 앞으로 어디에 적용
DB를 연결해서 자바를 통해 웹을 개발한다면 이전에는 새로고침하면 없어졌던 데이터를 DB에 저장해둘 수 있었다 !!
그렇기 때문에 아직까지는 미흡하지만 회원들을 관리하고 로그인 및 회원가입 페이지를 만들 수 있는 방향을 배울 수 있었기에
향후에는 이를 응용하여 웹페이지를 만드는데 보탬이 될 수 있을 것이라 확신한다.
그렇기 때문에 꾸준히 DB에 대해 공부하고 JDBC 의 기초를 바탕으로 더 높은 기술을 배워나갈 예정이다.
4. 현재까지의 학습 평가 및 다음 학습을 위한 다짐/목표
-이번주 수업-
이번 주 수업 같은 경우 서블릿을 하며 헷갈리긴 하지만 이전보다는 이해도면에서 빠르다 ㅎㅎ 그러나 아직 해결 하지 못한 일부분은 미흡한 나의 실력이라고 인정하고 더 열심히 공부해야겠다는 생각을 하고 있다.
-정처기-
정처기는 속도를 내어서 진도를 많이 뺐지만, 조금 더 속도를 낼 필요가 있다!! 주말에 좀 했어야 했는데, 이래저래 다른 것들에 시간을 투자하다보니 주말에 많이 못한 것 같아 아쉽다 ㅠ 역시 계획한 대로 100퍼센트 하기에는 어려운 것이다 !! 그렇지만 계획을 잡아 놓게 되면 최대한 거기에 맞춰 하려고 하기에 꾸준히 계획을 세워가며 목표를 최대한 완료해야겠다!
-코딩테스트-
코테 같은 경우는 꾸준히 나의 페이스에 맞게 계속하고 있다. 얼른 내가 하고 있는 인프런 강의를 끝내고 백준으로 넘어가 더욱 실력을 키워 나갔으면 한다.
-자바스크립트-
자바스크립트 복습을 하며 이전에는 이해도가 낮았던 부분을 보완해나가고 있다. 이 또한 꾸준히 해서 더욱 성장한 개발자가 될 수 있도록 하겠다.
이 번 한 주를 마무리하며 돌이켜 보면, 현재까지 많은 정보들이 머릿속에 들어와서 많이 혼란 스러운 하루를 지내고 있었다 ㅋㅋ. 하지만 이전 보다는 확실히 이를 받아드리는 자세가 많이 바뀌었다. 이전에는 두려움이 앞섰지만, 지금은 어떻게든 내 것으로 만들어 내겠다는 의지가 충만하다 !! (간혹 노트북 박살내고 싶) ㅋㅋㅋ 아무튼 그러하다 !! 다음 주 부터 Spring이 시작 되는데 현재 하고 있는 것보다 더욱 어려움이 있을 것이라고 한다 마음 단단히 먹고 다음 주를 맞이 해야겠당 !!
화이팅!@!@😎