본문 바로가기

개발일지26

TIL) Github에서 Git Clone을 해보자! 팀 프로젝트 진행을 위해 깃허브를 활용하기로 하였다. 팀장이 올린 베이스 코드를 가져오기 위해 깃클론을 시도하였다. 이번 TIL은 앞으로 자주 사용하게 될 터미널 용어와 깃허브에서 깃클론을 하여 코드를 가져오는 방법을 정리해 두었다. 1. 협업할 코드가 담긴 Url을 복제한다. 2. 터미널을 연다. 3. 코드를 복제할 장소로 이동한다. % pwd를 입력하면 현재 장소가 나온다. 예) /Users/me/desktop % cd [폴더명]을 입력하면 폴더 장소로 이동한다. 예) team이라는 폴더명에 넣고 싶다면 % cd team 하고 엔터를 친다. 그리고 % pwd 엔터를 치면 /Users/me/desktop/team이 된다. 4. % git clone [복사한 Url]을 입력한다. 그러면 코딩이 복제되어 .. 2023. 7. 17.
TIL) Lv2 피드백 복습하며 배운 정보들 passwordEncoder 클라이언트가 입력한 비밀번호를 암호화해 주는 인터페이스 //비밀번호 확인 (password 가 다른 경우) if(!passwordEncoder.matches(password, user.getPassword())) { throw new IllegalArgumentException("비밀번호가 일치하지 않습니다."); } // 사용자가 입력한 Password와 인코딩한 상태에서의 비밀번호를 비교해주는 메서드 인터페이스이기 때문에 사용하려면 Configuaration에서 @Bean으로 등록해줘야 한다. @Bean public PasswordEncoder passwordEncoder() { return new BCryptPasswordEncoder(); } 객체를 생성하면 빈으로 등.. 2023. 7. 12.
WIL)오류를 인정하고 해결하자. 오류가 있다는 것은 얼마나 기쁜 일인가! WIL 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 결과적으로, 현재 나의 상태는? 이 상태에서 다음 일주일을 더 잘 보내려면 어떻게 해야 할까? 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? Java 문법(생성자), Spring 문법(JWT, Spring Security 등) 코드는 거짓말을 하지 않는다. 그 배움까지 다가가는데 어떤 어려움이 있었지? 로그인, 회원가입 기능을 구현하는 과정이 어려웠다. 특별히 인증기능을 위해 JWT를 활용하여(?) 토큰을 발급하는 과정을 진행하는 것이 어려웠다. 기능을 수행하는 과정에서도 다양한 에러가 발생해서 매일마다 TIL을 생산.. 2023. 7. 2.
TIL) 생성자, DTO, Entity, Json 데이터 반환, create, read 구현 공부완료 오늘 한 일 1. Lv2 과제를 미완성으로 제출하였다. 미완성으로 제출한 이유: 로그인 및 회원가입 API 구현 이해 부족 시도: Lv1 게시물 생성 및 조회부터 다시 만들었다. 2. 만들면서 부족한 자바 문법과 스프링 문법을 공부하였다. 생성자, Dto, Entity의 개념을 이해하였다. [생성자] 출처: 스파르타코딩클럽 [내일배움캠프] 자료 생성자는 클래스로부터 인스턴스를 생성하는 메서드의 한 종류입니다. 클래스 내부에 정의하며, 메서드명이 클래스명과 일치해야 한다는 규칙이 있습니다. 생성자 내부에는 일반적으로 인스턴스 생성시 수행할 명령과 멤버변수의 초깃값을 설정하는 코드를 작성합니다. 여기까지 작성이 되면 인스턴스가 자동으로 생성되는 것일까요? 그렇지 않습니다. 이 부분이 생성자를 다루는 데에 .. 2023. 6. 30.
TIL) HttpMediaTypeNotSupportedException: Content-Type 'text/plain;charset=UTF-8' is not supported] 서버에서 개인 블로그에 게시물을 올리는 Post Method가 작동하는지 확인하기 위해 Postman을 사용하여 데이터를 확인하였다. 오류가 발생했다. HttpMediaTypeNotSupportedException: Content-Type 'text/plain;charset=UTF-8' is not supported] Postman에서는 Content-Type을 자동으로 text/plain로 부여한다고 하여 application/json으로 수정을 해보았다. 그랬더니 이번엔 오류 500이 떴다. 뭐지!!!! 오류메시지에 의하면 Post entity 내에 content 임을 확인하였다. [오류 메시지] Servlet.service() for servlet [dispatcherServlet] in conte.. 2023. 6. 27.
TIL) Spring에서 Error creating bean with name 에러 발생! Spring으로 과제 진행 중 실행시킬 때 다음과 같은 에러 메시지가 나왔다. org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productController' defined in file [/Users/...controller/ProductController.class]: Unsatisfied dependency expressed through constructor parameter 0: Error creating bean with name 'productService' defined in file [/Users/...myselectshop/service/ProductServic.. 2023. 6. 26.
WIL) Spring의 이해 WIL 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 결과적으로, 현재 나의 상태는? 이 상태에서 다음 일주일을 더 잘 보내려면 어떻게 해야 할까? 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? Spring으로 코드를 짠다는 의미와 Spring Boot가 가진 이점 그 배움까지 다가가는데 어떤 어려움이 있었지? Spring 문법을 배우기 시작하면서 그 문법을 완전히 이해하기도 전에 실습을 따라가야 했었다. 때문에 이 코드가 어떤 흐름과 원리로 진행이 되는지 확신이 서지 않았다. 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? Spring 강의를 듣고 교안.. 2023. 6. 25.
TIL) Spring Boot Error : Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled 문제: 스프링 부트로 작업 중에 실행버튼을 누르니 에러 메시지가 확인되었다. Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerMapping' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$Enable.. 2023. 6. 23.
TIL) @Pattern 으로 이메일 데이터 검증하기 다음과 같은 과제를 받았다. Bean Validation의 애너테이션 @Pattern을 사용해서 회원 가입 Email 데이터 검증을 진행합니다. Email 형식 : 계정@도메인.최상위도메인 정규 표현식 (Regular Expression) 같은 검색어를 구글링하여 방법을 찾습니다. 문제는 이 애너테이션을 어디다가 넣어야 하고 무엇을 수정해야 하는지 알 수가 없었다. 구글링을 하여 보편적으로 사용하는 이메일을 위한 정규 표현식을 찾아보았다. 이메일 형식 (exam@exam.com) 의 정규식 표현 @Pattern(regexp = "^[A-Za-z0-9_\\.\\-]+@[A-Za-z0-9\\-]+\\.[A-Za-z0-9\\-]+$") 정규 표현식은 DTO파일, 패키지에 추가하면 된다고 하였다. 그러나 의심부.. 2023. 6. 21.
WIL) 내일 무리하지 않도록 오늘 해냄으로서 내일의 번아웃을 방지하기 WIL 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 결과적으로, 현재 나의 상태는? 이 상태에서 다음 일주일을 더 잘 보내려면 어떻게 해야 할까? 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 꾸준함이 나를 만든다. 실습이 제일 중요하다. 그 배움까지 다가가는데 어떤 어려움이 있었지? 일주일 만에 10시간 이상의 강의를 듣고 개인과제를 제출해야 했다. 10시간의 강의를 바로 소화시키는 것이 어려웠고 이를 응용해서 과제를 해야 한다는 것이 약간의 압박처럼 다가왔다. 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 튜터 선생님께서 번아웃은 감당치 못하는 일.. 2023. 6. 18.
TIL) 코드 작성 시, 괄호 조심하자! ( )/{ } 오늘은 가벼운 문제지만 시스템이 돌아가지 않을 수 있는 사항이기에 경험한 에러를 공유하고자 한다. 문제: JdbcTemplate 사용방법을 배우기 위해 DB에 접근하기 위한 정보를 작성하였다. 이때, my sql을 설치할 때 입력한 비밀번호를 적어야 했다. 하지만 실행을 시켜보니 root 쪽에 문제가 발생했다고 에러 메시지가 떴다. [입력한 코드] ... spring.datasource.url=jdbc:mysql://localhost:3306/memo spring.datasource.username=root spring.datasource.password={비밀번호} spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver ... 시도: 구글링을 하여 .. 2023. 6. 15.
TIL) MySQL 데이터베이스 생성하는 법 문제: 학습을 진행하기 위해 MySQL을 다운로드하였다. 그러나 터미널에 데이터베이스를 생성하려고 하는데 생성이 되지 않았다. 위치이동을 위해 cd /usr/local/mysql/bin 를 넣었고, MySQL 접속을 위해 ./mysql -u root -p를 넣었다. 그랬더니 비밀번호를 입력하라고 해서 노트북 비밀번호를 입력하였더니 에러가 떴다. 시도: 구글링과 블로그를 찾아보니 비밀번호는 노트북/컴퓨터의 비밀번호가 아니라 SQL을 설치할 때 입력한 root 사용자의 비밀번호였다. 해결: root 사용자의 비밀번호를 입력하니 접속이 완료되었고 CREATE DATABASE academy;를 입력하여 데이터베이스를 생성하였다. 참고로 데이터베이스 확인방법은 show databases;이며 데이터베이스 이동하는.. 2023. 6. 13.
WIL) 6월 2째주 주간회고 / Java 문법과 키오스크 관리자 모드 만들기 WIL 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 결과적으로, 현재 나의 상태는? 이 상태에서 다음 일주일을 더 잘 보내려면 어떻게 해야 할까? 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 협업하는 방법 (의사소통, 책임감, 끈기) 자기 객관화 if문 응용하여 사용하기 (아직 ing) 그 배움까지 다가가는데 어떤 어려움이 있었지? 예쁜 말과 정확한 의사전달을 하기 위해 한 번 더 생각하고 이야기하였다. 정확하게 의사전달하는 것이 어려웠는데 계속해서 말을 paraphrasing 하고 연습하니 도움이 되었다. 풀리지 않는 문제를 인정하고 혼자 충분히 고민하는 시간을 주.. 2023. 6. 11.
TIL) If문, 넌 내꺼야 (੭ꐦ •̀Д•́ )੭* ᑦᵒᔿᵉ ᵒᐢᵎᵎ 드디어 2번째 팀과제를 마쳤다. 결론부터 말하자면 내가 구현한 기능은 발전과 스스로에 대한 고민이 매우 필요한 코드였으므로 앞으로 더 열심히 해야겠다는 생각이 많이 들었다. 오늘 TIL은 아주아주 간단한 if문 사용법을 풀어쓴 경험담이다. 문제: 코드를 병합하는 과정에서 기존에 내가 만든 주문 현황보다는 다른 팀원이 대기주문목록, 완료주문목록(주문 건 별로 리스트를 add 하는 arraylist메서드)에 사용한 코드를 긁어오는 것이 소비자 입장에서 보았을 때 편리할 것이라 판단되었다. 그래서 코드를 수정하는 과정이었고 주문완료된 목록, 대기 중인 목록을 순차적으로 보이도록 해야 했다. 이때, if문을 활용하여 주문완료되지 않거나 대기중인 목록이 없으면 완료되지 않았다 / 목록이 없다는 문구를 띄어야 했다.. 2023. 6. 9.
TIL) IntelliJ와 Git으로 협업을 해보자 TIL 기준 1. 어떤 문제가 있었는지 2. 내가 시도해 본 것들 3. 어떻게 해결했는지 4. 뭘 새롭게 알았는지 =문시해알 문제: 나의 상황은 Intelij로 코드를 작업 중이었으며 git을 사용하여 Github repository에 수정된 코드를 올려야 하는 상황이다. 이미 master branch는 생성이 되어있었고 4명의 팀원들이 협업하는 과정이기 때문에 내가 수정한 부분을 머지(Merge)하기 위해서 나의 브랜치를 커밋, 푸시하고 마스터 브랜치에 푸시와 머지를 하였다. 머지 과정에서 충돌 부분이 생겼으나 고민하지 않고 accept right를 눌렀더니 수정되어야 할 부분이 수정되지 않은 상황이었다.(Red Highlight!) 우선 충돌을 해결하기 위해 튜터 님께 부탁하여 revert과정을 거쳤.. 2023. 6. 8.
TIL) 최근 주문목록만 출력할 수 있도록 if문 사용하기 TIL 기준 1. 어떤 문제가 있었는지 2. 내가 시도해 본 것들 3. 어떻게 해결했는지 4. 뭘 새롭게 알았는지 =문시해알 오늘은 1문제에 봉착하여 이를 풀어가는 과정을 기록하였다. 키오스크를 업그레이드하는 팀과제를 부여받았는데 내가 맡은 업무는 소비자가 주문 현황 화면을 선택하였을 때 다음과 같은 정보를 포함하는 화면을 만드는 것이었다. 주문 현황에서는 맨 위에 완료된 최근주문 3개를 출력한다. 그 아래에 대기 중인 모든 주문 목록을 출력한다. 가 포함되어 있어야 했고 기존에 만들어 놓은 코드는 최근 주문과 대기 중인 주문 목록이 모두 출력 가능하였으나 최근 주문 3개를 출력하는데 어려움이 있었다. (문제) [ 현재 상황] public void OrderStatus() { //주문현황 System.o.. 2023. 6. 8.
TIL) 팀과제 - MemoVO로 메모장 구현하기 TIL 기준 1. 어떤 문제가 있었는지 2. 내가 시도해 본 것들 3. 어떻게 해결했는지 4. 뭘 새롭게 알았는지 =문시해알 팀과제로 메모장 만들기를 하게 되었다. (아이디와 비밀번호를 포함하여 입력, 목록 리스트, 수정, 삭제, 완료 등) 내가 맡은 역할은 메모리스트 중에서도 글 삭제 후 글 번호를 다시 붙여준다. 글이 삭제된 후 새 글이 입력될 때 idx가 기존 idx값에 이어서 1씩 증가할 수 있도록 count의 값을 수정한다. 였고 문제의 서막이 시작되었다. 메모 리스트 (MemoList) 조건 여러 건의 메모를 저장하는 클래스 이다. 메모 전체를 조회할 수 있다. (Getter/Setter 존재) 작성 최신 순으로 메모를 출력한다. 1건의 글을 메모 리스트에 추가할 수 있다. 글의 수정 또는 삭.. 2023. 6. 5.
WIL) 찐아기개발자의 코드 번아웃과 극복법 WIL 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 결과적으로, 현재 나의 상태는? 이 상태에서 다음 일주일을 더 잘 보내려면 어떻게 해야 할까? 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 이론 공부의 중요성 포기하지 않는 마음 그 배움까지 다가가는데 어떤 어려움이 있었지? 개인과제로 키오스크를 만드는 일이 있었는데 기본적인 입력 부분까지 했을 뿐, 수정, 삭제를 구현하지 못했다 (기술 부족) 알고리즘 수업을 통해 간단한 If/while 등의 퀴즈부터 풀어보았는데 제대로 풀 수 있는 문제가 없었다 (기술 부족) 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 .. 2023. 6. 5.
TIL) Oracle에서 제공한 array Quiz TIL 기준 1. 어떤 문제가 있었는지 2. 내가 시도해 본 것들 3. 어떻게 해결했는지 4. 뭘 새롭게 알았는지 =문시해알 오늘은 오라클에서 배열에 관해 배웠고 퀴즈 오답을 중점으로 가져왔다. 틀린 퀴즈 *빨간 글씨는 틀린 것 The term "instance variable" is another name for non-static field. The term "class variable" is another name for static field. A local variable stores temporary state; it is declared inside a method. A variable declared within the opening and closing parenthesis of a me.. 2023. 6. 5.
TIL) chatGPT를 활용하여 Food 키오스크 만들기 TIL 기준 1. 어떤 문제가 있었는지 2. 내가 시도해 본 것들 3. 어떻게 해결했는지 4. 뭘 새롭게 알았는지 =문시해알 오늘은 1가지 문제에 봉착하여 이를 해결한 과정을 찾는 여정을 적었다 개인과제로 키오스크를 만들어야 했다 대략적인 클래스를 구분해서 작성했지만 코드가 부산스럽고 나눈 클래스가 정신이 없었다 문제: 그중에서도 제일 큰 문제는 상속을 해야 하는 것이었는데 메뉴 클래스와 상품 클래스를 상속하기 위해 무슨 코드를 넣어야 하고 어떻게 extends를 해야 하는지 감이 잡히지 않았다 시도: 부족한 지식과 창의성에 한계를 느낀 나는 챗gpt를 활용해보기로 하였다 [기존 코드] package PersonalAss; import java.util.Scanner; public class Main {.. 2023. 5. 30.
WIL) 5월 4째 주 주간회고 WIL 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 결과적으로, 현재 나의 상태는? 이 상태에서 다음 일주일을 더 잘 보내려면 어떻게 해야 할까? 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 개발자의 덕목 - 차분함, 꼼꼼함, 포기하지 않고 반복해서 도전하는 정신 개발일지를 매일 작성하는 습관을 갖자 그 배움까지 다가가는데 어떤 어려움이 있었지? 개발자의 덕목 - 한 주간 나의 개발일지를 들여다보면 코드를 작성할 때 나는 기호, 오타 등 작은 실수가 연달아 있었다. 이 뜻은 내가 꼼꼼하지 않다는 말이요, 차분하게 코드를 읽어내는 자세가 부족하여 쉽게 포기하려는 마음이.. 2023. 5. 27.
TIL) 중복 if문을 쓸 때 괄호()를 조심하자 TIL 기준 1. 어떤 문제가 있었는지 2. 내가 시도해 본 것들 3. 어떻게 해결했는지 4. 뭘 새롭게 알았는지 =문시해알 오늘은 1가지 문제에 봉착하여 이를 해결한 과정을 적었다 문제: 중복 if 문을 실습하는데 계속 에러가 났다 시도: 에러 메시지에서는 else에 If가 필요하다는 말이었다 처음에는 else를 잘못 추가했는지, if가 적었는지 고민을 해보았다 해결: 함수를 넣고 빼고를 반복했지만 여전히 동일한 에러 메시지가 떠서 처음부터 다시 작성해 보았다 아니나 다를까 이번에는 실행이 잘 되었고 이전 코드와 비교하니 }의 위치가 비정상적으로 붙어있었다 즉 }가 하나씩 미뤄져서 저장된 것 분석해보니 내가 강사님을 따라서 else if { }를 적을 때 엔터를 여러 번 치고 괄호를 추가적으로 1개를 .. 2023. 5. 25.
TIL) Scanner 사용해서 값 출력하기! TIL 기준 1. 어떤 문제가 있었는지 2. 내가 시도해 본 것들 3. 어떻게 해결했는지 4. 뭘 새롭게 알았는지 =문시해알 오늘은 2가지 문제에 봉착하여 이를 해결한 과정을 적었다 [1] 불필요한 코드는 삭제하자 자바 문법 강의에서 기초 중에 기초인 형변환 실습을 하고 있는데 값이 안 나왔다 public static void main(String[] args) { // double or float형 -> int // 실수 -> 정수 (0.xxx -> 0) double doubleNumber = 10.1010; float floatNumber = 10.10010f; // 정수 - > 실수 int intNumber = 10; double doubleNumber = (double)intNumber; floa.. 2023. 5. 23.
[특강] TIL 작성법 [특강] TIL 작성법 - 강민철 튜터님 TIL의 의미 채용은 앎의 증명이다 결국 가장 중요한 건 아는 것, 그리고 그것을 증명하는 것 어떻게 "앎을 증명"하고 까먹지 않을 수 있을까? 주니어 개발자의 필수 덕목 : 성장, 성실함, 흡수력 이력서에 쓴 걸 설명하지 못하면 안 쓰니만 못함 : 먼 훗날 잊지 않기 위해 TIL은 내가 이걸 안다는 것을 증명하는 수단, 까먹지 않는 수단 내가 쓴 내용을 설명할 줄 알아야 한다 TIL은 면접의 답안지이다 이력서에는 여러분의 성장(프로젝트 등)이 담긴다 -> 면접 질문은 이력서에서 나온다 (공통질문 제외) -> 면접 질문은 TIL에 적은 내용에서 다 나온다 면접 전날 TIL 정주행 TIL은 꾸준히 작성해야 한다 TIL 작성 방법 - 이건 넣자! 매일 쓰자. 길게 쓸.. 2023. 5. 23.
[Java 문법 종합반] 1주차 : JVM 및 프로젝트 생성 / TIL 1. 개발 언어 언어는 우리가 사람과 사람 간에 소통을 할 때 사용한다 이와 마찬가지로 프로그래밍 언어는 사람과 컴퓨터간에 소통을 하기 위해 사용되는 언어이다 초창기에는 어떻게 이 프로그래밍 언어가 발전되어 왔을까? 강사님의 말씀에 의하면 모든 것은 시스템으로 이루어져있다고 한다 그리고 여기서 시스템이란 input과 output으로 이루어진 것이며 동일한 input에 동일한 output이 나온다고 한다 결국 세상은 시스템으로 이루어져있으며 이 시스템은 인풋과 아웃풋으로 구성되어 있는 것이다 데이터 타입이란 입력/출력하는 데이터를 관리할 수 있도록 특정한 분류를 제공한 것 예) 숫자형/문자형 타입 메서드는 프로그램이 하는 행동을 정의한 것으로 쉽게 생가하면 어떠한 행동/제스처라고 생각하면 된다 예) 자다,.. 2023. 5. 22.
5월 3째 주 주간회고 WIL 지난 일주일 동안 가장 인상 깊었던 배움에는 뭐가 있었지? 그 배움까지 다가가는데 어떤 어려움이 있었지? 팀원과 의사소통 초반에 프로젝트를 세밀하게 계획하기 팀원들과 언제, 어떻게, 무엇을 이야기할 건지 정하고 지키기 피드백은 정직하고 예의 있게 말하기 문제해결능력 모르는 문제는 스스로 해결해보려고 5번은 시도해 보기 시도할 때 다양한 시각으로 시도하기 예를 들어 A 코드가 안 되면 B 코드에 문제가 없는지 점검하기 개발일지 매일매일 무엇을 배웠고 무엇이 어려웠는지 어떻게 해결했고 나의 감정선은 어떠한지 갈등이 생겼으면 어떻게 대처했고 나의 부족한 점은 무엇이었는지 적기 그 과정에서 나는 무엇을 깨달았고, 어떤 감정/생각이 들었었지? 결과적으로, 현재 나의 상태는? 이 상태에서 다음 일주일을 더 .. 2023. 5. 22.