본문 바로가기
728x90
반응형

분류 전체보기236

PostgreSQL 입문 가이드: 간단한 설치 및 탐색 방법 postgres를 사용하는 이유 및 장점 1. postgres는 이식성이 좋아 다양한 플랫폼에서 사용가능합니다. 2. postgres는 무료,오픈소스입니다. 3. potgres는 안정성이 있습니다. postgres 공식 사이트에서 설치를 진행합니다. -. https://www.postgresql.org/ PostgreSQL The world's most advanced open source database. www.postgresql.org 원하시는 운영체제의 버전을 선택하여 다운로드 받습니다. 저는 윈도우에서 다운로드 해보겠습니다. 설치 시 주의 할 점은 패스워드를 기억해주세요. 이후에 next > 선택하여 설치완료 Postgresql 설정 설치 완료 후 sql shell(psql) 실행 psql 실행.. 2023. 7. 13.
친환경 쇼핑몰 프로젝트 구축하기: 백엔드 상품 관리 기능 구현 - 엔티티, 리파지토리, 서비스와 이미지 저장 방식 적용 (4) 이번에는 백엔드 상품 등록 및 변경 기능을 구현해보겠습니다. 먼저 상품 엔티티를 등록합니다. import javax.persistence.* @Entity @Table(name = "products") data class Product( @Id @GeneratedValue(strategy = GenerationType.IDENTITY) val id: Long? = null, val name: String, val description: String, val price: Float, val imageUrl: String? = null ) 리파지토리 구현 import com.hsproject.envmarket.products.Product import org.springframework.data.jpa.re.. 2023. 6. 26.
친환경 쇼핑몰 프로젝트 구축하기: 리액트와 리코일을 이용한 로그인 및 회원가입 페이지 구현 - 전역 상태 관리와 라우팅 적용 (3) 이번에는 프론트 리액트와 리코일을 이용하여 회원가입 및 로그인을 구현해보겠습니다. 먼저 App.tsx 입니다. import React from "react"; import AppRoutes from "./app/AppRoutes"; import { RecoilRoot } from "recoil"; function App() { return ( ); } export default App; 상태관리를 위해서 리코일을 사용합니다. auth.ts입니다. import { atom } from "recoil"; import axios from "axios"; interface User { username: string; email: string; token?: string; } export const userSta.. 2023. 6. 26.
친환경 쇼핑몰 프로젝트 구축하기: 스프링 부트와 JWT를 활용한 회원가입 및 로그인 기능 구현 - 보안 설정 및 인증 과정 개요 (2) 백엔드 회원가입 및 로그인 기능을 구현해보겠습니다. 자바 17, 스프링부트, 그래들, 코틀린, postgres, 스프링 security를 사용합니다. 가장 먼저 저는 사용자보안으로 jwt 를 사용할겁니다. import com.hsproject.envmarket.oauth.RoleName import com.hsproject.envmarket.util.JwtAuthenticationEntryPoint import com.hsproject.envmarket.util.JwtAuthorizationFilter import lombok.RequiredArgsConstructor import org.springframework.beans.factory.annotation.Autowired import org.spr.. 2023. 6. 26.
친환경 쇼핑몰 프로젝트 구축하기: 1인 개발자의 웹사이트 제작 및 기술 스택 소개 (1) 안녕하세요 이번에는 포트폴리오겸 실제 서비스를 해보고 싶어서 친환경 쇼핑몰 프로젝트를 시작하려고 합니다. 공부할겸 최근 배운 기술들을 모두 활용해서 만들어 보겠습니다. 프로젝트는 2~3달을 목표로 정했고 일정 및 순서와 계획은 다음과 같습니다. 1. 시장 조사와 비즈니스 계획 수립 (1인 개발자 본인 수행) 제품 및 서비스를 어떤 시장 세그먼트에 집중할지 결정하고 목표 고객을 정합니다. 주요 경쟁사와 시장 상황을 분석하고 비즈니스의 핵심 가치와 차별화를 설정합니다. 초기 인력 배치, 예산, 시장 진입 전략 등을 고려한 비즈니스 계획을 작성합니다. 2. 쇼핑몰 제작 (1인 개발자 본인 수행) 백엔드 개발: 스프링 부트를 사용하여 백엔드 개발을 수행하고 API를 설계합니다. 프론트엔드 개발: 리액트 또는 자.. 2023. 6. 26.
코틀린의 확장 함수, 유형 별칭, 봉인된 클래스를 알아보자 1. 확장 함수(Extension Functions): 확장 함수는 이미 존재하는 클래스에 새로운 함수를 추가하는 기능입니다. 다음은 문자열(String) 클래스에 확장 함수를 추가하는 예시입니다: fun String.removeWhitespace(): String { return this.replace(" ", "") } fun main() { val str = "Hello World" val newStr = str.removeWhitespace() println(newStr) // 출력: HelloWorld } 위의 예시에서 removeWhitespace()는 String 클래스에 새로운 함수를 추가합니다. str 변수에 대해 removeWhitespace()를 호출하면 공백을 제거한 새로운 문자열을.. 2023. 6. 26.
Ktor와 같은 프레임워크를 사용하여 웹 개발 Ktor는 Kotlin 기반의 비동기 웹 애플리케이션 프레임워크 로, 간편한 사용법과 뛰어난 성능을 제공합니다. Ktor를 사용하여 웹 개발을 시작하는 방법은 다음과 같습니다: 1. 프로젝트 설정: Kotlin 기반의 프로젝트를 생성하고, build.gradle 파일에 Ktor 라이브러리를 추가합니다. 2. 라우팅 설정: Ktor는 HTTP 요청을 처리하기 위해 경로(routing)를 설정합니다. 경로에 대한 처리기(handler)를 등록하여 요청을 처리하고 응답을 반환합니다. 3. 핸들러 구현: 경로 처리기(handler)를 구현하기 위해 Routing 블록 내에서 HTTP 메서드(GET, POST, PUT 등) 및 경로에 대한 처리를 작성합니다. 예를 들어 GET 요청에 대한 응답 핸들러는 get 함.. 2023. 6. 26.
UI 디자인, 레이아웃 및 활동을 포함하여 Android 앱 개발에 Kotlin을 사용하는 방법 Android 앱 개발을 위해 Kotlin을 사용하는 방법 1. Kotlin 지원 프로젝트 생성: Android Studio를 열고 프로젝트를 생성할 때, Kotlin을 지원하는 프로젝트를 선택합니다. "Kotlin"으로 프로젝트 언어를 설정하고, Kotlin Android Extensions를 활성화할 수 있습니다. 2. UI 디자인 및 레이아웃: res/layout 디렉토리에서 XML 레이아웃 파일을 생성하고, 드래그 앤 드롭이나 XML 코드를 사용하여 UI 요소를 배치하고 디자인합니다. Kotlin을 사용하여 해당 XML 레이아웃 파일에서 UI 요소를 참조할 수 있습니다. 3. 활동(Activity) 구현: Kotlin을 사용하여 활동을 구현하려면 Activity 클래스를 만들고 AppCompatA.. 2023. 6. 26.
코루틴을 활용한 비동기 프로그래밍 기초: 예제를 통한 병렬 작업 이해 및 실행 코루틴은 비동기 프로그래밍을 간편하게 작성하고 관리하기 위한 방법 중 하나입니다. 코루틴은 실행을 멈추고 재개할 수 있는 일종의 경량 스레드라고 볼 수 있습니다. 일반적인 비동기 프로그래밍에서 콜백 혹은 Promise를 사용해야 하는 번거로움을 줄여줍니다. 여기 예시를 통해 코루틴을 사용한 비동기 프로그래밍의 기초를 설명해 드리겠습니다. import kotlinx.coroutines.* fun main() { // 비동기 작업을 위한 코루틴 스코프 생성 val scope = CoroutineScope(Dispatchers.Default) // 코루틴 실행 및 비동기 작업 scope.launch { println("비동기 작업 시작") val result = async { // async는 결과를 반환하는.. 2023. 6. 26.
레디스 클러스터를 활용한 데이터 관리와 스프링 부트 연동: 클러스터 구성, 노드 설정, 조회 적용 및 실습 이번엔 Redis Cluster 를 사용하여 데이터를 관리해 봅시다. 혹시나 Redis Cluster와 Redis Sentinel 두가지 방식에 대해 궁금하신 분들을 위해 비교글도 작성하였습니다. https://rhgustmfrh.tistory.com/123 Redis Sentinel vs Redis Cluster: 고가용성과 확장성의 대결 안녕하세요 오늘은 Redis Sentinel과 Redis Cluster 이 두 가지 기술을 비교하여 어떤 상황에서 어떤 것을 선택해야 하는지 알아보려 합니다. 1. Redis Sentinel: Redis Sentinel은 고가용성(High Availability) 솔루션 rhgustmfrh.tistory.com 어쨌든 계속해서 Cluster 를 사용하는 이점은 다음과.. 2023. 6. 16.
728x90
반응형