Quite Time
- 이사야서 64장 이사야서 64장 말씀 [이사야서 64:5-6] 5 주께서 기쁘게 의를 행하는 자와 주의 길에서 주를 기억하는 자를 선대하시거늘 우리가 범죄하므로 주께서 진노하셨사오며 이 현상이 이미 오랬사오니 우리가 어찌 구원을 얻을 수 있으리이까 6 대저 우리는 다 부정한 자 같아서 우리의 의는 다 더러운 옷 같으며 우리는 다 쇠패함이 잎사귀 같으므로 우리의 죄악이 바람 같이 우리를 몰아 가나이다 [이사야서 64:8-9] 8 그러나 여호와여 주는 우리 아버지시니이다 우리는 진흙이요 주는 토기장이시니 우리는 다 주의 손으로 지으신 것이라 9 여호와여 과히 분노하지 마옵시며 죄악을 영영히 기억하지 마옵소서 구하오니 보시옵소서 보시옵소서 우리는 다 주의 백성이니이다 나눔 "주의 길에서 주를 기억하는 자를 선대하시거늘 우리가..
- 이사야서 62장 이사야서 62장 말씀 [이사야서 62:6-9] 6 예루살렘이여 내가 너의 성벽 위에 파숫군을 세우고 그들로 종일 종야에 잠잠치 않게 하였느니라 너희 여호와로 기억하시게 하는 자들아 너희는 쉬지 말며 7 또 여호와께서 예루살렘을 세워 세상에서 찬송을 받게 하시기까지 그로 쉬지 못하시게 하라 8 여호와께서 그 오른손, 그 능력의 팔로 맹세하시되 내가 다시는 네 곡식을 네 원수들에게 식물로 주지 아니하겠고 너의 수고하여 얻은 포도주를 이방인으로 마시지 않게 할 것인즉 9 오직 추수한 자가 그것을 먹고 나 여호와를 찬송할 것이요 거둔 자가 그것을 나의 성소 뜰에서 마시리라 하셨느니라 나눔 주 여호와의 신이 내게 임하셨으니 이는 여호와께서 내게 기름을 부아 가난한 자에게 아름다운 소식을 전하게 하려 하심이라 (이..
- [OS / 운영체제] Swapping, Contiguous Memory Allcoation, Fragmentation, Paging, Swapping 현재 프로세스에서 다른 프로세스로 Switching이 일어나려고 한다. 프로세스 크기를 100MB로 가정. 디스크의 latency가 8ms 정도 걸린다. 2초에다가 8ms 정도 추가된다. 2008ms 걸리게 되고 Swap out과 Swap in 총 2번 일어나고 4016ms가 걸린다고 할 수 있다. Context Switching 할 때 걸리는 숫자이다. Time slice가 보통 10 ~ 100 ms 하는데 Context Switching 할 때 4초가 걸린다는 것은 너무 오래 걸리는 것이다. disk transfer rate를 늘리기 위해서 Hard Dist를 SSD로 바꾸는 등의 작업이 필요하다. 사용에 필요한 프로세스만 넘기는 것으로 Context Switching을 해야 한다. ..
- [OS / 운영체제] Address Binding, Logical vs Physical Address Space, Dynamic Linking and Shared Library, Swapping Basic HardWare 하드웨어가 자동적으로 벗어났는지 아닌지를 확인해준다. Memory Management Unit. 아주 빠른 시간에 처리를 한다. 현재 프로세스의 시작점은 base라고 한다. 주소를 달라고 하면 base와 비교를 해서 아래 있으면 NO (Interrupt가 발생)위에 있으면 YES를 얻게 된다. base보다 큰 값이면 다음 Task를 비교한다. base + limit을 해서 주소값을 얻고 이보다 크게 되면 Segmentation fault를 보게 된다. 이 모든 것을 HardWare가 한다는 것을 기억하자. base와 limit이 저장되는 곳은 래지스터이다. 아주 빠른 시간에 처리를 할 수 있다는 것이다. Base/limit 래지스터는 priviledge ~ 이 문장 확인해볼 것..
- [OS / 운영 체제] Monitors, Condition Variable, Implementing a Monitor Using Semaphore, Deadlock and Starvation, Bounded Buffer Problem Monitors Monitor에서 실행할 수 있는 것 자체가 Resource이다. Spin lock과 Block의 방법으로 Waiting 시키는 방법을 사용한다. Waiting 은 Linked List로 구현을 한다. Monitor 자체는 Mutual Exclusion을 지원하기 때문에 신경쓰지 않아도 된다. Monitor in Java synchronized라는 키워드를 제공한다. 메소드를 정의할 때 사용을 하면 한 번에 하나의 Thread만이 실행될 수 있는 함수인 것이다. System.Threading.Monitor의 특성을 전해 받으면 Monitor의 특성을 가질 수 있게 된다. Condition Variable 얼음 땡 놀이. 변수를 선언하고 x.wait으로 실행을 하면 얼음과 동일한 상태가 된..
- Logistic Regression z라는 값이 Weight와 Input의 내적한 Linear Regression이고 이 값이 Sigmoid 함수의 Input 값으로 들어간다. 사실 P라는 확률과 P가 아닌 1-P의 확률의 비율로 표현될 수 있는 것을 Log를 취한 후 P에 대해서 표현을 하면 Sigmoid 함수가 나오게 된다. 즉 확률 값을 0부터 1 사이의 값으로 표현을 하고 Binary Decision을 하기 위함이다. Logistic Regression이라는 것은 그럼 어떻게 데이터를 회기하는 방법일까? Linear Regression이란 데이터의 분포를 가장 잘 표현하는 선하나를 긋는 과정이라고 보면 된다. 그럼 Logistic의 뜻은 여기서 더 나아가 Class를 분류하기 위한 확률 모델을 만들고자 하는 것이다. 그래서 F라는 ..
- Classification Binary Class를 구분할 수 있는 함수를 어떻게 찾을 수 있을지 생각해보자. 각 Input Data에 해당하는 Label이 주어진 상태라고 했을 때 앞으로 들어올 Data에 대해서 분류할 수 있는 함수를 찾는 방법에 대한 설명이다. 만일 표에 5개의 데이터가 있다면 이 분포를 Regression할 수 있는 선을 하나 긋고 반대의 Label을 주어 Regression을 하는 선을 하나 긋게 된다. 그렇게 되면 선이 2개가 생기게 되는데 이를 기준으로 Class 2개에 대해 판별하는 함수를 만들 수 있다. 두 번째로 함수를 설정하는 방식으로는 label이 0인 것들을 오히려 -1로 바꾸어 더 확실한 Regression을 만들어주는 방식이다. 이렇게 되는 경우도 Binary Classification의..
- Linear Discriminant Analysis(LDA) Approach Classification의 경우를 살펴보자. Classifier를 표현하는 흔한 방법은 Discriminatn 함수를 사용하는 것이다. Input Data에 대해 클래스를 가장 잘 설명할 수 있는 함수를 정의하고 최대값을 가지는 Class를 설정하는 방식이라고 이해하면 된다. 그렇다면 Discriminant 함수는 어떤 것인가. Decision Boundary 란 클래스를 구분할 수 있는 선을 하나 긋는 것이라고 생각하면 된다. 클래스 0에 대해서 가지는 확률값이 높은 경우 클래스 0로 판별, 클래스 1에 대해서 가지는 확률값이 높은 경우 클래스 1로 판별하게 된다. Generative classifier 란 데이터를 생성하기 위한 모델이다. 그렇기 때문에 데이터가 생성될 확률인 Joint Probab..
- 9주차 화요일 알고리즘 Graph Exploration Vertex에 가서 무엇인가 일을 하는 Count, number 하는 것을 Visit이라고 한다. BFS와 DFS 두 가지 방법이 있다. Connected Component가 무엇인지를 찾아내야 한다. Vertex와 node 들이 다 연결 안될 수 도 있다. 독립된 Component를 판단할 수 있어야 한다. Spanning tree를 계산하는 것도 다시 공부해볼 것이다. BFS Tree 안에는 기본적으로 모든 Vertex가 포함되어야 한다. 모든 Edge는 포함되지 않을 수도 있다. Explored edge는 추후에 더 알아보기로 함. One vertex at a time, Serial 모드에서 다루기 때문에 한 번의 Vertex를 다룬다. 임의의 vertex를 사용하는..
- 알고리즘 7주차 월요일 Branch and Bound - Best First Search 모든 Node를 방문하지 않는다. 만들지도 않는다. Start에서는 두 개의 Node를 만들지만 Expand를 할 것인가 아니면 그만 둘 것인가를 결정해야 된다. 방문하지 않는다면 경우의 수가 줄어들게 된다. 그럴만한 가치가 있는 지를 판단하는 작업을 해야 한다. Item should be sorted in descending order according to bi/wi 첫 번째 O1이 단위 무게당 가치가 큰 것이 오게 되는 sorting을 거쳐야 한다. Branch and Bound 각각의 Node마다 Benefit weight bound를 계산한다. 첫 번째 아이템을 Knapsack 집어넣었을 때 이익을 계산해야 한다. Don't ch..
- 알고리즘 6주차 강의 Huffman Codes: Text Encoding Encoding과 Decoding. 전자에서 Analog신호를 Digital로 바꿀때 Encoding이라고 한다. 전산에서는 프로그래밍, 부호화를 Encoding이라고 한다. Data를 0과 1의 신호로 바꾸는 것을 의미함. 반대의 과정을 Decoding이라고 부름. 공백도 캐릭터로 처리가 된다. 17byte보다 적게 어떻게 표현하는가 Huffman code 12개의 케릭터를 4비트로 표현할 수 있다. 4비트로 충분하다. 이전에 사용했던 17byte에 비해 Compact하게 표현할 수 있게 된다. 2개의 방법 둘 다 fixed layer라고 표현한다. Huffman Codes 어떤 케릭터는 3bit 어떤 케릭터는 4bit로 사용해서 bit수를 save할..
- 컴퓨터 구조 CH5_Virtual Memory TLB를 이해하기 위해서 Virtual Memory에 대한 설명 Introduction virtual Memory는 main memory와 second memory 사이에 존재한다. 실제로 존재하지는 않고 논리적으로 존재한다. Virtual Memory는 Hierachy 의 일부이기 때문에 performance와 관계가 있지만 사실 Protection과 관련이 깊다. Recall: Memory Hierachy DRAM의 speed와 Disk의 크기를 갖고자 할때 Process가 무엇인지.. CPU가 있으면 하나의 일만을 처리하는 것이 아니다. 그런 Process들은 CPU도 Share 해야하고 Memory도 Share 해야하는데 메모리가 겹치는 부분이 발생한다. 하나의 Process가 다른 Process..
- 컴퓨터 구조 5_Cache Performace Fully associativity와 set associativity에 해당하는 내용이다. Fully 에 해당하는 경우 메모리의 데이터가 Cache의 빈자리에 들어가면 되는데 빈자리가 없는 경우 기존의 다른 데이터가 나와야 한다. 하지만 이 경우에는 아무곳이나 들어갈 수 있으므로 어떤 데이터를 나오게 해야하는 것인가? 하는 문제가 있다. Which block should be replaced on a cache miss? 1. 랜덤하게 나간다. 이것도 방법이긴 하지만 공학을 하는 입장에서 그렇게 좋은 방법 같아 보이지는 않는다. 2. FIFO(First In First Out), 데이터 구조 Queue에서 봤던 동작 원리이다. 여러 개의 block이 있다면 Cache에 가장 오랬동안 있었던 block이 ..
- 컴퓨터 구조 5_Cache Memory Read Hit 해당 데이터를 캐시에서 읽는 것 Read Misses 아무것도 할 수 없으므로 메모리로부터 블럭을 fetch해와서 cache로 저장한 후 다시 시작한다. Stall the CPU 되기 때문에 메모리의 데이터를 기다리면서 freezing 해 놓는다. CPU가 일에 관여하는 것이 아니라 메모리의 데이터를 캐시로 가져온다. 저장한 후 에 다시 Execution을 하라는 절차를 밟게 된다. 4장에서 사용했던 Pipleine이 Cache로 대체될 수 있다. Instruction Cache와 Data Cache를 따로 두고 사용을 하면 될 것이다. 즉, Instruction Memor 와 Data Memory가 따로 존재하는 것이 아니라 Cache가 따로 존재하는 것이다(4장에서 풀지 못했던 의문이..
- [네트워크] Network | UDP의 특징, rdt 프로토콜의 발전, GBN과 SR 프로토콜의 장단점 왜 애플리케이션 개발자가 TCP 보다 UDP 방식으로 애플리케이션을 개발하려고 하는지 알아보자. 애플리케이션 레벨이 데이터 송신에 대해서 정교한 제어를 할 수 있다는 특징이 있다. 애플리케이션 프로세스가 데이터를 UDP에게 전달하자마자 UDP는 데이터를 UDP 세그먼트로 만들고, 즉시 그 세그먼트를 네트워크 계층으로 전달한다. 이에 반해서 TCP는 혼잡 제어 메커니즘을 가지고 있다. 반면 UDP는 기본 세그먼트 전달 외에 필요한 어떤 추가 기능을 구현할 수 있다. 두 번째로 연결 설정이 없다는 것이다. TCP는 데이터 전송을 시작하기 전에 Handshake를 사용한다. 반면에 UDP는 형식적인 예비동작 없이 전송한다. 그러므로 UDP는 연결을 설정하기 위한 어떤 지연도 없다. 세 번째로 연결 상태가 없다..
- [네트워크] Network | Logical Communication 이란? TCP와 UDP 특징 및 Demultiplexing의 개념 트랜스포트 계층 프로토콜은 서로 다른 호스트에서 동작하는 애플리케이션 프로세스들 간의 논리적 통신 (Logical communication)을 제공한다. 논리적 통신은 애플리케이션 관점에서 보면 프로세스들이 동작하는 호스트들이 직접 연결된 것처럼 보인다는 것을 의미한다. 송신 측의 트랜스포트 계층은 송신 애플리케이션 프로세스로부터 수신한 메시지를 트랜스포트 계층 세그먼트인 트랜스포트 계층 패킷으로 변환한다. 수신자는 전달받은 세그먼트들을 합쳐서 애플리케이션 계층으로 다시 전달한다. 인터넷은 TCP와 UDP라는 두 가지 프로토콜을 가지고 있다. 두 집안이 있다고 가정하자. 하나는 동부, 하나는 서부에 있다. 그리고 집안마다 12명의 아이들이 있는데, 동부 집안의 아이는 서부 집안의 아이와 사촌지간이다. 두..
- [네트워크] Network | Caching, DNS Record, Peer-to-peer architecture, File-distribution, BitTorrent 실제로 DNS는 지연 성능 향상과 네트워크의 DNS 메시지 수를 줄이기 위해 캐싱을 사용한다. DNS 서버가 DNS 응답을 받았을 때 그것을 로컬 메모리에 응답에 대한 정보를 저장할 수 있다. 만약 호스트 네임과 IP 주소 쌍이 DNS 서버에 저장되고 다른 호스트 네임으로부터 같은 질의가 DNS 서버로 도착한다면, DNS 서버는 호스트 네임에 대한 책임이 없을 때조차 원하는 IP 주소를 제공할 수 있다. DNS 분산 데이터베이스를 구현한 DNS 서버들은 호스트 네임을 IP 주소로 매핑하기 위한 Resource Record (RR)를 저장한다. 각 DNS는 하나 이상의 RR를 가진 메시지로 응답한다. 자원 레코드(RR)는 다음과 같은 필드를 포함하는 4개의 투플로 되어있다. Type=A 이면 Name은 호..
- 컴퓨터 비전 | Color Conversion, Split & merge function, White balancing Color space를 변경하기 위한 여러 방법이 존재한다. Input Image를 입력받게 되면 RGB Color로 받게 되는데, 사용자가 원하는 Space로 변경하는 함수를 사용하면 변경할 수 있다. cvtColor 함수를 사용할 때 첫 번째 파라미터는 Input Image이고 두 번째 파라미터는 Output matrix 이다. 세 번째 파라미터는 어떤 Space로 변경할 지 넣어주면 된다. 이 경우 BGR2YUV로 YUV에 해당하는 Space로 변경해주는 코드이다. split 함수를 사용하면 각 채널에 해당하는 Matrix로 변환할 수 있다. 첫 번째 파라미터가 Input Image로 들어오게 되고 만일 RGB 채널이라면 3 개의 채널이 필요하므로 두 번째 파라미터로 들어가게 되는 경우 Matrix..
- 컴퓨터 비전 | Color Processing, Usage of HSI (Color Slicing, Color Conversion), White Balancing Intensity Transformation, Histrogram Equalization, Spatial Filtering은 Color 이미지에 적용시키는 것이 보편적이지는 않다. 대신 우리는 RGB 채널을 HSI와 YCbCr 변환을 하고 적용을 시켜야 한다. Hue 채널에서 원하는 색상의 범위를 찾는다. Saturation 채널에 있는 모든 픽셀의 값을 0으로 초기화한다. 다음과 같은 방법으로 원하는 색상을 얻어낼 수 있다. 만약 Color conversion을 하고 싶은 경우 Hue 채널에 접근하여 색상의 범위를 변경하면 적용할 수 있다. 우리의 눈은 흑백 사진의 경우 30~50 개의 차이점 만을 구분할 수 있다. 정보를 더 많이 보기 위해서는 Gray Scale의 이미지를 Color Scale로 변..
- 컴퓨터 비전 | ROI, Average filter code, Sharpening code, Median Filter Code ROI란 Region Of Interest의 약자로 이미지 중 관심 있는 영역을 추출할 때 사용되는 용어이다. 사각형의 영역을 따기 위해서는 Rect 함수를 사용해서 이미지의 해당 영역에 대한 좌표를 정한다. 만들어진 rect 객체를 이미지 안의 파라미터로 넣게 되면 Return 값으로 해당 사각형 영역의 이미지의 Matrix가 나온다. Rect 의 x,y 좌표이므로 Column, Row 순으로 표시되는 것을 기억할 필요가 있다. (이상하게 맨날 기억못함) 두 Matrix를 합칠 때는 add 함수를 사용하면 각 픽셀의 값을 더해진 Matrix를 구할 수 있다. 그리고 이때 saturate 함수의 기능이 사용되는 데, 이 기능을 모르면 구글링으로 찾아보자. 이전 포스트에서도 언급을 했었다..! scaleA..
- HW4 (Drawing "Hasse Diagram") Hasse Diagram with C Language
- HW3 (Implementation with Recursive) Palindrome Well-Balanced and Properly nested parenthesis Postfix Arithmetic Expression
- 오일러 회로 (Euler's Path), 오일러 서킷(Euler's Circuit) Introduction "비밀이 뭐냐면... 대학생활이 끝나면 방학이 없어져요... 무언가를 할 수 있는 내 시간이 없어진다... 대학시절의 방학은 '금'과 같은 것 하지만 사람은 그렇게 안한다. 불안하다. 문제없지만 불안하다. 길게 쉰다는 게 힘들고, 불가피하게 쉬는 것은 편하지 않다... * 노는 것 부터 채워라 * 11주 정도의 방학기간. 반을 놀아라 부디 자발적으로 할 수 있는 것을 하면서 놀아라. 즉, 놀지 말라. 노는 듯하지만 놀지 마라" HW4 폭과 높이를 먼저 구해야 된다. Visual 하기 전에 Hasse Diagram을 Excel 로 그려봐라 -> Coordination에 대한 감각 Grid를 확장하고 Node를 붙여넣는 방식 Graph Isomorphism of Graph iso ==..
- 실전 프로젝트 CRUD Final Project 사용자가 처음 시작화면을 들어가면 볼 수 있는 로그인 페이지 사용자 계정을 만들 수 있는 회원가입 페이지 로그인을 성공하면 "나의 성적관리 페이지" 가 나타난다. 아직 아무것도 추가한 것이 없으므로 ADD NEW POST 만 존재하고 왼쪽에 메뉴바를 통해서 이동할 수 있다. 회원전용 자유게시판을 만들어서 회원들이 자유롭게 말할 수 있는 화면을 추가했습니다. 자유게시판에 글을 작성할 때 나오는 form 화면 Member 라는 메뉴를 누르게 되면 회원이 누가 있는지 확인할 수 있는 화면으로 넘어간다. About에 들어가면 어떤 것을 위해 만들었고 또 누가 어떤 역할을 했는지에 대해 적혀있다. 개인 성적관리 Add를 누르게 되면 다음과 같은 Form이 나오는데 여기서 자신의 성적을 기록할 수 있다. 다음처럼 ..
- 실전 프로젝트를 마치면서.. 해당 과목을 들으면서 정말 여러 분야를 다뤘다. 무엇보다 웹 서비스가 어떻게 돌아가는지를 정확히 몸으로 느낄 수 있었다. CSS, HTML이 화면상 보여주는 효과가 너무 이쁘고 재밌어서 열정으로 가득 찼었던 기억이 있다. AppDev 대회에 나가는 것은 당시 실력으로 불가능한 일이어서 HTML, CSS를 적용했던 것을 실전 프로젝트 Final 과제에서 구현할 수 있어서 너무 좋았다. 매주 매주 해야되는 과제들과 또 시간이 오래 걸렸던 것이 힘들었지만 그래도 이번 학기 들은 수업 중 가장 기억에 남고 재미있었던 수업
- 실전 프로젝트 LAB6