본문 바로가기

분류 전체보기

(107)
Restudy Series. Javascript (2) Preview https://sieon-dev.tistory.com/130에서는 prototype, constructor, __proto__ 를 중점으로 살펴봤다. 객체와 객체지향을 시작하기 위한 첫 번째 단계라고 생각한다. 이번에는 자바스크립트가 동작하는 방식과 이 방식으로 인한 장단점 등을 살펴보려고 한다. Methodology Javascript의 특징 Non-blocking IO 시스템 Non-Blocking 은 처리가 순서대로 이루어짐을 의미한다. 즉 이전 작업이 끝나지 않았더라도 기다려주지 않는다. 대부분의 프로그래밍 언어는 Blocking IO 시스템으로 되어있지만 왜 Javascript Engine(V8)은 왜 Non-Blocking IO일까? 그전에 Javascript 는 싱글 스레드 기..
Restudy Series. Javascript (1) Preview 자바스크립트라는 언어를 사용해 프로그램을 개발해왔지만 정작 내가 이 언어에 대해 잘 알고있는가에 대한 궁금증이 생겼다. 이 언어만이 가진 특성이나 다른 언어에 비해 가지고 있는 장점과 단점 등을 정확히 알고 사용하고 있는가에 대한 본질적인 궁금증이었다. 그래서 나만의 방식으로 Javascript 를 정의해보고 핵심 개념에 대해 정리해놓으려고 한다. 이번 포스팅에서는 프로토타입과 객체, 생성자의 개념에 대해 살펴보고자 한다. Methodology Javascript 의 특징 프로토타입 기반 언어이다. 프로토타입이라는 단어는 나를 포함한 많은 주니어 개발자들을 괴롭힌다(JS 면접 필수질문으로 뽑힌다). 도대체 프로토타입이란 무엇인가. 프로토타입이라는 낱말은 원초적 형태라는 뜻의 그리스어 낱말 ..
[PyQt5] 자동 배포 프로그램 Preview 저희 회사에서는 망분리 정책으로 인해 Github action이나 GitLab 등의 오픈소스 배포 프로그램을 사용하고 있지 않습니다. 그렇기 때문에 수동으로 빌드된 파일을 배포 서버에 옮겨야 하는 번거로움이 있는데요 번거로움과 함께 인간이기에 하는 실수들이 발생하곤 합니다. 잘못된 파일을 업로드한다던지, 잘못된 경로에 업로드하는 경우들이 종종 있어 파일 배포 시에는 두세 번 정도 파일위치와 이름 등을 확인하곤 합니다. 물론 운영 서버에 배포시에는 이 정도의 검수가 필요하긴 하지만, 개발 서버에 배포 시에는 사실 잘못된 파일이 올라가거나 잘못된 경로에 배포한다고 해도 지우면 그만이고 다시 올리면 그만입니다. 현재 사용중인 프레임워크 특성과 저희 회사의 서비스 규모 상 현재 프로젝트 내에 있는..
[PyQt5] 성경 프롬프터 프로그램 Preview제가 일요일마다 교회 가는데 목사님께서는 성경 말씀을 성도들이 찾는 것보다 빔 프로젝터에 띄워서 같이 읽는 걸 좋아하십니다.그래서 방송 담당 인원이 미리 성경 말씀을 준비해서 PPT자료로 준비를 해야 하는데요,만약 담당 인원이 못 나오거나 늦게 되면 방송이 매끄럽지 않아 모든 성도가 성경말씀이 프로젝터에 나오기만을 기다리는 경우도 있었습니다.시중에 이미 개발되어 있는 프로그램을 사용하려고 보니 국내 프로그램으로는 홀리뷰어 라는 프로그램이 제일 유명했습니다.하지만 성경과 장, 절을 모두 콤보박스로 컨트롤해야 하기 때문에 빠르게 찾을 수가 없었습니다.그리고 외국 프로그램인 easyslides 는 사용법이나 기능이 복잡해 교회 방송 담당자(초딩)이사용하기에 어려울 것 같았습니다.그래서 제가 이 프..
[개역개정 한글 성경] JSON 파일 다운로드 교회에서 사용할 프로그램 개발을 위해 성경말씀 JSON 파일이 필요했는데 인터넷을 뒤져봐도 없더라구요. 그래서 txt파일로 다운받아 JSON 으로 변환했습니다. JSON 으로 변환한 성경 파일을 공유합니다. KEY : 장, 절 VALUE : 말씀
[Programmers] 연속 부분 수열 합의 개수 - Golang INDEX https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 원형으로 이루어진 수열은 사실 쭉 펼쳐진 선형 배열로 생각하면 됩니다. 예제로 주어진 배열 [7, 9, 1, 1, 4] => [7, 9, 1, 1, 4, 7, 9, 1, 1]로 변환한 뒤 길이가 1인 연속 부분 수열, 길이가 2인 연속 부분 수열... 을 구하면 됩니다. 또한 정답은 중복이 허용되지 않는 배열의 크기이므로 Set 구조가 필요합니다. 하지만 Golang ..
[Programmers] 택배상자 - Javascript INDEX https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr Solution 순서대로 들어오는 택배 상자를 보조 컨테이너(스택)를 활용해서 요구하는 순서에 따라 적재하는 문제입니다. 이 문제에서 요구사항은 너무나 명확합니다. 보조 컨테이너는 마지막에 넣은 택배만 꺼낼 수 있다. 즉, 스택 구조라는 의미입니다. 그래서 이 문제의 정답률이 54%로 Lv2에서 비교적으로 높은 정답률을 기록하지 않았나 싶습니다. 우선 필요한 값을 정의합니다. let ..
Javascript console.log 조심해야겠어요 Preview 현재 제가 운영 중인 앱 서비스는 Javascript와 Html, Css로 개발하는 웹앱입니다. 최근에 성능 최적화를 고민하다가 Production (운영) 환경에서도 console.log 가 실행되고 있는 걸 발견했습니다. 물론 네이티브 애플리케이션 apk 를 빌드할 때 release 모드로 빌드를 하기 때문에 Production 앱은 디버깅이 되진 않지만 내부적으로 console.log 함수가 호출되긴 합니다. 개발 환경에서 5분 정도 사용해보니 console.log로 찍히는 메시지가 천 줄이 넘더군요.. 지금까지 이 부분에 있어서 전혀 고려가 안되고 있었습니다. 과연 이 console.log 는 애플리케이션의 성능을 얼마나 저해시킬까요? Methodology https://ui.toa..