전체 글
-
DB Trigger (트리거) 사용법Database 2024. 3. 20. 23:14
DB의 trigger 사용법에 대해 알아봅시다. 1. Trigger란? trigger는 ‘방아쇠’라는 뜻으로, ‘방아쇠’를 당기면 자동으로 총알이 나오는 것 처럼 trigger를 하면 추가적인 작업이 자동으로 수행되어지는 작업을 의미합니다. 이를 테이블에 적용해보면, trigger는 update/insert/delete 발생했을 때(→방아쇠를 당김) 추가 쿼리 작업을 자동으로 수행할 수 있게 해주는 역할을 합니다(→ 총알이 나옴). [ Trigger 특징 ] 트리거는 자신 스스로 실행이 불가하고, 테이블에 설정한 이벤트(Update, insert, delete)가 발생해야 작동합니다. 테이블에 부착되는 프로그램 코드입니다. MySql은 view에 트리거 부착 불가합니다. 트리거는 수정이 불가능하며, 수정..
-
I18N 다국어 DB 모델링 하기Database 2024. 2. 7. 22:57
현재 다국어를 지원하는(i18n) 프로젝트를 맡고 있습니다. 다국어 정보를 DB에 잘 넣기 위해서 모델링하는 작업을 해보았고, 이 작업을 통해 다국어 DB 설계에 대한 간단한 아이디어를 적어보겠습니다. 유저에게 제공해야하는 언어가 “영어”, “한국어” ,”일본어” … 등등 여러 언어가 있을 때, 제공해야하는 다국어 타입(?)이 2가지가 있을 것 같습니다. 정적으로 화면에 담아야하는 정보 동적으로 다국어를 생성하는 정보 첫번째 정적으로 화면에 담아야하는 정보는 화면을 기획할 때 동적인 내용을 제외한 나머지 영역일 수 있을 것 같습니다. 두번째 동적으로 다국어를 생성하는 정보는 보통 운영진(혹은 관리자)에 의해서 동적으로 데이터를 생성하는 부분입니다. 예를 들어 동적으로 다국어를 생성하는 정보에 해당하는 경..
-
[Spring] 스프링 회원가입, 로그인 기능 구현 with Spring SecuritySpring 2023. 9. 14. 22:29
📌 요약 - BCryptPasswordEncoder를 통해 비밀번호 암호화하여 회원가입 진행. - Spring Security를 이용하여 로그인 구현 간단하게 스프링으로 게시판을 만들면서, 회원가입, 로그인 기능을 구현하였다. 1. 환경 셋팅 spring boot Project - Gradle Spring boot - 2.7.15 Jar java - 11 MariaDB JSP JPA Lombok Spring Security 2. 회원가입 구현 [로직 요약] 유저로부터, “아이디”, “패스워드”, “닉네임” 입력 받기 유효성 체크 후 회원가입 API 호출 회원가입 로직 실행 아이디 중복 발견 시 “중복 alert 창 표시. 문제 없으면 로그인 페이지로 이동. 1) 유저로부터, “아이디”, “패스워드”, “..
-
[React Native] expo vs react-native-cliReact Native 2023. 9. 11. 22:41
react native를 구현하기 위해, 사용하는 툴은 expo와 react native cli가 있다. 간단히 비교해보자. 1. Expo "기본적인 셋팅이 다 구성되어 있으며, native 관련 파일은 숨겨두어 자동으로 관리해줌." 1) 장점 기본 셋팅이 미리 구성 → 빠르게 개발 가능 파일들을 자동으로 관리 윈도우 환경에서도 expo 앱을 통해 아이폰(ios) 테스트 가능 배포가 편함. 2) 단점 expo에서 제공하는 기능만 사용 가능 native 파일을 직접 제어 불가 2. React native cli "native 파일을 직접 제어 가능" 1) 장점 native 변경 필요시, 변경 가능 다양한 라이브러리 사용 가능 2) 단점 expo보다 느리게 개발이 될 수 있음 android studio, x..
-
[Next.js] Next.js 13에서 유저의 권한에 따른 protected route Setting 적용하기 with Middleware (권한에 따른 페이지 접근 제한)Next.js 2023. 6. 20. 19:39
들어가며 지난 번 글([Next.js] Next.js 13에서 유저의 권한에 따른 protected route / protected api Setting (권한에 따른 페이지 접근 제한)에서 권한에 따라 페이지 접근 로직을 다루었다. 이 글에 나온 내용에서 방안4인 middleware를 사용한 방법으로 실제 프로젝트에 도입해보려고 한다. next.js에서 middleware는 페이지를 이동하려고 할 때, 중간에 검증 함수 역할을 한다. 여기서 유저의 권한 인증에 대해 검증 함수를 추가하여, 유저 권한에 따른 페이지 접근 가능 여부를 구현가능하다. 예를 들어, 로그인한 유저가 로그인 페이지에 접근하는 것은 올바르지않다. 반대로, 로그인 하지 않은 유저가 로그인이 필요한 마이페이지에 접근하는 것도 옳지 않다..
-
[Next.js] Next.js 13에서 유저의 권한에 따른 protected route / protected api Setting (권한에 따른 페이지 접근 제한)Next.js 2023. 6. 2. 12:10
들어가며 개인 프로젝트를 저번 달부터 안정화가 된 next.js 13으로 진행하고 있다. 로그인 유무에 따라 페이지 접근 권한을 제한하는 셋팅을 적용하면서, 정리한 내용을 적어본다. 12와 달라진 점에 대해서도 나중에 블로그에 적어야겠다. ✏️ 목적 유저의 상태에 따라 접근 페이지 구분이 필요하다. 예를 들어, 로그인한 유저가 로그인 페이지에 접근하는 것은 올바르지않다. 반대로, 로그인 하지 않은 유저가 로그인이 필요한 마이페이지에 접근하는 것도 옳지 않다. next.js 13은 server rendering을 지원하기 때문에, protected route를 지정할 때 “어디서” 유저의 권한을 확인하는지가 중요하다. 그래서 "어디서"를 초점으로 사용할 수 있는 방법들에 대해 알아보자. 방안 1) clie..
-
[Frontend] (번역) 미래 지향적인 프론트엔드 아키텍쳐 구축Frontend 2023. 5. 10. 22:51
들어가며 안녕하세요 :) 프론트엔드는 백엔드에 비해 쉽게 UI 변경이 잦고, 기능이 여러 추가됩니다. 이때, 변경할 때마다 쉽게 대응이 가능한 유연한 코드를 짠다면 업무의 양이 줄어들 것입니다..! 마침 변경에 용이한 컴포넌트 짜는 방법에 대해 소개한 글을 발견하여 공유하면 좋을 것 같아 번역글을 작성합니다. 원글: Building future facing frontend architecures Building future facing frontend architectures A deep dive into how component based frontend architectures can implode with complexity at scale, and how to avoid it. frontendma..
-
[React] React 컴포넌트 설계 패턴React 2023. 4. 15. 17:56
들어가며 코드를 작성하는 것은 개발자로서 당연한 업무이다. 이때 코드를 작성할 때의 목표는 원하는 기능의 구현 일 것이다. 그렇게 기능 위주로 작성하다보면, 문득 “코드를 잘 만들었는가” “다른 사람이 보았을 때, 이해할 수 있는 코드를 만들었는가”에 대한 고민이 생기기 마련이다. 나만 알아볼 수 있는 코드는 다른 동료들과 미래의 나에게 곤란하게 하는 상황을 초래하고, 사이드 이펙트 및 레거시의 우려가 남아있기 때문이다. 리액트는 컴포넌트로 구성된 라이브러리이다. 간단한 프로젝트면 컴포넌트 설계에 대해서 깊게 고민하지 않아도 되겠지만, 규모가 어느정도 있는 프로젝트를 수행할 경우 비즈니스 로직이 더해진 다양하고 복잡한 컴포넌트는 수정하기 힘들어질 수 있다. 그래서 리액트의 코드를 잘 작성하기 위해서는 컴..