분류 전체보기
-
아직은 부족한 것일까..기타/프로젝트 2021. 5. 5. 16:22
오늘 포스팅은 프로젝트 진행상황을 알려주고 다음 계획을 알려주고자 한다. 먼저, 계산화면을 구현하기 위해 생각해봤는데 메뉴에 따른 가격정보는 어떻게 어디서 가져와야하는지에 대한 해답을 풀지 못했다. 사실 어떻게 구현해야할지 그림은 그렸지만 코드로 짜기 벅찼다. 첫 번째 생각은 DB에 정보를 저장해서 필요한 값들을 불러오면 될 것같지만 나에게는 아직 어렵다. 두 번째 생각은 현재는 frame을 여러 개 잡아서 설계해서 frame 1의 정보를 frame 2로 넘기는 방법을 못 찾았다. 그래서 frame은 하나로 두고 panel을 여러 개 생성하여 바꾸면 어떨까 생각했지만 마음처러 쉽지는 않았다. 그래서 포기를 하는 것인가? 그거는 아니다. 나는 생활코딩 강의를 듣고 java를 어느정도 알았다고 생각했지만 그..
-
10일차 - Memory Management(1)CS지식/운영체제 2021. 5. 4. 23:42
오늘부터는 메모리를 어떻게 관리하는지에 대해 배웠다. 지난 시간동안 프로세스들이 CPU를 얻는 과정에서 발생하는 일들을 배웠는데 오늘은 프로세스가 실행되고 물리적인 메모리에 올라가면서 발생하는 일들 중 일부분을 배울 수 있었다. 1. memory management의 기본 우선 메모리 관리를 배우기 전에 메모리에 대해 잠깐 언급하자면 메모리는 주소를 통해 접근하는 매체이다. 여기서 주소는 logical address와 physical address로 나뉜다. 1) logical address logical address는 가상주소(virtual address)와 같은 말로 프로세스마다 독립적으로 가지는 주소 공간이다. 각 프로세스마다 주소할당은 0번부터 시작한다. 2) physical address ph..
-
9일차 - 정규형과 정규화 예제CS지식/데이터베이스 2021. 5. 3. 23:00
오늘은 정규형에 대해 배우고 저번 시간에 배운 정규화를 직접 예제를 통해 해보는 시간을 가졌다. 정규형에서는 3정규형까지만 배워서 BCNF형, 제 4형, 5형에 대해 따로 알아봐야 할 필요성을 느꼈다. 1. 정규화란 (복습) 정규화는 함수 종속성을 이용해 릴레이션을 연관성 있는 속성들로만 구성되도록 분해해서 이상 현상이 발생하지 않는 바람직한 릴레이션으로 만들어 가는 과정이다. 여기서 릴레이션을 분해할 때 무손실 분해되어야 한다. 무손실 분해가 의미하는 것은 릴레이션이 의미적으로 동등한 릴레이션들로 분해되어야하고 분해로 인한 정보의 손실이 발생하지 않아야한다는 것이다. 또한, 분해된 릴레이션들을 자연 조인하면 분해 전의 릴레이션으로 복원 가능해야한다. 2. 정규형(NF, Noraml Form) 오늘 배운..
-
6일차 - 웹을 안전하게 지켜주는 HTTPSCS지식/네트워크 2021. 5. 2. 23:10
오늘은 HTTP의 안전을 지켜주는 HTTPS에 대해서 배웠다. 평소에 주소를 보면 http인 경우도 있고 https인 경우도 있었는데 이것들이 무슨 차이가 있는지는 잘 몰랐다. 오늘 https를 배움으로써 궁금증을 해결할 수 있었다. 1. HTTP의 약점 지금까지 HTTP의 동작원리와 기능에 대해 배웠다. 클라이언트와 서버간에 통신을 할 수 있게 해주는 HTTP의 단점이자 약점은 무엇이 있을까? 1) 암호화 하지 않은 통신이기 때문에 다른 사람(통신에 참여하지 않은 사람)이 볼 수 있다. 암호화되어 있지않은 통신에 약점이 존재하는 이유는 TCP/IP 구조의 통신 내용은 전부 통신 경로 도중에 엿볼 수 있기 때문이다. 통신 경로 상에 있는 네트워크 기기나 케이블, 컴퓨터 등은 모두 자신이 소유하고 있지 않..
-
9일차 - Deadlock(교착상태)CS지식/운영체제 2021. 5. 1. 23:08
오늘은 Deadlock에 대해 배웠다. 프로세스 동기화를 배우면서 deadlock상황에 대해 간단히 언급이 되었는데 오늘은 더 저세하고 처리방법에 대해 알 수 있었다. 1. Deadlock이란 deadlock은 일련의 프로세스들이 서로가 가진 자원을 기다리며 block된 상태를 말한다. 즉, 자신이 가지고 있는 자원들은 내어놓지 않고 다른 프로세스가 가지고 있는 자원을 요청하는 상태여서 진행이 되지 않는 상태이다. 여기서 말하는 자원은 하드웨어, 소프트웨어 등을 포함하는 개념으로 I/O device, CPU cycle, memory space, semaphore 등을 뜻한다. deadlock 상태인 예를 들어 얘기해보자. 시스템에 2개의 tape drive A, B가 존재하고 프로세스1은 A를 가지고 있..
-
8일차 - 정규화CS지식/데이터베이스 2021. 4. 30. 22:55
오늘은 정규화에 대해서 배웠다. 정보처리기사 필기를 준비하면서 정규화에 대해 들어본 적은 있지만 개념이 확실히 잡혀있지는 않았다. 오늘 강의를 통해 정규화에 대해 확실히 알 수 있는 계기가 되었다. 1. 정규화란? 정규화는 이상현상이 발생하지 않도록 릴레이션을 관련있는 속성들로만 구성하기 위해 릴레이션을 분해하는 과정이다. 여기서 이상현상은 무엇을 의미할까? 이상현상은 불필요한 데이터 중복으로 인해 릴레이션에 대한 데이터 삽입, 삭제 수정 연산을 수행할 때 발생할 수 있는 악영향이다. 이상현상에는 삽입이상, 갱신이상, 삭제이상 3가지가 존재한다. - 삽입이상: 새 데이터를 삽입하기 위해 불필요한 데이터도 함께 삽입해야 하는 문제 - 갱신이상: 중복 튜플 중 일부만 변경하여 데이터 불일치가 발생하는 모순의..
-
5일차 - HTTP와 연계하는 웹 서버CS지식/네트워크 2021. 4. 29. 22:34
오늘은 가상호스트에 대해 공부하고 클라이언트와 서버 중간에 중계 역할을 하는 프로그램 3가지에 대해 공부했다. 가상호스트에 대해 간단하게 무엇인지는 알겠지만 설명을 정확히 무엇이라고 하기에는 아직 부족하다.. 조금 더 가상호스트에 대해 공부해봐야겠다. 1. 가상 호스트(Virtual Host) 가상 호스트는 하나의 HTTP 서버에 여러 개의 웹 사이트를 실행할 수 있도록 하는 기술이다. 가상 호스트를 통해 물리적 서버는 1대이지만 가상으로 여러 대가 있느 것처럼 설정이 가능하다. 그러면 가상 호스트는 왜 필요할까? 우리는 웹 사이트를 접속할 때 www.naver.com과 같은 호스트 명이나 도메인 명을 자주 사용한다. 인터넷에서 도메인명은 DNS에 의해 IP 주소로 변환되어지고 리퀘스트가 서버에 도착한 ..
-
Day 3 - JAVA로 미니 프로젝트 만들기(POS System)기타/프로젝트 2021. 4. 29. 18:26
2021년 04월 29일, 오늘은 POS system만들기 3일차이다. 어제 계획한 두번째 프레임에 기능을 추가하는 것을 시도했다. 완벽하게 프로그래밍을 하지는 않았지만 내가 생각한 것이 동작되어 어느정도 만족감은 있다. 오늘 계획한 것은 테이블에서 주문 시 POS기에 메뉴를 입력하여 주문이 들어가도록 하는 것이다. 여기서는 해당 테이블을 첫 번째 프레임에서 누르면 메뉴를 고를 수 있는 두 번째 프레임으로 넘어간다. (어제 구현한 내용이다.) 그 후, 주문한 메뉴를 누르면 왼쪽에 메뉴명과, 수량이 표시된다. 오늘 진행한 것이 고객이 주문한 메뉴 버튼을 누르면 두 번째 프레임에 테이블 형식으로 메뉴명과 수량이 정리되어 보여지게 했다. 처음 생각했을 때는 JLabel 클래스를 활용해서 구현하려고 했으나 JT..