분류 전체보기 231

[C#] 두 List가 같은지 비교하기

Except()를 사용하여 비교할 수 있다. var firstNotSecond = list1.Except(list2).ToList(); var secondNotFirst = list2.Except(list1).ToList(); 위의 firstNotSeconds는 list1에서 list2를 제외하여 리스트로 변환하고, secondNotFirst는 반대로 list2에서 list1를 제외하여 리스트로 변환한다. 그런 다음 아래와 같이 Any()메서드로 두 리스트가 비어있는지 확인하여 결과적으로 두 List가 같은지 비교할 수 있다. !firstNotSeconds.Any() && !secondNotFirsts.Any(); 이들을 다음과 같이 메서드로 구현할 수 있다. private bool getIsEqualT..

Language/C# 2022.10.30

Github SSH인증

1. 개요 이 포스팅은 https://www.jeffyang.io/blog/github-ssh-authentication" href="http:// https://www.jeffyang.io/blog/github-ssh-authentication" target="_blank" title="외국 포스팅">외국 포스팅글의 내용을 발췌하여 번역 및 일부 수정한 포스팅이다.) Github SSH인증을 올바르게 설정하기 위한 방법을 작성한 포스팅이다. SSH 인증이 무엇인지, Github 컨텍스트에서 직접 설정하는데 관심이 있어야 하는 이유, 마지막으로 올바르게 설정하는 방법에 대해 다루도록 한다. 2. SSH란? SSH는 Secure Shell의 약자로 인터넷과 같은 보안되지 않은 공용 네트워크를 통해 신뢰할 ..

Git 2022.10.17

ESLint와 Prettier (2) - VSCode에 ESLint와 Prettier설치

1. 개요 지난 포스팅에서는 ESLint와 Prettier의 특성과 차이점에 대해 살펴보았다. 이번 포스팅에서는 VSCode에서 ESLint와 Prettier를 설정하는 방법을 살펴보고자 한다. 2. VSCode로 ESLint 및 Prettier 설정하기 코드 편집기에 적합한 확장/플러그인을 설치해야 한다. VSCode의 경우 ESLint및 Prettier를 설치한다. 이러한 플로그인에는 각각 수백만 건의 다운로드가 있으므로 VSCode 확장 마켓플레이스에서 쉽게 찾을 수 있다. 이들을 설치했으면 적절한 사용을 위해 각각을 구성할 준비가 된 것이다. ESLint와 Prettier 설정 앞서 언급했듯이 ESLint와 Prettier는 주의해서 설정하지 않으면 서로 충돌한다. 다행히도 이것은 널리 알려진 문..

ETC 2022.10.17

ESLint와 Prettier (1) - ESLint와 Prettier의 차이점

1. 개요 (이 포스팅은 외국 포스팅글의 내용을 발췌하여 번역 및 일부 수정한 포스팅이다.) 소프트웨어 개발/엔지니어링의 중요한 부분은 의도한 대로 작동하는 코드를 작성하는 것이다. 그리고 가능한 한 버그가 적은 코드를 작성해야 할 것이다. 그러나 실제로 작동하게 만드는 것 보다 코드를 작성하는 데 더 많은 노력을 요한다. 그 이유는 주로 세상에 존재하는 거의 모든 의미 있는 프로젝트/소프트웨어가 협업을 통해 만들어 지기 때문이다. 즉, 내가 다른 사람의 코드를 쉽게 읽을 수 있어야 하고, 다른 사람도 나의 코드를 쉽게 읽고 이해할 수 있어야 한다. 수동 방법을 포함하여 이를 달성하는 많은 방법이 있다. 엔지니어 팀은 코드 검토 중에 코드 스타일 문제를 수동으로 확인할 수 있으며 팀의 모든 엔지니어가 준..

ETC 2022.10.17

[2022 KAKAO BLIND RECRUITMENT] 양궁대회

세번째 프로그래머스 문제 풀이이다. 모든 경우의 수 전수조사 로직이 들어가야 했어서, 여태 했었던 모의 코딩테스트 문제중에 가장 어려웠다. 2022 KAKAO BLIND RECRUITMENT > 양궁대회 풀러가기 1. 문제 1.1 문제 설명 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원회는 한 선수의 연속 우승보다는 다양한 선수들이 양궁대회에서 우승하기를 원합니다. 따라서, 양궁대회 운영위원회는 결승전 규칙을 전 대회 우승자인 라이언에게 불리하게 다음과 같이 정했습니다. 어피치가 화살 n발을 다 쏜 후에 라이언이 화살 n발을 쏩니다. 점수를 계산합니다. 과녁판은 아래 사진..

[Javascript] Array 메서드(map, reduce, flatMap)

1. reduce recude() 메서드는 배열의 각 요소에 대해 주어진 리듀서(reducer)함수를 실행하고, 하나의 결과값을 반환한다. const array1 = [1, 2, 3, 4]; // 0 + 1 + 2 + 3 + 4 const initialValue = 0; const sumWithInitial = array1.reduce( (previousValue, currentValue) => previousValue + currentValue, initialValue ); console.log(sumWithInitial); // output: 10 리듀서 함수는 네 개의 인자를 가진다. 1. 누산기 (acc) 2. 현재 값 (cur) 3. 현재 인덱스 (idx) 4. 원본 배열 (src) 리듀서 함수..

[2022 KAKAO BLIND RECRUITMENT] 주차 요금 계산

나의 프로그래머스 두번째 문제풀이이다. 문제 제목이 재밌어 보여, 풀게 되었다. 2022 KAKAO BLIND RECRUITMENT > 주차 요금 계산 풀러가기 1. 문제 1.1 문제 설명 문제 설명 주차장의 요금표와 차량이 들어오고(입차) 나간(출차) 기록이 주어졌을 때, 차량별로 주차 요금을 계산하려고 합니다. 아래는 하나의 예시를 나타냅니다. 요금표 기본 시간(분) 기본 요금(원) 단위 시간(분) 단위 요금(원) 180 5000 10 600 입/출차 기록 시각(시:분) 차량 번호 내역 05:34 5961 입차 06:00 0000 입차 06:34 0000 출차 07:59 5961 출차 07:59 0148 입차 18:59 0000 입차 19:09 0148 출차 22:59 5961 입차 23:00 596..

[이슈] MediaRecorder(Web API)로 촬영한 webm 영상이 정상 재생되지 않음

1. 개요 node.js환경의 vue-electron으로 윈도우즈 프로그램을 개발하는 프로젝트 중의 일이다. 빌드 된 프로그램의 Chromium기반 웹페이지에서 Web API 내장 라이브러리인 MediaRecorder로 영상을 촬영한 후, 클라우드에 업로드 한 뒤 링크를 따서 외부 프로그램에서 영삿 재생이 바로 가능하도록 구현해야 했다. 하지만 웹에서 스트림 형식으로 촬영하고 처리한 후 생성한 영상에 여럿 까다로운 문제가 발생할 줄 몰랐으니.. 이를 파악하고 처리했던 히스토리를 공유하고자 포스팅으로 작성해본다. 2. 영상 처리 로직 처음에 MediaRecorder 인스턴스를 아래와 같이 초기화 한 후, // prompts the user for permission to use a media input w..

Ubuntu 18.04 관리자 권한으로 폴더 프로그램 사용

간혹 root폴더에 진입하는 등 root권한으로 파일 프로그램을 사용해야 할 때가 있다. 터미널을 열고, 아래 명령어로 nautilus-admin 패키지를 설치한다. (nautilus는 우분투의 파일 관리자 프로그램으로, 이 프로그램의 관리자 권한 실행 패키지이다.) $sudo apt install nautilus-admin -y 설치가 끝났다면, 아래 명령어로 nautilus를 재시작 해주면 적용 된다. (기존에 탐색하던 창들이 닫히니 주의하자) $nautilus -q 이제 폴더를 우클릭 해보면 "Open as Administrator" 메뉴가 보이고, 클릭 시 root 권한으로 폴더를 열어 작업할 수 있다. 루트 권한의 폴더인 /root 디렉토리로 진입한 모습이다.

ETC 2022.09.29

[NPM] NPM이란? 자주 사용되는 커맨드

1. NPM이란? NPM은 Node Packaged Manager의 약자이다. 이름처럼 NPM은 Node.js로 만들어진 모듈을 웹에서 받아서 설치하고 관리해주는 프로그램이다. 개발자는 CLI로 손쉽게 기존에 공개된 모듈들을 설치하고 활용할 수 있다. 프로그램보다 조금 작은 단위인 이 모듈들을 필요에 따라 적절하게 활용할 수 있도록 도와준다. (Java랑 비교를 하자면 메이븐과 비슷한 역할을 한다.) 2. NPM 설치 위에서 설명했던 것 처럼, NPM은 Node.js의 패키지 관리자이다. 따라서 NPM을 사용하기 위해서는 Node.js를 설치해야 한다. (공식 사이트에 들어가서 다운로드 할 수 있다.) 정상적으로 설치 하였다면, 다음 명령어로 설치된 NPM의 버전을 확인할 수 있다. 3. 자주 사용되는 ..

반응형