프로그래밍 294

Java Environment Management를 사용하여 여러 버전 사용하기

java 여러개 버전 사용하기 (MacOS)Jenv 및 java 설치jenv 를 통해 Java environment를 관리 하려고 합니다. $ brew install caskroom #미리 설치 되어 있어야 합니다. $ brew install jenv $ brew cask install java #가장 최신 버전으로 설치 됩니다. $ brew cask install java8 #java8 버전 최신 릴리즈로 설치됩니다.일단 위와 같이 실행을 하여 java를 설치해주시면 됩니다. 설치된 java 확인$ cd /Library/Java/JavaVirtualMachines $ ll drwxr-xr-x - root 14 5 21:42 jdk-10.0.1.jdk drwxr-xr-x - root 27 4 2017 j..

[정리] 러닝 리액트 3장 함수형 프로그래밍

러닝 리액트3장 자바스크립트를 활용한 함수형 프로그래밍함수형 프로그래밍 개념이 시작 된 것은 1930년대이다. 그 당시 발견한 람다 계산법이 함수형 프로그래밍의 시작이라 할 수 있다. 함수를 함수로 넘기거나 함수가 함수를 결과로 내놓는 것도 가능하다. 다른 함수를 조작하고, 함수를 인자로 받거나 반환하는 것이 가능한 복잡한 함수를 고차함수 (high-order function)으로 부른다.함수가 1급시민(First class citizen)이 되려면 변수에 함수를 대입할 수 있어야 하고, 함수를 다른 함수에 인자로 넘길 수 있으며, 함수에서 함수를 만들어서 반환할 수 있어야 한다.3.1 함수형이란?자바스크립트는 함수가 1급시민에 해당되기에 함수형 프로그래밍을 지원한다고 할 수 있다.var log = fu..

[정리] 러닝 리액트 - 2장 최신 자바스크립트

러닝 리액트2장 최신 자바스크립트ES5의 내용은 아래 두 곳의 내용을 가져왔습니다. ECMAscript 5의 feature : http://speakingjs.com/es5/ch25.htmlhttp://www.bsidesoft.com/?p=1861ES5에 대해 간략히 알아보자.3.0에 비해 5.0에서 실질적으로 추가된 문법은 strict mode와 Object리터럴 get-set추가, 문자열의 인덱스 인식등에 대한 부분이 변화 했습니다.가장 중요한 특징은 객체에 대한 통제와 클래스를 생성하는 방법이 변화했다는 것입니다.문법적으로도 사용자 Object에 대해 getter, setter 지정이 가능해지므로 더 이상 평범한 값의 할당으로 작동하지 않고 내부에는 많은 제어문을 내포할 수 있는 형태가 되어 기존의..

[책] 모던 웹을 위한 Node.js 프로그래밍 8장 정리

Node.js 8장 - Expressnpm install express8.1 기본 서버var express = require('express'); ​ var app = express(); ​ app.use(function (request, response) { response.writeHead(200, { 'Content-Type': 'text/html' }); response.end('Hello express'); }); ​ ​ app.listen(52273, function () { console.log("Server Running at http://127.0.0.1:52273"); });http모듈을 사용하지 않는 이유는 무엇일까? 그것은 바로 express모듈이 더 많은 기능을 포함하고 있기 때문..

[정리] 모던 웹을 위한 Node.js 프로그래밍 3/4장

Node.js 스터디3장 Node.js의 전역 객체웹브라우저의 최상위 객체는 window객체이지만, node에는 window 객체가 존재 하지 않고, 전역 변수와 전역 함수를 갖는다.단, global 객체가 존재하지만, __filename , __dirname 과 전역함수 require() 함수는 global 객체에 포함되지 않으므로 최상위 객체는 없다고 가정한다.문자열 자료형의 전역 변수console.log('filename', __filename); console.log('dirname', __dirname);전역 객체객체 이름설명console콘솔 화면과 관련된 기능을 담당하는 객체exports모듈과 관련된 기능을 다루는 객체process프로그램과 관련된 기능을 다루는 객체Console 객체log()..

Currying에 대해 알아보자.

자바스크립트 디자인 패턴 책의 내용을 정리한 내용입니다.curring을 알기 전에 부분 적용이라는 개념을 먼저 알고 있어야 합니다. 사실, 많은 싸이트나 위키에서 curring을 잘못 받아들여 소개하기도 합니다. 일단은 제대로 이해하기 위해서 부분 적용이 뭔지 알아봅시다.함수 적용순수 함수형 프로그래밍에서는 함수를 호출하거나, 부른다고 하지 않고, 적용 된다고 표현합니다.고로, apply로 이해하시는 것이 맞습니다.자바스크립트에서도 Function.prototype.apply()를 사용하면 함수를 적용 할 수 있습니다. var sayHi = function(who) { return 'Hello' + (who ? ', ' + who : '') + '!'; } sayHi(); sayHi('world'); s..

UI Test Tool - Selenium IDE 대체

Selenium IDE 대용체 소개셀레니움은 보통 UI 테스트 툴로 많이 사용 되어 왔습니다. 그런데, IDE라고 하는 툴이 존재하는데요. 이 툴이 생각보다 업데이트가 안된 탓인지...아주 오래된 버전의 firefox만 지원을 해줍니다. 그래서 새로 찾은 것은 katalon studio인데요. 파이어폭스의 플러그인 형태로도 존재합니다. katalon studio의 데스크톱 어플리케이션도 존재합니다. 우선, 기본적인 Selenium IDE와 기능적으로는 유사합니다. 하지만, 크롬 확장 플러그인으로도 존재한다는 점이 기존과는 다르며, 최신 브라우저에서도 동작한다는 점이 다르죠. 요즘은 PhantomJS, Headless-Chrome등으로 대체 되긴 했지만, 실제로 UI 테스팅을 빠르고 쉽게 할 수 있는 방법..

[develop] 개발 환경 구축하기 - pyenv, virtualenv, autoenv

python 개발 환경을 셋팅 해보자!Mac 기준으로 작성하였습니다. ^^pyenv 설치하기brew update ​ brew install pyenv ​ echo 'eval "$(pyenv init -)"' >> ~/.zshrc #bash shell을 쓰신다면, 아래 처럼 하시면 됩니다. echo 'eval "$(pyenv init -)" >> ~/.bash_profile' ​ # installed python version pyenv version # show python version of available install pyenv install -list pyenv install 3.5.3 python -version # check version pyenv global 3.5.3 #set globa..

Merge Two git repositories

Merge Two Repositories github를 하다보니 쓸데 없이 저장소를 나누어 놓고 쓰고 있더라.. 그러다보니 이게 여기다 올려야 하는지 아닌지도 모르겠고… 일명 대환장파티 레포지토리라고 해야 할까.. 그래서 시도를 해보았다. (스프링 공부나 할 것이지) 저장소 병합 (서브 트리 이용) — 별로다.. 요우님 블로그 (cherry-pick 이용) —이게 맞는건가 싶었다. 스택오버플로우 형님들 (걍 머지 때려라) 처음에는 그냥 머지를 해보았다. 참고 : merging two git repositories 실패했다. $ g merge practice_js/master fatal: refusing to merge unrelated histories 다른 히스토리를 가졌으니 안된다고 한다. 그 다음으..

반응형