
(TMI)더보기IGM에서 진행하는 Application Developer 심화 과정을 신청하고...학회 + 여러 개인 사정이 겹쳐서 4주짜리 교육과정인데 3주차까지 공부를 하지못했다.후다닥 공부가보자고 마이그레이션이란?데이터나 소프트웨어를 한 시스템에서 다른 시스템으로 이동하는 것을 의미한다. 클라우드 간 마이그레이션?많은 기업 조직에서 멀티 클라우드를 사용하고 있는 추세. 그래서 클라우드 간의 리소스 이전이 필요한 경우가 있음. 4R 마이그레이션 전략?Re-host: 거의 호스팅만 다시Re-platform: DB 서버까지도 포함Re-factoring: 코드를 Cloud Native 하게 변경Re-architect: PaaS 최적화까지 포함 클라우드 마이그레이션 표준 방법론1) AS-IS 시스템 현황 ..

문제N*N 이차원 배열에 숫자를 달팽이 모양(시계방향)으로 담아라 풀이1) 이차원 배열 생성2) 돌면서... 값 넣어주기 돌면서 값 넣어주기를 어떻게 할것인가...N이 4인경우 배열을 모두 0으로 초기화 해준다.방향 변수(direction)를 두어 0, 1, 2, 3의 방향으로 이동할거다.만약 다음 이동할 좌표의 값이 0이 아니거나 배열 범위 밖일 경우 방향 변수 값을 +1해준다. dx {0, 1, 0, -1}dy {1, 0, -1, 0} 종료 조건은 N^2 크기의 배열이 모두 찬 경우다! import java.util.Scanner;import java.io.FileInputStream; /* 사용하는 클래스명이 Solution 이어야 하므로, 가급적 Solution.java 를 사용할 것을 권장합..
도커란 무엇인가?도커는 애플리케이션이 실행되기 위해 필요한 종속성(라이브러리, 설정 파일, 네트워크 설정 등)을 하나의 컨테이너로 패키징하는 기술이다. 이를 통해 어디서든 동일한 환경에서 애플리케이션을 실행할 수 있어 환경 차이로 인한 문제를 해결해 준다.예를 들어, 도커 이미지를 만들어 동료 개발자나 QA 팀에 전달하면, 해당 이미지를 통해 종속성, 네트워크 설정 등 모든 환경을 동일하게 유지할 수 있다. 이 방식은 협업 시 매우 유용하며, 개발 단계에서 테스트나 배포 환경의 차이로 발생하는 문제를 최소화할 수 있다.도커와 가상 머신의 차이점도커는 가상 머신(VM)과 비교되는데, 이는 두 기술이 유사한 측면이 있기 때문이다. 하지만 중요한 차이점이 있다.가상 머신: 각 가상 머신은 독립적인 운영체제를 ..

슬슬 취업 준비를 본격적으로 하고 있다.갑작스럽게 코딩테스트를 볼 일이 생길까 하여 급하게 프로그래머스 고득점 키트를 열어보았다. 출제 빈도 높은거부터 차근차근 풀어보려고 한다!첫번째는 해시다. 더보기문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 ..

1. 요구사항구현된 프로젝트에서 사용자가 지정한 비밀번호 값은 입력한 문자열 그대로 저장이 된다.보안을 위해 해시값을 저장할 예정이고 SHA-256를 사용하려고 한다. 2. 해결 방법수정이 필요한 API는 회원가입, 로그인, 비밀번호 재발급이다. 비밀번호 암호화에 대해 궁금증이 생겼다... 바로 salt값에 대한 것.salt값을 사용해서 무작위 공격을 방어한다고 배웠는데 그럼 salt값은 어디에 저장되는걸까?답은 이 블로그에서 얻었다.따로 정리하고 싶지만 지금은 개발이 급하기에 패스! 구현에 BCryptPasswordEncoder 클래스를 사용하려고 한다. salt 생성하고, 해시값에 붙여주고 비교해주는 것까지 해결해준다. 아래는 해당 클래스의 주요 메서드이다. encode(CharSequence ra..

처음 풀어보는 리트코드. Study plan에서 LeetCode 75를 시도해봤다.문제word1과 word2가 주어졌다. 두 문자열을 번갈아 가며 합치고 word1부터 시작하라. 만약 하나의 문자열이 다른 것보다 길다면 추가적인 문자열은 뒤에 합쳐라. class Solution { public String mergeAlternately(String word1, String word2) { int len1 = word1.length(); int len2 = word2.length(); int readIndex = 0; int writeIndex = 0; char[] str = new char[len1 + len2]; ..

1. 문제 상황라즈베리파이와 Spring 서버는 Mqtt로 통신한다.이때 AWS IoT 라이브러리 또한 사용한다.근데 왜인지... Connection이 3~4초 단위로 끊긴다... 2. 문제 해결 (1) AWSIotMqttClient 설정 문제? 나와 같은 문제를 겪는 사람을 스택오버플로우에서 찾았다.차이점은 저 사람은 10분 단위로 끊기고 나는 3초 단위로 끊긴다는 거... 답변에 있는 방법으로 setKeepAliveInterval 속성 등을 수정해보고, setConnectionTimeout 등도 수정해 보았지만 오류는 여전하다... (2) Client ID 문제?다른 사이트에 올라온 코드를 보다가 Client ID를 동적으로 생성하는 부분을 보았다.나는 위 사진처럼 Client ID를 고정된 값으..

해당 프로젝트는 화상채팅 기능을 포함한다.화상채팅은 주로 WebRTC를 사용해서 구현한다. 그럼 WebRTC에 대해 알아보자. 아주 간단한 그림으로 표현해보았다.기존 방식과 WebRTC의 가장 큰 차이점은 아래와 같다. 기존 방식서버를 거쳐 메세지를 주고 받음 WebRTC클라이언트와 클라이언트가 직접 통신함(P2P) 여기서 WebRTC는 시그널링 서버를 필요로 한다.시그널링 서버는 클라이언트 간의 P2P 통신을 위해 초기 연결 설정을 도와주는 서버이다. 시그널링 서버는 클라이언트들이 서로 연결되기 위해 필요한 네트워크 정보(IP 주소, 포트 등)과 미디어 정보(코덱 등)를 교환하는 역할을 하며 해당 정보는 SDP라는 형식을 통해 주고받는다. 여기서 핵심은 시그널링 서버는 클라이언트 간의 연결 설정에..
1. Session 인증 → JWT 인증 올해 초에 개발한 프로젝트에서는 Interceptor를 사용하여 로그인과 인증 과정을 (코드는 '더보기' 참고) 구현하였다. 사실 머쓱할 정도로... 단순하고 허접한 구현이라 구현을 했다고 보기도 어렵다. session에 id 속성이 있다면 모두 접근 허용을 해줬다. 해당 세션 정보를 별도의 DB에 저장을 하고 관리를 하는 방법으로 개선할 수 있을 거 같다. 너무 구현자체에 급급했다. 더보기package semohan.owner.global.auth;import jakarta.servlet.http.HttpServletRequest;import jakarta.servlet.http.HttpServletResponse;import jakarta.servlet.ht..
- Total
- Today
- Yesterday
- bcrypaswordencoder
- 스프링부트
- 컴과
- 프로그래밍
- 동덕여대 컴퓨터학과
- BFS
- 안드로이드
- 스파크
- 리트코드 1768 해석
- 백준
- 스프링 강의
- 컴퓨터학과
- 생활코딩
- RDD
- 자바 1004번
- 리트코드 1768
- 백준 1004
- 자바 9375
- 알고리즘
- 그리디 알고리즘
- 아이엘츠
- 컴공
- 백준 2108
- 코딩
- 백준9375번
- 개발
- 동덕여대
- 자바
- 웹
- 코틀린
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |