kokoball의 devlog
article thumbnail
[TypeScript] 유니온 타입과 인터섹션 타입, 타입 가드와 타입 단언
WEB/React, JS, TS 및 기타 2024. 7. 10. 18:30

이번 글은 TypeScript 문법 중 유니온 타입과 인터섹션 타입, 타입 가드와 타입 단언에 대한 내용입니다.분명히 알고 있으면서 사용해 봤던 문법들이지만, 설명하려고 하면 애를 먹는 만큼 이번 기회에 한번 더 정리하려고 합니다. 유니온 타입이란?유니온 타입(Union Type)이란 자바스크립트의 OR 연산자(||)와 같이 'A' 이거나 'B'이다라는 의미의 타입입니다.function logText(text: string | number) { // ...} 위 함수의 파라미터 text에는 문자열 타입이나 숫자 타입이 모두 올 수 있습니다.이처럼 | 연산자를 이용하여 타입을 여러 개 연결하는 방식을 유니온 타입 정의 방식이라고 부릅니다. 유니온 타입의 장점유니온 타입의 장점은 아래 예시를 확인해 보면 ..

article thumbnail
React에서 Open Graph Protocol 설정하기
WEB/React, JS, TS 및 기타 2024. 4. 24. 17:26

날씨가 따뜻해지고 있는 요즘 저는 회사에서 B2B용 사이트 새로 만드는 중입니다. 덕분에 웹 사이트의 기초가 되는 여러 작업들을 해 볼 수 있었는데, 오늘은 그중 사이트 URL을 공유했을 때 나오는 오픈 그래프에 대해 글을 작성하려고 합니다.   오픈 그래프(Open Graph)란?오픈 그래프란 (줄여서 og) 사이트를 공유했을 때 접속하기 전 사이트에 대한 정보를 '미리' 확인해 볼 수 있는 미리 보기이며,HTML 문서의 meta 태그 중 "og:XXX"가 있는 태그들을 찾아내서 보여주는 프로토콜입니다. 카카오톡이나 슬랙 같은 메신저에 링크를 공유하면 쉽게 확인할 수 있으며 소셜 미디어에 특화된 프로토콜이라고 할 수 있습니다.(참고로 오픈 그래프에서 사용되는 오픈 그래프 프로토콜..

article thumbnail
[Git] Could not read from remote repository 에러 해결하기
WEB/React, JS, TS 및 기타 2024. 4. 16. 17:27

이번 글은 SSH 키를 이용하여 로컬 환경에서 개발을 할 때 생겼던 (위 사진) 에러를 해결한 방법을 작성해 보려고 합니다. 에러의 원인은 아래 터미널에서 볼 수 있듯이 SSH는 보통 22번 포트를 사용하는데 계정 설정 과정에서 권한이 빠져버리는 탓에 SSH 연결이 되지 않아 git pull은 되지만 git push가 안 되는 상황이었습니다. ('ssh -T 계정'으로 ssh 연결을 확인할 수 있습니다.) 계정 문제가 해결될때까지 기다리는 방법도 있지만, 급하게 작업 내역을 반영해야 하는 상황에서 사용한 방법을 작성하고, 이왕 포스트를 작성하면서 Github의 HTTPS와 SSH의 차이점 또한 같이 알아보려고 합니다. HTTPS vs SSH Github를 사용하다 보면 레포를 로컬로 클론할때 SSH와 H..

article thumbnail
[JS] 고인물처럼 로그 찍기
WEB/React, JS, TS 및 기타 2024. 3. 12. 22:39

이번글은 개발자라면 누구나 사용해 봤을 console에 대해서 좀 더 자세히 작성해보려고 합니다. 콘솔(console)은 브라우저의 디버깅, 테스트, 로깅 등 콘솔 화면에 접근하여 다양한 기능을 수행할 수 있는 객체입니다. 대표적으로 자주 사용되는 메소드는 console.log() 이지만, 아래 사진 처럼 console 자체를 사용해 보면 다양한 메소드들이 있습니다. 이번 글에서는 모든 다 다루지는 않고 자주 쓰이는 메소드들만 정리해 보겠습니다. JS 로그 레벨 및 브라우저에서 로그 level 지정하는 방법 JS에서 제공하는 로그의 형식은 console[level]() 이며 로그 level은 아래와 같습니다. (위 사진에서도 확인 가능합니다.) debug infor warn error 브라우저에서 로그 ..

article thumbnail
React 개발자를 위한 Google Ad Manager 반응형 광고 연동하기

많은 서비스에서 자사 서비스 유입을 위해 '배너 광고'를 많이 사용합니다. 그중 프로모션 이벤트 형식의 자사 제품 광고를 할 때 관련 이미지나 정보를 직접 하드코딩하여 배포하는 경우가 많습니다. 이때 단순 반복 작업은 개발 리소스 낭비이기에 배포가 아닌 광고 서비스를 많이 사용하는데요. 이번 글에서는 그중 흔하게 사용되는 Google Ad Manager 적용과정을 개발자 관점에서 작성하려 합니다. 우선 Google Ad Manager와 쓰이는 용어를 간단히 설명하고, 고정된 크기의 광고를 설정하는 법, HTML & CSS를 이용해서 반응형 광고를 설정하고 React에서 적용하는 방법들을 설명하도록 하겠습니다. Google Ad Manager 란? Google Ad Manager는 광고주와 발행사가 디지털..

article thumbnail
React Children API 알아보기 + 덜 사용하기
WEB/React, JS, TS 및 기타 2024. 1. 26. 22:08

안녕하세요. 추운 날들이 반복되고 있는데 다들 감기 조심하세요. 🤧🤧🤧 이번글은 React에서 children을 다룰 때 유용한 React.Children에 대해서 정리해 보려고 합니다. 사실 React 공식문서에서는 Children의 사용이 코드의 취약성(Fragile Code)로 이어질 수 있어 사용을 추천하지 않습니다. 하지만 오늘도 회사에서 발견했듯이 많은 레거시 코드들이 남아있으며, 당분간 계속 볼 거 같기에 Children API를 정리하려고 합니다. 추가적으로 글의 마지막 부분에서는 React 공식 문서에서 추천하는 Children을 사용하지 않는 방법 등을 작성할 예정입니다. React Children API란? React에서 정말 자주 사용하는 children과 Children API는 ..

article thumbnail
Lighthouse로 서비스 성능 개선하기
WEB/React, JS, TS 및 기타 2023. 11. 13. 22:38

(이 글은 다크모드에 최적화되어 있지 않습니다 ㅠ, 라이트 모드로 봐주시면 감사하겠습니다) 반성하고 있습니다. 🥲🥲🥲신입 FE 개발자로 취업 후 야근 + 눈물과 함께 만든 서비스의 성능이 이렇게 안 좋을지 몰랐습니다... 이번글은 정말 아무것도 몰랐던 신입 개발자가 Lighthouse 성능 점수를 16점 (25%) 올렸던 경험담을 소개하려 합니다.참고로 Lighthouse 점수는 '성능', '접근성', '권장사항', '검색엔진 최적화' 이렇게 4가지 기준으로 산정됩니다. (이 글은 '성능' 개선 과정에 대해서 중점적으로 다루도록 하겠습니다.) Lighthouse 도입 이유작년 6월에 회사에 입사하여 기존에 있던 5년 된 Polymer 기반 레거시 프로젝트를 React로 마이그레이션 하면서 숨 가쁘게..

article thumbnail
SSH 키를 사용할 때마다 passphrase를 입력 안하도록 설정하기
WEB/React, JS, TS 및 기타 2023. 10. 31. 12:02

문제 사내 저장소를 Bitbucket에서 Github로 이전하게 되면서 편의성과 보안성 모두를 위해 PKA(Public Key Authentication) 기반의 SSH 키 등을 사용하여 개발을 진행하게 되었습니다. 이때 git을 이용하여 push나 pull 등 다양한 작업을 할 때 ssh연결을 여러 번 붙어야 하는 경우, 매번 passphrase를 요구하고 있어 불편함을 느껴 다른 방법을 찾게 되었습니다. 사실 보안적인 이유로 매번 passphrase를 입력해 주는 것도 좋지만, 귀찮고 불편하기 때문에 해당 과정을 건너뛸 수 있는 방법과 ssh 환경이 무엇인지를 작성해 보려고 합니다. (코드만 보고 싶으시다면 목차에서 해결방법을 눌러주세요!) SSH란? SSH란 Secure Shell Protocol,..

728x90