일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- MongoDB
- CoffeeScript
- JQuery
- github
- git
- 콜백 함수
- node.js
- 오픈소스
- 제이쿼리
- 마소
- 750R
- 테스트
- 자바스크립트
- CSS
- callback function
- Javascript
- Microsoft
- 인턴
- 빅데이터
- Ajax
- npm
- AngularJS
- 개발환경
- Python
- non-blocking
- 마이크로소프트
- 크로스브라우징
- NoSQL
- 웹디자인
- Today
- Total
목록자바스크립트 (15)
Inspired World
Mocha 로 하는 API Testing지난 번 Mocha 로 하는 JavaScript Testing 에서는 기본적으로 Mocha를 사용해서 Node.js 환경에서 Unit Test 하는 방법을 알아보았습니다. 이번에는 API endpoint에 대해 테스팅하는 방법을 알아보겠습니다. SetupMocha 로 하는 JavaScript Testing 에 작업 디렉토리에서 이어서 하겠습니다.우선 chai-http를 추가해줍니다.npm install chai-http 또 간단한 예제 API를 만들어보기 위해서 express를 추가합니다.npm install express POST의 body parsing을 위해 body-parser, POST, GET 뿐만 아니라 PUT, DELETE를 사용하기 위해 method..
Mocha 로 하는 JavaScript TestingJavaScript (Node.js) 개발을 하면서 빨리빨리 기능 개발하고 새로고침 F5 를 연타하며 확인하고 다시 코드 수정하고 그러는게 일반적인데요.테스트를 작성하면 조금 더 견고한 개발을 할 수 있습니다. 그럼 지금부터 Mocha 랑 Chai 라는 라이브러리를 이용해서 JavaScript 간단한 테스트 코드를 작성해보겠습니다.TDD (Test Driven Development - 테스트 주도 개발) 느낌으로 테스트 먼저 작성해보겠습니다. 테스트 환경 세팅하기Node.js v6.3.1 입니다.설치되어 있지 않다면 Node.js 여기에서 다운 받습니다.설치 이후에 npm도 함께 설치됩니다.Node.js Package Manager, Node.js 모듈..
나의 마소 인턴 면접 후기 (최종) 나의 마소 인턴 면접 후기 (1차 면접편) 보러가기 2015 마소 여름 인턴 후기2차 - 최종면접1차 면접 합격 통보를 받고 일주일 후주중에 면접날을 잡아야해서그래도 제일 덜 학교 스케쥴에 영향을 줄 수 있는 금요일을 선택했습니다. 원래 계획은 목요일 수업을 정상적으로 다 마치고 일부 금요일 수업을 땡겨(?)듣거나 하는 방향으로 해서목요일 저녁 비행기로 날아가는게 목표였으나학교 선배의 조언으로 수요일 저녁까지 모든 스케쥴을 다 땡겨듣고...목요일 아침 일찍 새벽 비행기로 가는 걸로 선택했습니다. D - 1고맙게도 그 형이 ㅎㅎ 새벽에 차로 20~30분 정도 거리에 있는 공항에 데려다주어서 무사히 첫 비행기를 탈 수 있었습니다. 가는 데 든 경비 또한 다 마이크로소프트에..
AngularJS소개AngularJS는 구글(Google)에서 만든 Single Page App (SPA) 를 만들 때 반복되는 코드와 복잡한 코드를 줄이고 테스트를 쉽게 하도록 하기위해 만든 JavaScript MVC Framework입니다. Two-Way Data Binding 이라는 특징이 처음에 눈에 많이 띄는 요소입니다. 기존 jQuery나 JavaScript DOM API를 이용해서 어떤 데이터(Model)이 변할 때 이벤트 리스너나 특정 함수를 조건에 맞춰 호출할 때 UI를 변경했던 방식과는 달리 JavaScript 객체의 값을 변경하면 그것이 바로바로 UI에 변화가 반영되게 할 수 있다는 얘기입니다! 이런 특징 말고도 Model, Controller, Service, Dependency I..
CoffeeScript(커피스크립트)는 Verbose한 JavaScript문법의 단점을 보완하고 사람들이 헷갈리거나 실수를 할 수 있는 부분을 많이 가린 언어입니다. Python이나 Ruby를 하시는 분들이라면 문법이나 특징 등 비슷한 점이 많이 있습니다. 예) Indentation으로 code block을 인식 먼저 설치는 npm을 통해 하실 수 있구요 npm이 없다면 Node.js 패키지를 설치하면 npm이 설치 되므로 먼저 Node.js 를 설치하시면 됩니다. 설치 방법은 Node.js 공식 사이트에 가셔서 DOWNLOAD 버튼을 눌러 해당하는 OS에 알맞는 패키지를 설치합니다 설치 후에 sudo npm install -g coffee-script 를 쉘에서 입력하여 CoffeeScript를 설치하..
JavaScript에서 문자열 위치, 배열 위치를 알아내는 방법에는 여러가지가 있겠지만 자체 함수로는 .indexOf() 함수 가 있습니다. 위 링크를 확인해보시면 아시겠지만 사용법도 간단하고 별 문제가 없는 줄 알았는데 IE8 (인터넷 익스플로러8)에서 지원하지 않는 함수라는 문제가 있었습니다. 이유는 ECMAScript v5 부터 .indexOf() 가 포함되었는데 JScript를 사용하는 IE이기 때문에 요즘 FireFox, Chrome, Safari와 같은 브라우저는 대부분 ECMAScript v5 규격에 맞는 JavaScript 엔진이 탑재 되어 있는 반면, IE는 그렇지 않습니다. 뭐 사실 CSS도 그렇고 JavaScript도 그렇고 원래 IE는 좀 그렇습니다 ㅋ 문자열이나 배열의 .index..
요즘 보다 발전된 UI/UX를 적용하는게 추세입니다. 최근 들어 마우스 스크롤을 끝까지 내리면 알아서 일정량의 글을 밑에다 붙이는 방식으로 구현된 게시판이나 사이트를 많이 볼 수 잇습니다. 일반적으로 버튼으로 구현되어 글을 더 보고 싶을 때 "더 보기" 버튼을 클릭하여 다음 글을 AJAX요청을 해서 글을 보여주는 DIV 안에 jQuery의 append 함수 등을 이용해 뒤에 붙이는 방법이 있습니다. 사용자가 스크롤을 아래까지 내렸을 때 자동으로 글 더보기 효과를 낼 수 있다면 더욱 멋지겠지요. "문제는 사용자가 스크롤을 아래까지 내렸을 때" 이벤트를 캐치하는 것입니다. 브라우저창 끝 이벤트 $(window).scroll(function() { if ($(window).scrollTop() == $(doc..
Callback 함수를 호출 할 때 Node.js 에서는 process.nextTick을 사용하지만 참고: JavaScript 콜백 함수의 활용 클라이언트 JavaScript에서는 전통적인 setTimeout을 이용하여 Event Loop을 지연합니다. 위 그림과 같이 JavaScript 는 Event Loop ( 이벤트 루프 )을 사용하는데요. Thread 와 달리 정확하게 말해서 완전 동시에 일을 할 수 없기 때문에 다음 일을 미루어 줌으로써 block이 되지 않게 하는 것이 포인트입니다. 그냥 단순 타이머로써 setTimeout 을 활용할 수도 있지만 callback 함수를 setTimeout을 통해 호출함으로써 이벤트를 지연할 수 있고 따라서 프로그램이 block 되지 않게 할 수 있습니다. 이것..
JavaScript에서 procedural programming과 object oriented programing을 모두 할 수 있습니다. 의외로 Object Oriented Programming ( 객체지향 프로그래밍 ), OOP 이 가능한지 모르시는 분들이 있어 이번 포스팅에서 소개하기로 했습니다. 먼저 객체 생성자 (Constructor)를 만들어볼까요? * 소멸자 (Destructor)는 따로 정의 안해도 됩니다. 기본적으로 JavaScript는 Garbage Collection을 하니까요. var Person = function ( info ) { this.height = info.height || '178cm'; this.weight = info.weight || '72kg'; this.nam..
클라이언트 사이드 (웹브라우저)에서 전역 객체에 접근하고 싶다면 window 객체를 통해 접근 할 수 있습니다. 예를 들어 example 이라는 변수를 전역 변수로 만들고 싶다면. window.example = null; 이렇게 하면 example 이라는 전역 변수에 null 값을 할당하게 됩니다. 서버 사이드 (Node.js)에서 전역 객체에 접근하고 싶다면 global 객체를 통해 접근 할 수 있습니다. 위와 동일하게 example 이라는 변수를 전역 변수로 만들고 싶다면. global.example = null; 이렇게 하면 example 이라는 전역 변수에 null 값을 할당하게 됩니다. 가급적이면 전역 변수를 쓰지 않는게 좋지만 전역 변수를 꼭 써야만 하는 상황이 있을 수 있으니 클라이언트 사이..