분류 전체보기
-
[스터디 1주차] JVM은 무엇이며 자바 코드는 어떻게 실행하는 것인가프로그래밍 언어/JAVA 2021. 5. 19. 17:28
더보기 오늘의 목표: 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기 1. JVM이란 무엇인가 JVM은 Java Virtual Machine의 약어로 한국말로 번역하면 자바 가상 기계이다. 단어의 뜻대로만 해석해 본다면 자바로 무언가를 하는 가상의 기계라고 보인다. 자바는 프로그래밍 언어의 하나인 것은 알고 있고 그렇다면 자바로 무엇을 하는지, 왜 가상의 기계인지를 알면 JVM을 이해할 수 있다. 먼저, JVM을 자세하게 알아보기 전에 java로 만들어진 프로그램에 대해 알 필요가 있다. (프로그램이란 컴퓨터에서 특정 목적을 수행하기 위해 프로그래밍 언어로 작성된 소스를 기계어로 번역한 것) java로 만들어진 프로그램은 운영체제가 바로 실행시킬 수 없는데 그 이유는 자바 프로그램은 완전..
-
온라인 자바 스터디 참여 시작!! (With WhiteShip)프로그래밍 언어/JAVA 2021. 5. 19. 13:29
생활코딩님의 강의를 통해 자바에 입문한 후 강의를 완강하고 어느정도 자바에 대해 알고 있다고 생각했다. 하지만, 배운 것을 바탕으로 개인 미니프로젝트를 진행해봤는데 아직 부족한 점이 너무 많고 JAVA를 이해해서 하고 있다기 보다는 python으로 생각해서 java로 번역하는 느낌?으로 하고 있다는 생각이 많이 들었다. (나는 python으로 프로그래밍을 처음 입문했다.) 그래서 다시 처음부터 java의 기초부터 공부하기 위해 무엇을 하면 좋을지 생각해봤다. 좋은 강의를 찾아서 다시 들을까? 이것은 좋지 않은 선택이라고 생각했다. 너무 강의에 의존해서 따라가려고만 하다 보니까 효율성이 좋지 않은 것 같다. 혼자서 공부를 하는데 누군가가 옆에서 페이스메이커를 해주면 좋을 것 같다는 생각에 단순한 인강참여보..
-
15일차 - Disk Management and SchedulingCS지식/운영체제 2021. 5. 18. 22:55
지난 시간에는 디스크에 file이 어떻게 저장되는지에 대해 배웠다. 오늘은 디스크를 효율적으로 관리하는 법에 대해서 알아볼 수 있었고 디스크에 들어온 요청을 효율적으로 수행하기 위한 여러 알고리즘에 대해 배울 수 있었다. 1. 디스크 구조 우리는 이전 시간에 file을 디스크에 저장할 때 sector단위로 저장한다고 배웠다. sector는 디스크를 관리하는 최소단위로 디스크 내부에서 관리하는 단위를 의미한다. 디스크 외부에서는 sector를 어떻게 볼까? sector는 logical block단위로 외부에서 관리된다. logical block는 디스크 외부에서 보는 디스크의 정보 저장 공간들을 뜻한다. 주소를 가진 1차원 배열처럼 취급하여 외부에서 logical block으로 요청을 하면 그 요청에 대해..
-
11일차 - 웹 공격 기술 (2)CS지식/네트워크 2021. 5. 17. 22:51
1. 강제 브라우징 (Forced Browsing) 강제 브라우징은 웹 서버의 디렉토리에 있는 파일 중에서 공개 의도가 없는 파일이 열람되게 되어 공격에 노출되는 것입니다. 즉, 공격자가 공격 코드로 직접 공격하거나 함정을 걸어두어 정보를 빼내는 것이 아니라 웹 서버를 잘못 설정하거나 설계하여 발생하는 문제이다. 강제 브라우징으로 인해 다음과 같은 악영향을 받는다. - 고객 정보 등 중요 정보 누설 - 접근 권한이 있는 사용자에게만 표시하지 않는 정보 누설 - 링크되지 않은 파일 누설 공개하고 싶지 않은 파일의 URL을 숨기는 보안 대책을 사용하고 있는 경우, 해당 URL을 알게 되면 파일을 볼 수 있게 된다. 2. 세션 하이잭 (Session Hijack) 세션 하이잭은 공격자가 유저의 세션 ID를 입..
-
14일차 - File System ImplementaionCS지식/운영체제 2021. 5. 16. 22:06
지난 시간에는 file의 접근방법에 대해 알아보았다. 이번에는 disk에 file이 어떻게 저장되는지에 대해 배웠고 여러 방법에 대한 장점과 단점에 대해 알 수 있었다. 1. Contiguous Allocation 디스크에 file을 저장하는 방법 중 하나인 contiguous allocation으로 말그대로 연속적으로 할당을 하는 것이다. 여기서, 먼저 알아두어야 할 개념은 disk에 file이 올라갈 때에는 통째로 올라가는 것이 아니라 disk를 일정한 크기의 sector로 나누고 file을 분할하여 올리는 것이다. 논리적 메모리에서 물리적 메모리로 올릴 때 paging기법에서 page와 비슷한 관점으로 보면 된다. 이렇게 동일한 크기의 sector가 하나의 disk에 여러 개가 존재하고 file이 ..
-
13일차 - SQL (데이터 조작, DML) (2)CS지식/데이터베이스 2021. 5. 15. 22:36
오늘은 저번시간에 이어 데이터를 조작하는데 쓰이는 DML의 남은 부분에 대해 배웠다. 새로운 데이터 삽입과 데이터 수정, 데이터 삭제를 SQL을 통해 어떻게 하는지 알 수 있었다. 1. 데이터 삽입 : INSERT문 기존에 있는 테이블에 새로운 데이터를 삽입하고자 하려면 INSERT문을 사용하면 된다. INSERT INTO 테이블_이름[(속성리스트)] VALUES (속성값_리스트); INTO키워드와 함께 새로운 데이터를 삽입할 테이블의 이름과 속성의 이름을 입력하면 되고 삽입하고자하는 데이터는 VALUES 뒤에 입력하면 된다. 여기서 속성리스트는 생략이 가능하다. 만약 속성의 이름(속성리스트)를 생략한다면 테이블을 정의할 때 지정한 속성의 순서대로 값이 삽입된다. 예를 들어, 제품명, 단가, 수량을 속성..
-
10일차 - 웹 공격 기술 (1)CS지식/네트워크 2021. 5. 14. 20:25
1. 웹 애플리케이션에 대한 공격 패턴 웹 애플이레케이션을 공격하는 패턴은 크게 능동적 공격과 수동적 공격으로 나뉜다. 각각 자세히 알아보자. 1) 능동적 공격 (active attack) 능동적 공격은 공격자가 직접 웹 애플리케이션에 접근하여 공격을 하는 것이다. 대표적인 공격으로는 SQL 인젝션과 OS 커맨트 인젝션 등이 있다. 2) 수동적 공격 (passive attack) 수동적 공격은 함정을 이용해 유저가 공격 코드를 실행시키도록 하는 공격이다. 이 경우에는 공격자가 직접 웹 애플리케이션에 접근할 필요가 없다. 대표적인 수동적 공격으로는 크로스 사이트 스크립팅(XSS), 크로스 리퀘스트 포저리(CSRF) 등이 있다. 수동적 공격을 이용한다면 인트라넷(특정 단체의 소속자만 사용하는 인터넷 환경) ..
-
13일차 - File SystemCS지식/운영체제 2021. 5. 13. 22:41
지난 시간에는 물리적 메모리에 접근하기 위한 주소변환과 메모리의 공간을 선점하는 방법에 대해 알아보았다. 오늘은 file에 대해 배웠다. 메모리는 주소를 통해 접근하지만 file은 이름을 통해 접근하는게 큰 차이점인 것같다. 1. File과 File System 먼저, file을 정의해보면 서로 관련있는 정보의 집합에 이름을 지어 놓은 것이다. 위에서 말했듯이 file은 이름을 통해 접근하므로 file마다 이름이 존재해야한다. 일반적으로 file은 비휘발성의 보조기억장치에 저장되고 create, read, write, reposition, delete, open, close등의 연산작업이 가능하다. file system은 운영체제에서 파일을 관리하는 부분으로 파일 및 파일의 메타데이터, 디렉토리 정보 등..