만쥬의 개발일기
article thumbnail
[Java 기술 면접 대비] - 1. JDK vs JRE

자바의 실행 과정 자바를 실행하기 위한 머신 JVM 우선 JDK에 대해 알기 전에, 자바 코드가 컴파일되고 실행되는 과정을 먼저 알아보자. JAVA는 실행시키는 운영체제에 독립적이라는 장점을 가지고 있다. 그리고 JVM은, 이를 위해 필요한 머신이다. java의 경우 JVM,즉 컴퓨터가 이해할 수 있는 형태는 바이트 코드로 이루어진 .class 파일이다. 우리가 java로 작성한 코드는 .java 파일인데, 이를 java 컴파일러가 .java 파일을 .class 라는 자바 바이트 코드로 변환해 주는 것이다. 컴파일을 해주는 Java Compiler java compiler는 자바를 실행하기 위해 필수인 JDK를 설치할 때에, bin 하위의 javac.exe를 말한다. 즉, javac 명령을 통해 .jav..

article thumbnail
[Linux] - sudo apt update시 error: "Release file is not yet valid"
🛠️TOOL/📄Linux 2023. 10. 5. 01:44

window wsl2 환경에서 프로그래밍을 할 때, sudo apt-get update시 종종 볼수 있는 "release file is not valid yet" 이라는 에러가 있다. 예시) 이 때는 다음 명령어로 하드웨어 시계(RTC)값을 시스템 시계로 동기화하여 해결할 수 있다. sudo hwclock --hctosys

[BOJ] - 1013 : Contact
✏️PS 2023. 10. 1. 21:54

https://www.acmicpc.net/problem/1013 1013번: Contact 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 전파를 표현하는, { 0, 1 }만으로 이루어진 문자열이 공백 없이 주어진다. 문자열 길이는 (1 ≤ www.acmicpc.net 위 문제는 정규식에 관련된 문제인데, 분기를 나눠서 구현으로 풀다가 왠지 정규식과 관련된 헤더가 있을 것 같아서 찾아봤다. 역시나 regex 헤더를 사용하면 되는데, 사용법은 아래 코드를 참고하면 된다. 먼저 regex 변수를 선언하고, 사용하고 싶은 정규식을 입력해준다. 이후 regex_match 메서드를 통해 문자열이 해당 정규식을 만족하면 true, 아니면 false를 반환한다. ..

article thumbnail
[AWS] - EC2에 mongoDB 설치하기
🛠️TOOL/🔶AWS 2023. 9. 27. 02:14

MongoDB 설치 1.ec2에 접속한다. 2. MongoDB public GPG key를 가져오고, APT 패키지 관리자에 추가한다. wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add - 3. MongoDB를 위한 List 파일을 만든다. echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list 4. MongoDB 설치 후 실행 sudo apt-get update sudo apt-get in..

[AWS] EC2 인스턴스에 Spring Boot + React 배포 환경 구축하기
🛠️TOOL/🔶AWS 2023. 9. 27. 02:06

이번 포스팅에서는 가장 대중적인 클라우드인 AWS EC2에 가장 대중적인 웹 프레임워크 조합인 스프링 부트 + 리액트 개발환경 구축하는 법을 다뤄보겠다. ➕ AWS 세팅 인스턴스 생성하기 aws의 ec2 대시보드에 들어가 인스턴스 시작 버튼을 눌러준다. 인스턴스 이름을 작성하고, OS 이미지로는 ubuntu 22.04 LTS를 선택해준다. (용도에 따라 이미지를 선택하면 된다.) 인스턴스 유형을 선택해준다. 비교적 최근에 나온 유형이 저렴하므로, t3 micro 버전을 선택해주었다. 프리티어를 사용할 경우 t2.micro를 선택해주어야 과금요소가 추가되지 않는다. 키페어를 생성해준다. 키페어는 후에 EC2 인스턴스에 원격으로 접속하기 위해 필수적으로 필요하고, 한 번 생성하면 다시는 다운할 수 없으므로 ..

article thumbnail
[클린 아키텍쳐] 25장 ~ 29장

25장 계층과 경계 시스템은 세가지 컴포넌트 (UI,업무 규칙, 데이터베이스)로 구성되어있다고 생각할 수 있지만, 실제로는 훨씬 많다. 움퍼스 사냥 게임 게임 규칙은 게임의 상태를 영속성을 가지는 특정한 데이터 구조로 저장한다. UI 컴포넌트가 어떤 언어를 사용해도 게임 규칙을 재사용 가능. 데이터 저장소 또한, 고수준인 게임 규칙을 의존하는 형태이다. 클린 아키텍처? 잠재된 아키텍쳐 경계를 존재할 수 있다. 이를 그림으로 나타내면 다음과 같다. 점선으로 된 테두리 : API를 정의하는 추상 컴포넌트 해당 API는 위나 아래의 컴포넌트가 대신 구현한다. 그리고 api는 구현하는 쪾이 아닌, 사용하는 쪽에 정의되고 소속된다. EX) Game Rules 내부 코드에서 사용하나 Language 내부 코드에서 ..

[Linux/shell] - E: Sub-process /usr/bin/dpkg returned an error code (1) 에러 해결하기
🛠️TOOL/📄Linux 2023. 9. 8. 17:23

프로젝트를 진행하던 중 python 버전을 바꿀 일이 생겨서, 3.10 버전을 설치하려고 다음 명령어들을 사용하고 있었는데, sudo apt-get update sudo apt-get upgrade sudo apt install python3.10 etc.. 아래 에러가 공통적으로 발생했다. Setting up postgresql-common (190ubuntu0.1) ... dpkg: error processing package postgresql-common (--configure): installed postgresql-common package post-installation script subprocess returned error exit status 10 dpkg: dependency pro..

article thumbnail
[AWS] S3 버킷 생성하고 보안 정책 설정하기
🛠️TOOL/🔶AWS 2023. 9. 7. 01:07

🪣S3 버킷 생성하기 AWS에서 S3 버킷을 생성하는 방법을 알아보도록 하자. 🎯S3란? Simple Storage Service의 약자로 인터넷용 스토리지이다. Amazon S3는 웹상에서 원하는 양의 데이터를 저장하고 검색하는데 사용할 수 있는 간단한 웹 서비스 인터페이스가 있다. 그리고 S3는 객체 스토리지인데, 객체로 된 파일을 저장한다. 🎯S3를 사용하는 이유 S3는 저장 용량이 무한대이고 파일 저장에 최적화되어 있다. 용량을 추가하거나 성능을 높이는 작업이 필요없다. 비용은 EC2와 EBS로 구축하는 것보다 훨씬 저렴하다 S3 자체가 수천 대 이상의 매우 성능이 좋은 웹 서버로 구성되어 있어서 EC2와 EBS로 구축했을 때 처럼 Auto Scaling이나 Load Balancing에 신경쓰지 ..