본문 바로가기

전체 글207

[Java] IOException 발생원인(eclipse) IOException은 자바에서 입출력 작업(Input/Output) 중 발생할 수 있는 예외를 처리하기 위해 사용됩니다. 이는 파일을 읽거나 쓸 때, 스트림을 다룰 때, 또는 네트워크 통신 같은 입출력 작업 중 예상치 못한 오류가 발생할 수 있는 상황을 포괄적으로 처리합니다. 왜 IOException이 발생할 수 있을까요?파일 읽기 도중에 문제가 발생 파일이 있는 경우에도 읽기 도중 하드웨어나 파일 시스템 문제, 권한 부족 등으로 인해 파일을 읽는 도중 오류가 발생할 수 있습니다.예를 들어, 읽기 도중 파일이 외부에서 삭제되거나 손상된 경우, IOException이 발생할 수 있습니다. 파일 스트림이 제대로 열리지 않거나 닫히지 않음 파일을 읽거나 쓸 때, 스트림을 열고 닫는 작업에서 문제가 생기면 I.. 2024. 9. 28.
[Java]내가 생각하는 중요한 자바 용어 정리 객체 지향 프로그래밍(OOP: Object Oriented Progamming)현실에 존재하는 여러 요소, 부품들을 객체들로 먼저 만들고 이를 하나씩 조립해서 전체 프로그램을 만드는 기법. OOP의 4대 원칙(캡슐화, 상속, 다형성, 추상화) 객체(Object)현실에 존재하는 여러 요소, 부품들을 객체. 컴파일 컴퓨터가 이해할 수 있는 0과 1로 이루어진 기계어로 변환하는 과정.. JVM(java virtual machine) 자바 프로그램의 "바이트 코드"들을 해석하고 실행할 수 있도록 해주는 "가상의 운영체제"1. 힙 영역 : 객체와 배열이 생성되는 곳.2. 메서드 영역 : 클래스들을 "클래스 로더"로 읽어 필드, 메서드, 생성자들을 저장. 3. 스택 영역 : "스레드"가 생성될 때마다 해당 영역을 .. 2024. 9. 28.
[React] JavaScript와 Express의 웹 서버 구축 및 get, post방식의 통신(VScode) JavaScript와 Express를 사용하여 웹 서버를 구축하고, React와의 통신을 통해 GET과 POST 요청을 처리하는 방법입니다.해당 프로젝트는 웹 서버와 클라이언트(React)를 분리하여 구성하며, 각 요청에 대한 응답 처리를 구축합니다.1. 프로젝트 설정먼저, Express 모듈을 사용하여 서버를 만들고 React 클라이언트와 통신할 준비를 합니다.const express = require('express'); const app = express(); const port = 3000; const path = require('path'); const cors = require('cors'); // CORS 정책을 해결하기 위한 패키지app.use(cors()); //cors활성화express.. 2024. 9. 27.
[Coding Test Bookmark]디스크 스케줄링(java, 프로그래머스) 문제 설명 운영 체제는 CPU 스케줄링을 위해 여러 작업을 처리해야 합니다. 작업이 먼저 요청된 순서가 아닌, 작업의 소요 시간이 짧은 순서대로 처리할 경우, 평균 대기 시간을 줄일 수 있습니다. 작업이 요청되는 시각과 소요 시간이 주어질 때, 모든 작업의 평균 대기 시간을 최소화하는 알고리즘을 작성하세요.입력 설명작업은 [요청 시각, 소요 시간] 형태로 배열에 담겨 있으며, 총 N개의 작업이 주어집니다.각 작업은 [요청 시각, 소요 시간] 형태입니다.작업이 하나씩 처리되며, 작업이 끝날 때까지 CPU는 다른 작업을 수행하지 않습니다.작업의 요청 시각과 소요 시간은 0 이상 1000 이하입니다.작업 개수는 1 이상 100 이하입니다.입출력 예시 입력 : [[0, 3], [1, 9], [2, 6]]출력 :.. 2024. 9. 21.
[Coding Test]피보나치(java, 프로그래머스) 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다.예를들어F(2) = F(0) + F(1) = 0 + 1 = 1F(3) = F(1) + F(2) = 1 + 1 = 2F(4) = F(2) + F(3) = 1 + 2 = 3F(5) = F(3) + F(4) = 2 + 3 = 5와 같이 이어집니다.2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요.제한 사항n은 1,000,000 이하의 자연수 입니다. class Solution { public int solution(int n) { if(n==0) return.. 2024. 9. 21.
[Coding Test]다음 큰 숫자(java,프로그래머스) 문제 설명 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다.조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다.조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니다.조건 3. n의 다음 큰 숫자는 조건 1, 2를 만족하는 수 중 가장 작은 수 입니다.예를 들어서 78(1001110)의 다음 큰 숫자는 83(1010011)입니다.자연수 n이 매개변수로 주어질 때, n의 다음 큰 숫자를 return 하는 solution 함수를 완성해주세요.제한 사항n은 1,000,000 이하의 자연수 입니다. Javaclass Solution { public int solution(int n) { int countOnes = Integer.bitCo.. 2024. 9. 21.
[정보처리산업기사 실기]2024년 정보처리산업기사 실기 최종합격 소프트웨어 전공 학생으로서 실무적인 자격증이 취업에 얼마나 큰 도움이 되는지 일찍부터 깨달았습니다. 정보처리산업기사 자격증, 특히 실기 시험은 이론적인 지식뿐만 아니라 프로그래밍, 데이터베이스 관리 등 실제 현장에서 필요한 실무 능력을 중점적으로 테스트합니다. 저에게는 이 자격증이 제 지식을 확고히 하고 강화할 수 있는 좋은 기회였습니다. 2024. 9. 21.
[VMware, Ubuntu, SSH]SSH서버 구축 및 환경 세팅, Local 및 원격 접속 SSH(Secure Shell)는 네트워크 상에서 다른 컴퓨터에 안전하게 접근하고 명령을 실행할 수 있게 해주는 프로토콜입니다. 주로 리눅스 및 유닉스 시스템에서 사용되며, 안전한 원격 로그인을 위한 기본적인 방법으로 자리 잡고 있습니다. SSH는 데이터를 암호화하여 보안성을 높이며, 데이터 전송 과정에서 발생할 수 있는 도청이나 변조를 방지합니다. 그리고, SSH는 클라이언트 / 서버 모델을 따릅니다. SSH 클라이언트는 사용자 컴퓨터에서 실행되며, SSH 서버는 원격 컴퓨터에서 실행됩니다. 개발 환경VMware : 17 player versionUbuntu : 24.04 version라즈베리 파이 SSH 서버 설정먼저 라즈베리 파이에서 SSH 서버를 활성화해야 합니다.SSH 서버 활성화라즈베리 파이 .. 2024. 9. 21.
[유닉스/리눅스] VMware 17설치+ Ubuntu 24설치 + 도커(docker)설치 1. VMware 17 가상머신 설정VMware 17 설치https://softwareupdate.vmware.com/cds/vmw-desktop/player/17.5.2/23775571/windows/core/ VMware Workstation Pro: Now Available Free for Personal UseVMware Desktop Hypervisor products Fusion and Workstation are used by millions of people every day to run virtual machines on their Windows, Linux and Mac computers. They give users the ability to quickly and easily buil.. 2024. 9. 19.
[Coding Test Grammar]완전탐색 (Java) 완전탐색(Brute-Force Search) 개념과 Java 예시완전탐색(Brute-Force Search)은 가능한 모든 경우의 수를 하나하나 다 탐색하여 문제의 해를 찾는 방법입니다. 이 방식은 매우 단순하지만, 문제의 정답을 확실히 찾을 수 있다는 장점이 있습니다. 그러나 모든 경우의 수를 탐색하기 때문에, 경우에 따라 시간 복잡도가 매우 높아질 수 있습니다.완전탐색의 기본 개념완전탐색은 아래와 같은 문제에 사용됩니다:모든 경우의 수를 다 조사해야 할 때: 예를 들어, 여러 선택지가 있을 때 그 중에서 가장 좋은 답을 찾기 위해 모든 경우를 다 시도하는 방법입니다.문제의 입력 크기가 작을 때: 완전탐색은 경우의 수가 많아질수록 시간이 오래 걸리기 때문에, 작은 문제에서 주로 사용합니다.완전탐색의 기.. 2024. 9. 11.
[Coding Test]모의고사(java,프로그래머스) 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다.1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작성해주세.. 2024. 9. 11.
[Coding Test Bookmark]카펫(java,프로그래머스) 문제 설명 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다.Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만, 전체 카펫의 크기는 기억하지 못했습니다.Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요.제한 사항갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다.노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다.카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다. .. 2024. 9. 11.