text-transform: uppercase;
background: linear-gradient(0deg,rgb(227,255,253),rgb(202,243,240));
ul{
list-style: none;
}
text-decoration: none;
Flex 참고 블로그
https://studiomeal.com/archives/197

background-image: url("/images/places/ocean.jpg");
background-position: center;
background-size: cover; /*기본적으로 덮어주는*/
포지셔닝

position: relative;
top: 200px;

팀 스터디 내용 정리
https://velog.io/@mpfo0106/Git-Branch-vs-Github-Branch
https://velog.io/@mpfo0106/Redis%EB%9E%80
https://velog.io/@mpfo0106/Batch-vs-OLTP
https://velog.io/@mpfo0106/Logger-%EB%9E%80
멘토링 QnA
Q. 현업의 실무를 경험해본적이 없어서 현업에서 커밋 컨벤션은 어떻게 사용중인지 궁금합니다. 일반적으로 사용하는 Feat, fix, docs, refactor, test 등의 컨벤션을 유지해서 사용하나요? 아니면 회사마다 주어진 제약이나 규칙이 있을까요?
다양하게 사용한다. git 을 쓰는 이상은 branch 규칙이 더 중요해. 커밋은 브랜치를 사용하기 위한것. 커밋단위보다 브랜치 단위가 유의미하게 구성을 하고 있고 그것이 의미를 가진다.
커밋컨벤션에서 사용하는 건 참고용. Git같이 브랜치관리가 잘되는 툴에서는 브랜치가 훨씬 중요하지, 커밋 컨벤션이 그렇게 중요하지 않다고 생각해.
또 현업에서 키워드의 규칙은 보통 정돈된 환경을 좋아하는 사람이 한명이 들고온다ㅎㅎ 그거대로 정해지는 것. 이건 크게 중요하지 않아.
커밋이 6개의 fix 와 두개의 docs 와 1개의 리팩터로 이루어져있구나. 이렇게 인지하기 위한 힌트로만 보면 될거같아.
Q. 개발자는 MAC을 잘 사용해야 된다는 인식이 있습니다. 실무에서 MAC을 사용해야 되는 경우가 많은가요?
다만 애플실리콘으로 오면서 가성비가 너무 좋아졌어. OS가 무언가 오류가 적다. 등등.
Q. 리눅스를 사용하면 얻는 이점은 무엇인가요?
- OS 이해도를 높이는데 이해가된다.
도커를 사용했다는 이력서가 있으면 리눅스의 이해도가 맞물리는 질문을 하게됨. Ex)도커와 vm 은 무슨 차이인지? 도커에서 겪는 문제들을 해결할때 리눅스 이해도가 필요해. 여기서 질문 대답 못하면 docker, 쿠버네티스에 대해 이해하지 못한다고 생각.
리눅스를 잘 만지면 컴퓨터를 이해하기 쉬워. 서버의 95%가 리눅스 위에서 돌아가고 있으니..근데 사람들은 OS 이해도와 매칭시키면서 쓰는 경우가 별로 없어.
리눅스는 오류가 생기는 버전이 매우 많아서 CLI 로 구글링해서 이슈를 찾는데, 이를 해소하는 과정에서 혼자 공부하게돼.
Q. LXC는 OS 레벨 컨테이너 가상화 기술, Docker는 애플리케이션 레벨 컨테이너 가상화 기술로 알고 있습니다.LXC와 Docker 사용이 유리한 상황에 대해서 설명해 주실 수 있나요??! Docker만 사용해보고 LXC를 사용해보지 않은 상황에서 LXC에 대한 개념이 잘 잡히지 않네요 ㅠㅠ
- 자신의 어플리케이션이 어떻게 구성되었나에 따라서 달라.
현대의 개발은 바퀴를 재활용하는게 아니다 보니까
LXC, 도커가 항상 옳지는 않아. 가상화 이슈는 버전차이별, 성능차이 등 안정성 이슈가 생겨.
Q. TDD에 대한 글을 읽었는데, 효과적으로 실무에 적용하기 위해 고민하는 기업이 있는 반면 실제로 적용하기에는 시간이나 여러가지 요인으로 제약이 있다는 의견도 있었습니다 .TDD에 대한 멘토님의 생각이 궁금하고,혼자 사이드프로젝트로 경험을 하는 것이 도움이 될지 여쭤보고 싶습니다. (프론트, 백 양쪽 관점 모두에서 설명해주시면 감사하겠습니다!)
https://dhh.dk/2014/tdd-is-dead-long-live-testing.html 를 보면 루비 개발자도 TDD에 반대하는 걸 볼 수 있어.
테스트 드라이브는 할 수 없다고 개인적으로 생각해. TDD 에 대해 그렇게 좋게 생각하지 않아. 테스트 환경을 아주 잘 구성한 개발자도 TDD 는 안해.
테스트를 먼저하고 코드를 작성하는게 생각보다 이상해. 제 경험 상으로 TDD는 고통을 주는 경우가 더 많고 효과를 많이 보지 못했다.
또 프론트엔드는 화면단위로 나오는데 TDD 가 가능한가가 의문. 백엔드 관점에서만 얘기한것이야.
Q. 개발자로 일을 하면서 ‘협업’ 능력이 중요하다고 생각합니다. 협업 능력에는 커뮤니케이션 스킬이 필수적이라고 생각하는데, 멘토님께서 경험하셨던 커뮤니케이션을 잘 했던 개발자분이나, 본인만의 커뮤니케이션 스킬이 있으시다면 알려주시면 감사하겠습니다.
커뮤니케이션 능력이 중요하다하지만, 두개가 비슷하다면 개발능력이 좋은사람을 뽑는 추세야.
개인의 커뮤니케이션 능력보다는 팀 전체의 공유문화와 전체의 커뮤니케이션을 높이는게 훨 중요하다고 생각해.
주니어 개발자를 채용하고 키우다보면 보통 질문을 잘 못해. 질문하는 법을 배운적이 없기 때문에 질문의 가이드를 주면서 팀 커뮤니케이션 능력을 향상시켜주는 편.
문서, 기록으로 소통한다면 생각이 정리되고 이걸 공유하고 리뷰하면서 계속 생각하게돼.
코딩은 액션이기때문에 의식의 흐름이 되기 쉽고, 한발짝 떨어져서 문서화로 정제된 흐름이 필요해. 문서화를 잘 했으면 좋겠다!
Q. 생성형 AI 의 발달로 인해서 향후 몇년 안에 코더들은 사라지고, 나아가 프론트엔드, 백엔드 개발자도 대체될 가능성이 많다고 들었습니다. 이러한 상황에서 멘토님이 생각하시기에 좀 더 대체가능하지 않는(롱런) 할 수 있는 직군이 있는지 궁금합니다.
슬프지만 수는 확실히 줄어들것. 단순작업을 하는 개발자는 줄어드는건 확정이야. 다른 직업은 더할것이고.
GPT 만이 아니더라도 AI 를 사용하다보면 디테일이 떨어져. 디테일이 필요한 작업인가 단순작업인가를 고민해본다면, 어느정도 사이즈가 나와.
예를들면, 엔티티를 정의하고 이 엔티티에 대한 CRUD 를 만드려고 하면 ORM 모델, 사용할 DB, DTO 까지 정의하면 그거에 맞는 코드 틀을 깔끔하게 작성해줘. 근데 이건 내가 작성하지 않아도 되는 툴을 작성해주는 정도야. 이건 생성형 AI 이전부터 이미 많이 있었어.
GPT 는 직관적인건 잘하는데 디테일은 아직 처리를 못해. 즉, 요구사항이 복잡한 스크래핑, 어려운 문제, 장애 등을 해결하지 못해. 앞으로도 그럴것같고. 개발자로서 살아남으려면 문제해결능력을 길러야해.
외주라는건 어떨때는 합리적이야. 과거에 RDB 만 쓸때는 데이터베이스가 외주, 프리랜서로 맡겼어. 근데 하지만, 지금은 문제를 푸는 카프카 하둡, 엘라스틱 서치 등등 너무 복잡해졌지.
그러다보면 문제 상황과 그에 대한 해결방안이 다양해져야해. 문제를 푸는 액션이 얼마나 합리적인가가 중점이지.
앞으로는 '요청주는 일을 해준다' 라는 관점 보다는 제품에 좀 더 관심을 갖고 문제해결을 하는 포지션이 회사가 지향하기도 하고, 롱런 할 수 있을거야.
그렇게 바라보고 여러가지를 하다보면 엔지니어가 반 개발자, 반 '프로덕트 오너' 같은 포지션이 되는데, 이처럼 주도적으로 명령을 내리는 것같은 포지션이 훨씬 오래갈 수 있어. 제품에 대한 이해도로 합리적인 판단을 하는 포지션은 많은 회사가 찾고 있기도 하고. 지금부터 노력한다면 충분히 대체가능하지 않을거야.
Q. 아까 TDD 관련 내용이 나와서, DDD에 대해서 질문드리고자 합니다! 말로는 익히 들었는데 정확한 개념은 알지 못해서, DDD(Domain의 D)란 무엇인지! 에 대해서 질문드립니다ㅎㅎ
DDD 는 어플리케이션 내부 코드 방법론 중에 하나야. 어떠한 레이어를 두어서 의도를 나타내는 아키텍쳐 중 하나지.
이건 무조건 공부 '안'하는걸 추천해. DDD 뿐만아니라 헥사곤 아키텍쳐도 하지 않아야해. 시간만 매우 날릴 수 있어.위험해.
이는 객체지향하는거 보다 매우매우 어렵기 때문이야. 아직 정립도 되지 않았고.
그렇기 때문에, 학습도 어렵고 정립도 잘안되서 오히려 잘못이해하고 혼동하기 쉬운 접근이야. 객체지향에 대한 매우 깊은 이해도 필요하고.
DDD를 공부할바에는 차라리 아래 두 책을 훨씬 추천해.
https://product.kyobobook.co.kr/detail/S000001628109
https://product.kyobobook.co.kr/detail/S000001766367
잘생겼는데 정리도 잘하시네요!!!!!!