2023/04 25

swift ui 컨테이너 ( VStack , HStack , ZStack )

VStack 수직으로 정렬된 뷰의 컨테이너입니다. var body: some View { VStack( alignment: .leading, spacing: 10 ) { ForEach( 1...10, id: \.self ) { Text("Item \($0)") } } } 초기화 메서드(init) init(alignment: HorizontalAlignment, spacing: CGFloat?, content: () -> Content) alignment: 하위 뷰들의 수평 정렬을 결정합니다. 기본값은 .center입니다. spacing: 하위 뷰들 사이의 간격을 결정합니다. 기본값은 nil입니다. 이 값이 nil인 경우 시스템에서 적절한 기본값을 사용합니다. content: 하위 뷰들을 포함하는 클로저입..

swift 2023.04.18

SwiftUI LifeCycle(라이프사이클)에 대해 알아보자

주로 사용하는 라이프사이클 SwiftUI는 UIKit의 라이프사이클과는 다소 다른 라이프사이클을 가지고 있습니다. SwiftUI의 주요 라이프사이클 이벤트는 다음과 같습니다 onAppear: 뷰가 화면에 나타날 때 호출됩니다. 일반적으로 데이터를 로드하거나 초기화하는 데 사용됩니다. onDisappear: 뷰가 화면에서 사라질 때 호출됩니다. 뷰가 메모리에서 해제되기 전에 정리 작업을 수행하는 데 사용됩니다. onChange: 특정 상태 속성이 변경될 때 호출됩니다. 변경된 값에 따라 특정 동작을 수행하는 데 사용됩니다. onAppear 뷰가 화면에 나타날 때 호출됩니다. 주로 초기 데이터 로드 및 초기화 작업에 사용됩니다. 예를 들어, 네트워크 요청을 통해 데이터를 가져오거나, 데이터베이스에서 데이터를..

swift 2023.04.18

swift - 기본문법

상수와 변수 [ 상수 ] 상수(constant)는 값을 한 번 할당한 후 변경할 수 없습니다. let 키워드를 사용하여 선언합니다 let name = "John" [ 변수 ] 변수(variable)는 값을 할당한 후 변경할 수 있습니다. var 키워드를 사용하여 선언합니다. var age = 30 age = 31 // 값을 변경할 수 있습니다. 기본데이터 타입 Int: 정수 값을 나타냅니다. Int8, Int16, Int32, Int64 등의 다양한 크기의 정수 타입도 있습니다. UInt: 부호 없는 정수 값을 나타냅니다. UInt8, UInt16, UInt32, UInt64 등의 다양한 크기의 부호 없는 정수 타입도 있습니다. Float: 단정밀도 부동 소수점 값을 나타냅니다. Double: 배정밀도 ..

swift 2023.04.17

NestJs JWT 토큰 생성 / 토큰 인증(Guard)

이전에 로그인 / 로그아웃을 구현하지 않으셨다면 아래의 포스팅을 봐주세요! https://develop-const.tistory.com/22 NestJs 회원가입(비밀번호 암호화), 로그인 구현하기 인증관련부분은 다음시간에 구현하고, 먼저 회원가입과 로그인기능에 대해 구현해보겠습니다. auth와 user 파일을 간단하게 생성 nest g resource auth nest g resource user user [ user/entities/user.entitiy.ts ] impor develop-const.tistory.com 토큰을 사용해 api 호출하는 흐름 1. 클라이언트는 서버에 로그인 요청을 합니다. 2. email과 password가 맞는지 검증한후 맞다면 access 토큰을 발급해 전달합니다 3..

nest js 2023.04.14

NestJs 회원가입(비밀번호 암호화), 로그인 구현하기

인증관련부분은 다음시간에 구현하고, 먼저 회원가입과 로그인기능에 대해 구현해보겠습니다. auth와 user 파일을 간단하게 생성 nest g resource auth nest g resource user user [ user/entities/user.entitiy.ts ] import { BeforeInsert, Column, CreateDateColumn, DeleteDateColumn, Entity, PrimaryGeneratedColumn, UpdateDateColumn, } from 'typeorm'; import * as bcrypt from 'bcrypt'; @Entity({ name: 'user' }) export class UserEntity { @PrimaryGeneratedColumn(..

nest js 2023.04.14

NestJs에서 환경변수

환경변수 분리하기 환경변수는 보안상 중요한 정보(예: 데이터베이스 비밀번호)를 포함할 수 있기 때문에, 애플리케이션 코드와 분리하여 관리하는 것이 좋습니다. 이를 통해 코드를 외부에 노출하지 않고 보안성을 높일 수 있습니다 1. @nestjs/config 패키지 설치하기 @nestjs/config는 Nest.js에서 환경 변수를 쉽게 처리할 수 있도록 도와주는 패키지입니다. 이 패키지를 사용하면 .env 파일 이외에도, CLI 인자, 환경변수, JSON 파일, YAML 파일, JS 파일 등 다양한 방법으로 설정값을 제공할 수 있습니다. npm i @nestjs/config 2. env 파일작성하기 # Database DB_HOST='localhost' DB_PORT=3306 DB_USERNAME='roo..

nest js 2023.04.13

Docker로 Mysql 쉽게 설치하기

Docker 다운로드하기 https://www.docker.com/ Docker: Accelerated, Containerized Application Development Docker is a platform designed to help developers build, share, and run modern applications. We handle the tedious setup, so you can focus on the code. www.docker.com 혹시 다운중에 WSL 2 Install 관련 에러가 뜬다면 링크 클릭후 x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지를 다운로드 받아주시면 됩니다. 회원가입이 안되있는경우 회원가입후 로그인을 해주시면 됩니다. 자 이제 비로서 d..

카테고리 없음 2023.04.12

NestJs 데이터베이스 연동하기 (mysql, typeorm)

🌈 NestJs에서 typeORM을 사용하는 이유는? 통합성: NestJS는 TypeScript 기반의 프레임워크로, TypeORM은 TypeScript 및 JavaScript에서 사용할 수 있는 ORM입니다. 이 두 기술의 통합성이 높아, NestJS에서 TypeORM을 사용하면 일관된 개발 경험을 제공합니다. 객체 지향 프로그래밍: TypeORM은 데이터베이스 테이블을 클래스로 모델링하여 객체 지향 프로그래밍을 가능하게 합니다. 강력한 쿼리 빌더: TypeORM은 쿼리 빌더를 제공하여 복잡한 쿼리를 직관적인 방식으로 작성할 수 있습니다. 이를 통해 SQL 쿼리를 직접 작성하지 않아도 되며, 코드의 가독성과 유지 관리성이 향상됩니다. 데코레이터 및 메타데이터: TypeORM은 데코레이터를 활용하여 엔티..

nest js 2023.04.12

supabase crud ( angular를 사용하여 memo-app 만들기 )

이전에 supabase auth에 대해 구현해 보았습니다. https://develop-const.tistory.com/17 supabase auth ( angular를 사용하여 회원가입, 로그인, 로그아웃 구현하기 ) https://supabase.com/docs/guides/auth Auth | Supabase Docs Need some help? Not to worry, our specialist engineers are here to help. Submit a support ticket through the Dashboard. supabase.com 이전에 supabase를 알아보는 시간에 프로젝트를 만 develop-const.tistory.com 오늘은 supabase를 이용해 간단한 메모앱을..

angular 2023.04.11

supabase auth ( angular를 사용하여 회원가입, 로그인, 로그아웃 구현하기 )

https://supabase.com/docs/guides/auth Auth | Supabase Docs Need some help? Not to worry, our specialist engineers are here to help. Submit a support ticket through the Dashboard. supabase.com 이전에 supabase를 알아보는 시간에 프로젝트를 만들어보았습니다. https://develop-const.tistory.com/16 Supabase란? 정말 쉽고 간단하게 백앤드 서버를 구축할 수 있고, 비용도 firebase만큼 저렴하여 정말 강추드리는 서비스입니다. 물론 백앤드를 공부해야된다면 지양하겠지만, 간단하고 적은 비용, 노력으로 애 develop-co..

angular 2023.04.11