드디어 개강 첫날.처음으로 git을 다뤄본 만큼 복잡하고 어려운 것 투성이지만, 역시 기본이 중요하지 싶어 간단한 기본 명령어부터 정리해본다!현재 상태 확인하기전체 로그 확인git 저장소 생성하기저장소 복제 및 다운로드커밋 생성commit이란, 유의미한 변화를 뜻하며
깔끔하게 수정 예정! 좋은 개발자가 되기 위한 기본> 실력이 기본이 되어야 하지만, 실력이 모든 것을 대변해주지 않는다는 것을 알기. 실력이 다소 부족할 수 있어도 좋은 개발자로서 인정받을 수단이 있는지 스스로 알아보기. 책과 강의 주 타겟은 취미,전직 고민 중
K
1. 오늘의 일정 --- 2. 배운 내용 --- 3. 발생한 오류 해결 --- 4. 앞으로의 나는
1. 오늘의 일정 java 기본 문법 복습 객체지향 개념 복습 및 심화 학습 --- 2. 배운 내용 캡슐화 : 클래스로 객체의 필드와 메서드를 묶어 구현부를 감추는 것. → 외부의 잘못된 사용으로 인한 오남용을 막을 수 있다. → 접근제어자를 사용한다. 상속 : 상위(부모) 객체가 가지고 있는 필드와 메서드를 하위(자식) 객체에게 그대로 물려주...
1. 오늘의 일정 Thread 개념 복습 override, 예외처리, java.lang 패키지 복습 및 문제풀이 --- 2. 배운 내용 예외처리의 목적과 의의 → 프로그램의 비정상적인 종료를 막고 정상 실행상태를 유지하고자 함. Thread 처리 유의할 점 등등 --- 3. 발생한 오류 > 인상깊은 문제... String 클래스 메서드에 ...
1. 오늘의 일정 문제 풀면서 강의 진도 나갔다. 교재 요약집 훑어보며 복습. --- 2. 배운 내용 쓰레드의 상태에 대한 이해, 쓰레드 구현 시 유의할 사항 학습. 쓰레드의 실행 상태에 관여하는 메소드 중 static 제어자가 붙은 메서드들이 중요해보인다. sleep() > 지정된 시간동안 쓰레드를 멈추게 하는 sleep() sleep()에...
1. 오늘의 일정 제네릭 문제 풀기 람다식의 사용 --- 2. 배운 내용 문제를 풀며 헷갈릴만한 것이나 꼭 기억해야할 것들을 적곤 하는데, 오늘은 제네릭이다! 형변환과 다형성이 늘 어려워서 고민인데... 까먹지 말고 꼭 기억하자는 의미로 정리해본다. > 다음 중 올바르지 않은 문장을 모두 고르시오. Box b = new Box(); // OK Bo...
공포의 빨간 줄 1. 오늘의 일정 개인 과제(키오스크) 코드 작성 이렇게 무식하고 비효율적이게 만들라고 낸 과제가 아닐 텐데... 고개를 갸우뚱거리면서도 우선 기능적인 측면에 비중을 두고 코드를 짰다. --- 2. 배운 내용 Collection을 배우면서도 언제 어느 때 어떤 자료구조를 사용해야 할지 감이 안 왔는데, 직접 사용해 보니 여기서 이런...
1. 오늘의 일정 어제 겪었던 오류 해결 및 기능적 보완 알고리즘 풀이 --- 2. 배운 내용 리스트를 생성할 때 원소의 값을 하나만 전달한다면 Arrays.asList보다 Collections.singletonList을 추천하는 이유. Arrays.asList > Arrays.asList는 Arrays 내부에 구현된 ArrayList를 생성해서...
1. 오늘의 일정 개인 과제 키오스크의 전체적인 구조 수정 추가 기능 구현 --- 2. 배운 내용 중복 코드를 제거하고 보기 편하게 바꿔 나름의 클린코딩을 해봤다. --- 3. 발생한 오류 > if문의 한 블럭만 올렸을 뿐인데 보기만 해도 아주 어지럽다. 어떻게든 굴러가게만 하자고 다짐하며 짰던 두 번째 코드의 일부다. cart.addOrde...
1. 오늘의 일정 개인 과제 제출 및 후기 --- 2. Keep > 마음에 들었던 부분. 필수 기능을 제외하고 선택 기능 두 가지를 구현했다는 성취감이 있다. Problem 문제점 : 자료를 저장하는 것에 있어 어려움을 겪음. 해결 방안 : 괜찮을 것 같다고 생각되는 방법들을 모두 시도해 봤다. 다만 길지 않은 코드여서 다행이지 모든 경우를 이렇게...
1. 오늘의 일정 팀 프로젝트 전 몸풀기인 메모장 만들기 --- 2. 배운 내용 LocalDateTime으로 현재 시간 가져오기 .format으로 출력 양식 지정하기 --- 3. 발생한 오류 > 단순히 입력 받을 뿐인 코드가 제대로 동작하지 않았다. 이름과 비밀번호, 내용을 받는 부분에서 내용의 스캐너 입력이 제대로 이루어지지 않았다. 위 코...
1. 오늘의 일정 팀 프로젝트 호텔 예약 프로그램 구상 및 준비 --- 2. 배운 내용 개인 프로젝트였던 키오스크의 연장선인데, 미리 접해본 내용이어서 구조 잡는 게 더 수월했던 것 같다. getter의 쓰임새를 알게 됐다. 이론으로만 이해했던 객체지향을 구현하는 것에 도움이 된 것 같다. --- 3. 발생한 오류 구현해야 할 기능이 무엇인지 ...
1. 오늘의 일정 입력 부분 예외처리 및 코드 다듬기 --- 2. 배운 내용 날짜 양식으로 지난 날 입력받지 않게 하기. Calendar로 입력한 년도에 해당하는 달, 주, 일, 요일 가져오기 --- 3. 발생한 오류 > 1. 전화번호 입력 예외처리 번호 양식을 정규식으로 지정해 이에 맞는지 확인한다. > 2. 지불할 금액에 대한 예외처리 ...
1. 오늘의 일정 팀 과제 최종 점검 및 피드백 Spring 기초 시작하기 --- 2. 배운 내용 HTTP 프로토콜의 이해 클라이언트와 서버 간의 통신을 위한 프로토콜 프로토콜 : 데이터 교환 방식을 정의하는 규칙 체계 --- 3. 발생한 오류 프로젝트 제출만을 남기고 최종 점검에서 찾아낸 오류가 있었다. 호텔 방을 예약할 날짜를 입력...
1. 오늘의 일정 spring 입문, 강의 듣기 버전 동기화 오류 해결 --- 2. 배운 내용 HTTP 프로토콜의 이해 WAS의 역할 MVC패턴 개념 --- 3. 발생한 오류 강의에서 사용한 버전과 동기화하는 과정에서 문제가 생겼다. 처음 만든 java 클래스 파일조차 실행이 막혀버린 것. 구글링해서 나온 여러 가지 방법을 시도해 보고 조언을...
1. 오늘의 일정 Spring MVC 패턴 학습 @RequestParam과 @ModelAttribute 코드 컨벤션 숙지 --- 2. 배운 내용 1. 관심사 분리의 필요성 관심사 분리가 필요한 기준 → 해야 할 작업 → 공통(중복) 코드 → 변하는 것과 자주 변하지 않는 것 관심사 분리란? 하나의 관심사에는 하나의 기능만 가지도록 구성하는...
1. 오늘의 일정 Spring 학습 과제 구상 --- 2. 배운 내용 Entity와 Dto의 차이점 및 분리 이유 > Entity 계층간 데이터 교환을 위해 사용하는 객체다. Entity 클래스는 실제 DB 테이블과 매핑되는 핵심 클래스로, 데이터베이스의 테이블에 존재하는 컬럼들을 필드로 가지고 있다. Entity 클래스를 기준으로 테이블이 생성되...
1. 오늘의 일정 Spring 숙련 --- 2. 배운 내용 > 1. Bean 등록하기 1-1. 자바 애너테이션(Java Annotation)을 사용하는 방법 @Component를 사용하면 @ComponentScan에 의해 자동으로 스캔되어 해당 클래스를 Bean으로 등록 해준다. 일반적으로 @Component를 사용하여 Bean을 자동으로 등록하는...
해결 1\. 2\. 3\.
1. 오늘의 일정 Spring 숙련 --- 2. 배운 내용 Filter , Interceptor , AOP ... Client의 요청이 Controller로 들어오기 전에 공통 관심사를 기준으로 작업을 처리함으로써 중복 코드를 줄이는 역할을 한다. Filter 디스패처 서블릿(Dispatcher Servlet)에 요청이 전달되기 전/후에 url...
1. 오늘의 일정 Spring 숙련 --- 2. 배운 내용 ApplicationContext와 다양한 Bean 설정 방법 > >
1. 오늘의 일정 📒 Spring 숙련 --- 2. 배운 내용 AOP (Aspect Oriented Programming) 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 공통된 로직이나 기능을 하나의 단위로 묶어 모듈화 하는 것. > class AopMain java class MyAdvice { ...
1. 오늘의 일정 📒 Spring 숙련 --- 2. 배운 내용 1. JPQL > JPQL (Java Persistence Query Language) > 테이블이 아닌 객체를 검색하는 객체지향 쿼리 SQL을 추상화 했기 때문에 특정 벤더에 종속적이지 않음 JPA는 JPQL을 분석하여 SQL을 생성한 후 DB에서 조회 사용시 주의할 점 대소문...
1. 오늘의 일정 개인 과제, spring 숙련 --- 2. 배운 내용 1. Ioc(Inversion of Control) 흔히 제어의 역전이라 불리는 것으로 메서드나 객체의 호출작업을 개발자가 결정하지 않고 외부에서 결정되는 것을 의미한다. 기존에는 위와 같이 A는 B에 의존하고 있다는 것을 개발자가 명시해주어야 했다. > 기존 객체 실행 단계...
1. 오늘의 일정 숙련 주차 강의 복습 (~2-15) lv2 과제 코드리뷰 --- 2. 배운 내용 RestTemplate이란? Spring에서 지원하는 객체로 간편하게 Rest 방식 API를 호출할 수 있는 Spring 내장 클래스이다. Rest API 서비스를 요청 후 응답받을 수 있도록 설계되어 있으며 HTTP 프로토콜의 메서드(ex. GET...
1. 오늘의 일정 심화 주차 진도 나가기 (~1-7) security과제 페어프로그래밍 --- 2. 배운 내용 예제코드 모음 github 바로가기 JUnit5 활용하기 JUnit5는 가장 인기 있는 단위 테스트 프레임 워크이다. JUnit Platform + JUnit Jupiter + JUnit Vintage 이 세개가 합친 것이다. > JU...
1. 오늘의 일정 백오피스 프로젝트 S.A 기능 회의 및 구현 --- 2. 배운 내용 --- 3. 발생한 오류 해결 --- 4. 앞으로의 나는 JWT를 이용하는 상태로 로그아웃을 구현 방법에 대해 고민해보기 redis 사용 => 새로 공부해야 하고 팀원 모두 설치해야 하는 번거로움이 있음 프론트 구현으로 로그아웃 처리하기 => 시...
1. 오늘의 일정 백오피스 프로젝트 - 추가기능 구현 팀원 미팅 --- 2. 발생한 오류 팔로우 기능을 구현하다가 전체 현황을 담는repository.save()에 문제가 생겼다. SQLException이 발생하여 원인을 구체적으로 확인할 수 없는 상태로 서버가 죽기를 반복하다가 entity 필드명을 수정하자 실행까지는 돌아간다. 필드명 수정 후에...
1. 오늘의 일정 팔로잉/팔로우 리스트 구현 팀원 미팅, 프론트 구상 --- 2. 배운 내용 Oracle, mySQL과 같은 관계형 데이터베이스(RDB)에서 JSON 형태로 데이터를 저장하는 것은 비효율적이다. 데이터의 독립성이 높고 구조를 자유롭게 변경할 수 있
심화 프로젝트(ROOI) Board CRUD AWS 서비스에 관한 내용 복습하고 기록할 것.Board CRUD의 코드를 짜는 과정에서 DispatcherServlet에 문제가 생겼다. 처음 한 번의 작동에 한해서 제대로 실행됐다고 나오고 서버조차 다운되지 않고 멀쩡한데
최종 프로젝트 기능 작업cs 공부 - cpu와 메모리해결 1\. 2\. 3\. 백오피스 게시글 기능 구현기술면접 공부
08/30 문제 해결 과정: @ColumnDefault("0") 혹은 @Column(columnDefinition = "integer default 0") 설정이 적용되지 않아 반환이 null로 되는 현상이 있었다.DB에는 "0" 이 제대로 들어간 것처럼 보이지만 실제
09/04 문제 해결 과정작업하고 있는 프로젝트 특성상 주로 게시판을 나눠 작업하고, 날짜 별 이미지 관리가 중요하기 때문에 폴더를 나누어 관리하도록 했다. 위와 같은 이유 때문에 로직에 문제가 생긴 것인지 확인하기 위해 디버그를 돌렸다. @RequestParam 에