전체 글
-
[OS] Interrupt와 System CallComputer Science/OS 2022. 3. 3. 21:00
Dual Mode 컴퓨터가 일을 수행하는 가장 기본적인 방식은 메모리에서 instruction을 받아와서 이를 수행하는 것이다. 다만, OS는 다양한 애플리케이션들이 구동되는 환경으로부터 컴퓨터를 지키기 위해 Dual Mode operation을 사용한다. 말 그대로 2가지 모드를 기반으로 컴퓨팅 리소스를 운용한다는 것이다. Processor Register에 있는 mode bit으로 mode가 전환되는데, mode bit이 0일 때 구동되는 Kernel Mode와 1일 때 구동되는User Mode가 있다. Kernel Mode는 OS 단에서 처리해야 할 명령어들을 수행한다. 예를 들어 User Application에서 시스템 콜을 통해I/O 작업이 요청되었을 때 I/O 작업을 수행한다거나, Timer ..
-
동기와 비동기, 블로킹과 논블로킹Computer Science/OS 2022. 2. 25. 07:46
웹개발을 접해볼 일이 있었다면, 그 중에서도 특히 자바스크립트를 쓸 일이 있었다면 오늘의 주제는 반드시 접해봤을 것이다. 동기와 비동기, 블로킹과 논블로킹은 작업을 수행하는 주체 간의 처리 방식을 표현하는 용어들이다. 그러나 다른 개념임에도 종종 혼동되거나 의미 자체를 명확히 알지 못하는 경우가 많아 명확히 정리해보고자 한다. 블로킹과 논블로킹 잘 기억할 수 있도록 영어 단어 뜻 그대로 이해해보자면 블로킹은 막힌다는 뜻으로, 논블로킹은 막히지 않는다는 뜻으로 해석할 수 있다. 그런데 무엇이 막히고 막히지 않는다는 것일까? 바로 작업을 요청한 쓰레드이다. 위 그림을 살펴보면 블로킹의 경우, Kernel에 작업을 맡긴 Application이 Kernel의 작업이 끝날 때까지 다른 작업을 수행하지 않는 것을 ..
-
소프트웨어 마에스트로 12기 수료 후기 (팀빌딩, 프로젝트, 해커톤)Story 2022. 1. 27. 17:29
예비과정 소마에 합격하고 나면 Webex, 카카오워크 등 채널에 초대되고 지원서를 제출하고 합격을 확인했던 소마 홈페이지가 이제 활동을 위한 곳으로 쓰이게 된다. 역시나 비대면 위주로 진행되기 때문에 네트워킹 역시 위의 사이트에서 이뤄졌다. 마이페이지에 자기소개 및 진행한 프로젝트를 기술해놓음으로써 어떤 프로젝트를 원하는지, 어떤 팀을 꾸리고 싶은지 등을 어필하여 서로 네트워킹하게 된다. 위에 보이는 연수생/멘토 검색에서 어떤 연수생 또는 멘토님들이 계시는지 확인할 수 있고 마음에 들면 이메일 등을 통해 컨택하게 된다. 또한 4-6월까지는 예비과정으로, 연수생들이 미니 프로젝트, 해커톤 등을 통해 서로를 알아가고 멘토링을 받으며 멘토님과도 네트워킹할 수 있는 시간을 가지게 된다. 위의 멘토링/행사 게시판..
-
소프트웨어 마에스트로 12기 합격 후기 (지원 과정, 코딩테스트, 면접)Story 2022. 1. 27. 14:49
2021년 내가 가장 많은 시간을 할애했던 프로젝트가 끝난지 벌써 2달 정도 되었다. 이제 다음 스텝을 위해 하루하루 공부하고 있는 내게 작년 매일같이 팀원들과 개발에 매달렸던 일상은 꿈결같기도 하다. 그렇지만 13기 모집 공고가 올라온 것을 보고 더 늦기 전에 이제 떨리는 마음으로 소마를 준비하고 있을 누군가를 위해 내 작은 경험을 공유해보고자 한다. 서류 접수 아마 자기소개서가 서류 접수에서의 가장 큰 문턱이었던 것으로 기억한다. 각 질문마다 최대 3,000자까지 허용하는 스케일은 글자수==성의 라고 생각했던 나에게 꽤나 부담으로 다가왔고, 그래서 11기 때는 지원을 안했다(?) 그렇지만 이번에는 어떻게든 도전해보자는 생각이 있었고, 나름의 이야기를 최대한 전달하기 좋게 담아보고자 했던 것 같다. 각..
-
[논문리뷰] Coupled Generative Adversarial NetworksArtificial Intelligence/Computer Vision 2021. 7. 25. 05:49
개요 본 논문은 Multi-domain image의 Joint Distribution을 학습하는 문제를 해결하는 방법을 제안하고 있습니다. 이와 같은 학습의 효과로는 도메인 적용 또는 이미지 변환을 기대할 수 있는데요, 다만 기존의 학습 방법들은 다른 도메인에서 대응하는 이미지들을 묶어둔 데이터셋이 필요하다는 한계점이 있었습니다. 이러한 한계점을 극복하고자, CoGAN은 각 도메인의 Marginal Distribution으로부터 뽑아낸 Sample들로 Joint Distribution을 학습하는 방법을 고안해내었습니다. 공식 코드 링크: https://github.com/mingyuliutw/cogan GitHub - mingyuliutw/CoGAN Contribute to mingyuliutw/CoGA..
-
[논문리뷰] From Image to Text in Sentiment Analysis via Regression and DeepLearningArtificial Intelligence/Computer Vision 2021. 5. 25. 21:46
개요 이 논문 이전에는 Image에 대한 description을 만들어내는 연구들이 존재했지만, 객관적인 사실들을 나열하는 데에 그쳤습니다. 이 연구는 이미지에 대한 감성 분석을 바탕으로 특정한 템플릿 없이 Social Network에서 이뤄질만한 주관적인 impression을 generate하는 것을 목적으로 합니다. Training 데이터셋은 (Vadicamo, L et al. 2017.) 논문에서 수집한 twitter post들을 활용하고 있습니다. 해당 연구에서는 LSTM-SVM 모델을 사용해 각 포스트들을 positive, neutral, negative 3가지 감정 분류를 진행했는데요, 본 논문에서는 각 감정별로 10000개의 데이터를 활용했습니다. 추가적으로, input으로 image 데이터..
-
[논문리뷰] DCGAN: UNSUPERVISED REPRESENTATION LEARNING WITH DEEP CONVOLUTIONAL GENERATIVE ADVERSARIAL NETWORKSArtificial Intelligence/Computer Vision 2021. 5. 20. 00:34
개요 GAN 시리즈의 2번째 논문, DCGAN입니다. DCGAN은 노이즈가 많고, 학습 결과를 해석하기 어렵다고 일컬어지는 Plain GAN을 CNN 아키텍처를 도입함으로써 이를 안정화시켰다고 알려져 있습니다. 개인적으로 인상적이었던 점은 이 연구의 주안점이 GAN 자체를 발전시키는 것이라기보다 더욱 안정화된 GAN을 사용해 Unsupervised Learning을 보다 효과적으로 하는 데에 있었다는 것입니다. 이 점을 유의해서 논문을 간략하게 살펴보도록 하겠습니다. Approach & Model Architecture CNN 아키텍처를 GAN에 도입하려고 한 시도는 이 논문이 처음이 아니지만, 성공적이지 못했습니다. 그리고 DCGAN 연구진분들 역시 주로 Supervised Task에 사용되는 CNN을..
-
[프로그래머스] 멀쩡한 사각형 (by Python)Programming/Algorithm 2021. 5. 16. 03:57
문제 https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 programmers.co.kr 풀이 from math import gcd def solution(w,h): return w * h - (w + h - (gcd(w, h))) 코드는 한 줄만에 끝났지만 정말 고민을 많이 하게 만든 문제였다. 대각선상에 있는 사각형의 개수에 무슨 규칙이 있을지 발견하기가 쉽지 않았던 것 같다. 해답은 이러하다. w와 h의 최대공약..