개발개발 블로그

This is Dev Blog

알고리즘 - 음료수 얼려 먹기

Algorithm

문제 접근 방법모든 블럭을 체크하여 0인 경우 상하좌우 네 방향으로 재귀 함수를 돌려 1 값으로 만든다. 이렇게 처리한 후 결과 값을 하나씩 올린다. 단 없는 좌표일 경우와 이미 1인 경우 바로 리턴한다. 풀이 코드1234567891011121314151617181920212223242526272829303132333435input_data = lis......

useSelector 제대로 사용하기

react, redux

만약 아래 두 코드의 차이점을 답 할 수 있다면 제대로 useSelector를 사용하고 있는 것이다. 123456789101112131415161718import React from "react";import { useSelector } from "react-redux";const App = () => { const......

Semantic Tag는 SEO에 영향을 미칠까?

Semantic, SEO

SEO란대부분의 사람들은 자신이 만든 웹에 방문자가 많길 원할 것이다. 많은 방문자를 모으려면 접근하기 쉬워야 할 것이고, 따라서 검색을 했을 때 위에 표시될 수록 많은 사용자가 몰릴 것이다. 검색엔진에 검색이 잘 되도록 할 때 필요한 것이 SEO이다. SEO란 검색엔진 최적화(search engine optimization)를 말한다. 검색엔진이 ......

React 최적화 - 반응형과 throttle

React, throttle, optimization

업비트 클론 프로젝트 Downbit 배포 링크 Github Repo 링크 반응형 최적화반응형을 개발할 때 보통 media tag에 조건을 달아 display: none을 적용하는 방식으로 필요없는 요소를 감춘다. 갱신이 잦은 요소가 아니라면 그것으로 충분하겠지만 리랜더링이 빈번하게 일어나는 요소라면 어떨까? 당연히 DOM에 존재하지 않게 하는 것......

React 최적화 - buffer를 활용하여 상태 갱신 줄이기

React, Batch Update

업비트 클론 프로젝트 Downbit 배포 링크Github Repo 링크 최적화의 중요성업비트 클론 프로젝트를 진행하기 전엔 최적화에 쓰는 기술은 React.memo나 useCallback 정도를 많이 사용했다. 그리고 최적화를 하면서도 최적화를 하나 안하나 웹 성능 향상이 크게 체감되지 않아서 성능이 좋아졌겠거니 하며 사용했었다. 그런데 업비트 클론......

React의 setState가 비동기 처리되는 이유

React, Batch Update

React를 공부할 때 중요하게 배우는 개념 중 하나는 상태관리 입니다. React는 상태를 바탕으로 View를 그리기 때문에 일반 변수로 사용하지 않고 setState로 상태를 할당한다는 것을 배우죠. 하지만 JavaScript를 공부할 때 처럼 console.log로 상태 변화를 확인하려 하면 이상한 점을 느끼게 됩니다. 그 이상함(console......

프로젝트를 반응형으로 개발하지 않은 이유

React, Responsive

스마트폰이 생긴 이후, 모바일 웹 수요가 늘어났습니다. 처음에는 모바일용 웹페이지를 따로 만들었지만 점차 반응형이라는 개념이 생겼고 결국 하나의 웹사이트로 모든 경우를 대응할 수 있는 반응형이 대세가 되었습니다. 구글은 모바일 친화적인 웹사이트에 SEO 우선순위를 더 주기 떄문에 검색 상위 노출을 생각한다면 반응형 개발이 꼭 필요합니다. 하지만 저는......

Google 크롤링 요청하기

SEO, Google crwaling bot

구글에서 검색하여 검색 결과가 나오게 하려면 구글 봇에 현재 나의 사이트를 등록해야 봇이 사이트 정보를 빠르게 수집하여 결과를 보여줍니다. 등록을 위해선 사이트 소유권을 증명하는 작업이 필요한데 이 과정을 중점적으로 다뤄 보겠습니다. Google Search Console 등록하기 구글 서치 콘솔에 접속하여 배포한 URL 주소를 작성합니다. ......
SEO

AWS - S3, CloudFront, Route53을 이용한 정적 호스팅

S3, CloudFront, Route53

내가 만든 웹을 다른 사람들이 볼 수 있도록 하려면 배포과정이 필요하다. AWS는 S3라는 저장소를 제공하는데 저렴한 비용으로 정적 호스팅을 할 수 있다는 장점이 있다. 하지만 S3에서 기본적으로 제공하는 URL은 HTTPS와 도메인 설정이 불가능하다. 따라서 CloudeFront와 Route53을 이용해 해당 문제를 해결해야 한다. CloudFro......

기획

Prototype, Waterfall, spiral, Agile

build & fix일단 만들고 고친다. Prototype최소한의 요구사항 분석 후 프로토타입 제작함. 고객의 요구를 개발에 적극적으로 도입. 고객 평가가 중요한 프로덕트에 도입하는 모델 waterfall요구사항 분석 -> 설계 -> 구현 -> 운용이 순차적으로 진행. 대규모 팀에 적합. 각 단계를 완료하기 전까지 다음 단계로 ......