안녕하세요, 프론트엔드 개발자로 일을 하고 있는 유승완이라고합니다!저는 24년에 2월에 이직을 해서 현재는 라고 하는 회사에서 EMS(Energy Market Service) 스쿼드에서 일을 하고 있는데요! 제가 이직을 어떤식으로 진행했었는지, 그리고 그 속에서 배웠던 것들은 어떤것들이 있는지 스스로 회고하며 공유하면 좋을 것 같아 이렇게 글로 정리를 해보게 되었습니다. 이 글을 보시게 된다면 처음부터 이야기를 읽어보시는 것도 좋고 나에게 필요한 부분만 찾아서 보시는것도 좋은 접근이 될 것 같습니다!이직을 시작한 계기저는 게임 회사에서 일을 하다가 23년 6월에 피크페이라는 회사에 합류해서 채용과 관련된 제품을 개발하고 있었는데요. B2B 제품을 메인으로 개발하고 있었고 출시를 앞두고 있었지만 현실적으로..
우리는 프로그램을 개발하면서 코드를 작성하고 작성된 코드를 리뷰를 받고 기존 코드 베이스에 통합하는 과정을 거치게 되는데요. 코드 리뷰를 통해서 작성된 코드에서 버그를 찾거나, 더 좋은 설계에 대한 고민을 나눌 수 있기 때문에 코드 리뷰는 개발 프로세스에 있어서 중요한 요소로 여겨지고 있어요. 하지만 코드 리뷰라는 과정에서 PR의 크기가 크거나, 남들이 잘 모르는 도메인에 대해서라면 좋은 리뷰를 받기가 어려운데요. 이런 상황에서 코드 리뷰어의 경험을 설계하여 좋은 코드 리뷰를 만들 수 있는 방법에 대해 예시와 함께 설명해보려고 해요. 코드 리뷰에 대해서 생각해 봐요 남이 작성한 코드를 읽고 리뷰하는 것은 많은 비용이 들어요. 그렇기 때문에 리뷰어의 코드 리뷰를 돕기 위한 무언가가 필요해요. 도메인 지식 ..
안녕헤사요, 저는 글또 9기에 참여하고 있습니다. 글또와 Udemy가 협업을 하게 되었고 무료로 강의를 제공해주셔서 들어볼 수 있는 기회가 생겼는데요. 저는 그 중에서 김송아 강사님께서 강의를 하시는 스프링 부트 강의를 들어보게 되었습니다! 프론트엔드 개발자로 일을 하고 있지만, 회사에서 어드민을 풀스택으로 구축하기도 했었고 평소에 스프링에 관심이 있어서 선택하게 되었습니다. 이렇게 좋은 기회를 주신 글또와 Udemy 관계자분들에게 감사드립니다. 강의는 어떻게 진행되나요? 강의의 제목은 입니다. https://www.udemy.com/course/spring-boot-kimsonga/ 제목에서부터 흥미로웠는데요. 강의가 전반적으로 아주 기초부터, 그리고 쉬운 설명과 함께 진행되는데 이러한 강의의 내용이 ..
안녕헤사요, 저는 글또 9기에 참여하고 있습니다. 글또와 Udemy가 협업을 하게 되었고 무료로 강의를 제공해주셔서 들어볼 수 있는 기회가 생기게 되어서 다양한 강의중에서 제가 현재 일하고 있는 프론트엔드 직무와 관련이 있는 React, Next 강의를 선택하게 되었습니다. 이렇게 좋은 기회를 주신 글또와 Udemy 관계자분들에게 감사드립니다. 강의는 어떻게 진행되나요? 강의의 제목은 입니다. https://www.udemy.com/course/react-next-master/ 제목 그대로 프로젝트를 기반으로 React.js와 Next.js(pages router)를 학습하게 되고 프로젝트를 하기 위한 필수 지식을 빠르게 획득할 수 있습니다. 프로젝트를 시작하기 전에는 각 섹션마다 필요한 이론에 대한 설..
최근에 면접을 많이 보면서 느꼈던 건 프론트엔드에서도 테스팅에 대한 중요성이 점점 늘어나고 있다는 것이었는데요. 저는 그 중에서 E2E테스트를 투두앱을 만들면서 적용해보려고 해요. 프론트엔드에서 테스트를 나타내는 트로피 그림이 하나 있는데요. 이 그림에서 보면 e2e(End to End)테스트는 비용이 크지만 그만큼 확실하게 기능이 동작하는 것을 검증할 수 있다는 장점이 있어요. 먼저 프로젝트를 구축할게요. Vite를 이용해서 React + TypeScript 프로젝트를 세팅해요. 여기서는 패키지 매니저로 pnpm을 사용할게요. > pnpm create vite 이후에 Cypress를 설치해요. > pnpm install -D cypress cypress의 Launchpad를 편하게 실행시키기 위해 pa..
보안과 관련된 웹을 공격하는 기술에 대해서 알아봅니다. 11.1 웹 공격 기술 인터넷에서 벌어지는 공격 대부분은 웹 사이트를 노리는 게 많습니다. 특히 웹 애플리케이션을 대상으로 많은 공격이 발생합니다. 11.1.1 HTTP에는 보안 기능이 없다. HTTP에는 보안과 관련된 기능이 없습니다. 또한 인증도 개발자가 웹 애플리케이션에서 스스로 설계하고 구현해야 합니다. 11.1.2 리퀘스트는 클라이언트에서 변조 가능 HTTP 리퀘스트의 내용은 모든 클라이언트에서 자유롭게 변경하고 변조할 수 있다. 따라서 의도치 않은 값이 서버로 보내질 수 있음. 서버에서는 이에 대응할 수 있어야 한다. 유효성 검증을 각 레이어별로 해야한다. (다른 레이어에 의존성 없이) 쿼리, 폼, HTTP Header, 쿠키 등으로 공격..
들어가며 안녕하세요, 개발자로 일하고 있는 유승완입니다. 저는 2023년 12월 28일부터 에서 진행하는 부트캠프 4기 프론트엔드 과정의 멘토로 참여하게 되었습니다. 개발자가 되어야 겠다고 마음을 먹었을 때부터 지금까지 저는 Udemy, SeSAC, NEXTSTEP, Programmers, Inflearn, Megaptera, Whatever등 다양한 곳에서 교육을 많이 들어왔는데요. 교육을 들으면서 개발자로서도 성장했지만 사람으로서도 성장할 수 있었고 스스로 교육을 통해서 정말 많이 성장했다고 느끼는 사람입니다. 그래서 저도 언젠가는 내가 경험하고 배운 것들을 다른 누군가에게 전달하고 싶다는 생각을 항상 하고 있었습니다. 그러던 중에 지인분을 통해서 에서 부트캠프의 멘토를 모집하고 있다는 것을 알게 되..
10장 웹 콘텐츠에서 사용하는 기술 10.1 HTML 10.1.1 웹 페이지의 대부분은 HTML로 되어 있다. HTML은 웹 상에서 하이퍼텍스트를 보내기 위해 개발된 언어다. 하이퍼텍스트는 문서 시스템의 하나로서, 문서 중에 임의의 장소의 정보가 다른 정보에 관련된 즉 링크되어 있는 문서를 의미한다. HTML로 쓰여진 문서를 브라우저가 해석해서 렌더링 된 결과를 우리가 보게 된다. 10.1.2 HTML 버전 HTML1.0: 1993년에 일리노이 대학의 NCSA에서 모자이크라는 브라우저가 발표되었는데 이 브라우저가 해석할 수 있는 HTML의 사양이다. HTML4.0: 1999년 12월에 W3C라는 조직에 의해 출시되었다. HTML5: 2014년에 정식으로 권고안이 발표되었다. 10.1.3 디자인을 적용하는..