일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 웹서비스 배포
- 웹 개발
- 초보 개발자
- firebase storage
- 웹소켓
- CloudType
- google font icon
- 초성 검색
- 검색 기능
- Stomp
- 파일 업로드
- CI/CD
- 무한 스크롤
- perspective api
- Github Actions
- 웹개발
- 구글 간편 로그인
- 카카오 간편 로그인
- 욕설 및 비속어 필터링
- 네이버 간편 로그인
- 1인 개발
- 크롬 확장 프로그램
- Today
- Total
목록웹 개발 (11)
J2ong 님의 블로그
안녕하세요!이번 글에서는 Spring + React 기반의 프로젝트에서 한글 초성 검색이 가능한 사용자 검색 기능을 어떻게 구현했는지 정리해보겠습니다.기본적인 방식은 사용자의 이름에서 초성만을 추출하여 별도로 저장하고, 검색 시 입력된 검색어를 초성으로 변환하여 비교하는 방식입니다. 이를 통해 'ㅎㄱㄷ'과 같이 초성만 입력해도 '홍길동'과 같은 이름이 검색될 수 있습니다.📌 검색 기능 구현 (DB)컬럼명설명user_name사용자의 이름user_consonants이름에서 추출한 초성 문자열 📌 검색 기능 구현 (Spring)Handler (초성 추출 유틸 클래스)public class KoreanUtils { private static final char HANGUL_BEGIN_UNIC..

안녕하세요!React 프로젝트에서 다양한 아이콘을 간편하게 활용할 수 있는 방법 중 하나는 Google Font Icon을 사용하는 것입니다.이 글에서는 Google Font Icon을 사용하는 이유부터, 실제 적용하는 방법까지 단계별로 소개하겠습니다.📌 Google Font Icon을 사용하는 이유간편한 사용: 별도의 패키지 설치 없이 한 줄로 바로 사용 가능다양한 디자인: Filled, Outlined, Rounded, Sharp, Two Tone 등 여러 스타일 지원경량성: SVG보다 가볍고, 페이지 로딩 속도에 부담이 적음디자인 일관성: Material Design 기반으로 설계되어 UI 전체의 통일성을 유지하기 쉬움 📌 Google Font Icon 적용 방법 (React) 1. Goo..

안녕하세요!이번 글은 이전 게시글인 파일 업로드 구현 방식에 이어서, Firebase Storage를 활용해 배포 환경에서도 안정적으로 동작하는 파일 업로드 방식을 소개합니다. 파일 업로드 통합 구현 방식은 이전 게시물을 참고해주세요.2025.04.21 - [개인 프로젝트] - Spring + React 파일 업로드 통합 구현 (korean-romanizer 라이브러리를 활용한 한글 파일명 오류 해결) Spring + React 파일 업로드 통합 구현 (korean-romanizer 라이브러리를 활용한 한글 파일명 오류 해결)안녕하세요!이번 글에서는 Spring Boot와 React 환경에서 파일 업로드 기능을 구현하는 방법을 공유합니다. 특히 한글 파일명을 업로드할 때 생길 수 있는 문제를 해결하는 방..

안녕하세요!이번 글에서는 Spring Boot와 React 환경에서 파일 업로드 기능을 구현하는 방법을 공유합니다. 특히 한글 파일명을 업로드할 때 생길 수 있는 문제를 해결하는 방법도 함께 다룹니다.📌 Spring 파일 업로드 및 로컬 저장 한글 파일명 문제 해결한글 파일명을 그대로 저장하면 시스템에 따라 파일 접근 시 문제가 생길 수 있습니다. 이를 해결하기 위해 korean-romanizer 라이브러리를 사용해 로마자로 변환해줍니다. 자세한 설명은 korean-romanizer 문서를 확인해주세요. GitHub - crizin/korean-romanizer: 한국어를 입력하면 로마자로 변환해주는 Java 라이브러리한국어를 입력하면 로마자로 변환해주는 Java 라이브러리. Contribute to..

안녕하세요!이번 게시글에서는 Cloudtype을 통한 Github Actions CI/CD 서비스 배포 방법을 공유하려 합니다.우선, Cloudtype을 이용해 기본적인 배포를 완료한 상태라고 가정하고 진행합니다.Cloudtype 배포를 진행하지 않은 분들은 아래 링크를 달아두었으니 이전 게시물을 참고해주세요. 2025.03.27 - [개인 프로젝트] - React + Spring 배포 (Cloudtype - 배포) TalkHub - 1인 SNS 웹개발 프로젝트: 개발 과정 (Cloudtype - 배포)안녕하세요! 이번 게시글에서는 Cloudtype을 통한 서비스 배포 방법을 공유하려 합니다.📌 웹서비스 배포웹사이트 배포 서비스의 종류웹사이트 배포 방식은 크게 두 가지로 나뉩니다. 1. 정적talkh..

안녕하세요! 이번 게시글에서는 Cloudtype을 통한 서비스 배포 방법을 공유하려 합니다.📌 웹서비스 배포웹사이트 배포 서비스의 종류웹사이트 배포 방식은 크게 두 가지로 나뉩니다. 1. 정적 웹사이트 배포 서비스정적 웹사이트는 HTML, CSS, JavaScript로만 구성되며, 서버에서 미리 생성된 페이지를 제공하기 때문에 사용자 입력에 따라 내용이 변경되지 않습니다.Netlify, Vercel, GitHub Pages, AWS S3, Firebase Hosting 등2. 동적 웹사이트 배포 서비스동적 웹사이트는 데이터베이스 및 서버와의 상호작용을 통해 사용자의 요청에 따라 화면이 바뀌고 데이터를 실시간으로 업데이트할 수 있습니다.Apache, AWS EC2, Nginx, Microsoft IIS..

안녕하세요! 이번 게시글에서는 Perspective API를 활용한 욕설 및 비속어 필터링 방법을 공유하려 합니다.SNS 서비스의 특성상 관리자가 유해 콘텐츠를 하나하나 수동으로 필터링하는 것은 현실적으로 많은 인적 자원과 시간이 소모됩니다. 따라서 자동화된 유해 콘텐츠 필터링 기능이 필요하다고 생각하였고, 이를 위해 욕설 및 비속어 필터링 시스템을 도입하는 것이 중요하다고 판단했습니다.📌 Perspective API란?기존 욕설 필터링 방식욕설 및 비속어를 필터링하는 방식으로 대표적인 방법은 크게 두 가지가 있습니다:리스트 기반 필터링미리 정의된 욕설 및 비속어 리스트를 생성하고, 사용자가 입력한 텍스트에 해당 단어가 포함되어 있으면 필터링하는 방식입니다. 이 방법은 구현이 비교적 간단하지만, 리스..
안녕하세요! 이번 게시글에서는 웹소켓을 통한 실시간 메시지 전송 방법을 공유하려 합니다.제 프로젝트에서 가장 많은 시간을 할애한 기능입니다.📌 WebSoket과 STOMP의 이해우선 WebSoket과 STOMP가 무엇인지에 대한 이해가 필요합니다.저는 다른 관련 정보들을 읽어보고 제대로 이해하지 않은 채 WebSoket만을 통해 채팅 시스템을 구현했었는데요.WebSoket만으로 구현했을 때는 사용자가 채팅방에 참여할 때마다 새로운 WebSocket 연결을 관리해야 했고, 특정 방의 메시지만 받아야 하는데 이를 수동으로 필터링해야 해서 코드가 복잡해졌습니다.그제서야 검색을 통해서 STOMP에 대한걸 접해서 코드를 대폭 수정할 수 밖에 없었습니다. 그로 인해 시간을 많이 소비하게 되었네요.저처럼 다른 사..