비전공자
-
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를 가지고 있..
-
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..
-
8일차 - Process Syncronization(2)CS지식/운영체제 2021. 4. 28. 23:31
저번 시간에 이어 프로세스 동기화에 대해 배웠다. 오늘은 동기화 시에 발생하는 대표적인 문제에 대해 알아보고 코드를 보면서 해결법을 알아보는 시간을 가졌다. 1. Bounded-Buffer Problem (Producer-Consumer Problem) 동기화 문제 중 첫 번째로 Bounded-Buffer Problem이다. 버퍼의 크기가 유한한 환경에서의 producer(생산자)와 consumer(소비자)의 문제이다. 버퍼에는 Producer 프로세스와 consumer 프로세스 2가지가 존재하고 버퍼는 공유되어 사용된다. producer 프로세스는 공유버퍼에 데이터를 집어넣는 역할을 하고 consumer 프로세스는 공유 버퍼에서 데이터를 꺼내는 역할을 한다. 여기서 발생하는 동기화 문제는 어떠한게 있을..
-
Day 2 - JAVA로 미니 프로젝트 만들기(POS System)기타/프로젝트 2021. 4. 28. 18:03
2021년 4월 28일, 현대모비스 면접 준비와, 예정된 KT 인적성검사, 다른 회사 AI 역량검사를 끝마치고 다시 돌아왔다. 약 15일 동안 프로젝트를 진행하지 않아 다시 코드를 하나씩 보면서 적응하고 다음 단계에 진입했다. 아직 자소서 작성과 다른 공부를 진행 중이여서 오늘은 많이 진행하지는 않고 한 가지 기능을 구현하는 것을 목표로 했다. 오늘은 저번에 만든 첫번째 프레임에 있는 버튼들을 누르면 다른 프레임으로 넘어가는 이벤트를 구현하였다. 이 이벤트가 왜 필요하냐면 POS기를 보면 테이블을 누르면 해당 테이블에서 주문한 메뉴를 추가하거나 계산하는 화면으로 넘어간다. 이것을 구현하기 위해 2 개의 프레임을 전환할 수 있도록 버튼에 이벤트를 첨부하는 것이 필요했다. 구글링을 통해 버튼 클릭 시 이벤트..
-
7일차 - 관계 데이터 모델링: 실습CS지식/데이터베이스 2021. 4. 27. 23:34
오늘은 저번시간에 배운 관계 데이터 모델링에 대한 이론을 바탕으로 실습을 해보는 시간을 가졌다. 5일차 때는 요구사항명세서를 바탕으로 E-R다이어그램을 작성하는 실습을 해봤는데 오늘은 E-R다이어그램을 바탕으로 릴레이션(릴레이션 스키마)를 작성해보는 시간을 가졌다. (지난 5일차 게시글: straw961030.tistory.com/26) 1. 논리적 설계 관계 데이터 모델링은 데이터베이스 설계 5단계 중 3단계에 해당하는 논리적 설계에서 이루어진다. 논리적 설계의 목적은 DBMS에 적합한 논리적 스키마를 설계하고 개념적 스키마를 논리적 데이터 모델을 이용해 논리적 구조로 표현하는 것이다. 논리적 설계의 결과물은 릴레이션 스키마이다. 개념적 설계 단계의 결과물인 E-R다이어그램을 바탕으로 릴레이션 스키마를..
-
4일차 - 결과를 전달하는 HTTP 상태 코드CS지식/네트워크 2021. 4. 26. 23:27
오늘은 클라이언트가 요청한 리퀘스트에 대한 결과를 알려주는 HTTP 상태 코드에 대해 배웠다. 아마 인터넷이 연결되어있지 않은 환경에서 브라우저로 웹 페이지를 접속하려면 에러 코드를 본 경험이 있을 것이다. 그 때 본 에러 코드가 오늘 배운 상태 코드이고 그것의 의미를 알 수 있었다. 1. 상태 코드 상태 코드란 클라이언트가 리퀘스트를 서버 측에 보냈을 때 서버에서 어떻게 처리됐는지에 대한 결과를 알려주는 역할을 하는 것이다. 상태 코드를 통해 리퀘스트를 정상적으로 처리했는지 에러가 발생했는지를 알려줄 수 있다. 상태 코드를 3자리의 숫자와 설명으로 나타낸다. 숫자의 첫 번째 자리는 리스폰스의 클래스를 의미하고 나머지 2자리는 정해진 분류가 없다. 리스폰스의 클래스는 5개가 정의되어 있다. 클래스 설명 ..