본문 바로가기

분류 전체보기98

[서평] 비전공자를 위한 AWS 『비전공자를 위한 AWS』 서평: 클라우드의 세계로 가는 친절한 첫걸음Before: 진입장벽이 높은 클라우드 컴퓨팅의 세계클라우드 컴퓨팅은 현대 IT 인프라의 핵심이 되었지만, 많은 비전공자들에게는 여전히 높은 진입장벽으로 느껴집니다. "EC2", "S3", "Lambda"와 같은 용어들은 마치 외계어처럼 들리고, AWS 콘솔의 수많은 메뉴들은 미로처럼 복잡해 보입니다. 특히 프론트엔드 개발자로서, 주로 사용자 인터페이스와 클라이언트 측 로직에 집중하다 보니 클라우드 인프라는 더욱 멀게만 느껴졌습니다.After: 클라우드를 이해하고 활용하는 개발자의 모습히로코 니시무라의 『비전공자를 위한 AWS』는 이러한 어려움을 해소하는 탁월한 입문서입니다. 프론트엔드 개발에 주력하면서도 AWS의 세계를 탐험하고 싶었.. 2024. 11. 5.
2024 GDSC 건국대 컨퍼런스 후기: CS와 함께하는 백엔드 이야기 들어가며개인적으로 무협만화를 좋아하는 편이라 자주 나오는 말을 인용해보자면 "만류귀종(萬流歸宗)"이라는 말이 있습니다. 모든 물줄기가 결국 한 근원으로 돌아간다는 의미인데, 웹 개발도 이와 같다고 생각합니다. 프론트엔드, 백엔드라는 구분을 넘어서, 전체 시스템을 이해하고 통찰할 수 있을 때 더 나은 개발자가 될 수 있다고 믿습니다.최근 네이버 부스트캠프에서 새로운 프로젝트를 시작하게 되었는데요, 우리 팀은 저를 제외한 4분의 백엔드 개발자들로 구성되어 있습니다. 물론 다른 분들이 프론트엔드를 일부 협업 작업을 해주시겠지만, 저 또한 4분의 이야기에 참여하여 의견을 나눌려면 스스로의 이해도를 올려야 된다고 생각합니다.이러한 생각을 가지고 있던 중, 지난 4월 GDSC 건국대학교의 컨퍼런스에 참석했던게 생각.. 2024. 10. 30.
[why] JavaScript는 왜 undefined를 사용할까? 개요JavaScript 개발을 하다 보면 자주 마주치는 값이 있습니다. 바로 undefined입니다. 변수를 선언만 하고 값을 할당하지 않았을 때, 함수가 반환값 없이 실행을 마쳤을 때, 객체의 존재하지 않는 속성에 접근할 때 등 다양한 상황에서 만나게 되죠. 하지만 왜 JavaScript는 이런 상황에서 undefined라는 특별한 값을 사용하기로 했을까요?역사적 배경JavaScript가 처음 만들어진 1995년, Brendan Eich는 10일 만에 이 언어의 첫 버전을 완성해야 했습니다. 이미 잘 알려져 있겠지만 1995년 5월, 그는 '자바와 비슷해야 하며, 넷스케이프 브라우저 내의 거의 모든 것을 제어할 수 있어야 한다'는 명령하에 열흘 만에 Javascript를 만들었다고 합니다.흥미로운 점은.. 2024. 10. 26.
[why] 프론트엔드 개발자로써 알아야 되는 부분들 개요현대 웹 개발에서는 수많은 기술과 도구들이 끊임없이 진화하고 있습니다. 이러한 환경에서 개발자들은 단순히 사용법을 익히는 것을 넘어, 각 기술의 존재 이유와 작동 원리를 깊이 이해할 필요가 있습니다. 이 시리즈는 프론트엔드 개발의 핵심 영역들에 대해서 학습하고 정리해보려고 합니다.시리즈의 목적프론트엔드 기술의 근본적인 원리와 배경 이해기술 선택과 의사결정에 대한 깊이 있는 통찰 제공발전하는 웹 생태계에 대한 포괄적인 이해 도모실무에서 마주치는 문제들에 대한 해결 능력 향상주제 목록1. 자바스크립트의 핵심 개념undefined는 어떤 목적으로 탄생했을까?자바스크립트가 스크립트 언어로 설계된 이유는?객체 기반 언어로서의 자바스크립트의 특징은?싱글 스레드 동작 방식의 장단점은?호이스팅은 어떤 원리로 동작하.. 2024. 10. 26.
[why] "왜" 시리즈를 한번 적어볼까 합니다. Why 시리즈: 당연한 것들에 대한 질문개발을 하다 보면 당연하게 받아들이는 것들이 참 많습니다.JavaScript에서 undefined를 마주치면 "아, 값이 할당되지 않았구나"라고 생각하고 넘어가고, React에서 클로저를 사용할 때도 "이렇게 하면 되겠지"하고 넘어가곤 합니다.하지만 정작 "왜?"라는 질문을 받으면 제대로 된 답을 하지 못하는 경우가 많은 것 같습니다.시리즈를 시작하며부스트캠프 8주차, 늦은 저녁 오프라인 활동이 끝나고 양꼬치를 즐기며 7,8주차 그룹 동료들과 이야기를 나누던 중이었습니다. 프론트엔드 스프린트가 끝나가던 시점이었습니다. 바닐라 자바스크립트로 프레임워크를 직접 만들어보고, 리액트로 프로젝트까지 진행하면서 많은 것을 배웠지만, 동시에 더 깊은 의문도 생겼던 시기였죠.그날.. 2024. 10. 26.
[FE] React Context API와 LocalStorage로 간단 상태관리 모듈 만들기 1. 개요지금까지 리액트로 여러 프로젝트를 했던 경험을 돌아봤을 때, Context API만으로도 충분히 해결할 수 있는 상황에서도 종종 Zustand나 Redux를 사용해야겠다는 생각에 치우쳤던 적이 많았습니다. 이러한 접근은 종종 '배보다 배꼽이 더 커지는' 상황을 초래했습니다. 즉, 핵심 기능 구현보다 상태 관리 라이브러리 사용법 익히는 데 더 많은 시간을 투자하게 되는 경우가 발생했습니다.이러한 경험을 바탕으로, 부스트캠프 후반기 미션에서는 React가 제공하는 기본 도구를 최대한 활용하고자 했습니다. 특히 Context API를 이용한 전역 상태 관리와 함께, LocalStorage를 활용하여 데이터 지속성까지 확보하고자 했습니다. 이 아이디어는 이전에 다른 개발자분이 localStorage를 .. 2024. 10. 9.
[FE] 아토믹 디자인 패턴에서 탈출: 컴포넌트 디자인 패턴, 방법론 찾아보기 개요프론트엔드 개발자를 희망하는 사람으로서 다양한 프로젝트를 진행하면서, 저는 몇 가지 디자인 패턴과 방법론을 경험해 왔습니다. 특히 React를 사용한 프로젝트에서는 아토믹 디자인 패턴이 큰 유행을 끌었고, 저 역시 이를 적용해 보았습니다. 그 과정에서 유행을 따라가다 보니 오히려 다른 디자인 패턴과 방법론을 많이 못 사용해본 문제도 생겼던 것 같습니다.하지만 시간이 지나면서 아토믹 디자인 패턴이 모든 상황에 적합한 것은 아니라는 점을 깨달았습니다. 작은 규모의 프로젝트에서는 오히려 과도한 구조화로 인해 복잡성만 증가하는 경우가 있었습니다. 또한, 프로젝트의 특성에 따라 다른 패턴이나 방법론이 더 효과적일 수 있다는 것을 알게 되었습니다.이러한 경험을 바탕으로, 이번에 새로운 React 프로젝트를 시작.. 2024. 10. 7.
[네이버 부스트캠프] 5,6주차 회고 정말 즐거웠던 추석 인터미션 시간이 지나가고 빠르게 스프린트 후반부가 시작되었습니다. 하반기 서류를 쓰면서 인터미션을 보냈고, 스프린트 후반기 시작 후에도 서류도 쓰고 미션도 하는 시간을 2주간 보냈던 것 같습니다. 그 중 기억에 남는 것들 위주로 회고를 적어보려고 합니다.서류 탈락과 코딩테스트원래는 지난 상반기에 서류를 내고 취업 준비를 제대로 하는게 목표 였는데 인턴을 하다보니 생각보다 서류를 많이 내보진 못했던 것 같습니다. 그래서 네부캠을 하는 동안 꼼꼼하게 서류를 써보고, 이력서와 포트폴리오를 정리하는 시간을 틈틈히 가졌습니다. 10~20군데 정도 서류를 냈고, 서류 합 이상 간 곳이 많지는 않지만 4~5번의 코테 까지 볼 수 있었고 항상 문제가 코딩 테스트 였던 것 같습니다. 아무래도 프론트로.. 2024. 10. 6.
[네이버 부스트캠프] 프론트엔드 프레임워크 비교하기(feat. typescript) 들어가며최근 네부캠에서 후반부 학습 스프린트를 진행하면서 프레임워크를 직접 구축해보는 경험을 하고 있습니다. 이 과정에서 각 프레임워크의 등장 배경, 그들이 해결하고자 했던 핵심 문제들, 그리고 그 해결 방식을 이해하는 것이 매우 중요하다는 것을 깨달았습니다.그룹 활동 중에 리액트가 주로 논의되었지만, 다양한 프레임워크를 폭넓게 이해하는 것이 장기적으로 더 큰 도움이 될 것이라 생각합니다. 따라서 이번 기회에 주요 프론트엔드 프레임워크들의 역사와 특징을 정리해보고자 합니다.참고해주셨으면 하는 부분은 jQuery와 React가 엄밀히 말해 프레임워크는 아니라는 것입니다. jQuery는 라이브러리이고, React는 라이브러리 혹은 UI 개발을 위한 JavaScript 도구로 분류됩니다. 그러나 이들을 이 글.. 2024. 9. 24.