전체 글 284

VS 2022 에서 js 개발 - (2)

(1) 에서 console empty project 로 진행하여, node.js 실행 결과만 확인할 수 있었다. 이번에는 web project 를 생성하여 진행한다. 프로젝트 구성은 위와 같다. npm 설치가 가능하고 "server.js" 파일이 기본으로 생성된다. server.js 이름으로 알 수 있듯이 server 를 구성하고 web browser 에서 js 수행을 기반으로 동작한다. server.js 구성은 아래와 같다. 'use strict'; var http = require('http'); var port = process.env.PORT || 1337; var fs = require('fs'); http.createServer(function (request, response) { http ..

언어/js 2023.04.25

VS 2022 에서 js 개발 - (1)

대부분의 js 개발은 VS Code 를 많이 사용한다. 하지만 VS 2022 를 설치한 환경에서도 js 프로젝트를 생성할 수 있다. 먼저, VS Installer 에서 아래 "Node.js 개발" 을 포함시켜 설치한다. 이후 VS 2022 를 실행하면 js 관련 프로젝트 선택이 나오는데 많은 template 을 제공하고 있다. 적절한 template 을 선택하고 실행하면 "node.js" 설치가 없다는 메세지를 확인할 수 있다.. 당황하지 말고 팝업 메뉴의 install node.js 를 선택하면 nodejs website 가 연결되며, 적절한 버전의 nodejs ( LTS ) 를 설치하고 VS 2022 를 다시 실행하자. 생성된 프로젝트 구성을 보면 재미있다. sln 파일도 있고.. obj, bin 폴..

언어/js 2023.04.23

boids

Boids 알고리즘은 많겠지만 간단한 알고리즘을 써봤습니다. youtube 영상에서 boids 시뮬레이션을 보고, gtihub 주소가 있어 확인했습니다. https://github.com/jackaperkins/boids GitHub - jackaperkins/boids: The age old boids project! The age old boids project! Contribute to jackaperkins/boids development by creating an account on GitHub. github.com 내용 중 boids 알고리즘 부분은 다소 간단하게 확인할 수 있습니다. "boids.pde" 내용으로 아래 절차를 따르고 있습니다. 1. update 1-1. collect boid..

알고리즘 2023.04.23

WalkieTalkie - 0

안녕하세요. 가제 ( WalkieTalkie ) 로 voip 가능한 chat program 을 구성해보려합니다. 구조는 dotnet 으로 서버를 구성하고 .NET MAUI 으로 클라이언트로 생각하고 있습니다. 첫 시작으로 server 를 만들겠는데요. VS IDE 를 실행하고 dotnet console program 으로 프로젝트를 시작하면 됩니다. Core 의 첫 단추는 socket 을 생성해야 합니다. 1. listen socket 을 만들어봅니다. listen socket 은 외부의 connection 요청을 받아 줄 수 있는 수신기라 생각하면 됩니다. 인터넷을 통해 통신을 하기 위해서는 발신자가 수신자의 주소를 알아야 합니다. 현재는 ip 와 port 로 그 주소를 지칭할 수 있습니다. ip 는 ..

올바른 괄호의 갯수

https://school.programmers.co.kr/learn/courses/30/lessons/12929 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 카탈랑 수 를 알면 쉽게 풀 수 있는 문제입니다. 저는 카탈랑 수를 몰랐기에 다른 블로거 분의 도움을 받아서 해결했습니다. 참고 function solution(n) { const c = new Array(n + 1).fill(0); c[0] = c[1] = 1; // c(n) = E(i=0..n){C(i)*C(n-i)} function get_c(i) { if(c[i] != 0) return c..

쿠키 구입

https://school.programmers.co.kr/learn/courses/30/lessons/49995 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 전체 쿠키를 순회하며 O ( n ) index ( m ) 를 기준으로 좌우에 최대 쿠키를 구합니다. 현재 기준 ( m ) 으로 부터 index ( left, right ) 를 움직이며 최대 쿠키를 찾습니다 O ( n ) 현재 쿠키가 같더라도 더 이상 움직일 index 가 없을 때까지 순회하여 전체 쿠키에서 가장 큰 쿠키를 구합니다. 총 O ( n^2 ) 에서 해결됩니다. function solut..

자동완성

https://school.programmers.co.kr/learn/courses/30/lessons/17685 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 입력받는 키워드 ( char ) 를 tree 로 만들고, 각 키워드를 순회하며 중복되지 않은 ( 겹치는 단어가 없는 ) node 에 도달하면 해당 node 의 depth 가 단어를 검색하는데 필요한 최소 단어 갯수이다. tree 를 만드는 전체 과정은 O(N*2) 이 수행되고, 단어를 찾는 과정은 O(N) 이 수행된다. function solution(words) { var rootDict = n..

무지의 먹방 라이브

https://school.programmers.co.kr/learn/courses/30/lessons/42891 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에는 음식을 순회하면서 O(N^2) 문제를 접근했다. N = 음식, N = 시간 음식은 Set 에 등록하여 다 먹은 음식은 Set 에서 제거하는 방법으로 마지막 음식 ( t + 1 ) 의 index 를 구하여 정확성 테스트를 통과했지만, 효율성 테스트에서는 실패했다. 고민을 하다.. 다른 사람의 아이디어를 도움 받아 n 초 만큼의 음식을 먹는 과정을 O(1) 로 줄일 수 있었다. 아이디어는 음..

호텔 방 배정

https://school.programmers.co.kr/learn/courses/30/lessons/64063 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr room 안에 배정된 인원 수가 1 명이므로, has 검사만으로도 충분하다. 요청받은 방 번호가 invalid 하다면, 그 다음으로 큰 번호의 방이 할당되어야 하는데, iter 를 돌리다보면 O(n) 이 발생하고, 결국 O(n*2) 이 되므로 indexing map 을 두어 접근했다. 방을 찾고, 다음에 요청되는 경우 할당 가능한 방을 찾아 이전까지 순회했던 방들의 indxing 도 같이 upda..

KODI on apple tv generation 4

애플tv 를 구입하게되어 여러가지 활용하고 있다. tv os 의 앱으로 상당수 많은 서드파티들이 제공하고 있지 않기에 대부분의 사람들이 KODI 와 같은 앱을 통해 plugin ( addon ) 형태로 서비스를 이용하고 있다. apple tv 은 일반적인 tv os 보다 더 제한적인 환경 ( 저작권 ) 으로 KODI 를 확장하는 방법 또한 공식적으로 없다. apple tv 에 KODI matrix 를 설치하면서 겪은 troubleshooting 을 공유하고자 한다. 그나마 official 설치 문서 ( https://kodi.wiki/view/HOW-TO:Install_Kodi_on_Apple_TV_4_and_5_(HD_and_4K) ) 를 따라가면 설치과정에는 별 문제가 없다. 중간에 KODI deb ..

개발_이야기 2021.05.31