분류 전체보기
-
[PintOS]9주차 project2-키워드TIL 2024. 11. 11. 20:03
User mode vs Kernel mode프로그램이 부팅되면 하드웨어가 커널 모드에서 시작하고 운영 체제가 로드되면 사용자 모드에서 사용자 애플리케이션을 시작한다. 하드웨어에 대한 보호를 제공하기 위해 커널 모드에서만 실행되는 특권 명령어가 있다. 사용자가 사용자 모드에서 특권 명령어를 실행하려고 하면 명령어를 불법으로 처리하고 OS에 트랩한다.트랩이란 CPU가 프로그램에서 발생한 예외 상황이나 시스템 호출을 처리하기 위해 실행을 잠시 멈추고 커널 모드로 전환하는 소프트웨어 인터럽트이다. 트랩이 발생하면 현재 실행 중인 프로그램의 흐름이 하드웨어에 의해 중단되고, 제어가 운영 체제의 특정 핸들러 함수로 넘어간다.그 예로 System Call, Exception, 등이 있다.User mode프로그램이 운..
-
[객체 지향 프로그래밍]자유게시판 2024. 11. 10. 20:08
리팩토링Tell Dont Ask(TDA) 원칙TDA란객체의 상태나 데이터를 외부에서 직접 요청하거나 변경하지 않고, 객체에 메소드를 호출하여 그 객체가 스스로 책임지고 행동하도록 해야 한다는 원칙이다.class BankAccount { private int balance; public int getBalance() { return balance; } public void setBalance(int amount) { balance = amount; }}class AccountManager { public void processAccount(BankAccount account) { if (account.getBalance() > 1000)..
-
[Java] 자료구조(스택, 힙), static언어/Java 2024. 11. 9. 09:54
https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%8B%A4%EC%A0%84-%EC%9E%90%EB%B0%94-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard 김영한의 실전 자바 - 기본편 강의 | 김영한 - 인프런김영한 | 실무에 필요한 자바 객체 지향의 핵심 개념을 예제 코드를 통해 쉽게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문www.inflearn.com아래 내용은 위 링크에서 더 자세히 볼 수 있습니다.자바메모리 구조 - 실제메서드 영역: 프로그램을 실행하는 데 필요한 공통 데이터. 이 영역은 프로그램의 모든 영역에서 공유..
-
[Java] 접근제어자언어/Java 2024. 11. 8. 21:37
접근 제어자 이해 1접근 제어자란?해당 클래스를 외부에서 특정 필드나 메서드에 접근하는 것을 허용하거나 제한할 수 있다.Java 에서 public 이나 privatepackage access;public class Speaker { int volume; Speaker(int volume) { this.volume = volume; } void volumeUp() { if (volume >= 100) { System.out.println("음량을 증가할 수 없습니다. 최대 음럄입니다."); } else { volume += 10; System.out.println("음량을 10 증가합니다...
-
[Python] BOJ 7576: 토마토(feat. 3일 걸렸다.)언어/Python 2024. 11. 7. 08:06
https://www.acmicpc.net/problem/7576요구사항시간제한 1초O(n**2) 10,000,000 천만번 정도 연산이 최대니깐 괜찮다. 메모리 제한 256MB 넉넉할 거 같다. 며칠이 지나야 토마토들이 모두 익는 지, 최소 일수를 구해라설계BFS 방식으로 풀자. 익은 토마토들을 따로 빼준다. 방금 든 생각인데 여기서 익은 토마토가 없다면 print(-1) exit() 하는 것도 좋을 거 같다. 그럴 필요없겠다. while queue에서 걸린다, 그래도 뭐 빨리 발견하니깐 하는 게 좋은건가? 모르겠다. 익은 토마토를 BFS 방식으로 탐색해준다. 2 중 for문을 사용해서 최대값을 구한다. 구현(사실상 최종 코드는 블로그 맨 아래 참고)from collections import deque..
-
[Java] 생성자, 패키지언어/Java 2024. 11. 6. 10:33
https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%8B%A4%EC%A0%84-%EC%9E%90%EB%B0%94-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard 김영한의 실전 자바 - 기본편 강의 | 김영한 - 인프런김영한 | 실무에 필요한 자바 객체 지향의 핵심 개념을 예제 코드를 통해 쉽게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문www.inflearn.com아래 내용은 위 링크에서 더 자세히 볼 수 있습니다.생성자package construct;public class MethodInitMain2 { public stati..
-
[Java] 객체 지향 프로그래밍언어/Java 2024. 11. 6. 10:27
https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%8B%A4%EC%A0%84-%EC%9E%90%EB%B0%94-%EA%B8%B0%EB%B3%B8%ED%8E%B8/dashboard 김영한의 실전 자바 - 기본편 강의 | 김영한 - 인프런김영한 | 실무에 필요한 자바 객체 지향의 핵심 개념을 예제 코드를 통해 쉽게 학습합니다., 국내 개발 분야 누적 수강생 1위, 제대로 만든 김영한의 실전 자바[사진][임베딩 영상]단순히 자바 문www.inflearn.com아래 내용은 위 링크에서 더 자세히 볼 수 있습니다. 절차 지향 프로그래밍 vs 객체 지향 프로그래밍절차 지향 프로그래밍절차를 지향한다. 실행 순서를 중요하게 생각함."어떻게..
-
[Java] 변수와 초기화, null, nullPointerException언어/Java 2024. 11. 5. 09:32
https://www.inflearn.com/course/lecture?courseSlug=%EA%B9%80%EC%98%81%ED%95%9C%EC%9D%98-%EC%8B%A4%EC%A0%84-%EC%9E%90%EB%B0%94-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=194660&tab=curriculum 학습 페이지 www.inflearn.com아래 내용은 위 링크에서 더 자세히 볼 수 있습니다.단축키ctrl + alt + v반환할 때 변수명 자동생성멤버변수 : 자동 초기화인스턴스의 멤버 변수는 인스턴스를 생성할 때, 자동으로 초기화int = 0, boolean = false, 참조형 = null개발자가 초기값을 직접 지정할 수 있다.지역 변수 : 수동 초기화지역변수는 항상 직접 초..