일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자료구조
- Nice
- ELK
- C++
- java
- konga
- supabase
- roll over
- 파이썬
- DI
- OpenSource
- prometeus
- jwt-java
- pyannote
- monitoring
- curl
- mybatis
- elastic search
- 하이브리드 데이터 모델
- template/callback
- API Gateway
- docker
- kong
- metricbeat
- 화자분리
- umc
- devops
- fosslight
- Spring
- 메소드
- Today
- Total
목록전체 글 (157)
youngseo's TECH blog

문제정리 https://www.acmicpc.net/problem/2618 2618번: 경찰차 첫째 줄에는 동서방향 도로의 개수를 나타내는 정수 N(5 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 처리해야 하는 사건의 개수를 나타내는 정수 W(1 ≤ W ≤ 1,000)가 주어진다. 셋째 줄부터 (W+2)번째 줄 www.acmicpc.net 생각노트 두 자동차가 가는 길이 있다고 했을 때 어떻게 하면 최소로 갈 수 있을까. 이때 각 자동차를 "무조건 가까운 곳"으로 선택해서 가는 방법은 조금 생각해보면 안 된다는 것을 알 수 있다. 몇 번째 사건을 누가 처리하느냐에 따라 의존성이 계속해서 바뀌기 때문이다. (아무리 경찰차2랑 현재 거리에서는 가깝다고 하더라도 경찰차1이 사건 1,2,3을 처리하다가 더 ..

평소 backend가 잘 구현되었는지 확인할 때, frontend에서 axios / fetch 등으로 데이터를 보내고 front에서 만들어진 데이터를 DB에서 직접 확인해보는 단계를 밟아왔다. 하지만 backend만 맡아서 개발하려고 할 시에는 그런 단계를 밟을 수가 없다. 그래서 postman이나 node js로 데이터를 만들어 검사해보는 과정이 필요하다. 그럼 데이터를 많이 만드는 데 공을 들이느라 시간 낭비 아닐까?? 라는 생각이 들 수 있다. 데이터양에 부담 가질 필요는 없다. 요청이 한 개라면 데이터는 사실 한, 두개? 만 만들어보면 되고, 요청이 여러 개라면(여러 사용자의 댓글이라거나, 댓글에 댓글이 또 달리게 되는 대댓글 등) 데이터는 그래도 세, 네 개 정도만 만들어 테스트해보면 된다. 1..

맨 처음 Git/Github에 대해서 배울 때 너무 혼자 야매로 배웠어서 다양한 용어에 대해 미숙했당... cmd 창에 명령어를 어렵게 치지 않아도 SOURCETREE 를 이용하면 1. git commit / git merge 등을 클릭으로 해결할 수 있다. 2. 내가 지금까지 commit했던 내용들을 가시화해서 밑 그림처럼 친절하게 보여준다. (merge 과정들도 딱 보임) 이런 장점들이 있어서 평소 그냥 이렇게 써왔는데, 이번에 처음으로 협업하면서 PR을 날리다가 + 스터디원들 git 연결을 도와주다가 많이 헤맨 경험을 하고 말았다..😥 결국 해결은 sourcetree를 깔아서 해주긴 했지만.. 그래도 한 번 정리를 해놓으면 좋을 것 같다!!! 일단 나는 항상 default branch로 master..

실내 운동 기구 object detection 을 해보고 싶어 이번에 구글에서 이미지 크롤링으로 이미지 데이터를 수집해 보았다. selenium 크롤링은 간단히 말해 우리가 일일히 손으로 타자 쳐서 검색하고, 이미지를 클릭하고, 이미지를 저장하는 일련의 과정을 자동적으로 해주는 메소드이다. automatically control!! 신기했다. 가상환경에서 실행된다. 아래 코드는 selenium 관련 명령어+python이 주로 이루어져 있으며, time과 관련된 명령어들은 '클릭할 때', '페이지를 로딩할 때', '스크롤할 때' 조금 기다리게 하여 과도하게 빠르게 진행되는 현상을 막는다. import threading from selenium import webdriver chrome_options = w..

'useState' 웹/앱 개발 시 정말 많이 사용하게 되는 상태관리 라이브러리이다. 그리고 Javascript를 사용할 때 정말 혁신적이다고 항상 생각하는 tool 중 하나이기도 하다. 하지만 이 useState 형제들에게도 한계가 있는데, 바로, 한 컴포넌트에서 저장한 state를 다른 컴포넌트에서도 사용하려고 할 때 props로 전달해야 하는 불편함이 있다는 것이다. props에 대한 설명은 이게 '딱'인 것 같아 참고용으로 가져와봤다!! 우리가 페이지를 여럿 만들다 보면 리액트 페이지 간에도 부모-자식 관계가 생기게 된다. 예를 들어보자면, App.js (React 만들 때 가장 상위 DOM인 컴포넌트)에서 로그인했을 때 설정하는 이름 정보를 mypage.js 컴포넌트로 가져가야 한다고 하자. 이..

'알고리즘'으로 모든 문제를 해결할 수 있을까?? 아쉽게도 그렇지 않다. 의사결정을 위해서는 다양한 변수를 고려해야 하지만 정보의 부족과 시간제약으로 완벽한 의사결정을 할 수 없다. 우리는 실현 가능한 해답이 필요하다. 휴리스틱은 이런 경우를 위해 현실적으로 만족할 만한 수준의 해답을 찾는 것을 의미한다. 특히 경험이나 직관을 사용하거나 시행착오를 거쳐서 충분히 효율적인 해답이나 지식을 얻게 된다. 휴리스틱 알고리즘 중에서도 다가가기 쉬운 메타 휴리스틱 알고리즘에 대해 다뤄보자! 특정 문제에 특화되지 않고 자연에서 영감을 얻은 경험적 방법 & 휴리스틱 알고리즘 중 여러 도메인에서 활용할 수 있도록 일반화되어 발전된 알고리즘 휴리스틱 알고리즘에는 다양한 종류가 있는데 (1) 자연의 진화과정을 ..
이진탐색트리에 노드를 삽입/삭제/중위순회로 출력하는 코드입니다! 중요하게 봐야 할 곳은, 1. 아직 트리가 만들어지지 않았을 때 노드를 삽입하는 경우 2. 트리 삭제 시 노드를 찾았는데, 1.자식이 0개라면 node를 지운 후 해당 node를 nullpointer로 바꿔준다. 2.왼쪽 자식만 있다면 왼쪽 자식을 해당 노드로 바꿔준 후 찾았던 걸 삭제한다. 3.오른쪽 자식만 있다면 오른쪽 자식을 해당 노드로 바꿔준 후 찾았던 걸 삭제한다. 4.왼쪽 오른쪽 자식 둘 다 있다면 왼쪽 노드 중에서 가장 큰 값을 찾아서 그 노드로 바꿔준다. 3. 노드의 왼쪽 자식/오른쪽 자식으로 이동할 때 pointer 값!! (null pointer도 잘 생각해주자) main.cpp 파일 #include "binarysearc..
대뜸 다음 코드에서 값이 어떻게 나올지 예상해 보자. def spam(eggs): eggs.append(1) eggs=[2,3] ham=[0] spam(ham) print(ham) 그래, 배열은 메모리 주소값을 할당하는 거라고 했고, 함수 spam에 인수로 넣은 ham이 eggs가 되는 격이니까 답은 [2,3]! 이라고 했다면... ㅎㅎ이 글을 보게 된 것이 다행이다!! spam에 함수의 parameter는 eggs이다. 따라서 우리가 ham을 spam에 넣어준 동시에 함수의 parameter eggs는 ham 자체가 된다. 3행에서 eggs는 새로운 리스트를 만드는 코드이다. 그래서 이 경우, 더는 ham과 eggs와 같은 메모리 주소를 가리키지 않고 eggs는 자신만의 메모리 주소를 가지게 된다. 함..