원래는 그냥 자체 회원가입을 진행하려고 했는데, 학교 학생들을 대상으로 한 서비스이다보니 학교 이메일 인증이 필수적이라고 생각해서 아예 아이디 대신 학교 이메일을 대신 사용하는게 낫겠다는 생각이 들었다. 그래서 userId 필드 자체를 없애버리고 학교 이메일로 대체했다. 그렇다면 이메일로 인증 코드를 발송하고 그것이 프론트단에서 사용자가 확인차 입력한 코드와 일치하는지 확인하는 로직이 추가적으로 필요했다. 그렇게 어려운 과정이 아닌 것 같았는데 원래 회원가입 하나로 구성된 api 엔드포인트를 인증번호 전송 / 인증번호 확인 / 회원가입 세 개의 엔드포인트로 나눠서 구성해야 했고, 그 과정에서 군데군데 에러가 터졌는데 예외처리를 세분화하지 않으면 어디서 에러가 터졌는지 찾기가 힘들어서 좀 까다로웠다. (계..
[Tistory] [ws] Spring 에서 Websocket 연결하기
Latency alone is not a deciding factor. If the volume of messages is relatively low (e.g. monitoring network failures) HTTP streaming or polling may provide an effective solution. It is the combination of low latency, high frequency and high volume that make the best case for the use WebSocket. https://docs.spring.io/spring-framework/docs/5.0.4.RELEASE/spring-framework-reference/web.html#websock..
[Tistory] 셀프 모바일청첩장 만들기!(feat. Github)
개발자니까 모바일 청첩장은 내가 만들어볼게 실수였다… 나는 백엔드 개발잔데 화면 구성은 어떻게 하지…? 그래도 학교 다닐때 html이랑 javaScript를 잠깐 배웠으니…가능할지도…???????? 라는 생각으로 여러 레퍼런스들을 찾아봤다. 그리고 디자인 부터 시작했다. 1. 구성 먼저 디자인을 구성하기 전에 우리가 모바일 청첩장에 담고 싶은 내용들을 생각해봤다. 기존 업체들의 틀에 박힌 모바일 청첩장보단 내가 만들었으니 차별점을 두고 싶었다. BGM없고 부모님이 해외에 계시기에 연락처보단 카카오 연동이 필요했다. 간단한 메세지와 전달해야 하는 내용들만 담고 싶었다. 2. 타겟 우리의 청첩장을 누구에게 전달해야 할까 생각해봤다. 친구 지인 회사 친인척, 부모님 지인 크게 타켓은 [친구, ..
[Tistory] AWS | S3 를 이용한 파일 업로드 기능 with Kotlin, swagger
aws 버킷생성 1. 버킷 만들기 선택 2. AWS지역과 버킷 이름을 입력 3. 객체 소유권을 ACL 비활성화됨으로 되어있는데 ACL 활성화됨으로 변경 (유의사항 꼭 확인 – 불이익시 내 책임 아님!!) 4. 아래 항목에 대해 체크를 해제하여 외부의 모든 사용자들이 접근 가능한 Public 객체 생성이 가능합니다. Public Access 설정을 원하는 버킷 선택 [권한] -> [퍼블릭 액세스 차단(버킷 설정)] 에서 [편집] 아래 항목에 대한 체크 해제 후 저장 (유의사항 꼭 확인 – 키 노출시 돈 털릴 수 있음 – 불이익시 내 책임 아님!! ) aws 설정 참고: https://support.bespinglobal.com/ko/support/solutions/articles/73000544767–a..
[Tistory] 12주차 스테이지어스 내용정리(2)
자바스크립트의 2가지 문제 1. 중복 선언 문제2. hoisting 문제==> 예측가능 어려움 var number = 10 console.log(number) //10 var number= 20 console.log(number) //20number 변수가 2개 생기는 것이 아니라 다시 선언되는 것임. function test(){ console.log(“hello”) } test() function test() { console.log(“bye”) } test()함수도 마찬가지 이다 호이스팅 문제로 인해서 bye 가 남게 되고 test 2번하게 되면 2번다 ..
[Tistory] 99클럽 코테 스터디 4일차 TIL 올바른 괄호 feat(queue.add vs offer)
https://school.programmers.co.kr/learn/courses/30/lessons/12909/ 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr queue.add vs offer 1. 접근 방식 문제는 올바른 괄호를 만드는 건데 (로 시작했음 )로 닫혀야 한다.true or false로 반환 100,000 내 생각엔 1. 시작은 무조건 (2.끝은 )3.짝수 다 통과했다면큐에 (면 넣고, )로 빼서 queue가 비었는 지 반환하면 될 거 같다.. 2. 문제 풀이 private boolean solution(String s)..
[Tistory] thread unsafe
thread unsafe 가 무엇?동기화가 되어있지 않는 환경. 동기화는 멀티 쓰레드 환경에서 일어난다. 멀티 쓰레드란?다수의 쓰레드가 동시 실행되는 환경을 의미한다. 멀티 쓰레드 환경에서는 병렬로 처리가 진행되기 때문에, 쓰레드간 자원에 동시 접근하여 삽입, 삭제와 같은 연산을 수행 할 경우 개발자의 의도와는 다른 결과가 도출 될 수 있다. 이러한 문제를 예방하는 것이 synchronized 키워드 이다. 메서드 앞에 synchronized 키워드를 삽입하면, 동기화 처리가 되어 동시 접근을 방지해준다. 동기화란?서로가 알고 있는 것을 일치시키는 것이다. 컴퓨터의 영역에서는 데이터를 일치시키는 것을 의미한다. 이를 위해서는 프로세스의 순차적 작업이 이루어져야 한다. thread unsafe 대표..
[Tistory] 과적합(Overfitting)과 정규화(Regularization)
과적합 집값을 선형 회귀로 표현한 그래프를 통해 과소적합과 과적합을 설명하고자 한다. 그림의 왼쪽 그래프는 과소적합(Underfitting)을 의미한다.그래프에 사용되는 Feature(특징)이 1개뿐인데, 매개변수 2개를 사용해 직선 형태로 데이터를 억지로 모델링하려 하니 알고리즘이 강한 선입견을 가지게 되어 데이터의 분포가 ‘집의 크기가 커져도 집값이 크게 변하지 않는 평탄한 부분’에 대한 예측을 잘하지 못하게 된다.이런 과소적합을 다른 말로 표현하면, 모델이 높은 편향(Bias)을 가지고 있다고 할 수 있다.편향은 어떤 것을 예측할 때 특징의 영향을 받지 않는 값인데 이 편향 수치가 높으면 특징에 관계없이 엉뚱한 예측을 하게 된다. 주로 모델이 단순하거나, 학습 반복(Iteration) 횟수가 적은 ..
[Tistory] 소켓 프로그래밍
🤔 소켓이란 네트워크에서 데이터를 송수신할 수 있도록 네트워크 환경에 연결할 수 있게 만들어진 연결부 네트워크에 연결하기 위한 소켓은 정해진 규약, 즉 통신을 위한 프로토콜에 맞게 만들어져야 한다. 보통 OSI 7 계층 중 4 계층인 TCP 상에서 동작하는 소켓을 주로 사용하며, 이를 TCP 소켓 또는 TCP/IP 소켓이라고 부른다. 마찬가지로 UDP에서 동작하는 소켓을 UDP 소켓이라고 부른다. 소켓은 크게 프로토콜, IP 주소, 포트로 정의된다. 🚩 용어 정리프로토콜(Protocol)컴퓨터 사이에서 메시지를 주고 받는 데 필요한 양식, 약속이나 규약IP 주소(IP Address)각 장치(호스트)를 식별하기 위한 고유 주소. 송신자와 수신자를 식별포트(Port)IP 주소를 통해 도착한 호스트에서 어..
[Tistory] CUDA 호환성 확인 및 설치 방법 (총정리)
본디 연구에서 환경 설정이 가장 어렵다는 말은 들어왔지만… 정말 쉽지 않다.따라서 CUDA 환경 구축에 있었던 어려움을 모두 해소해줄 통합 CUDA 설치 방법을 작성해보고자 한다!계속 업데이트 해나갈 생각이다. 해당 글은 Nvidia driver는 이미 설치되어 있는 상황을 가정하고 진행된다. 마지막 업데이트 일시: 2024년 7월 16일 준비 과정설치 전 나의 환경 세팅에 대해 알아가야 한다.나의 GPU 정보 얻기: 모델 명, driver 정보 등Driver 정보에 따른 사용 가능한 CUDA 탐색https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html#cuda-major-component-versionsGPU capability에 따..