본문 바로가기

전체 글

(17)
[Kotlin] 가시성 변경자(Visibility Modifier) [작성중] 코틀린의 가시성 변경자 변경자 클래스 멤버 최상위 선언 public 모든 곳에서 볼 수 있다. 모든 곳에서 볼 수 있다. internal 같은 모듈 안에서만 볼 수 있다. 같은 모듈 안에서만 볼 수 있다. protected 하위 클래스 안에서만 볼 수 있다. (최상위 선언에 적용할 수 없다) private 같은 클래스 안에서만 볼 수 있다. 같은 파일 안에서만 볼 수 있다. 가시성 관련 예제 // 확장 함수 컴파일 오류를 없애기 위해, 가시성을 "public"으로 변경 public open class TalkativeButton{ fun yell() = println("Hey!") fun whisper() = println("Let's talk") } // 디폴트가 'public'임 fun T..
[C] Call By Value 와 Call By Reference 1. Call By Value (값에 의한 호출) 함수의 매개변수에 넣고자 하는 인자의 '값'을 복사한다. 함수가 실행되면, 매개변수는 값만 같은 뿐 별개의 변수이다. 함수가 종료되고 해당 스코프에 있던 매개변수는 사라지고, 원래 있던 인자에는 영향이 없음 2. Call By Reference (주소에 의한 호출, 참조에 의한 호출) 인자의 '주소'를 매개변수에 복사한다. 매개변수가 대상 인자의 주소값을 가지므로, 새로운 값을 업데이트 하는 등 영향을 준다. /////// 실행 코드 /////// #include void callByReference(int *input); void callByValue(int input); int main() { int a = 100; printf("값 %d\n", a)..
[DB] 데이터 모델링 (1/5) 1. 모델링이란? : 복잡한 현실세계를 추상화, 단순화하여 일정한 표기법에 의해 명확하게 표현하는 것 - 추상화(모형화), 단순화, 명확화 2. 모델링의 관점 - 데이터 관점(What) 데이터와 데이터 간 관계, 업무와 데이터 간 관계를 모델링 데이터에 접근하는 방법(How), 사람(Who)과는 무관 - 프로세스 관점(How) 업무가 실제로 하고 있는 일 또는 해야할 일을 모델링 - 데이터와 프로세스의 상관 관점(Interaction) 업무 처리 방법에 따라 데이터가 받는 영향을 모델링 3. 데이터 독립성 - 논리적 독립성 논리적 사상(외부적/개념적 사상)을 통해 논리적 독립성이 보장됨 내용 개념 스키마가 변경되어도 외부 스키마에는 영향을 미치지 않음 논리적 구조가 변경되어도 응용 프로그램에는 영향이 없..
[문제풀이] 백준 11653번 문제 소인수분해 오랜만에 알고리즘을 풀려고하니 생각대로 되지 않았다. (짧은 코드였지만 꽤나 오래걸렸다는 후문...) 1. 문제 목표 Case를 전달 받은 후 소인수분해하고, 소수들을 오름차순 정렬하여 출력할 것 2. 접근 방법 나누는 값을 2 부터 Case까지 증가시켜가면서, 나머지가 0으로 떨어지는 경우 리스트에 값 삽입 오름차순으로 정렬한 후 출력한다 case = int(input()) sqrt = int(str(math.sqrt(case)).split(".")[0]) resultList = list() while case != 1: for i in range(2, case + 1): if case % i == 0: case = case // i resultList.append(i) break resultList...
[CS/Network] HTTPS란? 1. 정의 HTTPS(Hypertext Transfer Protocol Secure)은 HTTP 통신을 안전하게 보호하기 위한 구조. 보안에 있어서, 아래 두 가지와 같은 장점이 있다. (1) 요청과 응답이 암호화 되어, 중간에서 내용을 가로채 내용을 알아보기 어려움 (2) 기관으로 해당 사이트가 안전하다는 인증을 받음 2. 대칭키 VS 비대칭키 1) 대칭키 방식 메시지 송신 측과 수신 측이 같은 방식(Key)를 활용하여 암호화, 복호화를 진행한다 . 2) 비대칭키 방식 - 공캐키와 개인키 2개의 키가 서로 다르기 때문에 '비대칭'키로 불린다. - 공개키는 모두에게 공개되어 같은 형태로 암호화 되며, 요청을 받은 서버는 개인키를 이용하여 복호화할 수 있다. - 공개키는 암호화할 수 있으나, 복호화하지는 ..
[CS/Network] HTTP 버전 별 특징 1. HTTP 란? : Hyper Text Transfer Protocol의 약자로, 주로 HTML 문서를 주고받는 것에 쓰인다. Client 와 Server 사이에 이루어지는 Request / Response 프로토콜. 2. HTTP , 월드와이드웹(World Wide Web)의 4개 Building Block 중 하나 월드 와이드 웹 : 인터넷 상의 하이퍼 텍스트 시스템을 구축한 것으로, 초기 Mesh로 불렸으나 90년에 월드와이드웹으로 이름을 바꾸었다. TCP/IP 상에서 만들어짐 HTML(Hypertext Markup Language) : Hyper Text 문서를 표현하기 위한 텍스트 형식의 마크업 언어 HTTP(Hypertext Transfer Protocol) : HTML 문서 등을 교환하기..
[OS - File System] I/O System 1. I/O Mechanisms (How to send data between Processor and I/O device) (1.1) Processor controlled memory access - CPU제어 (1.1.1) Polling (Programmed I/O) : 프로세서가 주기적으로 I/O 장치의 상태를 확인한다 (모든 I/O 장치를 순환하면서 확인 - 전송 준비 및 상태 등) Cons : 간단하며, I/O 장치가 빠르고, 전송이 잦은 경우 효율적임 Pros : 프로세서(CPU)의 부담이 크다 (특히 I/O device가 느린 경우 오버헤드가 큼) (1.1.2) Interrupt : I/O 장치가 작업을 완료한 후, 자신의 상태를 프로세서에게 전달하는 것 (Intr 발생 시, 프로세서는 데이..
[OS - File System] File System Implementation 1. Allocation Methods (1) Continuous allocation : File을 디스크의 연속된 block에 저장 cons : 효율적인 file 접근 (순차적, 직접적 접근) pros- 공간 확보의 어려움 (외부 단편화, External fragmentation 발생) - File 공간 크기 결정이 어려움 (파일이 커질 경우 고려사항이 많음) (2) Discontinuous allocation (2.1) Linked Allocation File이 저장된 block 들을 linked list로 연결 Directory는 각 file에 대한 첫 번째 block에 대한 포인터를 갖는다. cons : 간단하고 외부 단편화가 없음 pros- 직접 접근에 비효율적- 포인터 저장을 위한 공간 필요-..