전체 글 446

[쉽게 배우는 운영체제][Part-1][Ch-1] 운영체제의 개요

이 글은 "쉽게 배우는 운영체제 (조성호 지음)"을 읽고 주관적으로 작성된 글입니다. ※ 요약 운영체제의 정의 사용자에게 편리한 인터페이스 환경 제공 컴퓨터 자원을 효율적으로 관리하는 소프트웨어 운영체제의 역할/목표 자원관리 -> 효율성 자원 보호 -> 안전성 하드웨어 인터페이스 제공 -> 확장성 사용자 인터페이스 제공 -> 편리성 운영체제 구성 커널 - 핵심 기능 인터페이스 - 사용자의 명령을 커널에게 - 커널의 결과를 사용자에게 커널의 종류 단일형(Monolithic) - 모듈이 구분 없이 구성 계층형(Layered) - 비슷한 가진 모듈로 계층을 이루고, 그 계층의 통신으로 구성 마이크로(Micro) - 기본적인 기능만 제공하고, 사용자 영역에서 모듈 구현 1. 운영체제 소개 1) 일상생활 속의 운..

책읽기 2021.07.16

[파이썬 알고리즘 인터뷰][문자열] 그룹 애너그램 (중요)

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 문제 정의 애너그램 문자를 재배열하여 다른 뜻을 가진 단어로 바꾸는 것을 의미 문자의 순서가 바뀌면 같아지는 단어들끼리 묶은 리스트 반환 책에서 구현된 코드 def groupAnagrams(self, strs: list[str]) -> list[list[str]]: anagrams = collections.defaultdict(list) for word in strs: anagrams[''.join(sorted(word))].append(word) return list(anagrams.values()) 기억해야할 기법 frozenset을 dict의 key로 사용시 주의 문자의 개수를 생략하기 때문에, 사용된 알파벳이 ..

책읽기 2021.07.16

[파이썬 알고리즘 인터뷰][문자열] 가장 흔한 단어 (중요)

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 문제 정의 금지 단어 제외 대소문자 구분하지 않음 구두점(마침표, 쉼표 등) 무시 책에서 구현된 코드 def mostCommonWord(self, paragraph: str, banned: list[str]) -> str: words = [word for word in re.sub(r'[^\w]', ' ', paragraph) .lower().split() if word not in banned] counts = collections.Counter(words) return counts.most_common(1)[0][0] 기억해야할 기법 정규식 다시 확인 \w 같은 표현 기억이 잘 안남 리스트 컴프리헨션 활용 특정 조..

책읽기 2021.07.16

[파이썬 알고리즘 인터뷰][문자열] 로그 파일 재정렬 (중요)

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 문제 정의 로그 재정렬 기준 가장 앞 부분은 식별자 우선순위 : 문자 > 숫자 문자가 같으면 식별자 숫자 로그는 입력 순서 유지 책에서 구현된 코드 def reorderLogFiles(self, logs: list[str]) -> list[str]: letters, digits = [], [] for log in logs: if log.split()[1].isdigit(): digits.append(log) else: letters.append(log) letters.sort(key=lambda x: (x.split()[1:], x.split()[0])) return letters + digits 기억해야할 기법 문제..

책읽기 2021.07.16

[파이썬 알고리즘 인터뷰][문자열] 문자열 뒤집기

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 책에서 구현된 코드 def reverseString(self, s: list[str]) -> None: s.reverse() 기억해야할 기법 책에 기술된 s의 type이 현재는 불가능 책에 기술된 내용 - s: List[str] - List를 찾지 못함 가능한 방식으로 변경 - s: list[str] 값을 저장하는 등호에 쉼표(,) 활용 a, b = c, d 객체 내부값을 수정할 시 메서드를 호출할 것 내가 구현한 코드 def reverse_string(s:list): for i in range(len(s) // 2): s[i], s[len(s)-1-i] = s[len(s)-1-i], s[i] 함수 parameter ..

책읽기 2021.07.16

[파이썬 알고리즘 인터뷰][문자열] 유효한 팰린드롬

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 책에서 구현된 코드 def isPalindrome(s: str) -> bool: s = s.lower() s = re.sub('[^a-z0-9]', '', s) return s == s[::-1] 기억해야할 기법 isalnum(), isalpha() 알파벳인지, 숫자인지 등등을 확인해주는 내장함수가 있음 re(pattern, replace, str) str에서 pattern을 찾아 replace로 바꿈 re.sub('[^a-z0-9]', '', s) - 알파벳 소문자와 숫자가 아닌 것은 삭제 - [] 중에 하나 - ^는 not 문자 뒤집기 [::-1]이 reverse보다 빠름 [시작인덱스 : 끝인덱스 : 다음인덱스에 ..

책읽기 2021.07.16

[데이터 분석을 위한 SQL 레시피][1장] 빅데이터 시대에 요구되는 분석력이란?

이 글은 "데이터분석을 위한 SQL 레시피 (가사키 나가토, 다미야 나오토 지음)"을 읽고 주관적으로 작성된 글입니다. 1. 데이터를 둘러싼 환경의 변화 1) 접근 분석 도구의 등장 기존 데이터 키워드 2010년도까지는 접근 분석 도구가 데이터 분석의 주역 접근 분석 도구로 하던 일 - 웹사이트에 기록된 접근 로그 파일 분석 페이지 뷰의 추이를 집계 기록되어 있는 시간 URL 확인 구글 애널리틱스(Google Analytics) 접근 분석 도구 중 구글 애널리틱스가 영향력이 컸음 HTML에 태그에 사용자 추적 전용 스크립트를 넣어 데이터 축적/분석이 데이터를 다루는 일이었음 사용자 행동의 부상 구글 애널리틱스는 유입 키워드, 이탈률, 직귀율 같은 당시 파악하기 힘들던 지표까지 제공했음 이로써 사용자 행동..

책읽기 2021.07.15

기업이 말하는 백엔드 개발자

백엔드 개발자를 조사하게 된 이유 나는 데이터 엔지니어가 되고 싶었다. 데이터 자체에 대한 흥미가 높고, 서비스들이 데이터를 중심으로 개발되는 사실 또한 매우 흥미로웠다. 그래서 데이터 엔지니어가 되기 위해 데이터 엔지니어는 어떤 일을 하는지, 어떤 역량이 필요한지를 조사했었다. 2021.06.23 - [데이터 엔지니어링] - 기업들이 말하는 데이터 엔지니어

고민하기 2021.07.14

[파이썬 알고리즘 인터뷰] 2부 - 파이썬 (~ 5장 - 리스트, 딕셔너리)

이 글은 "파이썬 알고리즘 인터뷰 (박상길 지음)"을 읽고 주관적으로 요약한 글입니다. 5장 리스트, 딕셔너리 리스트와 딕셔너리는 코딩 테스트에서 무조건 사용 문제 풀이에 자유자재로 활용할 수 있도록 숙지 1) 리스트 리스트란? 순서대로 저장하는 시퀀스 - 입력 순서가 유지됨 값을 변경할 수 있는 Mutable 동적 배열로 구현됨 - C++의 Vector, Java의 ArrayList 매우 다양한 기능을 제공 - 스택/큐로써의 기능도 모두 제공 - 이는 다른 언어에 비해 매우 유리한 조건 큐로써 사용할 시 주의 - pop(0)는 O(n)을 소요 - 가장 앞의 요소를 제외한 나머지 요소들을 copy해야하기 때문 - Deque를 대산 사용 (추후 다룰 예정) min/max도 O(n) - 순차탐색을 하는듯 -..

책읽기 2021.07.12

React에서 string 안에 ${변수} 사용

이런... string 안에서 ${변수}를 사용하려면 '가 아니라 `를 사용해야한다. 세미콜론(;)급 통수다 ㅠㅠ ' Single Quote 세미콜론의 오른쪽에 있은 " (Double Qutoe)와 함께 string을 표현할 때 사용 ` Backtick 1의 왼쪽, ESC 아래, ~와 함께 있음 ${변수}를 인식 : string templating에 사용 이전에는 string의 concatenating을 사용해야하냐, templating을 사용해야하냐를 논했지만, 현재는 비슷하다고 판단하는듯 하다. concatenation이 빠르다는 말도, templating이 빠르다는 말도 있다. 참고 내용 [1] https://hello-bryan.tistory.com/120 React `string 안에 ${변수명..