Notice
Recent Posts
Recent Comments
Link
04-26 21:22
«   2025/04   »
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
Archives
Today
Total
관리 메뉴

<<개발일지>>

우리 fisa 2기 '클라우드 서비스 개발' 8주차 본문

우리FISA2기_성장기록

우리 fisa 2기 '클라우드 서비스 개발' 8주차

개발하는지호 2024. 1. 14. 12:01

앞자리 3 ㅋ .

 

앞자리 3이면 어른인 줄 알았지 ?? 아니야 ~~ ㅠㅠ

 

그냥 나이 좀 이제 있다고 하는 애기다 ㅎ.

 

머리에 피도 말랐나 ? ㅋㅋ

 

아무튼 !!! 이제 들어선 3이지만 아직 힘차게 움직일 수 있다 ㅋㅋㅋㅋㅋㅋ

 

(이제 윤 대통령님 나이로 하겠다 ㅋ 그럼 28세 ㅎ)

 

일상 얘기

이 번 주에는 앞 줄에 있는 누나가 새해라고 샤인머스캣 찹살떡을 쏘셨다 ㅎㅎ 정신없는 와중에 이렇게 따뜻하게 다가오면 어쩌란거야~

나는 공부한다고 새해고 머고 정신이 없는 하루를 보내고 있었는데 이렇게 인류애를 느끼게 될줄은 몰랐다 !

 

 

어느 순간 운동화나 스니커 등을 장기적으로 신는 것이 너무 불편했다.. 그래서 점심을 먹고 특정 문구점에 들려서 지압 슬리퍼를 구매했당 ㅋㅋ 약간 할머니 같은 스타일이지만, 오히려 스웩이 있다 ㅋㅋ 

무엇보다도 이로인해 앞자리 3의 건강을 지킬 수 있게 되었고 발이 너무 편해져서 삶의 질이 대폭 상승했다 ㅎㅎ

 

 

아 그리고 !! 드디어 핵밥 성공 ㅎㅎ 핵밥이라는 가게가 최근에 생겼었는데, 갈때마다 웨이팅이 너무 많아서 못가게 되었었다ㅠㅠ 하지만 그날 눈이 많이 내려서 인지 사람들이 생각보다 안 왔었다. (그래도 거진 만석..ㅎ) 맛이 좋고 깔끔해서 좋았지만 하루쟁일 공부만 하는 나로써는 양이 조금 부족했다 ㅠㅠ

 


공부 얘기

이번 주는 자바에 대해서 내용이 끝났다 !!! 정말 무서운 속도이지만, 그래도 복습하고 가서 그런지 이해하는데 어렵지는 않았고 오히려 기본지식에서 조금 더 깊어진 느낌이당 ㅎ

 

그리고 드디어 데이터베이스 MySQL에 진입을 했다.

 

그래서 MySQL을 설치해야하는데, 애를 좀 먹었었다 ㅎㅎ.. 

 

 

바로 PID 지옥에 걸렸기 때문이다 ㅋㅋ

 

또 다시 맥북과의 전쟁이 시작되었음을 선포하는 날이었다 !! 하지만 질 수 없다. 오늘도 승리한다는 정신으로 임했다 ㅋㅋ

 

근데, 참 이때에도 인류애가 느껴졌는데, 내가 이렇게 열심히 싸우고 있을 때, 맥북 사용자 전원이 내 컴퓨터 앞에 모였다 ㅋㅋㅋㅋㅋ

정말 우리반 너무 착하다 ㅠㅠ

챗 gpt4로 그려보았다 !

 

바로 이렇게 ㅋㅋㅋㅋㅋㅋㅋ 

 

그렇게 몇시간 삽질을 시작했다.. Stack Over Flow의 도움도 받아가며 열심히 원인에 대해 찾았었다.

 

그 결과 !!

 

내가 예전에 mariadb를 사용하기 위해 다운로드 했던 기억이 있었다 ㅋㅋㅋ ㅠ

 

 

그래서 바로

$ lsof -i

 

를 입력해서 찾아 봤는데 

 

역시나 mariadb가 떡하니 있었다 ㅠㅠ 그렇게 해서 문제를 결국 해결했다...

오늘도 승리한 셈이다 ㅋㅋㅋ 이제는 이런 것들이 너무 자연스럽고 해결하는데 재미를 느끼고 있다. !!

다 덤벼덤벼 ~~

 

 

그렇게 무사히 실행할 수 있었고 강사님의 강의를 문제없이 따라갈 수 있었다!!

 

저작권이 있어 왼쪽 내용을 좀 가렸다.

 

이번 주 부터 본격적으로 프론트앤드에서 했던 자바스크립트 복습을 시작했다. !!! 우선 나는 개념에 대해 명확하게 이해하고 있어야 한다고 생각해서 제대로 파헤쳐주는 강좌를 선택해서 듣기 시작했당. 현재는 프론트앤드에 가깝지만 점차 백앤드로 가까워지는 방향으로 자바스크립트를 다룰려고 한다 !! 조금 들었지만 우리fisa 강의도 들었기에 벌써 부터 응용능력이 상승하기 시작했다. 역시나 본질적인 응용능력 향상은 원리를 제대로 아는 것이다 !! ㅎㅎ


특별한 얘기

사진을 못찍어서 이걸로 대체

 

이 번 주는 조금 특별한 날도 있었다. 바로 우리fisa1기 졸업생 분이 오셔서 Q/A를 가졌었다!! 무려 우리 서비스 개발 반이셨당 !! 현재까지 많은 사람들이 취업을 하기 시작했다는데 많은 사람들이 금융권으로 진출하고 있다고 들었당. 이번에 오신 분은 농협은행에 신입으로 합격하신 분이셨다.  정말 열심히 하셨던 분이었고 우리가 하고 있는 것들을 최대한 이용하려고 노력했다. 

 

나도 현재 최대한 여기서 많은 것들을 이용하고 얻어가려고 하고 있다. 지치지 않고 꾸준히 이어가고 더 열심히 할 수 있도록 해야겠다. ㅎㅎ 그렇게 해서 나도 우리 후배들을 위해서 좋은 충고를 해줄 수 있는 멋진 선배로 거듭나야겠다고 다짐했다!!

 

 


 

1. 이번 주 배운 것

이번 주에 배운 것은 크게 4 가지이다 !! 

 

첫째, 람다식과 함수형 인터페이스

 

함수형 인터페이스란 단 하나의 추상 메서드만 선언된 인터페이스를 의미한다.

public interface InterFaceTest {
    int test(int a, int b);
}

 

-제약 조건

일반 인터페이스와는 다르게 함수형 인터페이스는 단 하나의 추상 메서드만 선언해야한다.

 

람다식이란 쉽게 말해 메서드를 "하나의 식"으로 표현한 것이다 !!

 

하나의 식으로 표현하여 훨씬 간략하게 표현이 가능하게 되며, 메서드의 이름과 반환값이 없어지므로,

"익명함수" 라고도 한다!

이미지 출처:&nbsp;https://hstory0208.tistory.com/entry/Java%EC%9E%90%EB%B0%94-%EB%9E%8C%EB%8B%A4%EC%8B%9DLambda%EC%9D%B4%EB%9E%80-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%82%AC%EC%9A%A9%EB%B2%95

 

이를 활용해서 인터페이스가 있을 때, 굳이 재사용하지 말고 특정한 경우만 이용할 때에 구현 클래스를 생성하는 것이 귀찮을 수가 있다.

이때 우리는 익명 클래스를 사용하여 인터페이스의 추상메서드를 재정의 함으로써 사용한다 

 

자세한 내용은 여기를 참고하면 된다.

https://jiholine10.tistory.com/214

 

함수형 인터페이스, 람다식

함수형 인터페이스 함수형 인터페이스란 단 하나의 추상 메서드만 선언된 인터페이스를 의미한다. public interface InterFaceTest { int test(int a, int b); } -제약 조건 일반 인터페이스와는 다르게 함수형

jiholine10.tistory.com

 

또한 이러한 인터페이스를 만들기 귀찮을 때가 있는데 기본적으로 제공해주는 함수형 인터페이스도 있다.

https://jiholine10.tistory.com/215

 

java.util.function 패키지(지속 작성중..)

람다식을 사용할 때 마다 함수형 인터페이스를 매번 정의하기 불편하다. 그래서 라이브러리로 제공하는 것들이 있다. 자바8에서 제공하는 주요 Functional 인터페이스는 java.util.function 패키지에 다

jiholine10.tistory.com

여길 참조하라~

 

 

둘째, 로깅

 

로깅이란 애플리케이션 실행 중에 발생하는 이벤트나 로그 기록을 텍스트 형태로 콘솔에 출력하거나, 파일 등에 전달하여 저장하는 행위를 말한다.

 

운영 중인 프로그램의 지속적인 관리, 모니터링을 하기 위한 가장 기본적인 방법이다!

 

Java에서는 기본적으로 java.util.logging 패키지를 통해 로깅을 사용할 수 있다. 

 

외에도 좀 더 업그레이드 된 로깅 패키지가 있는데 바로 Log4j2와 Logback이다!!

 

Log4j2 같은 경우는 혼자 있어도 잘 작동하는데, Logback은 SLF4J인터페이스가 필요하다.

 

SLF4J 

-> 실제 구현체가 아닌 로깅 시스템을 공통으로 쓸 수 있도록 구조화한 인터페이스이기 때문에 SLF4J 만으로는 실제 로깅을 사용할 수 없다.

이미 출처:&nbsp;https://www.atatus.com/blog/best-practices-in-java-logging/

 

SLF4J 인터페이스를 통해 Log4j 와 Logback을 잘  사용하기 위해서는 거기에 맞는 버전을 잘 다운로드 받아야 한다!!

 

셋 째, MySQL

Mysql을 다루기 위해

SELECT, WHERE, JOIN GROUP BY HAVING 등을 배울 수 있었다.

 

그리고 이를 해석할 때 

https://stackoverflow.com/questions/4596467/order-of-execution-of-the-sql-query

이러한 순서로 해석을 하면 코드를 이해하고 구성하는데 편해진다

 

그리고 

 

mysql에서 데이터베이스를 만들고 거기에다가 테이블 만들어 데이터를 넣고 빼고 하는 것을 배웠다.

이는 CREATE TABLE, INSERT, DELETE 를 통해 할 수 있었다.

 

이는 workbench에서도 가능하지만 터미널에서도 가능하다!!

 

터미널로

$ mysql -uroot -p

를 입력하고 로그인 한 후에

 

workbench에서 한 CREATE TABLE 등 하는 방법은 같다!

 

외에는 mysql 다운로드 해결이랑 mysql 실행에 대해 배울 수 있었다. 위에서 설명했지만 구체적으로는

https://jiholine10.tistory.com/224

 

Mysql hombrew로 삽질하며 다운로드

M2 맥북 소유자 후우 ~~ 오늘의 삽질 mysql 설치하기 ㅋㅋ 일단 일반적인 진행 루트로 해준다. 1. 버전을 확인해 준다. $ brew -version 2. 만약 버전이 낮으면 update를 해준다 3. 그다음 brew를 통해 mysql를

jiholine10.tistory.com

이 블로그를 참고하면 된다.

 

넷째, 빌더 패턴

디자인 패턴 중 하나인 빌더 패턴에 대해서 배우고 활용 해보았다.

밑의 링크에서 제대로 배울 수 있었다.

https://dev-youngjun.tistory.com/197

 

빌더 패턴(Builder Pattern)

1. 빌더 패턴이란? 생성과 관련된 디자인 패턴으로, 동일한 프로세스를 거쳐 다양한 구성의 인스턴스를 만드는 방법 1-1. 정의(Definition) GoF 디자인 패턴 중 생성 패턴에 해당한다. 빌더 패턴은 복

dev-youngjun.tistory.com

 

 

2. 이번 주에 겪은 시행착오와 극복

 

이번 주에는 그렇게 어려운 것은 없었다. 있다고 한다면 mysql 다운로드가 있다고 본다. ㅋㅋㅋㅋ 이는 결국 내가 예전에 mariadb를 다운 받은 상태였기 때문에 발생한 것이다 ㅋㅋ ㅠ 계속 안 되고 하길래 몇시간 동안 삽질을 했다.. 하지만 당황하지 않고 오히려 오기 아니 먼가 재미있어서 계속해서 찾아보고 해결했다!! 그렇게 결국 해결을 했는데 너무 뿌듯했다 ㅎㅎ 지속적으로 맥북을 다루는 능력이 많이 올라가고 있다. 특히나 이번에는 homebrew의 활용 능력 부분에서 많은 성장을 한 것 같다. 이전에는 homebrew가 다운로드 하는 건 알겠는데 정확히 어떻게 해야하고 homebrew로 설치한 것은 어떻게 다뤄야 할지 몰랐는데 이번 계기로 그 이해도가 깊어졌다. 앞으로 homebrew 활용도를 더 공부해서 제대로 사용할 수 있게 하여 맥북 사용자로서의 혜택을 제대로 누리고 싶당

 

3. 앞으로 어디에 적용

 

로깅

로깅으로 향후 대규모 프로젝트가 있다면 모니터링에 큰 도움이 될 것이라고 생각했다. 또한 다양한 로깅 업그레드 버전을 자유자재로 사용할 수 있는 방법을 배웠기에 로깅에 관련한 문제가 있다면 좀 더 수월하게 해결할 수 있을 것 같다!

 

함수형 인터페이스와 람다식

이전에는 인터페이스가 있다면 구현클래스를 만들고 하는 등 작업량이 많았다. 하지만 이를 활용해서 좀 더 작업량을 줄 일 수 있다고 생각했다. 그리고 이미 내장되어 있는 function 패키지를 통해 인터페이스 자체를 만들지 않고 사용할 수 있는 방법을 배웠기에 익숙해지면 확실히 좀 더 코드가 단순화되고 깔끔해질 것 같다.

 

빌더 패턴

이전에는 생성자 안에 매개변수를 넣어서 객체를 만들 때 그 매개 변수가 적으면 상관이 없는데 너무 길어지면 나중에 어떤 위치에 어떤 값이 들어가야하는지 들어갔었는지 헷갈리 때가 많다. 근데, 이를 활용해서 그러한 문제를 줄여 가독성을 높이고 작업의 효율을 높일 수 있을 것 같다.

 

Mysql

이전에는 로그인 페이지 가 있다면 특정 아이디를 저장하고 추가하고 삭제하는 것이 불가능했지만 이를 활용해서는 충분히 가능하다. 열심히 공부해서 백앤드로서의 자질을 만들어 나가자!

 

4. 현재까지의 학습 평가 및 다음 학습을 위한 다짐/목표

 

1. 수업

 2개월차가 다되어가는 이 시점 ~ 벌써 자바가 끝나고 mysql까지 들어왔다!! 끊임 없이 강사님이 가르쳐 주셨던 내용을 복습하고 기술 블로그를 쓰면서 내것으로 만들어가고 있다. 맥북 유저로서 가끔 막히는 부분도 있었지만 포기하지 않고 끝까지 하는 자세로 인해 맥북에 대한 이해도도 많이 상승했다. 

 

2. 코딩테스트

 코딩테스트는 인프런과 코테  스터디를 하고 있는데, 인프런 강좌는 이제 절반이 넘어 갔다. 조금 더 속도를 내어서 다음 단계로 가기 위해 노력해야겠다 !! 그리고 다음 주 부터 코테 스터디의 변화가 있는데 본격적으로 스케줄로 움직이고 최종적으로 PCCP를 따는 것을 목표로 설정했다. 좀 더 체계적으로 바뀐 만큼 나도 체계적으로 공부를 해 나가야 겠다.

 

3. 프론트앤드 복습

 본격적으로 시작한 프론트 앤드 복습!! 무조건 어려운 것만 하게 되면 성장할 수도 있지만, 현재 백앤드를 공부하고 있는 시점 너무 많은 시간을 빼았기는 것을 방지하고 어려운 것이 나와도 응용할 수 있게 끔 근본적인 공부를 하고 있다. 잘 싸우는 법은 배웠지만 근력이 부족해서 힘이 부족했다면 이번 계기로 근력까지 채워 잘 싸우는 법을 제대로 활용하는 법을 배울 것이다!

 

4. 정처기

 곧 정처기 지원 시기가 오는데, 매번 버스에서 꾸준히 공부하고 있다. 하지만 진도가 엄청 빠르진 않은거 같다 !! 물론 지금도 좋지만 정처기만 볼게 아니고 나중에 cs도 공부해야하고 다른 것도 할게 천지다 보니 너무 질질 끌 수는 없다! 버스에서 최대한 많이 하려고 노력하고 주말을 활용해서 진도를 많이 뺄 필요가 있다 

 

 요새 다들 감기에 걸리고 체력적으로 부딪히고 있다 ㅠㅠ 얼른 다들 회복하고 다시 힘차게 나아갔으면 좋겠다. 나 또한 꾸준히 운동을 하고 체력관리 및 멘탈 관리를 통해 이 힘든 시기를 이겨내야겠다 !!

 

☀️다음 주도 화이팅이다!

 

☀️우리 서비스 개발반 전부 다 화이팅이다 ㅎㅎ