본문 바로가기

전체 글361

JavaScript - async / defer 스크립트 속성 (feat. kakao sdk 로컬 에러) 카카오 sdk 는 로컬에서 돌아가지 않고 퍼블릭 url 에서만 돌아가게 된다. 스크립트 형식으로 삽입되면 에러를 내뱉을 때까지 한참을 기다려야 해서로컬 개발 환경에서의 개발자 경험이 좋지 못하다.  // .... err// 나 : 잉....? 왜 안되지?   왜 그럴까html  은   async script 안에 async 속성을 사용하면 마찬가지로 브라우저는 백그라운드에서 다운로드한다.따라서 스크립트를 다운로드 하는 도중에도 HTML 파싱은 계속된다. 파싱이 완료 된후 스크립트는 실행된다.defer 와 달리 DOMContentLoaded  이벤트를 신경쓰지 앟고 HTML  파싱 후 그냥 되는데로 실행이 된다.실행순서가 보장이 안되고 제각각이다.     해결async 옵션을 통해 비동기적으로 완료되는대로.. 2024. 7. 15.
알고리즘 - 퀵 정렬(Quick Sort) 퀵 정렬 (Quick Sort)이란퀵 정렬은 특정 원소(피벗) 기준으로 주어진 배열을 두 부분 배열로 분할한 뒤, 각 부분 배열에 대해서 퀵 정렬을 순환적(재귀적)으로 적용하는 방식이다 퀵 정렬은 최악의 경우 시간 복잡도 O(n²) 이고 평균적인 시간 복잡도는 O(nlogn) 이다. 최악의 경우는 피봇이 배열의 맨 처음 혹은 마지막으로 쏠려 일어나는 불균형적인 분할인 상황이며, 최선의 경우는 피봇이 정확히 n/2크기로 분할되는 균형적인 분할로 볼 수 있다. 하지만 피봇의 임의성만 보장된다면 평균성능 O(nlogn) 의 가능성이 매우 높게 된다. 퀵 정렬을 분할 정복 단계로 본다면분할: 피벗을 기준으로 주어진 배열을 두 부분 배열로 분할한다.정복: 두 부분배열에 대해서 퀵정렬을 순환적으로 적용하여 각 부분.. 2024. 6. 9.
Windows - PowerShell 에서 ohmyzsh git alias 명령어 적용하기 맥 쓰다가 윈도우를 쓰려니터미널 인터페이스 부터가 답답했다.하지만 리눅스 기반의 zsh 는 윈도우 기반의 개발 환경에서 너무 느렸고,이슈에 대한 예측이나 히스토리가 많이 없기에 리스키하다고 판단되었다. 기본적으로 파워쉘에서 원하는 alias  이름으로 된 함수를 만들고 명령어를 리턴하면 된다. (아주 간단하다)하지만  ohMyZsh 에서 사용하던 git alias 는 매우 방대함으로 포스팅을 해본다.  하지만 이 많은 명령어를 하나하나 언제 만들어주나 하는 생각에 아래 레포를 찾아버렸다.  GitHub - gluons/powershell-git-aliases: :octocat: Oh My Zsh's Git aliases for PowerShell.:octocat: Oh My Zsh's Git aliase.. 2024. 6. 4.
WSL2 실행에러 - this update only applies to machines with the windows subsystem for linux 윈도우에 도커를 설치하던 중이었다.wsl  을 설치하고  wsl2  리눅스 커널을 업데이트하다가 맞닥드린 에러를 해결해보았다. Docker(5) 윈도우에 WSL2 설치하기맥북과 같은 도커기반 개발환경을 구축하기 위해서 리눅스로 개발환경 세팅중이다. 지난 시간에는 윈도우에 터미널을 깔고 리눅스(Ubuntu)를 설치하였으니, 이번에는 도커를 실행할 수 있도록 WSLdevbirdfeet.tistory.com   1. 일단 다운받은 최신업데이트 파일의 경고창이 떴다!  2. window 버튼 누르고 검색해서  window 기능 켜기/끄기 창을 켜고, 아래 보이는 ✅ linux 용  winows  하위시스템과 ✅가상머신 플랫폼 에 체크해준다 3.윈도우 재부팅한다. 다시 실행하니 잘된다 (시 - 원) 2024. 6. 3.
알고리즘 - 이진 탐색 탐색은 배열 형태로 주어진 데이터에서 원하는 값을 가진 데이터를 찾는 알고리즘이다.이진 탐색은 입력된 데이터가 정렬된 상태로 주어진 경우에 효과적으로 수행할 수 있다. 여기서는 데이터가 오름차순으로 정렬되어 있다고 가정한다. 먼저 큰 틀에서 심플하게 4단계로 생각해보았다.배열은 오름차순 기준이고, 탐색키 key 와 가운데 원소 값이 같다면 즉시 종료한다.가운데 원소를 기준으로 좌우로 배열을 쪼갠다.key 와 가운데 원소를 비교해서 작으면 좌배열 크면 우배열에서 검사를 다시 시작한다.key 를 찾을 때까지 1번부터 다시 반복한다. 재귀적 용법을 사용한 이진트리 알고리즘BinarySearch 라는 함수의 입력값은 arr과 right,left, key 라는 값이다.arr 은 오름차순 정렬된 배열이다.key 는.. 2024. 5. 19.
알고리즘 - 알고리즘이란 알고리즘이란 주어진 문제를 해결하기 위한 일련의 처리과정을 단계적으로 나열한 것입출력 / 명확성 / 유한성 / 유효성설계 → 기술 → 정확성 분석 → 효율성 분석 알고리즘의 기본 자료구조선형 자료구조 : 배열 / 연결 리스트 / 스택 / 큐비선형 자료구조 : 트리 / 그래프 알고리즘의 대표적인 설계기법- 분할 정복 방법- 동적 프로그래밍 방법 - 욕심쟁이 방법 알고리즘의 분석정확성 / 효율성 분석 (공간 복잡도 & 시간복잡도) - 시간 복잡도알고리즘을 실행시켜 완료까지 걸리는 시간으로알고리즘에서 수행되는 단위 연산의 총 횟수로 계산된다입력 크기의 함수로 표현하며 최악의 수행 시간을 사용한다 점근 성능입력 크기가 충분히 커질 때의 알고리즘 성능다항식의 수행 시간에 대해서 계수 없이 최고 차항 만을 표시- .. 2024. 5. 11.
반응형