분류 전체보기
[Oracle Cloud] 리소스 사용량 Limit 걸기
[Oracle Cloud] 리소스 사용량 Limit 걸기
2024.07.05무제한으로 사용 가능한 리소스에 Limit을 다른 팀원도 볼 수 있도록 걸어 놓는 법!1. Limits, Quotas and Usage으로 이동하여 Limit을 확인Limit을 확인 가능한 곳 페이지로 이동https://cloud.oracle.com/limits https://cloud.oracle.com/limits cloud.oracle.com여기서 Service와 Scope과 Compartment를 적절하게 설정하여 Limit을 걸고 싶은 자원을 찾는다.원하는 항목의 우측 메뉴를 클릭한다.Create Quota Policy Stub을 클릭한다.다음의 텍스트를 복사한다.2. Quotas로 이동하여 제한을 건다Quotas으로 이동한다.https://cloud.oracle.com/quotas https:..
[서평] 혼자 공부하는 네트워크
[서평] 혼자 공부하는 네트워크
2024.05.26한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다.책의 특징어려울 수 있는 네트워크 용어의 깔끔한 설명대학교 2학년 때 네트워크 게임을 만들면서 처음 네트워크를 공부하기 시작했는데 전공책을 붙들고 용어 때문에 참 어려웠던 기억이 있습니다. 지금 생각하면 별 것도 아닌데 hop, client, packet, frame, payload, duplex, routing 등의 용어가 명확하지 않아서 정말 힘들었던 기억이 있습니다. 확실히 한국어로 용어 설명이 필요할 때 풀어있어서 처음 네트워크를 접하는 분은 쉽고 명확하게 읽을 수 있을 것 같습니다. OSI 참조 모델도 TCP/IP가 실제로 쓰인다는데 어떻게 받아들여야 할지 헷갈린적이 있습니다. 말고도 전공책을 볼 때 이런건 왜 필요하지? 왜 이런식으로..
[서평] 함수형 프로그래밍 with 자바
[서평] 함수형 프로그래밍 with 자바
2024.04.28한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다.리뷰함수형에 영향 받아 들어 온 문법(람다, 스트림, 등)을 긴 코드 짧게 치는 용도로 생각하고 있다면 읽어봐야 할 책대학교에서 과제나 학교공부를 하다보며 자연스럽게 수업에서 자주 다루는 자바를 많이 활용합니다. 그래서 다양한 친구들의 자바 소스코드를 구경했습니다. 보통 학교에서 가르치고 요구하는 스타일은 자바 8.0 이전의 스타일입니다. (제 개인적인 경험으로는) 과제 코드 자체가 2000년대 초의 Java 1.4 코드거나 제약 조건이 있고 예전 강의자료를 기반으로 대표적인 문법을 쓰기에 그런 것 같습니다. 그래서 그런지 주변의 친구들이 자바를 활용하는 방식을 보면 디자인 패턴이나 객체 지향 등을 공부하며 OOP 스타일의 자바는 익숙하지만 함..
최단 경로 문제 - 다익스트라 알고리즘
최단 경로 문제 - 다익스트라 알고리즘
2024.04.09최단 경로 문제 최단 경로 문제는 그래프 내의 두 정점(노드) 간의 가장 짧은 경로, 즉, 각 간선들의 가중치의 합이 최소가 되는 경로를 찾는 문제이다. 그래프의 형태에 따라 다양한 최단 경로 알고리즘이 존재한다. 이러한 알고리즘은 그래프의 크기, 가중치의 존재 유무 또는 음수 사이클의 존재 여부 등에 따라 다르게 사용한다. 대표적인 알고리즘 복습할 겸 대표적인 최단 경로 알고리즘을 찾아봤다. 다익스트라 알고리즘: 가중치가 음수가 아닐 때 사용될 수 있다. 다익스트라가 대학원생이던 시절 여자 친구와 함께 커피숍에 갔다가 20분 만에 고안한 알고리즘으로도 유명하다. 벨만-포드 알고리즘: 음수인 가중치를 처리할 수 있는 알고리즘이다. 음수 사이클을 탐지할 수 있는 것이 특징이다. 플로이드-워셜 알고리즘: 가..
[AWS] 2월부터 늘어난 VPC 비용 - In-use Public IPv4 Address
[AWS] 2월부터 늘어난 VPC 비용 - In-use Public IPv4 Address
2024.03.03오늘 2월 Invoice를 받아보니 VPC 비용이 갑자기 애매하게 증가한 사실을 알 수 있었습니다... 상황에 따라 몇 만원이 초과할 수 있어서, 예산 알림을 20$로 정해두어서 알림을 받지 못해서 인보이스를 받고서야 알아차렸습니다. 흑.. 아래의 공지를 보면 비용이 증가 이유를 알 수 있습니다. 바로 새로 적용된 IPv4 요금 때문!! 자동 할당된 것도! 서버스에서 사용 중인 것도! 모두 요금 부과의 대상이됐습니다. 공지 – AWS Public IPv4 주소 요금 변경 및 Public IP Insights 기능 출시 | Amazon Web Services AWS에서 퍼블릭(Public) IPv4 주소에 대한 새로운 요금이 도입됩니다. 2024년 2월 1일부터 서비스 연결 여부에 관계없이 모든 퍼블릭 I..
[서평] 헤드 퍼스트 자바(3판)
[서평] 헤드 퍼스트 자바(3판)
2024.02.25한빛미디어 활동을 위해서 책을 제공받아 작성된 서평입니다. 리뷰 대학교에 입학하고 C언어만 주구장창 파다가 객체지향을 처음 접했을 때 조금 더 명확하게 개념을 잡고 싶었던 적이 있습니다. 당시에는 객체지향은 이거다!라고 했다가 그렇게 간단하게 정의할 수 있는 게 아니라고 핀잔?을 듣기도 했습니다. 클래스로 계층적으로 표현해서 추상화하는 게 자바인가... 메시지를 전달하고 객체가 알맞게 처리해서 객체지향형 언어인가 막 여러 추상적인 말들로 혼란스러워할 때 동아리 선배가 추천해 준 책이 헤드퍼스트 자바 2판이었습니다. 동아리 방에 앉아서, 책 속에 나오는 인물에 빙의해서 자연스럽게 자바를 활용하도록 구성되어 되게 재미있게 읽었던 기억이 있습니다. 당시에는 아무래도 2005년에 번역된 책인 만큼 최신 자바의 ..
[Java] 람다식과 익명 클래스
[Java] 람다식과 익명 클래스
2024.02.21람다식은 어디서 왔을까? 함수형 언어가 다시 주목받으며 자바도 함수형의 이점을 살리기 위한 여러 기능이 업데이트되었다. 특히 자바 8에서 소개된 람다식이 대표적인 예이다. 함수형에서는 여러 클래스나 값을 변경하고 상호작용을 구현하여 표현하지 않는다. 보통 코드를 보면 무엇을 하는지 한눈에 보이고 데이터나 이벤트 스트림이 처리되는 과정을 가독성 좋게 볼 수 있다. 이런 데이터나 스트림을 다루는 데에 있어서 작은 동작이나 일회성 작업에 이름을 붙일 필요가 없는 경우가 많다. 그럴 때 쓸 수 있는 것이 람다식 혹은 익명 함수이다. 클래스명 같은 이름이 없기 때문에 그저 하나의 람다식으로 쉽게 전달될 수 있기도 하다. 람다식과 익명 클래스 람다식, 익명 클래스 모두 이름이 없는 함수나 객체를 표현하기 위해 쓰인..
[Java] Annotation (feat. Reflection)
[Java] Annotation (feat. Reflection)
2024.02.19Annotation? Annotate는 어떤 문서에 간단한 설명이나 의견을 달아놓는 것을 뜻한다. "주석을 달다"라고 번역할 수 있다. 이런 추가 정보는 어떤 데이터를 설명하기 위한 데이터이며 우리는 것을 메타데이터라고 부른다. 어노테이션(Annotation)을 사용하는 이유 자바에서 어노테이션은 코드에 메타데이터(코드를 설명하는 추가적인 데이터)를 표현하기 위한 방법 중에 하나이다. 이런 메타데이터를 통해 프로그램은 추가적인 정보를 알 수 있고 그에 따라 여러가지 기능을 지원할 수 있다. 대표적으로 여러 프레임워크에서는 메타데이터와 리플렉션을 통해 런타임에 다양한 기능을 지원해주고는 한다. 우리는 몇 가지 어노테이션으로 의존성 주입, 트랜젝션 관리, 테스트 코드 등을 깔끔하게 구현할 수 있다. 단순히 ..
CertBot 인증서가 만료가 되었다
CertBot 인증서가 만료가 되었다
2024.01.21문제의 상황 모도코라는 사이트의 API Server를 운영하고 있고 CertBot으로 무료 인증서를 Let's Encrypt로부터 받아와서 사용하고 있다. 무료 인증서는 갱신 기간이 90일밖에 되지 않기 때문에 CertBot으로 자동으로 renew되도록 cronjob을 등록해놓았다. 실제로 거의 1년 동안 신경 안 쓰고 잘 사용해왔다. 그런데 인증서가 만료되면서 사이트 로그인이 되지 않는다고 갑자기 문의가 들어왔다. 일단 API 서버가 사용중인 인증서를 보니 이전에 만료된 Let's Encrypt 인증서를 사용하고 있었다. 운영 환경 API Server를 관리하기 위해 PM2라는 Process Manager를 사용하고 있다. GitHub에 Code를 업데이트하면 GitHub Action으로 자동으로 AW..
Error installing cocoapods 해결 후, CocoaPods 업그레이드하는 법
Error installing cocoapods 해결 후, CocoaPods 업그레이드하는 법
2023.11.17최신 코코아팟(CocoaPods)으로 업그레이드하기 맥을 Sonama(14.1.1)로 업그레이드를 하고 XCode17에 대응하기 위해 코코아팟을 업그레이드하려 했습니다. 그런데 sudo gem install cocoapods을 했더니 다음과 같은 오류가 발생했습니다. Fetching cocoapods-downloader-2.0.gem Fetching cocoapods-core-1.14.2.gem Fetching cocoapods-1.14.2.gem ERROR: Error installing cocoapods: There are no versions of cocoapods-downloader (>= 2.0) compatible with your Ruby & RubyGems 원인 루비(Ruby) & 패키지 ..
wehavit 프로젝트의 두 번째 스프린트 회고 후 느낀 점
wehavit 프로젝트의 두 번째 스프린트 회고 후 느낀 점
2023.11.06프로젝트의 시작 비교보다는 칭찬을 할 수 있는 습관 앱을 만들기 시작한 지 벌써 2개월이 지나간다. 실질적으로 개발을 시작한 지 1개월이 지났고 어제 2번째 스프린트가 끝났다. 2차 스프린트의 끝 이번 2번째 스프린트는 한 명을 빼고는 거의 대부분의 태스크를 마무리하지 못했다. Sprint 2 • cau-bootcamp Sprint 2 github.com 회고를 하며 나왔던 원인으로는 학교에서 쏟아져 나오는 과제와 팀플로 꼽았다. 1차 스프린트의 교훈을 삼아, 서로 현실적인 시간을 정하고 그것을 기반으로 계획을 했지만 변수가 너무 많았다. 프로젝트가 성공하려면 시간 투자가 필요하다. 하루에 4시간은 공부하는 데에 써야 하지 않을까 싶다. 지금 시점에서 앱 개발이 성공적으로 개발되려면 모두 새로 배운기 시..
커피를 프로그래밍하듯이 접근해보기
커피를 프로그래밍하듯이 접근해보기
2023.10.31요즘 커피에 빠졌습니다. 그동안 커피를 내려 마시며 생각한 것을 글로 남겨봅니다. 피코프레소로 아아를 위한 에스프레소 추출 V60를 이용한 브류잉 (약배전 원두의 2pour 추출) 정답이 없는 커피 추출 커피 추출은 정답이 없기 때문에 코딩과 비슷했습니다. 특히, 사람의 손을 많이 타는 브류잉이 그렇습니다. 같은 커피도 누가 내리냐에 따라 맛이 확연히 달라집니다. 물론 요즘은 추출을 도와주는 다양한 도구가 있기 때문에 레시피가 있기 때문에 간단한 훈련만 받으면 누구나 맛있는 커피를 내릴 수 있습니다. 저도 레시피 기반으로 추출하기 때문에 빠르게 익하며 맛있는 커피에 입문할 수 있었습니다. ㅎㅎ (반대로 향이나 감각 기반으로 맛있게 추출하는 핸드드립 방법도 있습니다) 커피 추출 미세조정하기! 이 글에서는 ..