프로그래밍 175

[공개SW컨트리뷰톤] 기본 환경 세팅

뭐든지 처음 시작하는게 제일 어려운것 같다... 개발을 하기 위해서 처음 세팅해야할 것들이 있다. 멘토님들이 제작하신 sdk가 아직 nuget에 배포하질 않아서 수동으로 프로젝트에서 참조를 해야 한다. 그냥 시연을 한 번 보면 그 때만 아 하고 집 오면 홀랑 다 잊어버린다. 저번에도 알려주셨는데 이번에 가서 또 물어봤다... 그래서 양해를 구하고 화면 녹화를 해서 다시 돌려 보았다. ㅎㅎ 이번 작업은 어플리케이션의 스킨을 만드는 것인데 이게 그냥 프로젝트로 생성을 해서 만들면 그냥 이대로 독자적인 프로젝트가 되는 것이다. 그래서 실행 파일이 없이 이식 가능한 파일을 만들어서 빌드 후 dll파일을 빼서 원래 프로젝트에 넣어야 한다. 먼저 스킨 파일을 만들기 위해서 WPF 사용자 정의 컨트롤 라이브러리를 만..

[알고리즘] 알고리즘 수업내용정리

알고리즘 : 문제를 해결 하는 방법, 추상적, 개략적으로 기술한 조리법 알고리즘을 구체적으로 표현한 것이 프로그램이다. * 알고리즘의 정확성 (Correctness)허용된 입력에 대해서 제대로 동작해야 함정확히 우리가 기대하는 것을 수행해야 함 * 프로그램 오류1) 문법 오류 (Syntax Error)- 명령문 끝에 세미콜론 등 2) 의미상의 오류 (Semantic Error)- 2 * 5 와 2 ** 5 3) 논리적인 오류 (Logical Error, Algorithmic Error)- 가장 치명적인 오류 * 부정확한 알고리즘 결과- Abort (Abnormal Termination)- 무한 루프 (Infinite Loop)- 정상적으로 끝났지만 잘못된 결과를 출력 * 시간 복잡도 분석- 하드웨어 환경..

[공개SW컨트리뷰톤] 공개SW컨트리뷰톤 참가기

R 관련 프로젝트를 마무리 하고 당분간 프로젝트 안해야지 라고 굳게 마음을 먹고 제출 준비를 하던 날, 공개SW컨트리뷰톤 행사를 보게 되었다. 이거다 라고 생각하고 바로 지원서를 썼다. 예전부터 오픈소스 프로젝트를 해보고 싶었고 그 문화의 일부분에 속해있고 싶었기 때문이다. 오픈소스란? 오픈 소스(open source, 문화어: 공개원천)는 소프트웨어 혹은 하드웨어의 제작자의 권리를 지키면서 원시 코드를 누구나 열람할 수 있도록 한 소프트웨어 혹은 오픈 소스 라이선스에 준하는 모든 통칭을 일컫는다. 출처) 위키 예전에 오픈소스 라는 것을 처음 들었을 때는 힘들게 만든 것을 왜 공개를 하나 싶었다. 하지만 그럴 만한 이유가 있으니까 개인, 기업들이 공개를 하는 것이다. 내가 못했던 것들, 우리 팀들이 못했..

[Azure] 마이크로소프트 애져 챗봇 만들기 - 1

좋은 기회를 얻어 Azure 그룹의 강창훈 선생님의 강의를 들을 수 있었다. 같이 챗봇을 만들어보면서 정리를 해보았다. 마이크로소프트의 Azure 서비스를 이용하여 손쉽게 챗봇을 만들 수 있다. 언어는 C#을 이용한다.그러면 PaaS Platform as a Service를 이용하게 되는 것이다. LaaS는 aws같이 인프라를 구축해주는 서비스이고 PaaS는 웹 호스팅 처럼 소스만 업로드하면 곧 바로 서비스를 할 수 있는 간편한 방법이다. 더 나아가 FaaS 는 azure function이나 aws lambda 같은 서비스를 의미하고 SaaS는 아이디만 있으면 이용할 수 있는 이메일과 같은 서비스를 말한다. 비주얼 스튜디오 2017에서 새 프로젝트를 만들어 하단의 Visual Studio 솔루션에서 빈 ..

[Angular] 프로젝션, 쉐도우 돔 (Shadow DOM)의 역할

Angular는 부모 컴포넌트의 템플릿 일부를 자식 컴포넌트 템플릿에 넣을 수 있다. import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; import { NgModule, Component, ViewEncapsulation } from '@angular/core'; import { BrowserModule } from '@angular/platform-browser'; @Component({ selector : 'child', styles : ['.wrapper { background : lightgreen; }'], template : ` Child This div is defined in the child's temp..

[Angular] 옵저버블(Observable) 패턴을 이용한 날씨데이터 가져오기

옵저버블 (Observable) 옵저버블 (Observable) 이란 데이터 스트림을 생성하는 객체를 말한다. 옵저버(Observer)는 데이터 스트림을 구독하여 사용하는 객체를 를 말한다. 일반적인 비동기 처리에 있어서 사용하는 callback함수나 Promise의 문제점 1) 한번에 하나의 데이터를 처리한다. 2) 서버로 보낸 요청을 취소할 수 없다. Angular에서 날씨데이터를 가져오는 http 요청에 있어서 옵저버블을 구현해 보자. 출처 : Angular Development with TypeScript - 한장현 이 책에서 좋은 예제들을 제공한다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454..

[자바스크립트] 스코프, 변수 호이스팅(hoisting), ES6에서의 개선점

호이스팅 (hoisting)자바스크립트 (ES5) 에서 변수선언에 있어서 var 키워드는 스코프(scope)의 제일 위로 옮겨져서 선언이 된다. 이것을 호이스팅(hoisting)이라고 한다. 1234567function foo() { for(var i=0; i1) { // var customer = "Mary"; // } })(); console.log("outside : " + customer); Colored by Color Scriptercs 주석 처리를 한 상태에서는 customer는 전역 변수이므로 출력결과가 둘다 Joe 가 된다. 하지만 주석을 해제하면 function 안의 customer는 undefined가 된다. ES5에서는 변수 선언이 선언 범위의 제일 위로 올라가게 된다. 즉 저 fu..

프로그래밍/ 2017.12.08

[인턴 일지] 스프링 각종 코드 수정 작업 중, 잔 버그 해결

직원 등록 form 에서 3개의 페이지에 걸친 직원 들의 정보를 입력하고 REGISTER 버튼을 누르면 DB에 접근해서 데이터를 넣게 된다. 문제가 없을 줄 알고 DB에 엑셀을 이용해서 데이터를 넣고 있었다. 하지만 실제 사용자가 쓰는 곳은 웹 ui상이므로 나도 테스트 기간에는 데이터를 웹에서 직접 입력한다. 그런데 생각보다 많은 예외와 에러가 발생한다... validation 체크가 확실하게 다 되지 않아 unexpected 한 값이 넘어가는 것을 잡지 않아서 톰캣 로그에서 error가 터진다. 대표적인것은 Duplicate PRIMARY KEY 이다. DB 직원 정보 테이블은 SSN Number (소셜 시큐리티 넘버) 를 주요키로 가지게 된다. 이것은 중복된 값이 들어갈 수가 없다. 사용자는 첫 페이..

[JavaScript] 자바스크립트 코딩 스타일 규칙 정리

Maintainable Javascript by Nicholas C.Zakas 를 보며 기본기를 공부 중이다. 좋은 내용들을 요약해 보겠다. 아마존에서 책을 구입했다. 좋은 개발자와 좋은 코딩을 위한 주옥같은 책인 것 같다. Basic FormattingIndentation Level들여쓰기 정도이다. 들여쓰는 스타일은 2가지로 나뉜다. Tab과 Space가 그것들이다. Tab을 이용했을 때의 장점 - 에디터에 따라 탭 크기를 조절할 수 있다 Tab을 이용했을 때의 단점 - 시스템이 다르게 해석할 수가 있다. Space를 이용했을 때의 장점 - 모든 에디터와 시스템이 동일하게 취급한다.- 에디터 설정으로 tab을 누르면 일정 숫자의 space를 누르게 할 수 있다. 이 책의 저자는 4칸의 space를 선..

프로그래밍/ 2017.12.02

[인턴 일지] POS기 이미지로딩 스크립트 수정

오늘은 12월 첫날이다... 뒤돌아 보면 시간이 빠르게 지나갔다. 어제 한국음식이 너무 먹고 싶어서 곱창 볶음을 투고해서 먹었는데 지금 배가 너무 아프다... 그런데 오자마자 이사님이 pos기 사진 로딩 형식을 바꾸고 싶다고 하셨다. 현재 이미지들이 순서대로 로딩이 되지만 12월 프로모션으로 대표배너하나를 이미지가 3장 로딩 될 때마다 띄워지게 하고 싶다고 했다. 즉 상품이미지 3장 - 대표배너 - 상품이미지 3장 - 대표배너 - ...... 이런식으로 바꾸고 싶다고 했다. 근데 12월 1일 부터 적용이 됬어야 한다고 한다. 오늘인데.... 오늘아침부터 적용되어야 하는 것을 오늘 아침에 얘기하셨다. 이제 아무렇지도 않다. 야호!! 지금 현재 돌아가는 상황은 One Drive에 디자이너가 넘긴 파일들이 있..

반응형