All categories

    [운영체제] 동기와 비동기, 블로킹과 논블로킹

    [운영체제] 동기와 비동기, 블로킹과 논블로킹

    동기(Synchronous)와 비동기(Asynchronous) 동기/ 비동기는 주로 어플리게이션에서 다뤄지는 개념이며, 다음 작업이 요청되는 시간과 관련이 있다. 동기(Synchronous) 현재 작업의 응답이 끝남과 동시에 다음 작업이 요청된다. 함수를 호출하는 곳에서 호출되는 함수가 결과를 반환할 때까지 기다린다. 작업 완료 여부를 계속해서 확인한다. 비동기(Asynchronous) 현재 작업의 응답이 끝나지 않은 상태에서 다음 작업이 요청된다. 함수를 호출하는 곳에서 결과를 기다리지 않고, 다른 함수(callback)에서 결과를 처리한다. 작업 완료 여부를 확인하지 않는다. 자바스크립트는 Single Thread 기반의 언어로 한번에 한 명력씩만 수행된다. 따라서 시간이 많이 걸리는 작업을 진행하는..

    [LeetCode] 238. Product of Array Except Self

    [LeetCode] 238. Product of Array Except Self

    *알고리즘 스터디에 참여하면서 Blind 75 LeetCode Questions 목록에 있는 문제를 풀이합니다. 문제: https://leetcode.com/problems/product-of-array-except-self/ Product of Array Except Self - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 배열에서 현재 요소를 뺀 나머지 요소들을 곱한 값을 그 자리에 넣어서 Return 해야한다. 1. 입력한 리스트와 같은 크기의 리스트를 ..

    [LeetCode] 217. Contains Duplicate

    [LeetCode] 217. Contains Duplicate

    *알고리즘 스터디에 참여하면서 Blind 75 LeetCode Questions 목록에 있는 문제를 풀이합니다. 문제: https://leetcode.com/problems/contains-duplicate/ Contains Duplicate - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이: class Solution: def containsDuplicate(self, nums: List[int]) -> bool: # Sol 1 -- O(n) # dist..

    [VS Code] 프론트엔드 개발자를 위한 확장 프로그램 추천

    [VS Code] 프론트엔드 개발자를 위한 확장 프로그램 추천

    안녕하세요, 블로그 주인장인 주니어 개발자 '하댑'입니다. 오늘은 개발자가 보다 편리하고 빠르게 개발할 수 있도록 도와주는 대표적인 IDLE 프로그램인 비주얼 스튜디오 코드(VS Code)에서 제공하고 있는 확장 (extension plugin) 추천드리려고 합니다. 특히 프론트엔드 개발을 하면서 작업하는데 도움이 될만한 (주관적인 추천) 확장 프로그램을 추천합니다. 비주얼 스튜디오 코드 설치하기 1) https://code.visualstudio.com/ 으로 이동합니다. 2) VSCode 홈페이지 중앙 좌측 파란색 다운로드 버튼을 선택합니다. 운영체제에 맞게 자동 설정되는데, 아니라면 드롭다운으로 선택해주세요. 3) 설치파일 다운로드가 완료되면 VSCode를 설치합니다. VS CODE 확장 플러그인 ..

    [LeetCode] 121. Best Time to Buy and Sell Stock

    [LeetCode] 121. Best Time to Buy and Sell Stock

    *알고리즘 스터디에 참여하면서 Blind 75 LeetCode Questions 목록에 있는 문제를 풀이합니다. 문제: https://leetcode.com/problems/best-time-to-buy-and-sell-stock/ Best Time to Buy and Sell Stock - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이: class Solution: def maxProfit(self, prices: List[int]) -> int: if ..

    [LeetCode] 1. Two Sum

    [LeetCode] 1. Two Sum

    *알고리즘 스터디에 참여하면서 Blind 75 LeetCode Questions 목록에 있는 문제를 풀이합니다. 문제: https://leetcode.com/problems/two-sum/ Two Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이: class Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: nums_dic = {} # Stores the dictionary..

    [선형 자료구조] 1. Array

    [선형 자료구조] 1. Array

    데이터 요소가 순차적으로 배열되는 자료구조를 선형(Linear) 자료구조라고 한다. 선형 자료구조는 단일 레벨로 구성된다. 배열, 스택, 큐, 연결 리스트 등이 모두 선형 자료구조에 속한다. 배열 C 언어를 기준으로 배열을 설명해보면, 배열은 크기를 지정하고 해당 크기만큼의 연속된 메모리 공간을 할당받는 작업을 수행하는 자료형을 말한다. 크기가 고정되어 있기 때문에 한번 생성하면 크기를 변경하는것이 불가능하다. 예를 들어 정수형 요소 3개로 이뤄진 배열을 생성하면 다음 그림처럼 물리 메모리에 배열 요소 값들이 순서대로 배치된다. int arr[3] = { 3, 6, 9 }; 최신 시스템(32비트 이상)과 컴파일러 기준으로 int를 4바이트로 사용한다. 따라서 가리키는 주소는 1바이트마다 1씩 증가한다. ..

    OBS 화이트 노이즈 제거 방법

    OBS 화이트 노이즈 제거 방법

    *맥북 프로 M1 기준으로 작성되었습니다. 1인 유튜브, 인강 등을 녹화하실 때 화면과 함께 녹음을 진행하게 되는데요, 저는 이번에 OBS 프로그램을 처음 사용해보게 되었는데 사용법도 간단하고 무료라서 좋은것 같습니다! 그런데, 스튜디오가 아닌 자택에서 녹음을 하시게 되면 자연스럽게 화이트 노이즈가 발생하게 됩니다. 간단하게 제거하는 방법을 알려드릴게요. 1. 먼저 소스탭에 Audio Input Capture를 추가합니다. 이때, 화면 캡처에서는 음소거를 해주시는게 중요합니다. 2. 오디오 캡처에서 오른쪽 마우스 클릭 > 필터를 선택합니다. 3. 두가지 필터를 적용해봤습니다. 먼저 노이즈 억제 필터를 적용합니다. 4. 노이즈 억제할 때 어느 정도 범위를 잡을 건지 선택하는 부분인데 너무 많이 제거하면 음..

    [JS] 변수와 함수 정의

    [JS] 변수와 함수 정의

    변수 변수는 상황에 따라 변할 수 있는 값 let myname; // 선언 myname = 'Hazel'; // 할당 표현식에 변수를 사용할 수 있으며, 결과물을 다시 변수로 담을 수 있다. 타입 숫자, 문자열, Boolean, 배열, 객체, 함수, undefined 특정값의 타입을 확인할 때 typeof 값; 실습 예시 let string = '1'; console.log(typeof string) // --- string let number = 1; console.log(typeof number) // --- number 함수 함수 선언식 function getSquareArea(base, height) { let SquareArea = base * height; return SquareArea } ..

    [Linux] Ubuntu vim 설치 및 설정

    Ubuntu 18.04 LTS vim 설치하기 전 apt-get 업데이트 sudo apt-get update업데이트 마치고 vim 설치 sudo apt-get install vim기능 추가를 위해 설정 파일 열기 vi ~/.vimrc편집기 입력을 위해 i 를 눌러주고 필요한 내용 추가 set number " line 표시 set ai " auto indent set si " smart indent set cindent " c style indent set shiftwidth=4 " 자동 공백 채움 시 4칸 set tabstop=4 " tab을 4칸 공백으로 set ignorecase " 검색 시 대소문자 무시 set hlsearch " 검색 시 하이라이트 set nocompatible " 방향키로 이동 ..