[도서리뷰] 요즘 개발자를 위한 AWS 비용 최적화
·
Etc./도서리뷰
이 글은 서평단으로 참여해 작성한 리뷰입니다.그동안 프로젝트는 AWS 프리티어만 써봤었고, 다들 학생이라 무료인지가 가장 중요했다.처음에 AWS 프리티어를 쓸 때도 예상하지 못한 비용(?)이 나올까 봐 조심스러웠다. 돈이 얼마나 나오는지, 뭐가 뭔지 잘 모르니까 그랬다~ 그러다 우테코에서는 AWS 인프라를 지원받아 실제 서비스를 운영할 기회가 생겼다.지금은 EC2, RDS, S3, CloudWatch, Bedrock 등을 쓰고 있는 중이다. 그런데 지원비 내에서 서비스를 운영하다 보니 이전에는 생각지 못했던 부분들이 생겼다.(프리티어였기도 하고, 사실 뭐가 뭔지 몰라서 감도 안잡혔다) 우리 프로젝트에는 어떤 자원에 비용이 얼마나 나오고 있을까? AWS를 사용하고는 있는데, 실제 운영 비용을 설명해 보라고..
[우테코] 8기 최종 테스트 후기 (백엔드)
·
일상
1차 합격 이번 8기 프리코스 4번째 과제는 오픈 미션으로 스스로 도전 과제를 설정하는 방식이었는데,'진짜' 도전이랍시고 너무 어렵게 잡아 미완성으로 제출했었기에 정말 예상치 못했다. 그랬는데.. 12월 29일 합격 메일이 와서 정말 기뻤다.다른 합격 소식은 없었던 한 해였는데, 우테코 1차 합격으로 25년을 마무리할 수 있다는 사실이 감사했다. 최종테스트 준비 최종 테스트는 직접 시험장에 가서 AI와 외부 도움 없이 스스로 문제를 풀어내야 한다.그냥 문제 보고 손 코딩만으로도 문제를 풀어낼 수 있을 정도가 돼야겠구나 싶었다. 문제점 1 : Java가 약함기쁜 한편으로 Java 사용에 취약한 나로서는 빨리 대책을 세워야 했다. 그동안 백엔드를 Java + Spring으로 해왔는데 Java에 취약..
[std::collections] Rust BinaryHeap 내부 구조 및 사용법 (우선순위 큐 / 힙)
·
Rust 연구 노트/Rust 이야기
요즘은 C/C++보다 Rust로 알고리즘 문제를 풀고 있어서 문제마다 필요한 라이브러리를 공부 중이다.C++이나 Java는 구글링하면 PS에 필요한 라이브러리 사용법 포스팅이 많은데 Rust는 국내에 없어서 쓴다. 물론 공식 문서가 있지만 영어가 불편한 분들을 위해 필요한 것만 한글로 알잘딱깔센으로 써보겠다.내부 구현이나 철학은 필요없고, 라이브러리 사용법만 알고 싶다면 카테고리에서 바로 넘어가면 된다.그렇지만 내부 구현이나 동작 흐름 위주로 분석한 글이라는 점을 참고하자. 그래서 skip 하지 않고 이 글을 다 읽으면우선순위 큐 자료구조와 힙/힙 트리Rust BinaryHeap의 내부 구조와 동작 흐름C/C++, Java와 비교했을 때의 차이점은 확실히 이해할 수 있을 것이라 장담한다. 📖 ..
[도서리뷰] 0과 1 사이
·
Etc./도서리뷰
"한빛미디어 서평단 활동을 위해서 책을 협찬 받아 작성된 서평입니다." 간략 소개- 책 제목: 0과 1 사이- 분야: 리눅스, 저수준, 보안- 난이도: 上- 분량: 712p (총 9챕터)- 참고사항: "BINARY HACKS: 해커가 전수하는 테크닉 100선" 개정판 처음에 Hacks를 보고 "오호, 해킹을 위한 책이군.. 나도 보안 동아리 출신인데 엣헴"하면서 골랐는데,Hacks가 해커의 hack은 아니고, 그냥 Life Hack(생활의 꿀팁) 같은 의미로 쓰였다.물론 해킹/보안 영역에 적합한 것도 맞는데, 저수준에서의 프로그래밍 노하우라 보면 된다. 내가 본 책 중에 가장 저수준이었고, 가장 어려웠다 (다 읽어보지도 못 함)일단 리눅스를 사용하지 않거나 모른다면 이해하기 쉽지 않을 것이다.애초에..
[코테] Monito 환경 세팅 Tip (핸드폰 카메라 위치 문제 해결)
·
Etc.
아마 다들 열심히 노력해서 서류를 통과하고 코딩테스트를 앞둔 상황일 텐데,비대면 코테는 요새 Monito + 프로그래머스 조합이 트렌드인 것 같다. 비대면으로도 정정당당하게 코테를 보게 하려고 아주아주 엄격한 환경 세팅을 요구한다. 여기서 좀 주의해야 할 부분을 짚고 넘어가고, 까다로운 환경 세팅 꿀팁을 공유하려 한다.주의사항이 꽤 많아서 놓칠 수 있는데, 코테 잘 봐놓고 이걸로 떨어지면 서러우니까 유의하자. 사전 테스트를 해보고 휴대폰 카메라 세팅에서 이거 어떻게 하나 싶어서 구글링해 온 분도 있겠지만,아직 사전 테스트를 안 해본 사람이 있다면, 여유 시간 충분히 두고 하는 게 좋다. 처음 하면 한 10분 이상 뚝딱거릴 수 있으니 꼭 여유 있게 하자. 대표 주의 사항 10개 ⚠️0. 독립된 ..
[백준] 24390번: 또 전자레인지야? (C / C++)
·
Algorithm/문제 풀이
문제문제 링크: https://www.acmicpc.net/problem/24390 문제 분석 쉬운 문제이긴 한데, BFS로 푼 사람이 꽤 보여서 더 쉬운 풀이를 공유하려고 포스팅했다. 다들 집에서나 편의점에서 전자레인지 한번쯤은 써봤을 거다.주어진 조리 시간을 맞추는데 버튼을 최소로 누르기만 하면 된다. 보통 이렇게 시간이 주어지는 문제에서는 단위를 통일해주면 편하다.예를 들어 `mm:ss`로 나눠진 경우엔 분에다가 60 곱해서 초로 통일하면 계산하기 편하다. 근데 사실 이 문제에서는 굳이 통일 할 필요가 없다.초로 통일해서 풀어도 쉽지만, 이 문제는 그대로 두면 더 쉽게 풀 수 있거든.마찬가지로 문제에 따라 문자열 그대로 정렬해도 충분한 경우가 있으니, 시간 나온다고 다 바꾸진 말자. 분과..
[백준] 22994번: 이미지 축소 (C / C++)
·
Algorithm/문제 풀이
문제문제 링크: https://www.acmicpc.net/problem/22994 문제 분석글만 봐서는 이게 대체 무슨 말인가 싶을 수 있다. 다들 어릴 때 한번쯤 그림판에서 그림 좀 확대해봤을 텐데,이런 비트맵 그림을 떠올리면 매우 간단하다. 늘려진 이미지(우)를 보고 원본 이미지(좌)를 구해내면 되는 문제다. 이미 늘려진 이미지를 손상없이 축소하려면,색칠된 구역을 길이 대비 그대로 살리면서 면적을 줄이면 된다. 아스키 코드로 표현된 부분을 이렇게 색으로 바꿔서 생각해보면,원본에서 늘렸을 때 같은 색상 부분은 늘린 만큼 늘어날 것이다 (그게 확대니까) 우선 몇 배 확대했는지를 알아야 한다. 여기서 판단이 필요한 부분은 저 왼쪽 눈의 경우에서 노란 영역과 검은 영역이다.노란 부분은 계속 이..
[DB] 클러스터 인덱스구조(InnoDB)에서 랜덤 PK와 순차 PK 성능 비교
·
Computer Science/DB Engineering
발단GitHub 사용 증진 및 편의 기능을 제공하는 서비스1. 특성상 회원이 모두 GitHub 유저이고, GitHub로 소셜 로그인한다.2. 팀에서 사용할 RDB를 MySQL로 채택한 상황이다.3. Github 고유 사용자 번호는 8자리 정수로 구성 -> 가입 시기에 따라 값이 천차만별이다. 프로젝트를 진행하면서 팀에서 User 테이블 PK를 GitHub 고유 사용자 번호로 사용할 지,AUTO_INCREMENT 인조키를 사용할 지에 대한 논의가 있었다. 나는 InnoDB (클러스터 인덱스 구조) 특성상 랜덤 PK는 page split을 유발해 비효율적이라 생각했다. -- 이렇게 8자리 정수 형태임ex) github_user_id: 94708156 -- (내 id에서 일부 자리만 변경한 형태) 왜냐..