일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- npm start
- 동적 계획법
- Docker 원리
- 깊이 우선 탐색
- 문자열
- Container vs VM
- 정처기 필기
- 수학
- Python
- 냅색 알고리즘
- LCS 알고리즘
- error:0308010C:digital envelope routines::unsupported
- 다이나믹 프로그래밍
- 최장공통부분수열
- lazy evaluation
- 파이썬
- 배낭 문제
- dfs
- 그래프 이론
- 일단 시도
- 그래프탐색
- 모듈러 연산 분배법칙
- 최장공통부분문자열
- 너비 우선 탐색
- 클래스
- db replication
- bfs
- 구현
- 나는 바보야...
- 그래프 탐색
- Today
- Total
목록개인공부 (17)
Save my data
사전적인 의미는 '(비용등의) 간접비'라는 의미를 가지고 있다. 컴퓨터 공학에서는 함수가 아닌 함수를 호출하는데 드는 비용을 의미한다. 다른 블로그나 위키 보면 거의 초 단위로 몇 초 늘어나고 줄어들었다 설명 정도밖에 없어서 조금 더 찾아보았다. 예를 들어, 재귀함수의 오버헤드가 큰 이유는 다음과 같다. 함수를 호출할 때마다 프로그램은 현재 함수의 상태를 저장하고 새로운 함수 호출을 만들어야 한다. 이 작업은 스택 메모리를 사용하여 이루어진다. 재귀 호출이 깊어질수록 다시 원점으로 복귀하기까지 시간이 오래 걸린다. 즉 오버헤드가 커진다. 네트워크에도 Overhead라는 용어가 있다. Overhead는 일반적으로 패킷이나 프레임 등의 선두에 위치하기 때문에 Header라고도 한다. 올바른 목적지에 도달하기..
가상화 기술의 변천사 VM(Virtual machine) 가상화 기술이 등장하기 이전, 하나의 컴퓨터에서는 오직 하나의 OS만 작동시킬 수 있었다. 이로 인해 자원의 많은 낭비가 생겼다. 이러한 잉여 자원의 효율적인 사용을 위해 하나의 컴퓨터에 여러 개의 OS를 설치해서 활용하는 가상화 기술이 등장했다. 가상화 기술은 기존 운영체제 위에 하드웨어를 에뮬레이션 하고, 그 위에 운영체제를 올리는 것이다. Hypervisor 기반의 가상화 기술이 가장 많이 사용되었다. VM간에는 분리되어있기 때문에 오류가 발생해도 다른 VM에 영향이 없다는 것이 가상화 기술의 장점이다. Hypervisor: 논리적으로 분할된 어떤 공간에서 독립적인 환경을 구성하고 호스트 OS 커널에서 게스트 OS를 관리하는 기술 Docker..
해결하는데 엄청 오래 걸렸다. 크롬의 새 버전 samesite 이슈, SSL 인증서와 https, Django-React cors 이슈 등 많은 것들을 구글링 했다.가장 뒤통수가 얼얼했던 부분은 set_cookie에 samesite="none" 설정이었다. 잘못된 예시 :res.set_cookie( "access", access, httponly=True, secure=True, samesite=None ) res.set_cookie( "refresh", refresh, httponly=True, secure=True, samesite=None )위와 같이 ..
npm audit fix --force 이후에 npm start를 하니 아래와 같은 에러코드가 뜨면서 실행이 안됬다. Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:71:19) at Object.createHash (node:crypto:133:10) at module.exports (F:\GitHub_management\projects\react-todo\node_modules\webpack\lib\util\createHash.js:90:53) at NormalModule._initBuildHash (F:\GitHub_management\projects\react-todo..
시나공 최신판을 썼고, 내가 한번이라도 읽었던 부분이 문제로 나왔나 안 나왔나를 기억나는대로 써봤다. (CBT 시험이었기 때문에 의미는 없지만...) 1과목 / 소프트웨어 설계 : 이 과목은 공부를 별로 안 하고 갔다. 에자일 관련해서 역시나 몇 문제 나왔다. 럼바우 관련 문제 나왔다. 유스케이스 관련해서 문제가 나왔다. 2과목 / 소프트웨어 개발 : 전위, 중위, 후위 탐색법 문제 안 나왔다. 그래프 선 긋기 문제 안 나왔다. 테스트 오라클 안 나왔다. 상향식, 하향식 문제 하나 나왔다. 테스트 드라이버 관련 문제였다. 모듈, 구현, 패키징에 대해 꽤 많은 문제가 나왔다. 블랙박스, 화이트박스 테스트 한 두 문제 나왔던 것 같다. 자료구조 한 문제? 정도 나왔던 것 같다. 알고리즘에 대해 묻는 문제가 ..
클래스를 만들 때 생성자 혹은 다른 멤버함수에 첫 번째 인자로 보통 self를 쓴다.파이썬 외의 다른 언어에서도 this라는 이름으로 쓰여지는 이 self에 대해 알아보고자 한다.class Test: def func1(): print("func1() 실행됨") def func2(self): print(self) print(id(self))test_obj = Test()print(test_obj.func1())# >>> TypeError: Test.func1() takes 0 positional arguments but 1 was given Test 클래스를 정의하고 있다.Test 클래스 내부에는 두 개의 멤버함수가 있다.func1 에는 아무 인자도 주어지지..
오늘은 파이썬의 클래스를 살펴보자.나는 이런 나무위키식 학습을 좋아한다.클래스 :사용자가 정의한 속성들이 있는 특정 객체들을 만들기위한 설계도파이썬의 클래스는 자신만의 네임스페이스를 가진다.클래스의 네임스페이스를 확인하고 싶다면 클래스이름.__dict__ 로 확인할 수 있다.Account.__dict__ class Account: total_accounts = 0 def __init__(self, client_name:str): self.client_name = client_name Account.total_accounts += 1 def __del__(self): Account.total_accounts -= 1 은행 계좌를 개설하는 클래스를 만들었..
이 글은 오늘의 면접에서 특히 내 기억에 남는 세 번의 실수에 대한 회고이다. 면접에서 여러모로 배워가는 것이 많았는데, 오후중에 진행이 되었고 한 시간 약간 넘게 진행이 되었다. 첫 면접인 만큼 여러 실수를 했고 그 만큼 배워가자는 마인드로 임했다. 특히 신입, 경력을 불문하고 개발자로서 지녀야 할 모범적인 태도나 각 언어를 대하는 마음가짐에 대해 다시 한 번 생각하게 되는 계기가 되었다. 면접은 회사 내부 별도의 사무실에서 진행이 되었고 두 분이 들어오셨다. 첫 면접이라 많이 떨렸지만 배려를 많이 해 주신 덕에 면접 자체는 편안한 분위기에서 진행이 되었다. 첫 15분 정도는 업력과 업종에 대해 간략히 설명을 듣고, 그 후 15분 정도는 성격의 장단점이나 그간의 이력, 경력에 대해 질문을 받았다. 회사..