일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring boot
- Elasticsearch
- 읽기쉬운코드
- 코딩
- 그리디
- 애자일기법
- 자바
- Spring
- 코드
- 클린코드
- 프레임워크
- JPA
- ES
- 개발
- 알고리즘
- 코딩테스트
- Java
- cleancode
- API
- database
- 백준
- 엘라스틱서치
- 스프링
- framework
- 데이터베이스
- Baekjoon
- 애자일
- 그리디알고리즘
- 애자일프로그래밍
- 개발자
- Today
- Total
목록개발자 (18)
튼튼발자 개발 성장기🏋️
조금씩 책의 내용이 어려워지고 있다. 한 문장을 무려 10번 읽고 되새김질 해보기도 한다.ㅠㅠ 최근 나는 싱글톤을 사용하여 개발한 적이 있는데 싱글톤 특징을 제대로 살리지 못하는 실수를 하고 말았다...😥 바로 생성자를 자동생성 생성자로 두었던 것... 알고 있으면서도 알아차리지 못했던게 더 괴씸하다!!! 경솔한 나의 생각때문에 큰 오류를 범할 뻔했다. java에서 access level을 둔 이유가 다 있다. 그것을 잘 활용하여 지켜주어야 한다..🙄 잘 생각해보면 protected는 거의 써본적이 없는 것 같고 변수는 private, 메소드는 public을 많이 사용하는데 이런거 하나하나 생각하면서 코드를 작성해야한다는걸 몸소 느끼며 깨달았다. 너무 익숙해지지 말자. 코딩에 당연한건 없다! 난 이 책을..
누구나 자신만의 코딩 스타일이 있는 법🤘 대학생 때는 나만의 스타일로 코딩을 했다. 심지어 툴 마저도 내가 커스터마이징 해서 눈이 덜 필로하게 어두운 색상으로 알아보기 쉬운 syntax 색상을 설정하기도 했다😊 취업을 했다면 자신의 스타일을 잊자. 내가 소속해 있는 조직에 룰이 있을텐데 그 룰을 파괴하는 흉악범(?)이 되지 말자🧛♂️ 팀 룰이 아무리 맘에들지 않거나 옳지 않아도, 따르지 않고 자신의 스타일대로 코딩하면 그것이 흉악범이지 무엇이겠는가!!!👹 나의 경우에는 서비스 별로 코드 스타일이 달라서 각 서비스 소스에 따라서 알맞게 코딩한다. 이것이 참 사소하면서도 나를 힘들게 한다. 한 번에 여러 서비스를 개발하다 보면 분명 스위칭을 하게 되는데.. 그것이 더디거나 꼬여버리면 전혀 다른 특성을 띄는..
좋은 주석은 뭐고 나쁜 주석의 차이는 뭔지 곰곰히 생각해보자.. 내 생각은 좋은 주석은 없다. 주석이 없는 주석이 가장 좋은 주석이다. 물론 코드가 개발자 의도를 100% 표현 했다는 가정 하에!☝️ 나의 경우는 내가 짠 코드의 일부분을 혹시나 다른 개발자가 못알아 듣거나 이해를 못할까 걱정이 되어 주석을 사용하곤 한다. 즉 내가 나를 못믿는데 누군가 나를 어떻게 믿을까😥😥😥 대부분의 주석은 쓸때 없는 주석, 주절거리는 주석 등으로 이루어 지지만 난 가장 필요한 주석은 히스토리 주석과 TODO주석이라 생각한다. ☝️소스코드 관리 시스템이 있다 한들, 특정 부분이 수정된 사유와 날짜 등을 파악하려면 시간을 들여야한다. ✌ TODO주석이 있다는 말은 일을 다 못끝냈다는 이야기. 그러나 그 누가 하루만에 개발..
소스를 볼 때면 "이 변수에 뭐가 담겨 있는겨?" 혹은 "이 함수는 뭐하는 겨?"혹은 "이 클래스는 뭐여?" 등과 같은 의문을 품곤 한다. 나의 소스건 남의 소스건 "개떡같이 이름 지었네.."라고 마음 속으로 한 마디 하고 열심히 코드분석을 시작한다. 네이밍이 말은 쉽지만 정말 어려운 부분이 될 수 있다. [읽기 쉬운 코드]를 작성하기 위한 첫 걸음이 아닌가 싶다. 항상 어떤 function, 변수, Object, DB field, table 등을 만들 때 네이밍에서 시간을 한참 잡아먹는다. 네이밍 센스가 없기 때문이다. 하지만 시간을 많이 들여도 괜찮으니 최대한 좋은 이름일 짓도록 투자해보는 것이 우리 모두가 이로운 일이 될 수 있다! 내가 취업한지 2년도 채 되지 않았지만 이런 경험이 가장 많다. "..
좋은코드라는게 참 말은 쉽다. 우아하고💃 효율적인👍 코드. 단순하고😄 직접적인☝️ 코드. 다른 사람이 고치기 쉬운 코드. 자고로 이런 코드를 짜려면 단호한 프로그래머가 되어야 한다!(?) Memory leak, Race conditional, 명명법의 일관성 등을 소홀히 하면 안된다. 아무리 가독성이 높고 우아한 코드임에 틀림없어도 테스트 케이스가 없으면 무용지물. (그래서 TDD가 중요한 것..!!!!🤔) 그래서 깨끗하고 좋은 코드를 보면 마치 영화보듯이 느낀다고....(ㄹㅇ?) 의외로 좋은코드는 명쾌한 추상화와 제어문으로 가득 차 있다고 한다. 사실 나는 개인적으로 제어문이 가득한 코드를 싫어한다. 그만큼 복잡하고 얽혀있다는 생각이 들기 마련이기 때문. 그래서 어떻게 해야하는데?😥 ☝️중복을 줄이자!..
[왜 Clean Code?] 로직을 기가 막히게 짜고, 문제해결 능력이 뛰어난다고 한들 해당 코드가 쉽게 읽히지 않는다면 그것은 좋은 코드일까? 약 9년 동안 코딩을 하면서 단 한 번도 "읽기 쉬운 코드"에 대해 생각해본 적이 없다. 대학생 때 까지만 해도 나는 다음 리스트를 만족하는 코드가 좋은 코드라고 생각했다. 예외 처리가 잘 된 코드 메모리를 절약한 코드 각 언어 특성을 잘 이용한 코드 운좋게 취업에 성공하고 "학생"이 아닌 "개발자"로서 꽃이 필 무렵 주석과 변수 혹은 Object 명, 함수명 등과 같은 네이밍 이야기를 할 수 있는 기회를 얻었다. 나의 팀장님께서는 이렇게 말씀 하셨다. "가장 좋은 코드는 주석이 없고 변수 명만 봐도 뭐하는 녀석인지 알 수 있는 코드야." 위 조건을 만족하면서 ..
러스트는 특수하게(?)도 "모듈 시스템"이라는 것을 제공하는데 scope와 관련된 많은 기능들을 말한다. 추가로 다음과 같은 모듈을 포함한다. Packages는 빌드, 테스트, 공유할수 있도록 해주는 Cargo 기능이다. Crates는 라이브러리나 실행파일을 생성하는 모듈 트리다. Modules는 scope와 privacy 정보(구조체, 함수, 모듈 등의 네이밍을 이야기하는 것 같다.)를 제어할 수 있다. 이번 장이 끝나면 scope를 정의하고, 사용하며, export를 할 수 있다. (기대 중..ㅎㅎㅎㅎ)
개인적으로 많은 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!(..