본문 바로가기

분류 전체보기533

평창 눈구경 심심해서 눈 구경하러 평창에 놀러갔다.. 처음에는 눈이 없어서 별로 기대를 안했지만 평창에 갈수록 점점 눈이 불어났다. 항상 눈 구경하러 삿포로에 가고 싶었는데 그런 마음이 싹 사라졌다. 나뭇잎이 아니라 눈잎이랄까 영화의 한 장면이 생각이 난다. 추웠지만 예뻐서 눈꽃을 뚫어져라 쳐다보았다. 삼양목장에 갔는데 길 양옆으로 2미터 높이의 눈이 쌓여있어서 놀라웠다.. 창원에는 10년에 한번 눈 내리는데.. 손에 감각이 없어져도 풍경이 사진을 찍게끔 한다. 삼양목장 다음으로 발왕산 전망대에 올라갔는데 전망대 안쪽은 바람이 불어서 그런지 출입할 수 없어서 아쉬웠다.. 미리 말좀 해주지.. 둘째날에는 평창숭어축제에서 숭어를 잡으려고 했는데 물 밑으로 숭어가 지나가는게 가끔 보이긴 하는데 미끼에는 관심이 없어 보였다.. 2024. 1. 29.
다우기술 취직 후기 평창에 놀러가는 길에 차에서 자다가 눈을 떴는데 느낌이 쎄했다.. 메시지 알림이 4개가 있었다.. 첫 메시지를 읽었는데 다우기술에서 윈도우, Mac 중에서 노트북을 고르라는 메시지였다. 합격 결과를 홈페이지에서 확인을 할 수 있었는데 이미 노트북을 고르는 메시지를 먼저 봐버려서 합격이라고 확신이들었다.. 역시나 합격이었다. 취준 기간을 1년 정도 생각했었는데 생각보다 빨리 취직을 해버렸다. 나 전생에 꽤 좋은 사람이었을지도?? 두가지 감정이 겹쳤다.. 이것은 페이스트리 첫 번째는 새로운 환경에 대한 두려움. 두 번째는 정들었던 학교를 떠남. 새로운 사람들과 또 다시 친해질 수 있을까 걱정이 든다. 처음 서울에 혼자 올라왔을 때 친구를 만드는게 정말 힘들고 간절했었는데 또 다시 낯선 환경에 가야한다. 그래.. 2024. 1. 29.
2023-12-30 오늘 마지막 학기 성적이 나왔다. 망했다... C를 준 교수님 제 꿈을 짓밟으시다니... 하늘에선 눈이 펑펑 내린다. 학교에 가니 발목까지 눈이 쌓였다... 분무기를 사서 눈사람을 만드려고 했지만 다이소가 너무 멀어서 분무기는 포기했다. 방학이라서 발자국도 별로 없다. 뭔가 발자국을 남기기 미안한 느낌이 든다. 다른 사람들의 발자국을 따라 걸어가면 흔적을 최소화할 수 있다. 올해 회사 면접들도 다 떨어지고 이제 방학동안 뭘 할지 고민이다. 여행을 가고 싶지만 뭔가 회사 딱 하나가 결과가 안나와서 애매하고.. 일본 시골에 가보고 싶은데.. 친구가 일본 워킹홀리데이 가면 밥 한번 사주고 같이 껴서 놀러가야겠다.. 2023. 12. 30.
정렬 알고리즘 시간 복잡도 버블정렬 위 그림처럼 하나씩 인덱스를 옮기면서 정렬 라운드를 진행하고 정렬이 완료될 때 까지 라운드를 계속 반복한다. 시간 복잡도 N^2 선택 정렬 위 그림처럼 가장 우선순위가 높은 요소를 하나씩 선택하여 가져와서 정렬이 완료된 영역을 하나씩 넓힌다. 시간 복잡도 N^2 삽입 정렬 일단 값을 순서대로 가져와서 위치를 찾아서 삽입한다. 선택 정렬과 비슷하다. 시간 복잡도: N^2 힙 정렬 힙 정렬은 이진 트리 형태로 최대힙 또는 최소힙을 만들어서 값을 정렬하는 방법이다. 정렬을 하는데 log n 의 시간이 걸리고 총 n개를 삽입하므로 -> 시간 복잡도: N log N 병합 정렬 위 그림처럼 모두 분해해서 병합을 하면서 정렬을 하는 방법이다. 병합은 log N 번 진행하고 정렬은 각 병합 단계마다 N번 진행.. 2023. 12. 10.
RABIN, ElGamel 암호 RABIN 암호 RSA 암호 시스템에서 공개키 𝑒=2로 고정한 경우 키생성 1. 𝑘∈ℤ, 4𝑘+3인 서로 다른 두 소수 𝑝와 𝑞를 선택 2. 𝑛=𝑝×𝑞 3. (𝑝,𝑞) 개인키,, 𝑛 공개키 암호화 𝑐 ≡ 𝑚^2 (mod 𝑛) 복호화 복호화 (𝑝와 𝑞가 4𝑘+3형태임을 이용) 𝑎1≡𝑐_1^((𝑝+1)/4) (mod 𝑝), 𝑎2≡−𝑐_1^((𝑝+1)/4) (mod 𝑝) 𝑏1≡𝑐_2^((𝑞+1)/4) (mod 𝑞), 𝑏2≡−𝑐_2^((𝑞+1)/4) (mod 𝑞) CRT를 이용 𝑃1=CRT(𝑎1,𝑏1,𝑝,𝑞), 𝑃2=CRT(𝑎1,𝑏2,𝑝,𝑞), 𝑃3=CRT(𝑎2,𝑏1,𝑝,𝑞), 𝑃4=CRT(𝑎2,𝑏2,𝑝,𝑞) {𝑃1,𝑃2,𝑃3,𝑃4} 중 하나가 평문 예시 키 생성 4𝑘+3의 형태인 𝑝=7과 𝑞=11 𝑛=𝑝×𝑞=.. 2023. 12. 8.
암호학을 위한 기본 수학 지식 암호학 수업이 있어서 공부를 하려는데 수학 지식이 없어서 조금씩 포스팅 하려고 한다. RSA는 어느 정도 알지만 RABIN 암호와 ElGamal 암호를 공부하다가 수학 지식이 없어서 공부하고 다시 도전하려고 한다. 1. 소인수 분해 문제 432 = 2*2*2*2*3*3*3 인데 소인수를 다항식 시간 안에 찾는 알고리즘은 아직까지 존재하지 않아서 풀기 어렵다고 한다. 2. 이산 대수 문제 y = g^x (mod p) 에서 y, g, p 3가지가 주어져도 x를 다항식 시간 안에 구하는 알고리즘이 존재하지 않는다. NP 문제이다. 3. 페르마의 소정리 p가 소수이면 어떤 a에 대해서 아래 식이 성립한다. a^(p-1) = 1 (mod p) 4. 중국인의 나머지 정리 x = 1 (mod 5), x = 0 (mo.. 2023. 12. 2.
AK아이에스 1차 면접 후기 이번주에 애경그룹의 AK아이에스에 개발자로 면접을 보고 왔다. 실제 대면 면접은 처음이어서 어쩔 수 없이 긴장을 많이 한 것 같다. 이번 면접의 교훈은 "포기하지 말자"이다. 면접을 하면서 질문에 대답하다보면 미리 생각했던 답변이 떠오르지 않아서 이상하게 답변을 하는 경우가 많았다. 그리고 옆에 지원자 분이 너무 말을 잘하셔서 아.. 떨어졌구나 생각이 드는 순간 포기하고 싶은 마음이 들었다. 처음 30분은 집중을 했지만 30분이 지나자 점점 의식이 흐려졌다.. 머리 속으로 너무 많은 생각들을 하려다 보니깐 어지러웠다.. 이런 부분은 아마 경험이 쌓이면 괜찮아질 것 같다. 하지만 포기하고 싶은 마음이 드는 것은 처음 경험해봐서 당황스러웠다. 면접을 하면 답변하느라 다른 생각이 안들거라고 예상했는데 막상 질.. 2023. 11. 26.
스프링 데이터 JPA - @EntityGraph 사용 및 Page로 받아오기 @Query("SELECT p FROM Post p JOIN FETCH p.writer WHERE (:search IS NULL OR p.title LIKE %:search%) AND (:writer IS NULL OR p.writer.uid = :writer)") List findAllWithFetchJoin(String search, String writer, Pageable pageable); long count(); @Query("SELECT COUNT(p) FROM Post p WHERE :search IS NULL OR p.title LIKE %:search%") long countBySearch(String search); 조금씩 레포지토리에 조건이 추가되다 보니깐 점점 복잡해지는 느낌이 든.. 2023. 11. 19.
git push -f 금지 오늘의 교훈 git push에서 -f 옵션은 절대 쓰지 말자 머지 취소할 일이 있어서 어떻게 할까 고민하다가 그냥 git push -f 로 강제로 취소하면 되는거 아냐?? 하다가 갑자기 개발 서버 배포가 안됨 git action 페이지에서 로그를 확인하니 브랜치가 여러개?? 라는 로그가 출력되고 아마 그거 때문에 충돌이 발생한 것 같다.. 뭐 사실 깃허브 자체에서는 문제가 없겠지만 서버의 git 버전이랑 원격 저장소 버전이랑 안맞아서 git merge를 할 지 git rebase를 할 지 git 설정에 선택을 하라는 로그가 출력이 되는데 git merge로 선택하니 다행히 다시 잘 작동하는 것 같다. 혼자 호들갑 떨다가 괜히 일 만들어서 2시간을 날려버렸다.. 다음부터는 귀찮아도 배포 관련해서는 정신 붙.. 2023. 11. 9.