일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 파이썬
- entity
- git
- 브랜치
- Codeup
- @builder
- 깃허브
- @NoArgsConstructor
- Python
- lv1
- DTO
- 프로그래머스
- java
- 부트캠프
- 알고리즘
- 캡슐화
- html tag
- 상속
- 부스트코스
- CRUD
- HTML
- @AllArgsConstructor
- 기본생성자
- 에러
- HashSet
- stringbuffer
- 코드업
- github
- SQL
- 자바
- Today
- Total
목록분류 전체보기 (90)
잉?
회원가입 시 username과 password의 구성이 알맞지 않으면 에러메시지와 statusCode: 400을 Client에 반환하기 요구사항에 맞게 코드를 작성하려 한다. UserController.java @PostMapping("/user/signup") public ResponseEntity signup(@RequestBody @Valid SignupRequestDto requestDto) { try{ userService.signup(requestDto); }catch (IllegalArgumentException e){ return ResponseEntity.badRequest().body(new ApiResponseDto("중복된 username입니다.", HttpStatus.BAD_REQ..
이번에도 두 가지 방법으로 풀었다. 하나는 TreeSet을 사용하고, 다른 하나는 HashSet을 사용했다. [TreeSet] public int[] solution(int[] numbers) { // TreeSet은 중복X, 기본 오름차순 TreeSet hapList = new TreeSet(); for(int i=0; i int 변환 int[] answer = new int[arr.size()]; for(int i=0; i
문제설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 제한 조건 strings는 길이 1 이상, 50 이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 큽니다. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 입출력 예 strings n return ["sun", "b..
Mockito란? 단위 테스트를 위한 프레임워크이다. 가짜 객체인 Mock을 생성해 주고 관리하고 검증할 수 있도록 지원해 주는 프레임워크이다. service의 update메서드를 테스트하기 위해서는 service 객체를 생성할 때 필요한 repository를 전달해 줘야 한다. 하지만 이러한 인터페이스들을 어떻게 전달해야하는지 막막할 때 Mockito를 사용한다고 보면 된다. Mock object(가짜 객체)? 개발한 프로그램을 테스트할 때 테스트를 수행할 모듈과 연결되는 다른 모듈을 흉내 내는 가짜 모듈을 생성하는 객체이다. 분리되기 어려운 클래스들을 가짜객체를 통해 분리한다. 여기서 분리되기 어려운 클래스들의 예시로는 Controller, Service, Repository가 있다. Controll..
- x축이 Time - y축이 Costs 1. 개발 2. 단위 테스트(Unit Test) 3. QA Testing 4. Prodiction(실 서비스 운영 환경) 버그를 사전에 발견하여 기하급수적인 비용의 증가가능성을 사전에 방지하기 위해 단위 테스트를 진행한다. [단위 테스트? (Unit Test)] 단위 테스트는 작은 단위로 쪼개 각 단위가 정확하게 동작하는지 예상대로 동작하는지 검사 및 확인하는 테스트이다. 단위의 크기가 작을 수록 복잡성이 낮아진다. 따라서 단위의 크기를 작게하여 최대한 간단하고 쉽게 작성해야 한다. 만약 방대한 코드를 가진 소프트웨어에 버그가 발생되었다. 디버깅을 통해 범위는 좁혀졌지만 어떤 클래스에 버그가 있는지 정확히 알지 못한다. 이 클래스에 버그가 있는것 같아서! 코드를 ..
상속(Inheritance) 기존의 클래스에 기능을 추가하거나 재정의하여 새로운 클래스를 정의하는 것을 의미한다. extends와 implements 차이 메서드 또는 변수를 ‘구현’할 것인가 ‘사용’할 것인가에 따라 상속의 형태가 달라진다. extends 부모에서 선언, 정의하고 자식은 메서드, 변수를 그대로 사용 가능하다. 다중상속 불가능 일반 클래스와 abstract 클래스 상속에 사용된다. class가 class를 상속받을 때 사용 interface가 interface를 상속받을 때 사용 implements 부모 객체는 선언만 하고 정의는 자식에서 오버라이딩해서 사용 가능하다. 다중상속 가능 class가 interface를 사용할 때 implements를 쓴다. interface가 class를 사..
캡슐화(Encapsulation) 클래스 안에 서로 연관 있는 속성과 기능들을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것이다. 즉, 클래스의 내부 변수와 메서드를 하나로 패키징 하는 것이다. 정보은닉 캡슐화를 하는 중요한 목적 중 하나이다.(캡슐화 ≠ 정보은닉) 접근제어자를 통해 데이터를 보호하고, 보호된 변수는 getter나 setter 등의 메서드를 통해서만 간접적으로 접근이 가능하도록 하는 것이 캡슐화의 중요한 목적이다. 접근제어자 private < default < protected < public 순으로 많은 접근을 허용한다. private : 해당 클래스 안에서만 접근이 가능하다. default : 접근 제어자를 별도로 설정하지 않는다면 변수나 메서드는 default 접근 제어자가 ..
OOP(객체 지향 프로그래밍) - 객체를 기준으로 코드를 나누어 구현한다. - 자바의 경우 그 구성 부분 단위가 클래스이다. - (클래스는 설계도 / 구현체는 인스턴스) - OOP는 절차지향에 비해 사람의 사고방식과 비슷하다. OOP 대표적인 특징 💡 캡슐화(Encapsulation) 클래스 안에 서로 연관 있는 속성과 기능들을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것이다. 즉, 클래스의 내부 변수와 메서드를 하나로 패키징 하는 것이다. [JAVA] 캡슐화(Encapsulation)와 추상화(Abstraction)에 대해 알아보자 캡슐화(Encapsulation) 클래스 안에 서로 연관있는 속성과 기능들을 하나의 캡슐로 만들어 데이터를 외부로부터 보호하는 것이다. 즉, 클래스의 내부 변수와 ..