본문 바로가기

전체 글60

[DB] PostgreSQL과 MySQL의 차이 (퍼옴) https://www.integrate.io/ko/blog/postgresql-vs-mysql-which-one-is-better-for-your-use-case-ko/ PostgreSQL과 MySQL 비교: 주요 차이점사용 사례에 더 나은 DBMS를 결정하기 위해 MySQL과 PostgreSQL을 비교합니다.www.integrate.io 2024. 9. 23.
[Android Studio] TedPermission 들어가며,졸업작품 프로젝트를 진행하는데 Android Studio를 사용하는 파트가 주어졌다사용할 기술은 'OCR' 기능으로, 휴대폰 카메라로 카드를 촬영할 시 카드번호를 인식하여 이를 Springboot 서버로 넘겨주는 부분이다.카메라 촬영 시 권한이 필요하다예시) TedPermission은 라이브러리이다권한 허용을 쉽게해주는 라이브러리이다 안드로이드에서는 특정 동작을 위하여 권한이 필요하다.일반권한은 개인정보를 요청하지 않는 권한으로 앱 설치시 권한을 요청하며, 대표적으로 인터넷 접근 권한, 와이파이 접근 권한, 블루투스 접근 권한 등이 있다.위험권한은 개인정보를 요청하는 권한으로 그 기능이 동작할때 권한을 요청하며, 대표적으로 카메라, 위치, 갤러리, 주소록 권한 등이 있다 카메라 기능 사용권한 추.. 2024. 8. 28.
⭐[DB] Redis를 사용해 이메일 인증을 해보자. 들어가며,프로젝트에서 사용자 및 이메일 관련 로직을 담당하게 됬다.구현을 하던 중, 이메일로 보낸 인증코드를 '검증' 하는 로직을 짜는데 Redis 라는 Nosql 비관계형 DB가 필요하게 되었다. 따라서 오늘은 Redis에 대하여 작성해 볼 것이다. 먼저 Cache의 개념부터 알면 좋다.Cache 란한번 읽은(처리된) 데이터를 임시로 저장하고, 필요에 따라 전송, 갱신, 삭제하는 기술이다.보통 서버의 메모리를 사용하는 경우가 많다.메모리를 사용하기 때문에 매번 Disk로부터 데이터를 조회하는 것보다 훨씬 빠른 I/O 성능을 얻을 수 있다.하지만 서버가 다운되거나, 재부팅되는 경우 데이터가 사라지는 휘발성의 성격을 갖고 있다.따라서 영속적으로 보관할 수 없는, 임시적으로 보관하고 빠르게 해당 정보에 접근.. 2024. 6. 23.
[Java] 컬렉션 Collection 들어가며,스프링 강의를 듣다 Entity 설계시, 컬렉션은 필드에서 초기화하는게 좋다고 들었다.따라서 자바의 컬렉션을 다시 한 번 머리 속에 정의시키고 싶어 글을 쓴다.   📌Java Collections Framework  Java에서 컬렉션(Collection)이란 여러 요소들을 담을 수 있는 자료구조다. 즉, 다수의 데이터 그룹이며 다른 말로 컨테이너(Container)라고도 부른다.  JCF(Java Collections Framework)는 이러한 데이터, 자료구조인 컬렉션과 이를 구현하는 클래스를 정의하는 인터페이스를 제공한다. Java Collections Framework 의 등장배경아래와 같은 이유로 등장하게 되었다.1. 배열은 선언과 동시에 배열의 크기가 초기화 되고 이후에 변경이 불.. 2024. 6. 15.
[React] SPA(Single Page Application)에 대해 알아보자 들어가며,오늘은 SPA에 대해 알아보려 한다!공부를 시작한지는 얼마 안 되었지만 공부를 하다보니 SPA 라는 개념이 한 번씩 들렸기 때문에 궁금해서 조사해보았다. 그럼 시작!! 📌SPA 란? SPA(Single Page Application)는 단일 페이지 응용 프로그램을 의미한다. 이는 기존 웹 애플리케이션과 달리 페이지 갱신 없이 동적으로 콘텐츠를 로드하고 UI를 업데이트할 수 있는 방식으로 동작한다.기존의 다중 페이지 웹 애플리케이션은 각 페이지가 서버로부터 완전히 새로운 HTML을 받아와야 했었다. 반면 SPA는 초기에 필요한 HTML, CSS, JavaScript를 한 번만 로드하고, 이후에는 필요한 데이터만 서버로부터 받아와서 동적으로 페이지를 업데이트한다.SPA의 특징단일 페이지 로드: 사.. 2024. 6. 13.
[스위프 후기] '스위프' 사이드 프로젝트 완료 후기 4월 초부터 시작한 사이드 프로젝트 '스위프' 후기이다!합격후기 포스트를 쓴지 엊그제 같은데,,,정신없이 구현하고 회의하고 수정하고를 반복하니 어느덧 하나의 사이드프로젝트를 완성하였다.총 기간은 4.4 ~ 5.31 약 두달간 진행되었다.https://holmol.tistory.com/89 [SWYP 4기] 사이드 프로젝트 '스위프' 합격하다!어느날 IT 교육 플랫폼에 올려져있던 '스위프 모집' 게시글을 보게되었다.  IT직군을 위한 사이드 프로젝트에 기획자, 디자이너, 개발자가 한팀으로 웹개발 단기 프로젝트로 커리큘럼을 따라 만holmol.tistory.com 지원동기스위프를 지원한 가장 큰 계기는 기획자, 디자이너, 프론트엔드, 백엔드 역할별로 나뉘어진 협업 방식, 개발 과정을 실무와 비슷하게 진행할 .. 2024. 6. 8.
[DB] Redis란? 사용하는 이유 들어가며,프로젝트에서 사용자 및 이메일 관련 로직을 담당하게 됬다.구현을 하던 중, 이메일로 보낸 인증코드를 '검증' 하는 로직을 짜는데 Redis 라는 Nosql 비관계형 DB가 필요하게 되었다. 따라서 오늘은 Redis에 대하여 작성해 볼 것이다.먼저 Cache의 개념부터 본 뒤, Redis로 넘어가자. Cache 란?캐시(Cache)란 한 번 처리된 데이터를 임시로 저장하고, 필요에 따라 전송, 갱신, 삭제하는 기술이다. 보통 서버의 메모리를 사용하는 경우가 많으며, 이를 통해 매번 디스크에서 데이터를 조회하는 것보다 훨씬 빠른 I/O 성능을 얻을 수 있다.캐시는 메모리를 사용하기 때문에 서버가 다운되거나 재부팅되는 경우 데이터가 사라지는 휘발성의 성격을 갖고 있다. 따라서 영속적으로 보관할 수 없.. 2024. 5. 12.
[React] React란? React의 장점 들어가며,오늘은 React에 대해 소개하는 시간을 가져보려한다!군말없이 시작📌React 란?? React는 Facebook에서 개발한 JavaScript 라이브러리로, 사용자 인터페이스를 만들기 위한 도구이다.React는 UI를 구성하는 데에 중점을 두는데, 특히 UI를 interative 하게 만들어 준다.전체 프로그램 설계를 깔끔하고 일관성 있게 정리할 수 있는 조직성(organization)이 강함미리 만들어 놓은 조각을 다시 사용할 수 있어 코드 재사용성(reusability)이 높음기본 웹 프로젝트뿐 아니라 모바일 앱(React Native로 구현), 데스크탑 앱(Electron으로 구현)을 만들 수 있다는 점에서 매우 유연성(flexibility)이 높음 React의 핵심 개념 중 하나는 ".. 2024. 5. 12.
[그리디 알고리즘] 어떻게 정렬해야 미래의 선택을 따져보지 않고 현재만 고려해도 최적의 해를 구할 수 있을까 라는 답을 생각해봐야 합니다.-그리디 알고리즘의 대표적 문제 유형으로는 활동 선택 문제나 거스름돈 문제 등이 있다.회의실 정하기 백준 문제 중 가장 빨리 끝나는 회의부터 먼저 진행해야 가장 많은 회의를 진행할 수 있다라는 결론을 내릴 수 있다. 그러므로 입력받은 정보들을 종료 시간을 기준으로 오름차순으로 정렬하고 제일 처음부터 진행 가능한 회의들을 하나씩 진행합니다. 그렇게 하나를 진행하고 나면 해당 종료 시간 전에 시작하는 회의는 진행이 불가능하니 무시하고 진행 가능한 회의들을 또 진행하며 반복하는 겁니다. 그래서 종료 시간을 기준으로 잘 정렬하기만 하면 현재의 선택이 무조건 최적의 해라고 보장할 수 있고 그렇다면.. 2024. 5. 12.
[Spring] Spring Security - BCryptPasswordEncoder 회원가입/로그인 Spring Security 란?BCryptPasswordEncoder 란? 먼저 BcryptPasswordEncoder를 사용하기 위해서는 Spring Security를 받아야한다. Build.gradle의 dependencies에 다음 코드를 추가하고 코끼리를 누른다.implementation 'org.springframework.boot:spring-boot-starter-security'스프링 시큐리티를 사용하게 되면 기본적으로 api를 요청할 때마다 사용자 인증을 거쳐야한다. 아무런 설정도 하지 않고 그냥 api를 호출하게 되면 인증되지 않았기 때문에 오류가 발생한다. 그래서 다음과 같이 configuration 패키지 안에 SecurityConfig 클래스를 만들어 기본 설정을 하고 빈으로 등.. 2024. 5. 11.