profile
iOS 개발자 지망생 https://github.com/10000DOO
post-thumbnail

코드로 autoLayout 적용하기(SnapKit)(nft프로젝트)

이번 프로젝트를 진행하면서 가능한 코드로 UI를 그려보려고 했다.iOS에는 Autoresizing이라는 개념이 있다.Autoresizing은 superView의 bounds가 변할 때 subView의 크기를 재설정 하는 것이다.AutoresizingMask을 사용하여

2023년 8월 25일
·
0개의 댓글
·
post-thumbnail

이미지 업로드 시 주의해야 될 것[AWS S3]

이미지를 ec2내부에 저장하는 방식으로 사용하다가 이번에 s3를 도입하게 되었습니다.코드를 변경하다가 문제가 발생했습니다.사진을 저장할 때 파일 이름이 겹치면 s3에 중복되어 올라가지 않는다는 것입니다.DB에 저장하기 위해 Media 객체를 만들고 있습니다.origin

2023년 8월 3일
·
1개의 댓글
·
post-thumbnail

리팩터링2 정리 - 언제 리팩터링해야 할까?

🔶언제 리팩터링해야 할까? 🔹 1. "3의 법칙" > 1. 처음에는 그냥 한다. 비슷한 일을 두 번째로 하게 되면(중복이 생겼다는 사실에 당황스럽겠지만), 일단 계속 진행한다. 비슷한 일을 세 번째 하게 되면 리팩터링한다. 🔹 2. 준비를 위한 리팩터링: 기능을

2023년 7월 22일
·
1개의 댓글
·
post-thumbnail

리팩터링2 정리 - 리팩터링하는 이유

아키텍처를 충분히 이해하지 못한 채 단기 목표만을 위해 코드를 수정하다 보면 기반 구조가 무너지기 쉽다.그렇게 되면 코드만으로 설계를 파악하기 어려워지고 그럴수록 설계를 유지하기 어려워지는 악순환에 빠진다.중복 제거를 중심으로 코드량을 줄여 유지 보수성과 가독성을 향상

2023년 7월 22일
·
0개의 댓글
·

[CS정리] 디자인 패턴 - 전략 패턴(Strategy Pattern)

객체의 행위를 바꾸고 싶은 경우 직접 수정하지 않고 전략이라고 부르는 캡슐화한 알고리즘을 컨텍스트 안에서 바꿔주면서 상호 교체가 가능하게 만드는 패턴\-컨텍스트- 프로그래밍에서의 컨텍스트는 상황, 맥락, 문맥을 의미하며 개발자가 어떠한 작업을 완료하는 데 필요한 모든

2023년 7월 3일
·
0개의 댓글
·
post-thumbnail

[CS정리] 디자인 패턴 - 팩토리 메서드 패턴, 추상 팩토리 패턴

🔶팩토리 메서드 패턴 🔹정의 > 팩토리 메서드 패턴은 객체를 사용하는 코드에서 객체 생성 부분을 분리해 추상화한 패턴이자 상속 관계에 있는 두 클래스에서 상위 클래스가 중요한 뼈대를 결정하고 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴 🔹특징

2023년 7월 3일
·
0개의 댓글
·
post-thumbnail

[PostgreSQL] 무결성 유지

데이터베이스 내에 정확하고 유효한 데이터만 유지시키는 속성\-> CRUD연산을 실행할 때 데이터의 값이 일관되고 정확하게 유지하는 특성모든 테이블이 PK를 가져야하며 PK로 선택된 컬럼은 고유하고 NULL을 허용하지 않아야 한다는 속성 FK값이 NULL이거나 참조된 테

2023년 6월 30일
·
0개의 댓글
·

[CS정리] 디자인 패턴 - 싱글톤 패턴

디자인 패턴이란 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것을 의미한다.싱글톤 패턴은 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴자바에서 싱글톤 패턴을 사용한다면 멀티스레드

2023년 6월 29일
·
0개의 댓글
·
post-thumbnail

[PostgreSQL] 데이터 타입 정리!

PostgreSQL에서 자주 사용되는 데이터 타입으로는1\. 숫자형(Numeric Types)2\. 화폐형(Monetary Types)3\. 문자형(Character Types)4\. 날짜 및 시간(Date & Time)5\. 불리언형(Boolean Types)6\.

2023년 6월 25일
·
0개의 댓글
·
post-thumbnail

Spring Data JPA 벌크 연산 사용(soft delete)

이번 프로젝트를 사용하면서 데이터를 삭제하는 경우 soft delete 방법을 사용했다. soft delete를 사용하면서 데이터 삭제와 수정 시 벌크 연산을 많이 사용하게 됐다. 이번에는 어떻게 벌크 연산을 사용했고 어떤 어려운 점이 있었는지 정리해 보려고 한다.

2023년 3월 26일
·
0개의 댓글
·
post-thumbnail

Nginx SpringBoot Https 적용 [3] (스프링부트 Tomcat Https 설정)

운영체제는 RedHat 기반의 RockyLinux 9.1을 사용했습니다.https://taewooblog.tistory.com/entry/spring-boot-https-적용하기-Lets-Encrypthttps://notes.harues.com/pos

2023년 3월 21일
·
0개의 댓글
·
post-thumbnail

Nginx SpringBoot Https 적용 [2] (Nginx Https 설정)

운영체제는 RedHat 기반의 RockyLinux 9.1을 사용했습니다.기본적으로 80포트는 개방되어 있어야합니다.// 80포트 개방firewall-cmd --permanent --zone=public --add-port=80/tcp//방화벽 재가동firewall-cm

2023년 3월 21일
·
0개의 댓글
·
post-thumbnail

Nginx SpringBoot Https 적용 [1] (도메인 발급과 ddns 설정)

프로젝트를 진행하면서 비밀번호 암호화를 제외하면 보안에는 크게 신경 쓰지 못했는데 학교에서 정보 보안 수업을 듣다 보니 점점 심각성이 느껴져서 기본적인 것부터 하나하나 해보려고 한다. 더 안전하고 단단한 나의 소중한 서버를 위해ㅎㅎhttps://www.duck

2023년 3월 21일
·
0개의 댓글
·
post-thumbnail

스프링부트 Enum 활용하기

프로젝트를 진행하면서 유저 등급, 게시글 카테고리, 예외 처리 문구 등등 상수값을 사용해야 되는 경우가 많이 있었습니다. 상수들을 테이블로 만들어 DB에 저장하고 FK로 연결하여 사용할 수 있는 방법이 있었지만 이런 방법은 조회를 위해 매번 DB에 접근 컴파

2023년 3월 9일
·
0개의 댓글
·
post-thumbnail

도커와 젠킨스를 이용한 CI/CD

📌 계기 프로젝트를 안드로이드 개발하는 팀원분들하고 같이 하다 보니 개발 과정에서 지속적으로 배포를 해야 됐다. 도커를 사용해서 배포를 하고 있었지만 매번 빌드하고 도커허브에 올리고 pull 해서 실행시키기 번거롭기 때문에 젠킨스를 사용해서 자동화를 해보기로 했다.

2023년 2월 26일
·
0개의 댓글
·
post-thumbnail

IP 종류와 차이점

IP(Internet Protocol) 란 인터넷에 연결되어 있는 모든 장치들(컴퓨터, 서버 장비, 스마트폰 등)을식별할 수 있도록 각각의 장비에게 부여되는 고유 주소입니다.IPv4는 32비트로 이루어져있고 약 43억개의 IP주소를 가질 수 있습니다.아직까지도 가장 많

2023년 2월 23일
·
0개의 댓글
·
post-thumbnail

배포를 위한 홈서버 구축하기(포트 포워딩)

이번에 프로젝트를 진행하면서 중간중간 지속적으로 배포를 진행하고 있다.처음에는 aws ec2에 도커를 설치하여 스프링부트를 배포했고 데이터베이스는 RDS를 사용했다.도커를 처음 사용하고 배워가다 보니 너무 신기하고 재밌어져서 데이터베이스 또한 도커를 사용해 ec2에서

2023년 2월 21일
·
0개의 댓글
·
post-thumbnail

You Have To(운동 보조 앱) [3]

이전에 로그인 성공 시 accessToken과 refreshToken을 발급해 주는 것까지 구현했다.이번에는 accessToken이 만료가 되면 refreshToken을 통해 재발급 받는 것을 구현해 보려고 한다.클라이언트가 헤더에 accessToken을 넣어서 htt

2023년 1월 29일
·
0개의 댓글
·
post-thumbnail

You Have To(운동 보조 앱) [2]

이번에는 로그인에 대해 정리해보려고 한다. 아직 완벽하게 끝난것은 아니지만(Refresh Token관련한 부분) 먼저 구현한 부분에 대해 정리하려고 한다. 동작 원리 클라이언트에서 loginId 와 password로 로그인을 시도한다. 서버에서 DB에 loginId/

2023년 1월 15일
·
0개의 댓글
·
post-thumbnail

You Have To(운동 보조 앱) [1]

먼저 DB테이블 구조는 사진과 같습니다.스프링 시큐리티를 사용하여 회원가입을 구현했습니다.클라이언트에서 회원가입 요청.회원 중복검사 후 문제 없으면 회원가입.가입된 유저이름 반환..httpBasic().disable().csrf().disable() : rest api

2023년 1월 14일
·
0개의 댓글
·