본문 바로가기

hacking or software engineering skills

(64)
[gcp] gcp로 jupyter lab, jupyter notebook 접속, 클라언트 작동 중지시 서버 작동이 멈출때 방법 (gcp jupyter lab 백그라운드 실행, tmux 이용 ssh 연결 관리) tmux란? Terminal MUltipleXer 언제 쓰는가? gcp를 ssh로 연결하고 Jupyter lab으로 학습을 돌려놓는다. 그런데 컴퓨터가 잠시 꺼지거나 인터넷 연결이 끊어지면 이 학습도 멈춰버린다.... 이것 때문에 많은 시간을 날렸다. 10시간 학습한 게 수포로 돌아가기도 했으니... 이 삽질을 막을 방법이 tmux다 nohup이란 것도 있는데 py파일에 대한 설명만 있어서 tmux를 시도해봤다. 잘 되길래 유용한 정보로 생각되어 포스팅한다. tmux를 사용해서 내 컴퓨터가 죽어도 서버에서 계속 안전하게 학습하는 방법! gcp ssh를 연결해준다. tmux 명령어를 입력해준다. $ tmux new -s k (k는 원하는 숫자를 입력하면 된다. 안 입력하고 tmux라고 치면 자동으로 0번으..
[gcp] gcp jupyter lab 연결 방법 1. gcp 외부 ip를 고정 ip로 바꿔준다. 인스턴스 생성 후 네트워크 세부 정보 보기로 간다 유형을 고정으로 바꿔준다. 2. 방화벽 규칙을 추가한다. 잘 만들었으면 아래와 같이 뜬다. 다음 Jupyter lab을 pip로 설치해준다. vi 에디터에서 아래를 추가해준다. 여기서 port는 위 방화벽 규칙과 같은 port로 입력한다 수정 위에서 '5000'이 아니라 숫자 5000으로 입력하면 밑에 명령어에서 따로 --port를 안주어도 접속 가능하다. gcp 서버 terminal 창에 아래와 같이 입력하여 jupyter lab 서버를 실행한다. - jupyter lab --port='방화벽&config에서 설정한 포트' 외부 ip주소:port를 입력해서 jupyter lab을 이용한다.
[자료구조] hash 구현 (python) 해쉬 구조 Hash Table: 키(Key)에 데이터(Value)를 저장하는 데이터 구조 Key를 통해 바로 데이터를 받아올 수 있으므로, 속도가 획기적으로 빨라짐 파이썬 딕셔너리(Dictionary) 타입이 해쉬 테이블의 예: Key를 가지고 바로 데이터(Value)를 꺼냄 보통 배열로 미리 Hash Table 사이즈만큼 생성 후에 사용 (공간과 탐색 시간을 맞바꾸는 기법) 단, 파이썬에서는 해쉬를 별도 구현할 이유가 없음 - 딕셔너리 타입을 사용하면 됨 알아둘 용어 해쉬(Hash): 임의 값을 고정 길이로 변환하는 것 해쉬 테이블(Hash Table): 키 값의 연산에 의해 직접 접근이 가능한 데이터 구조 해싱 함수(Hashing Function): Key에 대해 산술 연산을 이용해 데이터 위치를 찾..
[자료구조] Linked List,Double Linked List 구현 [python] linked list 링크드 리스트의 장단점 (전통적인 C언어에서의 배열과 링크드 리스트) 장점 미리 데이터 공간을 미리 할당하지 않아도 됨 배열은 미리 데이터 공간을 할당 해야 함 단점 연결을 위한 별도 데이터 공간이 필요하므로, 저장공간 효율이 높지 않음 연결 정보를 찾는 시간이 필요하므로 접근 속도가 느림 중간 데이터 삭제시, 앞뒤 데이터의 연결을 재구성해야 하는 부가적인 작업 필요 class Node: def __init__(self,data): self.data = data self.next= None class LinkedList(): def __init__(self,node): self.head = Node(node) def add(self,data): if self.head is None:..
[Leetcode] Longest Substring Without Repeating Characters (python) python class Solution: def lengthOfLongestSubstring(self, s: str) -> int: if not s: return 0 answer = 1 max_num = len(set(s)) n = len(list(s)) for group_size in range(2,max_num+1): for start_idx in range(0,n-group_size+1): if len(set(s[start_idx:start_idx+group_size])) == group_size: answer = group_size break return answer그냥 brute force로 다 구했다. dynamic programming 형식으로 우선 group_size는 logN의 사이즈이고..
[leetcode] reverse_integer (python3) String → list → reverse 이용해서 풀기 첫번째 풀이, 28ms python class Solution: def __init__(self): self.min = -2**31 self.max = 2**31 def reverse(self, x:int) -> int: reverse_list = list(str(x)) reverse_list.reverse() if x self.max: return 0 else: return i..
[programmers - python] 체육복 (greedy) 첫번째 시도 한문제 맞춤… def solution(n, lost, reserve): lost_new = sorted(set(lost) - set(reserve),reverse = True) reserve_new = sorted(set(reserve) - set(lost),reverse=True) given = [] given_flag = False while reserve_new: while lost_new: lo = lost_new[-1] temp = reserve_new[-1] if temp - 1 == lo or temp + 1 == lo: given.append(reserve_new.pop()) lost_new.pop() given_flag = True break if not given_flag:..
7. Reverse Integer Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Output: 321 Example 2: Input: -123 Output: -321 Example 3: Input: 120 Output: 21 Note: Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer ov..

728x90