본문 바로가기

분류 전체보기

(341)
Vue.js) vue-router 이동시 새탭으로 열기 router.push 또는 replace 등으로 이동하는데 새탭으로 열고 싶을 때 이렇게 하면 된다. const routeData = router.resolve({ name: 'route-name', params: { ... } }); window.open(routeData.href, '_blank'); References https://stackoverflow.com/questions/40015037/can-vue-router-open-a-link-in-a-new-tab
Docker) Mac M1, M2 apple chip build 에러 해결: Standard_init_linux.go:190: exec user process caused “exec format error 윈도우에서는 잘 되던게 맥에서는 안돼서 한참 해맸는데 뭔데 아키텍처가 달라서 안되는거라고 한다. 더 알아보긴 해야겠지만 일단 해결 방법은 다음 옵션을 추가하면 된다. --platform linux/amd64 ex) $ docker build --platform linux/amd64 -t
Git) git push 실패 - remote: Invalid username or password.fatal: Authentication failed for <private repository> 해결 1. 로그인할 계정의 Personal Access Token 발급하기 github 페이지 우측 상단에 자신의 프로필을 눌러 Settings > Developer settings > Personal access tokens에 들어간다. Generate new token을 눌러 토큰 만들기를 시도한다. note에 토큰 사용에 대한 간단한 내용을 적고 토큰 유효기간을 설정하고 권한을 줄 기능을 선택한 뒤 토큰을 생성한다. 생성된 토큰을 복붙해서 다른데에 저장해둔다. 알림에 써있듯이 생성 당시 한번만 볼 수 있고 새로고침을 하면 그 뒤로는 볼 수 없으니 주의하도록 하자. 2. 기존에 git remote를 설정해 두었다면 지운다. 기존에 등록해 둔 원격 레포가 없다면 3번으로 넘어간다. $ git remote r..
정보 보호) SSL, HTTP, HTTPS SSL(Secure Socket Layer) : 보안 소켓 계층 서버-서버 또는 서버-클라이언트 사이에 전송되는 데이터를 암호화하여 인터넷 연결을 보호하기 위한 표준 기술 TLS(Transport Layer Secure Protocol) TLS 네스케이프에 의해서 SSL이 발명되었고, 이것이 점차 폭넓게 사용되다가 표준화 기구인 IETF의 관리로 변경되면서 TLS라는 이름으로 바뀌었습니다. TLS 1.0은 SSL 3.0을 계승합니다. 하지만 TLS라는 이름보다 SSL이라는 이름이 훨씬 많이 사용되고 있습니다. 출처: https://12bme.tistory.com/80 [길은 가면, 뒤에 있다.:티스토리] HTTP (HyperText Transfer Protocol) 와 HTTPS (HyperText Tr..
자료구조/Python3) 큐 두 개로 스택 구현하기 두 개의 큐로 스택을 구현할 수 있다. 이때 큐는 이미 구현된 것 클래스를 사용했다. class Stack: def __init__(self) -> None: self.inq = linked_list_queue.Queue() self.outq = linked_list_queue.Queue() ... push 큐 둘 중 하나에 값을 enqueue해주면 된다. 이건 일반적인 스택 push 방법과 동일하다. ... def push(self, data) -> None: self.inq.enqueue(data) ... pop 이 부분에 조작이 필요하다. 일단 값을 추가한 큐(=inq)에 값이 1개 남을 때까지 dequeue에서 앞에 있는 값들을 모두 또 다른 큐(=outq)에 넣어준다. 그러면 먼저 들어간 요소들..
자료구조/Python3) 스택 2개로 큐 구현하기 스택과 큐는 출력되는 순서가 정반대다. 스택은 가장 나중에 들어간 요소가 가장 먼저 나오고, 큐는 가장 먼저 들어간 요소가 가장 먼저 나온다. 이러한 특성을 이용해서 스택 2개로 큐를 구현할 수도 있다. 스택은 미리 구현해 둔 클래스를 사용했다. 일단 스택 두개를 가지고 있어야 한다. import linked_list_stack class Queue: def __init__(self): self.in_stack = linked_list_stack.Stack() self.out_stack = linked_list_stack.Stack() ... enqueue 데이터 삽입은 그냥 스택 둘 중 하나에 넣으면 된다. 이 스택은 나는 In_stack이라고 선언했다. ... def enqueue(self, data..
자료구조/Python3) 연결 리스트로 큐 구현하기 Queue는 선입선출 (First In First Out) 형식의 자료구조이다. 브라우저가 Javascript를 동작시킬 때 api콜, setTimeout 등 비동기로 처리할 수 있는 함수들은 콜 스택에 쌓지 않고 web api에서 비동기로 처리한 후 처리 결과와 함께 콜백 함수를 테스크 큐에 넣는다. 이 때 테스크 큐가 큐 구조로 이루어져 선입선출 방식으로 작동한다. python에서는 collections라는 라이브러리에 deque 모듈을 임포트해서 사용하면 간단하지만 원리를 이해하기 위해 연결리스트로 구현해보았다. class Node 연결리스트의 노드는 각 노드의 값과 다음 노드를 가리키는 포인터로 이루어져있다. class Node: def __init__(self, data) -> None: sel..
자료구조/Python3) 연결리스트로 스택 구현 후입 선출 (Last in First Out) 자료구조인 스택은 Python에서 이미 list[]라는 자료형으로 구현되어 있다. 그래서 내장된 append, pop 함수를 이용해서 push,pop 메소드를 간단하게 구현할 수 있다. 그래서 이번에는 리스트 자료형을 사용하지 않고 각 노드가 next 노드에 대한 포인터를 가지고 있는 연결리스트로 스택을 구현해보았다. class Node class Node: def __init__(self, data): self.data = data self.next = None 연결 리스트의 각 노드들은 값(=data)을 가지고 다음 노드에 대한 포인터 (=next)를 갖는다. class Stack 스택은 기본적으로 top 포인터를 가지고 있다. LIFO 구조로 데이터에 ..