본문 바로가기

Development292

[AWS]AWS 에 가상서버 만들기 기존에 사용하고 있던 넷북을 서버로 켜놓을까 하다가 항상 켜놓을 수 없고 매일 사용할때마다 코드 꼽고 하는 작업이 번거로웠다. 그리고 SSH로 접속을 해보았는데 좀 느려서 써먹기는 좀 힘들어 보였다. 그래서 AWS 에 가상 서버를 한번 만들어서 써보자는 생각이 들었다. 어차피 프리티어 기간에는 어느정도 수준 까지는 공짜로 사용할수 있으니 딱 좋았다. 그리고 예전에 AWS 세미나 갔을때 받았던 크래딧도 있어서 이 기회에서 써봐야 겠다고 마음먹었다. 먼저 아마존 Console Home 에서 EC2 를 클릭하고 나오는 화면에서 Create Instance 밑에 있는 Launch Instance 를 클릭한다. 여기에서는 AWS 에서 만들 가상 서버 종류를 선택할 수 있다. 서버 아래에 보면 "Free Tier .. 2017. 6. 17.
[Spring]Controller Test 하기 테스트케이스를 만들어서 작업을 하면 소스코드가 수정될 경우 코드를 테스트 해보기가 참 수월하다. 그런데 이 테스트 케이스 작성하는게 생각보다 만만치는 않다. 실제 DB 를 읽어서 테스트를 해야 하는지. 아니면 Mock 객체를 정의를 해서 사용을 해야 하는지. 실제 DB 를 사용할 경우 저장된 data 가 변경이 되어서 구현했을 당시 테스트 케이스는 Pass였지만 나중에 빌드 시점에 테스트 케이스가 실행될 경우에 Fail 이 나면 어떻게 할것인지. 생각해보면 그냥 서비스 구현해서 화면 띄우고 버튼 눌러서 테스트 하는것이 더 편할지도 모른다는 생각이 들기도 한다. 작성할 때마나 서비스 테스트, repository테스트, 컨트롤러 테스트에 대해서 구글링 하면서 작성을 하다보니 뭔가 남는게 없는것 같아서 샘플을.. 2017. 6. 12.
npm install --save --save-dev 맨날 붙여넣기만 하다가 오늘은 갑자기 의문이 들었다.npm install --save 하고 --save-dev가 대체 뭔 차이지? 잘 안쓰고 맨날 찾아서 붙여넣기만 하니 알리가 있나.. 그래서 찾아봤다. 구글 검색을 해보니 아래와 같은 글이 있었다. https://www.linkedin.com/pulse/npm-dependencies-vs-devdependencies-daniel-tonon 내가 쓴 내용은 위에 링크의 글을 일부 번역한 글이다. npm install module --save 특정 A 모듈을 Install 할 때 --save 옵션을 넣으면 package.json 에 dependencies 목록에 포함된다. Dependencies 목록에 있다는 것은 현재 npm 모듈이 A 모듈 없이는 사용할.. 2017. 5. 30.
윈도우 아이콘 이름 사라지는 증상 해결 윈도우 10을 쓰다가 지난주에 랜섬웨어 대비 업데이트를 진행했다.그런데 업데이트를 하고 난 이후에 부팅시 이상한 증상이 나타났다. 다른 이상 증상이 있었을 수도 있었겠지만 내가 발견한 증상은 크게 2개 였다. 1. 부팅후에 아이콘의 이름이 다 사라지고 정상 작동을 하지 않고 키보드의 키를 눌러도 제대로 값이 타이핑 되지 않는다. 화면이 보통 저렇게 보인다. 아이콘에 이름이 다 사라지고 아이콘 자체도 약간 작아진 느낌이 든다. 그리고 폴더를 열어도 글씨가 전체적으로 제대로 나오지 않는다. 처음에는 업데이트 후에 그래픽 카드가 뭔가 호환이 안되나 싶어서 그래픽 카드 드라이버도 업데이트를 했다. 하지만 동일 증상이 지속적으로 반복되었다. 2. 엑셀 저장시에 저장이 안된다. 이건 좀 우연히 발견했는데 엑셀 쓸일.. 2017. 5. 21.
[REDIS]Redis ERR Client sent AUTH, but no password is set Redis ERR Client sent AUTH, but no password is set 이런 에러가 나올때가 있다. Request for authentication in a password-protected Redis server. Redis can be instructed to require a password before allowing clients to execute commands. This is done using the requirepass directive in the configuration file.If password matches the password in the configuration file, the server replies with the OK status code a.. 2017. 5. 19.
IntelliJ 에서 queryDSL 의 Q 도메인을 찾지 못할때 아직 사용이 익숙하지 않은 IntelliJ 에서 작업을 하다가 JPA의 Entity로 되어 있는 도메인들을 못찾는 현상이 발생했다. src/main/generated 라는 폴더 안에 Qdomain 들이 실제 존재하고 있는 상황인데 build 를 돌리면 찾지 못했다. 에러 내용은 위와 같이 cannot find symbol, class QCode. 저 캡쳐는 한 부분만 캡쳐를 했지만 실제로는 모든 Qdomain을 찾지 못한다고 에러가 났다. 그래서 구글링을 해보니 generated 폴더를 패스에 추가를 해줘야 한다는 것을 알았다. IntelliJ 에서 File>Project Structure>Modules 에 들어가면 아래와 같이 화면이 구성되어있다. 위에 화면에서는 이미 Source Folder 에 sr.. 2017. 5. 17.
[Spring]Jasypt 를 이용한 properties 암호화 프로젝트 내부에는 설정파일들이 많이 있다. 대표적인 항목이 DB 접속 정보가 있다. 그런데 이 접속정보에는 ID, PASSWORD 가 항상 존재 한다. ID는 상관이 없지만 PASSWORD 정보가 파일 내부에 평문으로 적혀있으면 외부에 노출될 위험이 있다. 그래서 암호화를 해야 한다. Jasypt를 이용하면 이런 항목들을 쉽게 암호화 할 수 있다. 먼저 라이브러리를 다운로드 받는다. http://www.jasypt.org/download.html 사이트에 들어가보면 상단에 DOWNLOAD JASYPT 라는 링크가 있다. 그 걸 누르면 라이브러리를 다운로드 받을 수 있다. 이 글을 쓰는 시점의 버전은 1.9.2 이다. 다운로드 한다음 사용 방법은 간단하다. 압축을 푼후에 bin 폴더로 이동한다. 그리고 콘.. 2017. 4. 25.
openSSH 서버 활용하기 현재 우분투 리눅스가 설치되어있는 넷북은 작업 환경이 정말 열악하다.집에서 쓰는 거라서 보조 모니터가 있는것도 아니고 조그만한 화면을 들여다 보고 있으면 정말 목이 아프다. 그래서 굳이 넷북에서 직접 작업할 필요가 있을까라는 생각을 했다. 데스크탑도 있고 맥북도 있는데 굳이 그 조그만한 화면을 들여다 볼 필요가 있을까라는 생각을 했다. 원격 접속해서 사용해도 큰 무리가 없을것 같은데. 그래서 책을 찾아보니 OpenSSH 서버라는 것이 있었다. telnet 과는 거의 동일 하지만 데이터 전송 시 암호화를 한다는 차이점을 가지고 있다. apt-get install openssh-server 이렇게 간단하게 명령어 한번만 치면 설치가 순식간에 진행된다. 참고로 내가 사용한 -y 옵션은 패키지 설치시 설치여부 .. 2017. 4. 18.
우분투 리눅스 설치 삽질기! 집에 있던 삼성 넷북 NT-N150을 어떻게 하면 쓸수 있을가 고민을 했다. 처음 샀을때에 윈도우 XP가 깔려 있던 모델이고 성능을 봐서도 거의 폐급 수준이다. 도저히 그냥은 사용할 수 없는 수준이어서 업그레이드를 시도했다. 마침 집에 있던 128기가 짜리 SSD가 있어서 하드는 이것으로 교체했다. 어차피 공부용으로 쓰거나 테스트 용으로 사용할거라서 많은 용량은 필요하지 않았다. 그리고 2기가 램을 하나 구매해서 기존 1기가 램과 교체를 했다. 자. 이제 하드웨어는 준비가 끝났고 OS는 뭘 깔아야 할까. 데스크탑은 윈도우10을 쓰고 있고 , 맥북에는 맥OS 가 설치되어있고. 이제 남는것은 리눅스다. 그럼 리눅스는 어떤것을 설치해야 하나. 이번에 한빛 리더스를 통해서 받은 우분투 책도 있겠다 공부도 할겸 .. 2017. 4. 17.
map() 메소드 사용 React 에서 사용하는 map() 메소드는 파라미터를 전달하여 새로운 배열을 생성한다. 최근에 본 자바의 Stream 에서 map 의 기능하고 비슷해보인다. 아니 아마도 java가 functional 프로그래밍을 지원하려고 하면서 비슷하게 구현해놓은것 같다. 아래와 같은 contractData 라는 state를 저장해 놓는다. 123456789101112 constructor(props){ super(props); this.state={ contactData:[ {name:"Abet", phone:"010-0000-0001"}, {name:"Betty", phone:"010-0000-0002"}, {name:"Charlie", phone:"010-0000-0003"}, {name:"David", pho.. 2017. 1. 16.
React 에서 props 사용 props 는 컴포넌트에서 사용할 데이터중 변하지 않는 데이터를 다룰때 사용한다. Parent 컴포넌트에서 child 컴포넌트로 데이터를 전달할 때 props를 사용한다. 컴포넌트의 render() 메소드 내부에 {this.props.propsName} 형태로 넣고 컴포넌트에서 사용할 때에는 안에 propsName='value' 형태로 값을 설정 한다. - render() 메소드 내부 12345678910111213class App extends React.Component { render(){ let text = "Hello HI"; return ( ); }}Colored by Color Scriptercs - 컴포넌트 1234ReactDOM.render( , rootElement);cs - Defau.. 2017. 1. 9.
React.. 끄적끄적. - React는 UI를 만들기 위한 라이브러리이다. framework 가 아니다. - React는 Virtual DOM 을 사용한다. 그래서 Virtual DOM의 전후 상태를 비교해서 변경된 부분만 새로 반영한다. - 현재 facebook 에서 라이브러리 관리를 하고 있어서 한동안 없어질 일은 없다. https://facebook.github.io/react/ 2017. 1. 9.
Mac 에서 Node.js 설치 react 공부하려고 찾아보다가 http://velopert.com/ 라는 사이트를 우연히 찾게 되었다.내용도 좋고 해서 이 분의 블로그 내용을 한번 따라해보려고 mac 에 환경 설정을 해보았다.먼저 node.js 를 설치해야 해서 찾아봤는데.. 초 간단.. 먼저 node.js 사이트에 가서 파일을 다운 받는다. 그리고 클릭, 클릭, 클릭 그리고 설치 완료.. 터미널 창에서 npm 쳤을때 help 명령어들 나오면 정상설치다.. 2017. 1. 5.
에라토스테네스의 체 고대 그리스 수학자 에라토스테네스가 발견한 소수를 찾는 방법이다. N까지의 수중에 소수를 판단하는 상황이 생길 경우 유용하다. 123456789101112131415161718192021private static void primeNumber(int n){ // 에라토스테네스의 체 // N 보다 작은 소수를 구한다. boolean[] arr = new boolean[n+1]; Arrays.fill(arr, true); for (int i=2; i 2016. 12. 7.
[Flask]HTTP 요청에 대한 핸들러 before_first_request : 웹 application 기동 이후 가장 처음에 들어오는 HTTP 요청에서만 실행before_request : HTTP 요청이 들어올때마다 실행after_request : HTTP 요청이 끝나고 브라우저에 응답하기 전에 실행teardown_request : HTTP 요청 결과가 브라우저에 응답한 다음 실행teardown_appcontext : HTTP 요청이 완전히 완료되면 실행 before_first_request, before_request는 어떠한 인자도 전달할수 없다!!after_request는 flask.wrapper.Response 객체를 return 해야한다. 맨 상단에 # 부분은 Encoding 때문에 추가함 1234567891011121314151.. 2016. 8. 22.
728x90
반응형