전체 글
-
Leetcode 13. Roman to IntegerCoding Test/Problem Solving 2024. 10. 2. 00:01
링크: https://leetcode.com/problems/roman-to-integer/description/ 질문이 문제를 해결하기 위해 두 가지 방법을 생각했는데, 첫 번째 방법을 택하려고 해. 이유를 설명할게.첫 번째 방법은 문자열을 split한 후, for문으로 각 문자를 순회하며 뒷자리 문자가 앞자리보다 큰지 비교하는 방식이다. 문자열 길이가 최대 15이므로 성능상 문제는 없을 거라고 판단했다.두 번째 방법은 if문 안에 또 if문을 넣어서 M, D, C 순으로 분기하는 방식이다. M이 1000으로 고정되어 있으니까, M 다음에 D가 나오면 다시 M이 나올 가능성은 없다고 가정하고 분기 수를 줄일 수 있어.(여기가 오류) 하지만 코드가 너무 복잡해지고 가독성이 떨어질 것 같아 이 방법은 선택..
-
Proxmox 로 홈 서버 구축하기: (2) 유료 라이센스 끄기Project/Home Server 2024. 5. 2. 13:16
apt update해당 명령어를 치고 나면 최초에는 Enterprise 버전으로 설치되기 때문에 유료 구독을 하지 않으면 사용할 수 없게 된다. 발생 에러Hit:1 http://download.proxmox.com/debian/pve bookworm InRelease Err:2 https://enterprise.proxmox.com/debian/ceph-quincy bookworm InRelease 401 Unauthorized 우리는 개인적으로 사용하는 것이기 때문에 유료버전을 비활성화 해주도록 하자 grep -r --include="*.list" "enterprise.proxmox.com" /etc/apt/해당 명령어는 엔터프라이즈 설정이 되어있는 파일의 경로를 찾아주는 명령어이다 결과/etc/apt..
-
Proxmox 로 홈 서버 구축하기: (1) 설치Project/Home Server 2024. 5. 2. 04:04
Proxmox 라는 가상화 소프트웨어를 사용하여 집에서 홈서버를 구축해보기로 했다. 1. 장비 구매 우선 아래의 장비들을 구매했다. CPU는 처음에 주문한 게 품절되어서 사장님께서 4650G(4.2GHz/Radeon7/65W) 로업그레이드 해주셨는데 가격은 그대로 해주셔서 총 550,000원 정도가 나왔다.(추가) 여분의 모니터 준비 2. Proxmox ISO 설치파일을 다운로드 현재 8.2 버전이 최신이다. 3. rufus 설치 iso 파일 자체로는 깡통서버에 바로 설치할 수가 없기 때문에 부팅 가능하게 변환해줘야하는데 이때 필요한 프로그램이다. 4. 안 쓰는 usb 준비 rufus 로 부팅 가능한 파일로 변환시킬때 해당 usb 의 내용물은 전부 삭제되기 때문에 수행 전에 미리 백업을 해두는 ..
-
[23년 2학기] 클라우드 컴퓨팅 중간 출석과제HM's Dairy/University 2023. 10. 28. 00:56
문1] 클라우드 컴퓨팅 서비스 모델 3가지(IaaS/PaaS/SaaS) 각각을 설명 하시오. IaaS (Infrastructure as a Service) '기반 인프라를 서비스'로 제공하는 모델이다. 물리적인 하드웨어 대신 인프라 자원을 가상화하여 제공하는 서비스이다. 여기서 가상화라는 것은 실제로 존재하지 않지만 존재하는 것처럼 구현하는 기술을 의미한다. 사용자가 직접 가상 머신, 스토리지, 네트워크와 같은 자원을 관리하고 구성할 수 있다. 그렇기 때문에 서버나 스토리지, 그리고 네트워크 같은 자원을 동적으로 늘리거나 줄일 수 있다. 그러나 관리가 편하고 비용 부담을 줄일 수 있으며 유연하다는 장점이 있지만 인프라 지식을 필요로 하고 관리의 책임이 오로지 사용자에게 있다는 단점이 있다. 예시로는 Am..
-
[Spring] Singleton Pattern (정리중..)Back-End/Spring 2023. 8. 18. 02:07
싱글톤 패턴 1. 스프링에서는 컨테이너라는 것을 통해서 빈들을 관리한다. 자바 객체 : new 연산자를 사용하여 직접 생성한 인스턴스 빈 객체 : 컨테이너에서 관리하는 객체 싱글톤 패턴의 단점을 보완한 스프링 컨테이너를 통해 빈들을 관리한다. 싱글톤 패턴을 기반으로 한 만큼 인스턴스가 1개만 생성된다. 애플리케이션 컨텍스트 내에서 한 번만 생성되고 재사용되어 리소스 낭비를 줄일 수 있다. 2. 스프링 컨테이너에서 빈의 생성과 생명 주기를 관리한다. 객체를 직접 생성하는 대신 스프링 컨테이너에 의존성 주입을 요청하여 필요한 객체를 받아온다. 스프링 컨테이너가 생성될 때(애플리케이션 실행 시) 빈이 등록되고, 로딩된다. 빈 등록 방법 컴포넌트 어노테이션 사용(@Controller 등) xml, yaml 등 ..
-
Windows Update 멈추는 오류 발생 시, 해결 방법ETC 2023. 7. 30. 03:03
1. 우선 Windows Update 를 중지 시켜준다. 서비스 앱 실행 > Windows Update 더블클릭 > 일반 > 시작유형 > "수동"으로 변경 > 확인 해당 서비스를 마우스 우클릭 > 중지 2. 위 작업 진행 후 컴퓨터를 재부팅한다. 3. 아래의 URL 로 접속한다. https://www.microsoft.com/ko-kr/software-download/windows10 Windows 10 다운로드 Windows 10용 ISO 파일을 다운로드한 경우, 해당 파일은 선택한 위치에 로컬로 저장됩니다.컴퓨터에 타사 DVD 굽기 프로그램이 설치되어 있으며 해당 프로그램을 사용하여 설치 DVD를 만들려는 경우, www.microsoft.com 지금 업데이트 클릭 4. 설치를 하게 되면 자동 실행되고..
-
[CS] Compiler BasicProgramming Lang/Compiler 2023. 6. 28. 23:39
컴파일러 란? 언어를 번역한다 = 번역기 컴파일러(번역기)의 종류 원시프로그램 -> 번역기 -> 목적프로그램 어셈블리어 -> 어셈블러 -> 기계어 고급언어 -> 컴파일러 -> 저급언어 C, C++, Java … 고급언어 -> 인터프리터 -> 실행결과 Python, Javascript … 고급언어 -> 프리프로세서 -> 고급언어 Typescript … 컴파일러(Compiler) 기법 번역 후 실행 효율적 C, C++, Java 등 인터프리터(Interpreter) 기법 번역과 동시에 실행 융통성 Python, Javascript, LISP 등 컴파일러의 논리적 구조 6단계 1. 어휘분석 (Lexical Analysis = Scan) 어휘를 토큰으로 변환 의미있는 수식 사용할 수 없는 토큰 발견 시 오류 2..
-
WebClient 와 WebFlux (정리중..)Back-End/Spring 2023. 6. 13. 00:19
Java REST API Client Library 에는 여러가지 종류가 있다. - HttpURLConnection - OKHttp, Retrofit, Volley - HttpClient - RestTemplate - WebClient WebClient 이전에는 RestTemplate 와 HttpClient 를 많이 쓰다가 (사실 나는 RestTemplate 도 안 써본 것 같다) WebFlux 가 등장하면서 WebClient 를 사용하게 되었다. 1. HttpURLConnection - 기본 JDK에 포함 (java.net) - URLConnection을 구현한 클래스 [ 장점 ] - HTTP 프로토콜 이외에도 사용 가능 - 속도가 빠르다. [ 단점 ] - 코드가 복잡하다. - 타임아웃을 설정할 수 없..