분류 전체보기(754)
-
[SQL][2][X] 강원도에 위치한 생산공장 목록 출력하기
문제 설명 다음은 식품공장의 정보를 담은 FOOD_FACTORY 테이블입니다. FOOD_FACTORY 테이블은 다음과 같으며 FACTORY_ID, FACTORY_NAME, ADDRESS, TLNO는 각각 공장 ID, 공장 이름, 주소, 전화번호를 의미합니다. Column nameTypeNullable FACTORY_IDVARCHAR(10)FALSE FACTORY_NAMEVARCHAR(50)FALSE ADDRESSVARCHAR(100)FALSE TLNOVARCHAR(20)TRUE 문제 FOOD_FACTORY 테이블에서 강원도에 위치한 식품공장의 공장 ID, 공장 이름, 주소를 조회하는 SQL문을 작성해주세요. 이때 결과는 공장 ID를 기준으로 오름차순 정렬해주세요. 예시 FOOD_FACTORY 테이블이 다..
2023.10.09 -
[CS] 프로세스에 대한 나름의 이해
프로세스는 프로그램이 메모리에 로드된 상태를 의미한다. 프로세스는 코드, 스택, 데이터, 힙이라는 공간으로 구성된다. 프로세스의 제어를 위해 프로세스의 상태를 가지고 있는 PCB가 존재한다. fork()는 새로운 프로세스를 복제해서 만드는 함수이고 리턴값으로 부모 프로세스이면 자식 프로세스의 PID를 자식 프로세스이면 0을 준다. fork를 하면 코드 영역은 공유된다. 프로그램은 명령어의 집합이다. 프로세스에서 실제로 실행되는 흐름의 단위를 쓰레드라고 한다. 쓰레드는 하나의 프로세스에서 여러 개가 존재할 수 있다. 쓰레드는 각각의 스택을 가지지만 힙은 공유한다. 쓰레드는 사용자가 관리하냐 커널이 관리하냐에 따라서 사용자 레벨 쓰레드와 커널 레벨 쓰레드와 나누어진다. Reference https://www..
2023.10.08 -
[CS] 운영체제의 분류 정리
1. 동시 작업 가능 여부 - 싱글 태스킹: 한번에 하나의 프로세스만 처리(엘리베이터) - 멀티 태스킹: 한번에 여러 프로세스 처리 가능 2. 사용자 수 - 단일 사용자: 한명만 사용가능 - 다중 사용자: 여러 계정으로 나누어 각각의 계정이 하나의 컴퓨터를 동시에 사용 가능 3. 처리 방식 - 일괄 처리 방식(배치 프로세싱): 해야할 일들을 모아서 한번에 처리 그게 효율적이기 때문 - 시분할 방식: 오늘날의 컴퓨터. 시간을 나누어서 여러 프로세스를 처리 - 실시간 방식: 정해진 시간이 있어서 꼭 그 시간을 지키도록 엄격하게 설계 hard realtime system(미사일 제어. 엄격해야함 아니면 치명적임), soft realtime system(영화 재생. 시간별로 엄격하면 좋지만 결과가 치명적이지는 ..
2023.10.08 -
[Spring] 생성자 주입을 선택하라
주입 방식은 4가지가 있다. 그 중 생성자 주입을 선택하자. 1. 어플리케이션이 시작하고 끝날 때까지 의존관계가 변하지 않는 불변이라면 더없이 좋은 선택이다. 더 이상 private final로 객체를 선언하기 때문에 값을 바꿀 수가 없다. 2. 누락이 발생할 수 있는 상황을 막아준다. 의존관계 주입을 수정자 주입으로 하고 아래와 같이 하면 실행은 된다. @Test void createOrder() { OrderServiceImpl orderService = new OrderServiceImpl(); orderService.createOrder(1L, "itemA", 10000); } 그러나 NPE(NullPointerException)이 발생하는데 이렇게 되면 디버깅에 어려움이 생길 수 있다. 생성자 ..
2023.10.08 -
[파이썬] Pypy에 대한 짧은 이해
pypy는 rpthonr과 jit와 관련이 있다. Reference https://www.slideshare.net/YunWonJeong/pypyrpython-20-jit 알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터 알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터 - Download as a PDF or view online for free www.slideshare.net https://edykim.com/ko/post/writing-an-interpreter-with-pypy/ PyPy와 함께 인터프리터 작성하기 PyPy는 들을 때마다 호기심을 자극하는 프로젝트 중 하나인데 Python으로 Python을 작성한다는 간단히 이해..
2023.10.08 -
[CS] 커널에 대한 나름의 이해
커널은 좁은 의미의 운영체제로 항상 메모리에 올라가 있다. 커널의 역할은 자원을 관리하는 것이다. 메모리, 프로세서, I/O Device, 프로세스 등등 운영체제는 사용자 모드가 있고 커널 모드가 있다. 사용자 모드에서 실행된 애플리케이션은 하드웨어 자원에 접근하기 위해서는 커널에 요청을 해야한다. 이 요청이 시스템콜이다. 그러면 커널이 있는 커널 모드가 실행되고 커널이 이를 처리해 다시 요청한 애플리케이션에 시스템콜로 돌려준다. 비유를 하자면 햄버거를 사는 것과 같다. 소비자가 주문을 하면 소비자가 직접 원재료(자원)에 접근해서 햄버거를 만드는 것이 아니다. 소비자(애플리케이션)가 주문(시스템콜 요청)을 하면 직원(커널)이 이 요청을 받아 원재료(자원)을 이용해 햄버거(결과)를 만들고 다시 돌려준다. ..
2023.10.07