전체 글88 📖[실용주의 프로그래머] Topic3 소프트웨어 엔트로피 엔트로피 : 시스템 내의 '무질서'한 정도를 가리키는 물리학 용어 책에서 저자는 소프트웨어의 무질서도가 증가할 때 소프트웨어 부패 / 기술 부채라고 부른다. 시작부터 끝까지 잘 마무리 되는 프로젝트와 무질서하게 되는 프로젝트는 어떤 것이 다를까? 깨진 창문을 내버려 두지 마라 나쁜 설계, 잘못된 결정, 형편없는 코드 등이 모드 깨진 창문이다. 창문이 하나 깨져 있으면 전체적으로 관리가 되지 않고 있다는 느낌을 주고 이는 또 다른 깨진 창문을 만들 수도 있다. 그렇게 되면 깨끗하고 잘 기능하던 시스템이었을지라도 깨진 창문 하나로 급속도로 상황이 악화될 것이다. 프로젝트가 방치되고 있다는 느낌을 주지 않도록 깨진 창문이 보인다면 바로 고치고, 시간이 없다면 판자로라도 덮어 담당자가 알고 있고 관리를 하고 있.. 2024. 1. 9. [회고] 입사 1달 차에 서비스 배포와 오픈을 경험하면서 입사한지 1달 반 정도가 되었다. 입사하고 1-2 주 정도 되었을 때 잠깐 들어갔던 프로젝트였다. 그러다가 갑자기 11월 중순부터 급박하게 프로젝트가 진행되었던 것 같다. 나 또한 그전까지 싸피에서 프로젝트를 하면서 항상 시간이 짧아서 밤 늦게까지 작업하고, 또 급하게 마무리를 한 적이 많지만, 확실히 실제로 오픈되는 서비스는 달랐던 점이 많았던 것 같다. 이렇게 진행된 프로젝트에서 배포하고 오픈하는 과정에서 내가 많이 놓쳤던었던 부분을 위주로 정리를 해보려고 한다. 1. 예외처리사실 너무도 당연한 거지만, 그동안 프로젝트에서 제대로 된 예외처리를 하지 않았어서 무의식적으로 잘 동작하는 상황만 가정을 하고 코드를 짰다. 싸피에서도 프로젝트를 발표하고 라이브 시연을 하지만, 라이브 시연자 = 개발자 이.. 2023. 12. 2. [WEB] 브라우저 렌더링 과정 브라우저 렌더링 과정 브라우저가 화면에 나타나는 요소를 렌더링 할 때, 웹킷(Webkit)이나 게코(Gecko) 등과 같은 렌더링 엔진을 사용한다. 렌더링 엔진이란? 요청 받은 내용을 브라우저 화면에 표시하는 일을 함 렌더링 엔진이 HTML, CSS, JavaScript로 렌더링할 때, CRP(Critical Rendering Path) 라는 프로세스를 사용해 다음 단계들로 이루어진다. 1. HTML 파싱 후, DOM 트리 구축 2. CSS 파싱 후, CSSOM 트리 구축 3. JavaScript 실행 주의! HTML 중간에 script가 있으면 HTML 파싱이 중단됨! 4. DOM과 CSSOM을 조합해 렌더 트리 구축 주의! display : none 속성과 같이 화면에 보이지도 않고 영역을 차지하지도.. 2023. 11. 5. [React] useEffect 과 useLayoutEffect의 차이점 코드 리뷰를 하면서 이런 피드백을 받게 되었다 🤔🤔 useLayoutEffect요..? 데이터를 fetching해서 초기 state값을 fetching한 데이터 값으로 바꾸는 로직을 useEffect를 사용해서 구현했다. 초기 화면을 그리기 전에 필요한 데이터를 넣는 부분은 지금까지 계속 useEffect로 구현했었기에 useEffect를 사용했는데 갑자기 useLayoutEffect라는 친구가 등장했다. 이름이 비슷하니까 useEffect와 비슷한거 같긴하데 정확하게 뭐길래 실행 순서에 따라 사용해야하는 훅이 다른걸까? useEffect(() => { // do side effects return () => /* cleanup */ }, [dependancy array]); useLayoutEffect.. 2023. 11. 1. [SSAFYCIAL] 싸피라이프 9개월 차 싸피생의 취업 도전 썰 2학기가 시작되고 프로젝트가 쌓이고 하반기 공채도 열리고! 2학기를 하며 취업 도전한 저의 과정을 풀어봤습니다✨✨ 2023. 9. 26. [React] 리액트 기본 구조 분석하기 index.js 리액트 프로젝트에서 제일 먼저 실행되는 파일 ReactDom.createRoot()를 통해 리액트 프로젝트의 기본 진입점 생성 ReactDOM.createRoot(document.getElementById('root'));는 리액트 프로젝트가 로딩 되었을 때, 웹 페이지의 어디에 배치되어야 하는지 리액트에게 알려주는 역할을 함 public 폴더의 index.html가 리액틔 기본 진입점 index.html 안에 있는 `` 에 리액트로 만든 사용자 인터페이스가 렌더링 됨 root.render(); ReactDom.createRoot()으로 선택한 에 어떤 걸 렌더링 해야 하는 지 리액트에게 알려주는 역할 에 아무것도 없지만 으로 대체 됨 JSX 문법으로 작성되어 있음 컴포넌트 App.js .. 2023. 9. 23. 이전 1 2 3 4 ··· 15 다음