무스마 기술블로그
상상 그 이상의 놀랍고도 즐거운 개발 이야기
-
오프라인 환경에 NodeJS 애플리케이션 배포하기
오프라인에서 npm install을??? 보안상의 이유로 인터넷에 연결되지 않은 내부 네트워크 호스트에 애플리케이션을 배포해야할 때가 있습니다. 이때는 Node도 이동식 저장 장치에 담아서 로컬 설치를 해야하고, 당연히 인터넷을 통해 패키지를 다운로드할 수...
-
ORCAD 도면 부품번호 정리 방법
ORCAD CAPTURE 도면 수정 후 부품번호가 뒤죽박죽?! ORCAD Capture에서 도면 작업이나 회로도 작업을 하다 보면 처음부터 새로 그리는 방법 보다는 기존에 있던 도면이나 회로도를 가져와 조금씩 수정을 하고 다른 도면이나...
-
빠른 인증 구현을 위한 Amazon Cognito 시작하기 (1)
Don’t Repeat Yourself / Don’t reinvent the wheel 있는 것 갖다 쓰고, 네가 만들지 마라 소프트웨어 개발 원칙 중에 “반복을 피하라”는 항목이 있습니다. 개발자에게 있어서 프로그래밍 능력도 중요하지만, 이미 만들어진...
-
VSCode User Snippets (상용구) 사용하기
지루한 타이핑 반복을 피하는 방법: 스니펫, 상용구, 매크로 코딩을 하다보면 일부분만 다르고 전체적으로는 비슷한 판박이 코드(보일러 플레이트)를 작성할 때가 있습니다. 이때 처음부터 타이핑하는 것 보다는 기존 코드를 복사-붙여넣기해서 부분적으로 수정하는...
-
GatsbyJS 개발 환경 셋팅부터 GitHub Pages 배포까지
GatsbyJS란 무엇인가? GatsbyJS는 React 기반의 정적 페이지 생성 프레임워크로, 가공할 정보를 GraphQL 에서 가져와서 빌드 시점에 정적 페이지를 만들어내는 방식이며, 이미 배포할때 각 페이지 정보들이 모두 만들어지므로, 따로 서버가 필요하지...
-
와이파이 SSID 필터링 하기
이번에는 기존에 적었던 배치파일을 활용하여 와이파이를 필터하는 방법입니다. M-CAS Auto LTE 라우터 산업안전을 위한 무스마 크레인 충돌방지 모니터링 시스템 증 하나인 M-CAS Auto는 여러 시행착오를 거쳐 현재 LTE 라우터로 통신하고...
-
웹 개발: 알아두면 언젠가 쓸모있는 유용한 도구 목록
북마크 속에 묻혀 있던 도구들을 발견하다 오늘은 그동안 웹개발을 하면서 북마크에 저장해 두었던 유용한 웹사이트들을 한 번 공유해 보려고 합니다. 크롬 브라우저의 북마크 관리자에 어느덧 수십개의 폴더가 생겨서 어디에 무엇이...
-
Windows 환경설정 하기
M-CAS Auto 윈도우 태블릿 무스마의 크레인 충돌방지 모니터링 시스템 산업 안전을 위한 IOT 프로젝트 중 하나인 M-CAS Auto는 현장에서 사용하기 유리하게 10.1” 윈도우 태블릿을 사용하였습니다. 프로그램을 사용하기 위해 기본적으로 윈도우...
-
좌충우돌 일렉트론 개발 환경 세팅하기
일렉트론: 자바스크립트가 네이티브 데스크탑 환경으로 JavaScript가 한동안 브라우저 환경에서만 돌아가는 HTML의 곁다리(?) 같이 여겨지던 시절이 있었습니다. 하지만 Node.js가 등장한 후 JavaScript는 브라우저에서 뿐만 아니라 백엔드에서도 많이 사용하고 있습니다. 요즘에는 Java...
-
VSCODE 사용자를 위한 Extension 추천
VSCODE 사용자를 위한 Extension 추천 VSCODE를 사용하면서 추천해 드릴만 한 Extension들을 소개하겠습니다. Korean Language Pack for Visual Studio Code (https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-ko) 뭐…. 설명할 게 없네요 한글패치입니다. 설치 후에 VSCODE 리스타트를 해주셔야...
-
시계열 데이터베이스 InfluxDB 시작하기
시계열 데이터베이스 (TSDB; Time-series Database) 데이터베이스하면 Oracle이니 MySQL이니 하면서 관계형 데이터베이스(RDB)만을 떠올리던 시절은 이미 한참 전에 지나갔습니다. 이제는 DynamoDB, MongoDB, Redis, Cassandra, Neo4j 같은 Key-Value 스토어, 도큐먼트, 인-메모리, 그래프, Wide-칼럼,...
-
맥린이를 위한 MacOS 개발 환경 설정법 - Part. 2
맥린이에서 파워유저로 거듭나기 - 터미널을 꾸며 보자 이번 포스트에서는 개발자들이 자주 사용하는 터미널 설정법에 관해 다루어 보려고 합니다. 개발자들이 윈도우 대신 MacOS를 사용하는 가장 큰 이유 중의 하나가 MacOS의 터미널이...
-
[dot Net]사용자를 배려하는 개발 <3> 터치 키보드를 종료하라
[dot Net] 사용자를 배려하는 개발 <3> 터치 키보드를 종료하라 기본에 충실한 .net 프로그램을 어떻게 만들어 나갈 것인지에 대한 과정을 이야기하는 사용자를 배려하는 개발 <3>번째 편입니다. M-CAS Auto 무스마의 크레인 충돌방지...
-
CloudFront를 이용해 HTTPS로 정적 리소스 배포하기
AWS CloudFront란? AWS에서 제공하는 CDN(Content Delivery Network) 서비스입니다. 전세계 AWS 각 리전의 엣지 로케이션에 리소스의 복사본을 미리 로드해놓고, 사용자들이 짧은 지연 시간에 파일을 받을 수 있도록 해줍니다.1 커스텀 도메인을 사용해서...
-
OpenCV를 활용한 디지털 Digits 분석하기!!(1)
OpenCV를 활용한 디지털 Digits 분석하기!!(1) 프로젝트 관련으로 OCR을 구현해야 했습니다. Tesseract 등 많은 OCR 툴이 있었는데, 제가 읽어야 하는 값은 디지털 Digits 형식으로서, 다른 방식으로도 되지 않을까 라는 의문이 들어...
-
typescript-json-serializer: JSON <=> Object 변환 시 prototype 되살리기
서론 자바스크립트 prototype 그리고 class 자바스크립트가 엄연한 객체지향프로그래밍(OOP) 언어라는 것은 알고 계실 겁니다. 다만 OOP하면 떠오르는 대표적인 언어인 Java와 같은 언어에서 다형성(Polymorphism)을 지원하기 위해 사용하는 class 기반 상속과 다른 모양...
-
Git Rebase란?
Git 너무 어려워어어엉..ㅠㅠ 이번 포스팅에서는 Git의 rebase에 대해서 알아보겠습니다. rebase가 뭐지? rebase는 말 그대로 (re-base)로 베이스를 재배치한다는 뜻입니다. merge를 사용하면 히스토리를 볼 때 뿌리가 여러개로 나눠져 있어서 히스토리를 찾아갈 때...
-
맥린이를 위한 MacOS 개발 환경 설정법 - Part. 1
따끈따끈한 새 맥북이 손에 들어오다 얼마 전에 회사에서 개발용으로 맥북 프로를 지급 받았습니다. 맥북 프로 레티나 13인치, 2015년 초기 버전이라 터치바는 없습니다. 터치바도 한 번 사용해 보고 싶지만, 사용하신 분들의...
-
[dot Net]사용자를 배려하는 개발 <2> 중복 실행 방지와 종료 방지
[dot Net] 사용자를 배려하는 개발 <2> 중복 실행 방지와 중복 클릭 방지 기본에 충실한 .net 프로그램을 어떻게 만들어 나갈 것인지에 대한 과정을 이야기하는 사용자를 배려하는 개발 <2>번째 편입니다. 중복 실행...