분류 전체보기
-
CS - Java & Spring 정리CS 2023. 11. 9. 02:30
🍓 Java 문법 & 특징 🍓 자바는 인터프리터 언어인가요? 컴파일 언어인가요? 자바는 2가지 방식을 모두 혼합하여 사용합니다. 자바 컴파일러가 .java 파일을 컴파일을 통해 .class파일을 만들고, JVM의 실행 엔진의 인터프리터가 각 운영체제에 맞게 이진 코드로 변환 후 실행합니다. 🍓 자바 프로그램의 수행 과정에 대해 말씀해주세요. 자바 소스 코드를 프로그래머가 작성(.java) → 자바 컴파일러가 바이트 코드로 변환 (.class) → JVM 클래스로더로 전달, 클래스 로더가 JVM의 Runtime Data Area(JVM이 OS로부터 할당받는 메모리영역)에 올린다. → 실행 엔진이 바이트 코드들을 명령어 단위로 하나씩 가져와서 실행합니다. 🍓 Java의 String 클래스에서 equals()..
-
백준 11501, 2169, 프로그래머스 체육복Java/코딩테스트 2023. 11. 7. 18:21
📈 백준 11501 : 주식 https://www.acmicpc.net/problem/11501 11501번: 주식 입력의 첫 줄에는 테스트케이스 수를 나타내는 자연수 T가 주어진다. 각 테스트케이스 별로 첫 줄에는 날의 수를 나타내는 자연수 N(2 ≤ N ≤ 1,000,000)이 주어지고, 둘째 줄에는 날 별 주가를 나타 www.acmicpc.net 📈 메인 로직 각 날짜의 주식가격을 배열에 쭉 저장해둔다. 그리디 유형의 문제긴 하지만, 무조건 높을때 다 팔고 끝나는것이 아니라 마지막날에도 이전보다 올랐다면 팔 수 있다. 뒤에서부터 차례로 돌면서 현재 내가 가진 최댓값보다 높은 가격이 나왔다 = 그날 기점으로 가격이 떨어졌다 이것이므로 최댓값을 갱신해준다. 그 외에는 최댓값보다 낮은 날이므로 무조건 사..
-
CS - 운영체제 정리CS 2023. 11. 2. 02:06
기본 개념 운영체제가 무엇인가요? 하드웨어 자원을 관리하고, 응용프로그램과 하드웨어 사이를 중재하는 인터페이스입니다. 커널이 무엇인가요? 메모리에 상주하는 운영체제의 핵심 부분으로, OS 전체를 메모리에 올려두는 것은 메모리 낭비가 심하므로 핵심 부분인 커널만 메모리에 올려놓고 사용합니다. 시스템 콜이 무엇이고 왜 존재하는지 설명해주세요. OS가 커널에 접근하기 위한 인터페이스로, 유저 프로그램이 OS의 서비스 받기 위해 커널함수를 호출할 때 사용합니다. 자원에 대한 직접 접근을 차단함으로써 자원을 보호한 채 사용자에게 서비스를 제공하기 위해 존재합니다. 인터럽트란 무엇이고 어떤 종류가 있나요 ? CPU가 프로그램을 실행하고 있을 때 하드웨어 장치 이벤트나 예외 상항등이 발생했을 때 마이크로 프로세서에게..
-
-
-
Java와 객체지향Java/이론&문법 2023. 10. 28. 19:56
🐟 클래스와 객체 : 정말 붕어빵틀과 붕어빵인가? 클래스 : 분류에 대한 개념이지 실체가 아니다. 같은 특성을 지닌 여러 객체를 총칭하는 집합의 개념이다. 객체 : 실체이고, 세상에 존재하는 유일무이한 사물이다. 클래스 - 객체의 관계는 분류와 사물의 관계로 봐야 한다. EX ) 펭귄(클래스) - 뽀로로(객체), 쥐(클래스) - 미키마우스(객체) 이런 느낌이다. 객체 지향의 4대 특성 🎨 추상화 : 모델링 구체적인 것을 분해해서 관심영역(만들려고 하는 어플리케이션이 어디에 사용되는지)에 대한 특성만을 가지고 재조합하는 것이다. 실제 사물을 정확히 복제하는 것이 아닌, (ex. 사람의 모든 특성을 다 나열할 수는 없다) 목적에 맞게 관심이 있는 특성만을 추출해서 표현하고, 실제 사물을 단순하게 묘사하는 것..
-
프로그래머스 - 숫자 변환하기, 택배 배달과 수거하기, 백준 16918Java/코딩테스트 2023. 10. 28. 02:45
🔢 프로그래머스 : 숫자 변환하기 https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 자연수 x를 y로 변환하려고 합니다. 사용할 수 있는 연산은 다음과 같습니다. x에 n을 더합니다 x에 2를 곱합니다. x에 3을 곱합니다. 자연수 x, y, n이 매개변수로 주어질 때, x를 y로 변환하기 위해 필요한 최소 연산 횟수를 return하도록 solution 함수를 완성해주세요. 이때 x를 y로 만들 수 없다면 -1을 return 해주세요. 🔢 이 ..
-
Transaction에 대해서 알아보자One Cookie a day 2023. 10. 27. 05:05
📑 Transaction 이란 무엇일까 이 질문에 대해서, 데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위라고만 알고 있었는데, 덧붙여 말하자면 나눌 수 있는 최소한의 작업단위를 의미한다. 예를 들어 '이체'를 생각해보자. 송금하려는 계좌가 정상 계좌인지 확인한다. 내 계좌에 이체하려는 금액 이상이 남아있는지 확인한다. 해당 계좌에 이체 요청을 보낸다. 요청 완료 응답을 받고 이체가 끝난다. 위에 적힌 작업들이 [ 이체 ]라는 일을 하기 위해 필요한 최소한의 작업들이다. 그런데, [ 이체 ] 라는 작업 (트랜잭션) 내에서도 계좌 확인 / 보내려는 계좌가 타 은행일 경우에 해당 시스템에 확인 및 송금 요청 이런식으로 내부에 트랜잭션이 나누어져 있다. 📑 Transaction Propagation ..