일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 애자일프로그래밍
- 스프링
- 그리디
- framework
- Spring
- 데이터베이스
- cleancode
- Java
- database
- 엘라스틱서치
- 읽기쉬운코드
- 자바
- API
- 애자일기법
- 코딩테스트
- 백준
- 개발자
- Baekjoon
- ES
- 알고리즘
- 개발
- 코드
- 코딩
- 그리디알고리즘
- JPA
- 클린코드
- 프레임워크
- mongoDB
- spring boot
- Elasticsearch
- Today
- Total
목록프로그래머 (4)
튼튼발자 개발 성장기🏋️
나는 나는 지금 주니어 개발자다. 신입사원으로 입사해서 열정에 불타오르던 때가 어끄제 같다. 신입이었을 때는 무조건 잘보이고 싶은 마음과 "열심히 하는 신입" 혹은 "노력하는 신입", "동료에게 민폐를 끼치지 않는 신입"으로 인정받고싶었다. 2년 4개월이 지난 지금, 나는 오로지 "일 잘하는 대리"로 인정 받고 싶다. 일을 잘 한다는 것은 굉장히 어려운 부분이다. 내가 신입으로 첫 직장에 다닐 대, 생각했던 모습과 굉장히 달랐다. 개발본부 모두가 굉장히 바쁠 시즌에 입사한 것이다. 우리 팀은 그 중에서도 가장 바빠보였고, 신입동기가 없던 나는 외로움과 긴장을 동시에 타면서 직딩의 꽃봉우리가 나기 시작했다. 누구에게 모르는 것을 물어봐야 하는데 물어볼 곳이 없었다. 바로 윗 분은 어마무시하게 예민하셨던 차..
러스트는 특수하게(?)도 "모듈 시스템"이라는 것을 제공하는데 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!(..

언제나 그렇듯 대부분의 언어는 컬렉션이라 불리는 데이터 구조를 제공한다. 우리가 공부했던 튜플과 배열과는 다르게, 힙 영역에 저장된다. 즉, Compile Time에 데이터 크기를 알 필요가 없다는 뜻이 되며, 크기 확장 혹은 축소가 가능하다는 이야기다. (우리가 공부할 각 컬렉션의 성격이 조금씩 다르니, 적절하게 사용할 수 있는 능력을 기르는 것이 옳다고 생각된다.) 이번 장에서 다룰 컬렉션은 Vector(벡터)다. 메모리상에서 이웃되도록 모든 값을 넣는 단일 데이터 구조에 하나 이상의 값을 저장할 수 있도록 한다. 같은 타입의 값만을 저장 가능하다. 벡터 정의 및 사용 fn main() { // vector 정의 let mut vector: Vec = Vec::new(); // vector에 값 삽입..