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

Alpine linux에 대해 살짝 알아보고 가자. 알파인 리눅스는 보안/간편성/리소스 효율을 위해서 디자인된 리눅스 배포판이다. [그림 1]과 같이 알파인 리눅스는 glibc 대신에 musl libc를 사용하게 되었는데 라이브러리의 size 차이가 많이 차이나는 사실을 알 수 있다. docker images 상기 command로 OS 이미지의 크기를 [그림 2 ]와같이 알 수 있다. 타 OS 이미지와 비교해보았을 때 알파인이 훨신 더 경량화되어있다는 것을 알 수 있다. 이 처럼 size가 중요한 이유는 메모리/디스크 공간을 적게 잡아먹고, 로딩이 빠른만큼 앱이 올라가는 속도가 빨라진다. 하지만 많은 dependency 라이브러리가 빠져있기 때문에 멀티 스테이지 빌드 방식을 사용한다. # Alpine l..

이번 포스팅에서 하는 이야기는 Docker의 다중 운영체제이다. [그림 1]과 같이 Docker에서 다중 운영체제 사용이 가능할까? 백문이 불여일견이라고, 한 번 해보면 평생 기억할 것 같아 직접 해본다. Docker Hub에 접속하면 다양한 OS의 이미지를(배포판) 다운받을 수 있다! 혹은 아래와 같이 command로도 가능하다. cat /etc/os-release# Host OS 확인 docker pull fedora# fedora 이미지 다운 docker run --rm fedora cat /etc/os-release# 실행 실행을 해본다면 [그림 1]의 그림이 가능한 이야기인지 알 수 있을 것이다. (정답은 가능하다.) 그 이유는 무엇일까? docker는 OS레벨 가상화 기술이라고 한다. 그럼 O..

흔하게 볼 수 있는 docker짤이다. 대학생 때나 신입 때 누구나 이런 말을 해본적이 있을테지.. "내 컴터에선 왜 안돼?!?!" 코드가 똑같다면 대부분 환경이 달라서 다른 결과가 나오는 경우가 있을텐데, 이것을 해결해주는 것이 Docker라 볼 수 있다. 아래 [그림 2]를 보면 docker의 형태를 알 수 있다. 앱을 구동하기위한 코드와 종속성, runtime을 하나로 묶어서 local, dev환경을 비롯한 스테이징, 라이브환경 등 다양한 환경에 배포를 할 수 있다. "이 그림에서 docker를 왜 쓰는가?!"에 대한 답을 볼 수 있는데, 개발자가 만들었던 아티펙트가 컨테이너 런타임이 동작하는 어떤 환경에 구애받지 않고 동일한 아티펙트가 동작한다. 개발자가 앱을 빌드하고 배포하는 속도를 향상시킨다...

이직하게 된 배경은? 최근들어 개발자의 몸 값이 치솟는다는 이야기를 많이 듣는다. 주위에 개발자가 아닌 지인들에게 "나도 개발자 할껄...", "개발자 얼마나 많이 버냐?" 등 기분 나쁜(?) 이야기를 많이 듣는다. 내가 생각하기에는 "요즘 개발자가 부족하다."라는 사회에 떠도는 이야기는 틀린 말인듯 하다. 명확하게 "요즘 찐개발자가 부족하다."가 맞는 표현인 것 같다. 요즘 사회에 [보통 6개월 강의(혹은 국비교육 등)를 듣고 신입 개발자]로 지원하여 초봉 7천을 부른다는 이야기를 들었다. (정말 한 숨이 절로 나왔다.) 나는 4년제 대학에서 보통 학생과는 다르게 연구실에 들어가 학사 논문도 써보기도 하고 졸업작품과 졸업논문에 대해서 특허출원의 기회도 얻었다. 더불어 졸업하자마자 취업해서 사회로 다이빙..
본 글은 소프트웨어 학습 태도를 읽고 참고하여 개인적인 생각과 경험을 바탕으로 작성한다. 1. 내가 걷는 속력과 방향을 인지하자. 개발은 혼자 하는 것이 아니다. 같은 팀원, 타 팀원, 그리고 관리자와 함께 진행한다. 이렇게 많은 사람들과 함께 업무를 진행하면서 각각 업무량도 다를 것이고 각자 일처리 속도와 습득속도 등 차이점이 있을 수 있다. 특히 일처리 속도에 대해서는 개발방향을 잘못 잡거나 필요한 기술 학습에 대해 잘못 접근하는 등에 이유로 인해 필요 이상으로 시간을 낭비할 수도 있다. (물론 언젠가는 도움이 될 수도 있겠지만 당장 처리해야하는 업무 관점에서 볼 때는 시간낭비) 문제 해결을 위해 방안을 몰색하고 방안을 구현하기 위해 필요한 부분들을 학습하여 내가 맞닥뜨린 문제와 일관성이 있는지 판단..
나는 나는 지금 주니어 개발자다. 신입사원으로 입사해서 열정에 불타오르던 때가 어끄제 같다. 신입이었을 때는 무조건 잘보이고 싶은 마음과 "열심히 하는 신입" 혹은 "노력하는 신입", "동료에게 민폐를 끼치지 않는 신입"으로 인정받고싶었다. 2년 4개월이 지난 지금, 나는 오로지 "일 잘하는 대리"로 인정 받고 싶다. 일을 잘 한다는 것은 굉장히 어려운 부분이다. 내가 신입으로 첫 직장에 다닐 대, 생각했던 모습과 굉장히 달랐다. 개발본부 모두가 굉장히 바쁠 시즌에 입사한 것이다. 우리 팀은 그 중에서도 가장 바빠보였고, 신입동기가 없던 나는 외로움과 긴장을 동시에 타면서 직딩의 꽃봉우리가 나기 시작했다. 누구에게 모르는 것을 물어봐야 하는데 물어볼 곳이 없었다. 바로 윗 분은 어마무시하게 예민하셨던 차..

협업에서는 대부분 리눅스를 기본적으로 사용할 줄 알아야 한다. 나는 대학생 시절 때 리눅스 교육과정이 없었는데 그 부분이 아직도 의아하다. 왜 없었을까.. 아무튼 이번엔 linux의 기본적인 명령어를 알아본다. head : 문서 내용의 앞 부분을 출력 (default 10 line) 가장 많이 사용하는 옵션은 -c 옵션으로, 밑에서 일정 line을 제외하고 출력하는 것. 더보기 Usage: head [OPTION]... [FILE]... Print the first 10 lines of each FILE to standard output. With more than one FILE, precede each with a header giving the file name. With no FILE, or wh..