일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그리디
- Spring
- 개발
- Elasticsearch
- JPA
- 스프링
- framework
- 프레임워크
- 알고리즘
- 클린코드
- cleancode
- 개발자
- Baekjoon
- 자바
- mongoDB
- 백준
- spring boot
- 데이터베이스
- 애자일기법
- database
- 엘라스틱서치
- 애자일프로그래밍
- 코딩테스트
- 코드
- 읽기쉬운코드
- ES
- 그리디알고리즘
- API
- 코딩
- Java
- Today
- Total
목록코딩 (20)
튼튼발자 개발 성장기🏋️

[왜 Clean Code?] 로직을 기가 막히게 짜고, 문제해결 능력이 뛰어난다고 한들 해당 코드가 쉽게 읽히지 않는다면 그것은 좋은 코드일까? 약 9년 동안 코딩을 하면서 단 한 번도 "읽기 쉬운 코드"에 대해 생각해본 적이 없다. 대학생 때 까지만 해도 나는 다음 리스트를 만족하는 코드가 좋은 코드라고 생각했다. 예외 처리가 잘 된 코드 메모리를 절약한 코드 각 언어 특성을 잘 이용한 코드 운좋게 취업에 성공하고 "학생"이 아닌 "개발자"로서 꽃이 필 무렵 주석과 변수 혹은 Object 명, 함수명 등과 같은 네이밍 이야기를 할 수 있는 기회를 얻었다. 나의 팀장님께서는 이렇게 말씀 하셨다. "가장 좋은 코드는 주석이 없고 변수 명만 봐도 뭐하는 녀석인지 알 수 있는 코드야." 위 조건을 만족하면서 ..

러스트의 에러는 크게 두 가지로 나눈다. Recoverable Errors : 복구 가능한 에러 Unrecoverable Errors : 복구 불가능한 에러 복구 가능한 에러의 경우에는 사용자에게 문제를 이야기하고 해당 요청을 재시도 할 수 있도록 한다. 복구 불가능한 에러는 버그의 종류(?)로써, Index를 벗어난다거나, 0으로 나누려고 하는 경우 등과 같이 뻑(?)나는 경우를 이야기 한다. 1. panic! panic! 매크로가 실행되면, 프로그램은 실패 메시지를 출력하고, 스택 해제와 더불어, 정리하고 종료시킨다. panic! 응답으로 인한 중단 혹은 스택 해제 panic! 매크로가 실행되면, 프로그래램은 unwinding(해제)을 시작한다. 이것은 러스트가 panic!을 마주친 함수들로부터 스택..
개인적으로 많은 Collection 중에 String 다음으로 가장 많이 사용했던 녀석이다. HashMap 형식을 가지고 있고 Key와 Value를 매핑시켜 관리하는 데이터 구조가 되겠다. Key와 Value를 메모리 어디에 저장할지 결정하는 해쉬함수를 통해 동작한다. use std::collections::HashMap; fn main() { // HashMap 정의 let mut scores = HashMap::new(); // 값 삽입 scores.insert(String::from("BLUE"), 1); scores.insert(String::from("RED"), 2); // #1 전체 출력 println!("scores : {:?}", scores); // #2 특정 값 출력 println!(..
이번 장에서는 코드를 보다 간결하게 제어하기 위한 "if let"이라는 녀석을 알아본다. if let 구문은 하나의 패턴과 일치하는 값을 처리하고 나머지는 무시할 수 있도록 해준다. (간결한 이유 인가?라는 의문이 생긴다..) "어떠한 옵션 값을 매칭 시켜, 그 값이 특정 값일 경우에만 코드를 실행시키고 싶다!"라고 한다면 내 생각에는 두 가지의 방법이 있을 수 있다. 지금 부터 간결하고도 간편한 방법. if let을 소개한다. 다음 코드를 보자 fn main() { let var = 3; let some_u8_value = Some(var); // 첫 번째 방법 match some_u8_value { Some(3) => println!("three"), _ => (), } // 두 번째 방법 if le..