분류 전체보기 17

[백준/Node.js] 2438번: 별 찍기 - 1

백준 같은 온라인 저지에서 JavaScript로 문제를 풀 때 가장 먼저 막히는 게 입력 처리입니다. 브라우저용 언어인 JavaScript는 원래 prompt()로 입력을 받는데, 백준 서버에서는 이게 안됩니다. 입력 받는 코드const input = require('fs').readFileSync('/dev/stdin').toString().trim()require('fs'): Node.js에서 파일을 읽는 모듈.readFileSync('/dev/stdin'): 표준 입력(stdin)에서 데이터를 동기적으로 읽음.toString(): 읽은 바이너리 데이터를 문자열로 변환.trim(): 앞뒤 공백/줄바꿈 제거입력이 여러 줄이면 .split('\n')으로 나누면 됩니다.const input = requir..

Next.js 안 써도 괜찮아, React SEO 최적화 총정리

React로 열심히 만든 웹사이트, 구글에 검색하면 안 나오던 경험 있으신가요? 분명 배포도 잘 됐고, 링크 타고 들어가면 잘 보이는데 구글에 사이트 이름을 쳐도 내 사이트가 안 나옵니다. "혹시 검색엔진이 고장난 건가?" 싶어서 찾아보니, React로 만든 사이트는 검색엔진 최적화(SEO)가 어렵다는 얘기가 나옵니다. 그리고 어김없이 등장하는 해결책: "Next.js 쓰세요." 물론 Next.js가 SEO에 유리한 건 맞습니다. 하지만 지금 당장 프로젝트를 다 갈아엎을 수는 없잖아요? 다행히도 React 만으로도 SEO 최적화를 충분히 할 수 있습니다! 이 글에서는 React 프로젝트에서 검색엔진 최적화를 하는 (거의) 모든 방법을 알려드리겠습니다. SEO란?SEO는 Search Engine Opt..

개발/Frontend 2025.12.10

다크모드 어떻게 하냐구요? 디자인 토큰 쓰세요

디자인 토큰이란 무엇인가?디자인 토큰은 디자인 결정을 저장하는 작은 데이터 조각입니다. 색상, 간격, 글꼴 크기 같은 디자인 요소를 `primary-color: #3B82F6` 같은 이름-값 쌍으로 정의해 두는 것이죠.비유하자면, 레고 설명서 같은 겁니다. "빨간 블록 2개, 파란 블록 4개"라고 적혀있으면 어떤 나라에서든 똑같은 결과물을 만들 수 있겠죠? 디자인 토큰도 마찬가지입니다. 한 번 정의해 두면 웹, 앱, 심지어 마케팅 자료까지 모든 플랫폼에서 동일한 디자인을 구현할 수 있습니다. 왜 디자인 토큰이 필요한가?문제 1: 개발자마다 다른 파란색디자이너가 Figma에서 만든 버튼은 `#3B82F6`인데, 개발자 A씨는 `#3B82F6`을 쓰고, 개발자 B씨는 "비슷해 보이는" `#4A90E2`를..

개발/Frontend 2025.12.06

또 CSS 고민하세요? styled-components와 Tailwind 중 정답 알려드림

웹사이트를 만들 때, 디자인을 어떻게 입힐지 고민해 본 적 있나요?HTML에 직접 색상 넣고, 크기 조절하는 건 너무 지저분하고요. 그렇다고 CSS 파일 따로 만들자니 파일도 많아지고 관리가 어렵습니다. "분명 더 좋은 방법이 있을텐데..." 하고 구글링을 시작하면, 온갖 생소한 단어들이 쏟아집니다. 결국 선택지는 크게 두 가지입니다. 하나는 JavaScript 파일 안에서 CSS를 같이 작성하는 방법(ex: styled-components, emotion)이고, 다른 하나는 미리 만들어진 디자인 조각들을 조립하는 방법(ex: Tailwind CSS)입니다.이 글에서는 각 방법이 어떻게 다른지, 어떤 상황에 어떤 걸 쓰면 좋은지 최대한 쉽게 설명해드리겠습니다. JavaScript 안에 CSS 쓰기: ..

개발/Frontend 2025.12.01

SSAFY(싸피) 13기 비전공자 합격 후기 + 팁

인지도 면에서는 단연 최고의 부트캠프인 싸피. 지원하기 위해 여러 블로그들을 둘러봤지만, 중요한 정보들은 죄다 대외비라고 알려주지 않아 답답했습니다. 아마 보안서약서를 작성했기 때문에 그런 것 같은데, 대외비가 아니면서 14기 지원자들이 알면 좋을 정보들은 웬만하면 이 포스트에서 모두 다루고자 합니다. 추가하면 좋을 내용들 말씀해주시면 바로 업데이트 하겠습니다. About me학력: 비전공 공학사개발 관련 경험: 없음자격증: 없음어학 성적: 없음프로젝트 경험: 없음 전공자 vs 비전공자 SSAFY 는 전공자와 비전공자를 따로 지원받습니다. 본전공이 컴퓨터과학/공학 이면 당연히 전공자로 지원해야합니다. 하지만 코딩이 중요해지면서 관련된 학과들도 많이 신설되었기 때문에 애매한 전공들도 많을 것입니다. C..

개발/SSAFY 2025.01.05

Point Processing

이미지 처리 작업은 데이터 변환을 수행하는 데 필요한 정보에 따라 세 가지 클래스로 나눌 수 있습니다. 가장 간단한 것부터 가장 복잡한 것까지 정렬하자면 다음과 같습니다:Point operationNeighborhood processingGeometrical transforms Arithmetic operationsnp.clip 픽셀 값에서 간단한 사칙연산을 통해 이미지를 변환할 수 있습니다. $y=x$ 값을 가지는 값에 128을 더하거나 빼면다음과 같은 개형의 그래프를 얻을 수 있습니다. Python 에서는 numpy.clip 을 통해 구현할 수 있습니다. np.clip 의 매개변수np.clip(a, a_min, a_max)a: 값을 제한할 원래 numpy 배열a_min: 배열의 최소 허용 값a_m..

의학영상처리 Intro

일반적으로 영상 처리 알고리즘 코드는 Matlab을 사용하지만, 최근 영상 처리 분야에서도 딥러닝 기술이 많이 활용됨을 고려해 Python으로 수행합니다.  SamplingSampling이란? 이미지를 디지털화하는 과정 중 하나로, 연속적인 아날로그 신호를 디지털 신호로 변환하는 작업입니다. Sampling value는 메모리 공간과 직접적인 연관이 있으므로 적절한 sampling rate를 선택하는 것이 중요합니다.Shannon's sampling theorem 가장 적합한 sampling rate를 보여줍니다. 만약 연속적인 신호를 Fourier Transform 으로 분리했을 때, 가장 큰 주파수 성분을 $f_{max}$ 라고 한다면, 가장 적합한 샘플링 주파수는 다음과 같습니다. $$f >= f_..