분류 전체보기 258

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. 자주 사용되는 ..

[Node.js] fs 모듈로 파일 입출력 처리

1. 개요 fs 모듈은 FileSystem의 약자로 파일 처리와 관련된 모듈이다. 메소드가 굉장히 많은데 가장 중요하고 기초적인 내용 위주로 살펴보자. 2. fs 모듈 불러오기 fs 모듈은 Node.js에 내장되어 있기 때문에 별도의 라이브러리 설치 없이 바로 불러와서 사용할 수 있다. CommonJS모듈 시스템을 사용하는 프로젝트에서는 require 키워드로 불러오고, ES모듈 시스템을 사용하는 프로젝트에서는 import 키워드를 사용 할 수 있다. // CommonJS Modules const fs = require("fs"); // ES Modules import fs from "fs"; 3. fs 모듈의 비동기 함수 vs 동기 함수 fs 모듈은 비동기(asynchronous) API와 동기(syn..

[Vue/Electron ISSUE] 외부 모듈 Cannot find module 문제

1. 개요 외부 모듈을 npm으로 설치하여 package.json 에 의존성 정보 삽입 및 node_modules에 설치가 되었다. 하지만 serve 명령어로 electron을 띄었을 시에는 해당 모듈 import시 문제가 발생하지 않았는데, build 명령어로 프로그램을 빌드 후 실행하였을때 해당 모듈 import시 아래와 같이 Cannot find module 에러가 떴다. serve시에는 로컬에 이미 설치되어 있는 모듈을 잘 참조하지만, 빌드시에는 해당 모듈이 package.json에 관리되어 있어도, electron-builder가 프로그램에 필요한 모듈이라 생각하지 않아 설치되지 않고 빌드되어, 참조시에 에러가 발생하는 모양이다. 2. 해결방법 해결책을 찾은 사이트: https://stackov..

SPA Framework/Vue 2022.09.26

[Java] 예외처리

1. 예외란? 개념적으로 예외란, 어떤 이유로 컴퓨터가 더 이상 프로그램을 진행할 수 없는 상태가 되는 것을 의미한다. 예를 들어서 배열의 크기보다 큰 곳을 접근하려 한다던가, 0으로 수를 나누려 한다던가, 가져오려는 값이 Null일 경우 등등.. 프로그램을 만들다 보면 수없이 많은 오류를 마주치게 된다. 이러한 오류들은 프로그램이 오동작을 하지 않도록 하기 위한 선기능이 있으며, 이러한 오류들을 무시하고 싶을 때도 있고, 오류가 날때 적절한 처리를 하고싶을 때도 있을 것이다. 이러한 예외들을 자바에서는 어떻게 처리하는지 살펴보고, 보다 안전하고 유연한 프로그래밍을 구사해보자. 2. 예외 처리 기본 (try / catch) Java의 예외처리의 기법에 대해서 살펴보자. 다음은 예외처리를 위한 try, c..

Java 2022.09.22
반응형