본문 바로가기

Programming231

Node.js에서 Request를 사용해서 날씨 API를 사용하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 Request를 사용해서 날씨 API를 사용하는 방법에 대해서 알아보겠습니다. 여기서 사용할 API는 darksky에서 제공하는 날씨 정보 API를 사용해 보겠습니다. https://darksky.net/dev Dark Sky darksky.net 회원가입을 하고 로그인을 하면 api를 사용할 수 있는 권한을 얻을 수 있습니다. api는 url 형태로 제공되고 해당 url로 접속하면 json 형태의 data가 들어있습니다. App을 만들 폴더를 만들고 app.js파일을 생성하고 npm 초기화해서 package.json 파일을 생성합니다. $ mkdir weather-app $ cd weather-app $ touch app.js $ npm init -y .. 2020. 1. 6.
jQuery로 Tab UI 구현하는 방법 안녕하세요 혀코입니다. 오늘은 jQuery로 Tab UI를 구현하는 방법에 대해서 알아보겠습니다. index.html 에 파일을 다음과 같이 작성합니다. 어벤저스 에너지원 ‘큐브’를 이용한 적의 등장으로 인류가 위험에 처하자 국제평화유지기구인 쉴드 (S.H.I.E.L.D)의 국장 닉 퓨리(사무엘 L.잭슨)는 [어벤져스] 작전을 위해 전 세계에 흩어져 있던 슈퍼히어로들을 찾아나선다. 아이언맨(로버트 다우니 주니어)부터 토르(크리스 헴스워스), 헐크(마크 러팔로), 캡틴 아메리카(크리스 에반스)는 물론, 쉴드의 요원인 블랙 위도우(스칼렛 요한슨), 호크 아이(제레미 레너)까지, 최고의 슈퍼히어로들이 [어벤져스]의 멤버로 모이게 되지만, 각기 개성이 강한 이들의 만남은 예상치 못한 방향으로 흘러가는데… 지구의.. 2020. 1. 4.
Node.js를 사용해서 Notes 앱 만드는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js를 사용해서 Notes 앱 만드는 방법에 대해서 알아보겠습니다. app.js를 다음과 같이 작성합니다. const yargs = require('yargs') // 사용자로부터 명령어를 받는다. const notes = require('./notes.js') // 노트 추가, 삭제, 리스트, 읽기등의 함수를 가진다. yargs.command({ // 노트를 추가할 수 있는 명령어를 정의한다. command: 'add', // 명령어 describe: 'Add a new note', //설명 builder: { // 옵션 2개 title과 body를 가진다. title: { describe: 'Note title', // 옵션 설명 demandOption: tr.. 2020. 1. 3.
Node.js에서 Arrow function 사용하는 방법 안녕하세요. 혀코 입니다. 오늘은 Node.js에서 Arrow function을 사용하는 방법에 대해서 알아보겠습니다. #1 숫자 하나를 받아서 그 숫자의 제곱을 구하는 일반적인 함수를 구현해 보겠습니다. const square = function (x) { return x * x } console.log(square(3)) 위의 일반 함수를 Arrow function으로 나타내면 다음과 같이 작성할 수 있습니다. const square = (x) => { return x * x } console.log(square(3)) 또한 아래처럼 return 키워드 없이 한줄로 작성할 수 있습니다. const square = (x) => x * x console.log(square(3)) 위와같이 작성된 코드의 .. 2020. 1. 3.
Node.js에서 JSON 데이터 추가하는 방법(readFileSync, push, writeFileSync) 안녕하세요. 혀코입니다. 오늘은 Node.js에서 JSON 데이터를 추가하는 방법에 대해서 알아보겠습니다. app.js 를 다음과 같이 작성합니다. const yargs = require('yargs') const notes = require('./notes.js') // Customize yargs version yargs.version('1.1.0') // Create add command yargs.command({ command: 'add', describe: 'Add a new note', builder: { title: { describe: 'Note title', demandOption: true, type: 'string' }, body: { describe: 'Note body', dem.. 2020. 1. 2.
Node.js에서 JSON 파일에 데이터를 저장하고 읽는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 JSON 파일에 데이터를 저장하는 방법에 대해서 알아보겠습니다. app.js 파일을 다음과 같이 작성합니다. const book = { title: 'Ego is the Enemy', author: 'Ryan Holiday' } const bookJSON = JSON.stringify(book) console.log(bookJSON) 다음 명령어를 실행해 보겠습니다. $ node app.js 결과는 다음과 같이 출력되는 것을 확인할 수 있습니다. {"title":"Ego is the Enemy","author":"Ryan Holiday"} 이번에는 author에 해당하는 값만 출력하는 방법에 대해서 알아보겠습니다. app.js 파일을 다음과 같이 작성합니.. 2020. 1. 2.
Python - 리스트의 문장 단어 정렬하는 방법(split,sorted,join,title) 안녕하세요. 혀코입니다. 벌써 2020년이네요. 오늘은 리스트의 문장을 단어로 분리해서 정렬 후 다시 문장으로 붙이는 방법에 대해서 알아보겠습니다. 우선 리스트를 다음과 같이 정의합니다. greetings = ["world hello","nieuwjaar gelukkig","happy year new"] for loop을 사용해서 리스트의 각 항을 단어로 분리해보겠습니다. for g in greetings: words = g.split() print(words) ['world', 'hello'] ['nieuwjaar', 'gelukkig'] ['happy', 'year', 'new'] 이번에는 sorted를 사용해서 정렬을 해보겠습니다. for g in greetings: words = sorted(g... 2020. 1. 2.
Node.js에서 yargs npm 모듈 사용하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 yargs npm 모듈을 사용하는 방법에 대해서 알아보겠습니다. $ touch app.js $ npm init $ npm install yargs app.js를 만들고 npm 초기화를 하고, yargs npm 라이브러리를 설치했습니다. yargs npm 라이브러리를 사용하기 위해서 app.js 상단에 포함시켜 줍니다. const yargs = require('yargs') console.log(process.argv) console.log(yargs.argv) 이렇게 app.js 를 업데이트 해주고, node 명령어를 실행해 줍니다. $ node app.js 그러면 다음과 같은 결과가 나타납니다. [ 'D:\\Programs\\nodejs\\node.ex.. 2019. 12. 27.
Node.js에서 추가 명령어 받아 처리하는 방법(process.argv) 안녕하세요. 혀코입니다. 오늘은 Node.js에서 추가로 명령어를 받아서 처리하는 방법에 대해서 알아보겠습니다. $ touch app.js $ npm init $ npm install chalk app.js 파일을 만들고 npm 초기화해서 package.json 파일을 생성하고 chalk npm 모듈을 설치했습니다. 먼저 app.js를 다음과 같이 작성한 상태에서 시작하겠습니다. const chalk = require('chalk') console.log(chalk.green.inverse("Green Man")) chalk npm 모듈을 사용하기 위해 제일 상단에 chalk 가 필요하다고 설정하고 Green Man 이 녹색 배경에 검은색 글자로 표시되도록 설정했습니다. 여기서 Node 명령어를 실행하면.. 2019. 12. 27.
Node.js에서 chalk npm 모듈 사용하는 방법 안녕하세요 혀코입니다. 오늘은 Node.js에서 chalk npm 모듈 사용하는 방법을 알아보겠습니다. $ touch app.js $ npm init $ npm install chalk app.js를 만들고 npm 초기화를 통해서 package.json 파일을 생성하고 chalk npm 모듈을 설치했습니다. chalk npm 모듈을 사용하기 위해서 app.js를 다음과 같이 업데이트 합니다. const chalk = require('chalk') console.log(chalk.green('Green Man')) 이렇게 하고 다음 명령어를 실행하면, $ node app.js 'Green Man'이 녹색으로 표시되는 것을 확인할 수 있습니다. 이번에는 inverse 옵션을 통해서 글자색이 아닌 배경색이 녹.. 2019. 12. 27.
Node.js에서 validator npm 모듈 사용하는 방법 (이메일 형식, URL 형식 확인) 안녕하세요. 혀코입니다. 오늘은 Node.js에서 validator npm 모듈 사용하는 방법에 대해 알아보겠습니다. $ touch app.js $ npm init $ npm install validator app.js를 만들고 npm init 커맨드를 통해서 package.json파일을 만들었습니다. 그리고 오늘 알아볼 validator npm 모듈을 설치했습니다. app.js 파일을 다음과 같이 코딩해서 이메일 형식이 올바른지 확인을 해 보겠습니다. const validator = require('validator') console.log(validator.isEmail('ironman@fakemail.com')) 이렇게 하고 다음 명령어를 실행하면 $ node app.js true를 반환합니다. 이.. 2019. 12. 27.
Node.js로 직접 모듈 만들어 사용하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js에서 직접만든 모듈을 사용하는 방법에 대해서 알아보겠습니다. 메인파일 app.js 파일을 만들고 다음과 같이 코딩합니다. const name = "Iron Man" console.log(name) 이렇게 하고 다음 명령어를 실행하면, $ node app.js 'Iron Man'이 표시가 되는 것을 확인할 수 있습니다. 동일한 폴더에 'custom-module.js'를 만들고 다음과 같이 코딩합니다. console.log("custom-module.js") 그 다음 app.js 파일도 다음과 같이 코딩합니다. require('./custom-module.js') const name = "Iron Man" console.log(name) 이렇게 하고 다음 명령어를.. 2019. 12. 27.
Node.js 파일 생성,수정,확장 방법(writeFileSync, appendFileSync) 안녕하세요. 혀코입니다. 오늘은 Node.js로 txt 파일을 생성하고 수정하고 확장하는 방법에 대해서 알아보겠습니다. app.js 파일을 만들고 다음과 같이 코딩합니다. const fs = require('fs'); fs.writeFileSync('app.txt','app.txt is created!'); 파일을 만들기 위해서는 fs(file system) node module를 포함해야 합니다. 다음 명령어를 실행합니다. $ node app.js app.txt 파일이 만들어졌고 안에 'app.txt is created!'가 표시되어 있는 것을 확인할 수 있습니다. 이번에는 app.js 파일을 다음과 같이 업데이트해 보겠습니다. const fs = require('fs'); fs.writeFileSyn.. 2019. 12. 26.
Node.js 콘솔(REPL) 사용하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js 콘솔(REPL: Read Eval Print Loop)을 사용하는 방법에 대해 알아보겠습니다. 간단히 node 명령어를 실행하면 node.js와 자바스크립트를 실행할 수 있는 Node.js 콘솔(REPL)을 사용할 수 있습니다. $ node 다음으로 가장 기본적인 사용방법에 대해 알아보겠습니다. 덧셈 연산하는 방법 > 1 + 2 3 문자열을 더하는 방법 > "Hello" + " " + "World" Hello World 알파벳 문자열을 모두 대문자로 변경하는 방법 > 'Hugo'.toUpperCase() 'HUGO' 함수 사용하는 방법 > f = function(x) { return x * 3 } > f(4) 12 그리고 마지막으로 Node.js 콘솔(REP.. 2019. 12. 26.
Node.js로 신체질량지수(BMI) 계산하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js로 신체질량지수(BMI)를 계산하는 방법에 대해 알아보겠습니다. $ mkdir bmicalculator $ cd bmicalculator $ touch bmicalculator.js $ npm init $ npm install express $ npm install body-parser bmicalculator 폴더를 만들고 bmicalculator.js를 생성한다음 Node Package Module(NPM)을 초기화 세팅한 후에 express와 body-parser를 설치합니다. bmicalculator.js를 다음과 같이 코딩합니다. //jshint esversion:6 const express = require("express"); const bodyP.. 2019. 12. 24.
Node.js로 두 숫자의 합을 구하는 방법(POST, Body-parser) 안녕하세요. 혀코입니다. 오늘은 Node.js로 두개의 값을 폼으로 받아서 간단한 덧셈연산을 할 수 있는 웹사이트를 만드는 방법에 대해 알아보겠습니다. $ mkdir calculator $ cd calculator $ touch calculator.js $ npm init $ npm install express calculator 폴더를 만들고 그 폴더안으로 이동해서 calculator.js 파일을 만들고 npm 초기화 세팅 후, express를 설치합니다. calculator.js 파일을 다음과 같이 업데이트 합니다. //jshint esversion:6 const express = require("express"); const app = express(); app.get("/",function(res.. 2019. 12. 24.
Node.js 서버 업데이트할때 자동으로 재시작 하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js 서버 업데이트할때 자동으로 재시작하는 방법에 대해 알아보겠습니다. Node.js 서버를 업데이트할때 자동으로 재시작 하려면 Nodemon을 설치해야 합니다. 다음 명령어를 실행시켜서 Nodemon을 설치합니다. $ npm install -g nodemon Access 권한에러가 난다면 아래 명령어를 실행시켜서 Nodemon을 설치합니다. $ sudo npm install -g nodemon 제대로 설치가 되었나 확인 해보겠습니다. server.js를 다음과 같이 작성합니다. //jshint esversion:6 const express = require("express"); const app = express(); app.get("/", function(re.. 2019. 12. 20.
Node.js + Express 사용해서 서버 사용하는 방법 안녕하세요. 혀코입니다. 오늘은 Node.js와 Express를 사용해서 서버 사용하는 방법에 대해 알아보겠습니다. 우선 Node.js를 설치합니다. https://nodejs.org Node.js Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine. nodejs.org Node 설치 후에 서버로 사용할 폴더 하나를 만들고 다음 명령어를 사용해서 server.js 파일을 만듭니다. $ touch server.js server.js 파일을 만든 다음, 아래의 명령어를 사용해서 node package module을 초기화 하고, package.json 파일을 만듭니다. $ npm init package name: (server) v.. 2019. 12. 19.
맥에서 터미널로 아이폰 시뮬레이터 시작하는 방법 맥에서 Xcode를 실행하지 않고 아이폰 시뮬레이터를 시작하는 방법에 대해서 알려드리겠습니다. 우선 터미널을 켜시고 다음 명령어를 실행시켜주세요. $ open -a simulator 그러면, 아이폰 시뮬레이터가 실행됩니다. 추가로 아이폰 시뮬레이터의 화면 스크린샷을 찍는 방법은 단축키를 사용하시면 됩니다. Command + s 그러면 다음과 같은 스크린샷을 찍을 수 있습니다. 2019. 9. 29.
CocoaPods 설치한 후 초기화가 안될 때 (Flutter MacOS 셋업) Flutter(1.9.1+hotflix.2)를 맥OS에 설치를 할때 CocoaPods 설치한 후 초기화(Initialize)를 실행하면 아무런 표시가 안뜨는 것을 확인할 수 있고 flutter doctor를 실행해서 현재 flutter 셋업 상태를 확인할 때, 계속해서 다음과 같음 문구가 뜨는 경우가 있습니다. CocoaPods installed but not initialized. CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side. Without CocoaPods, plugins will not work on iOS or ma.. 2019. 9. 29.
Dart - List 오늘은 Dart 프로그래밍 언어의 List에 대해 알아보겠습니다. List는 다음과 같이 List로 선언해준 다음에 자료의 타입에 맞게 안에 타입을 지정하고 변수명을 지정하여 사용합니다. 리스트의 인덱스값에 해당하는 데이터 값 구하는 방법 또한 다른 프로그래밍 언어와 같이 리스트 안의 첫번째 값이 0번째 index, 두번째 값이 1번째 index, 세번째 값이 2번째 index의 값을 가지게 됩니다. void main() { List myList = [ 'Apple', 'Banana', 'Pineapple' ]; print(myList[2]); } 여기서 리스트의 두번째 값을 출력하라고 되어있기 때문에 Console에 다음과 같이 'Pineapple'이 출력되었습니다. Pineapple 데이터에 해당하는.. 2019. 9. 17.
React Native Build Error - Gradle version update 오류 해결방법 React Native로 만든 앱을 최종적으로 빌드할때, 해당 프로젝트의 android 폴더에서 다음의 명령어를 사용해서 apk파일을 생성하게 됩니다. $ ./gradlew assembleRelease 그런데 제대로 빌드가 되지 않고, Minimum supported Gradle version is 5.1.1. Current version is 4.10. If using the gradle wrapper, try editing the distributionUrl in ../android/gradle/wrapper/gradle-wrapper.properties to gradle-5.1.1-all.zip 오류가 나타나는 경우가 있습니다. 이 경우, android/gradle/wrapper/gradle-wra.. 2019. 6. 5.
React Native Build Error - Can't add task 'wrapper' 오류 해결방법 React Native로 만든 앱을 최종적으로 빌드할때, 해당 프로젝트의 android 폴더에서 다음의 명령어를 사용해서 apk파일을 생성하게 됩니다. $ ./gradlew assembleRelease 그런데 제대로 빌드가 되지 않고, Cannot add task 'wrapper' as a task with that name already exists 라면서 빌드 오류가 나는 경우가 있습니다. 이 경우 오류를 해결하려면, android 폴더안의 build.gradle의 코드를 수정해 주시면 해결할 수 있습니다. 업데이트 전 task wrapper(type: Wrapper) { gradleVersion = 'X.X.X' distributionUrl = distributionUrl.replace("bin",.. 2019. 6. 5.
React Native Build Error - SDK directory does not exist 오류 해결방법 React Native로 만든 앱을 최종적으로 빌드할때, 해당 프로젝트의 android 폴더에서 다음의 명령어를 사용해서 apk파일을 생성하게 됩니다. $ ./gradlew assembleRelease 그런데 제대로 빌드되지 않고, 다음과 같이 SDK directory does not exist 오류가 나타나는 경우가 있습니다. 이경우, 프로젝트의 android 폴더내의 local.properties를 다음과 같은 형식으로 수정해 주면 해결할 수 있습니다. 물론 실제로 해당 폴더에 sdk가 있는지 확인은 필수입니다. 업데이트 전 sdk.dir=C:\Users\user\AppData\Local\Android\Sdk 업데이트 후 sdk.dir=C\:/Users/user/AppData/Local/Android.. 2019. 6. 5.
Keytool 오류 java.io.FileNotFoundException 액세스가 거부되었습니다 오류 해결방법 React Native로 만든 안드로이드 앱을 구글 플레이스토어에 올리기 위해서는 Keytool을 사용해서 keystore파일을 만들어 apk 파일을 빌드해야합니다. 참고로 윈도우에서 keystore 명령어는 jre 설치 경로에서 해줘야 진행이 됩니다. $ keytool -genkeypair -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 Bash를 사용하다가 한글은 깨지는 오류가 있어서, 윈도우 CMD창을 열어서 위와 같이 입력을 하면, 아래와 같이 keytool 오류 java.io.FileNotFoundException 엑세스가 거부되었습니다 오류가 보이는 경우가 있습니다... 2019. 6. 5.
React Native Unable to resolve module index 오류 해결방법 React Native 로 새로 앱을 빌드하다가 다음과 같은 The development server returned response error code: 500 - Unable to resolve module index 오류를 발견했습니다.github과 stackoverflow 뒤져보면 package.json에서 버전을 수정하고, node_module 폴더 지운다음에 npm install을 다시 하라는 조언이 많이 있으나 해결할 수 없어서 찾다가 또 찾다가 마침내 찾은 해결방법입니다.해결 방법은 두가지 입니다. 그 중 첫번째 방법으로 해결할 수 있었습니다.# 첫번째 방법\node_modules\react-native\scripts\launchPackager.bat 파일 업데이트 @echo off tit.. 2019. 3. 25.
React Native compileDebugJavaWithJavac 오류 해결방법 React Native CLI를 설치하고 테스트해보면, 아래와 같이 compileDebugJavaWithJavac 때문에 오류가 나서 실행이 안될 때가 있습니다. 해결방법은 시스템 변수에 JAVA_HOME을 추가하고 해당 변수 값으로 JDK가 있는 위치를 지정해 주면 해결됩니다. * Java를 설치한 폴더를 모르실 경우, Java를 다시 설치해 주시고 파일 경로를 변수 값으로 넣어주시면 됩니다. * jre가 아닌 jdk 입니다. 철자 확인해서 넣어주세요. 간단한것 같지만, 오류해결에 3시간 정도 걸린 것 같네요.;; 해당 글이 유용하셨다면, 공감 버튼 클릭 부탁 드립니다.궁금하신 점이 있으시다면, 아래 댓글로 남겨주세요. 2019. 3. 21.
React Native Application has not been registered error 오류 해결방법 지난번에 React Native CLI를 설치하고 나서 테스트 했습니다. 이후, 다른 폴더에 새로운 프로젝트를 생성하고 react-native run-android를 명령어를 실행할 경우에 다음과 같이 'Application has not been registered'라고 오류 문구가 뜨는 경우가 있습니다. 이 경우는 이전에 테스트를 하면서 아래와 같이 Node 프로세스가 돌아갔는데 멈추지 않아서 발생하는 것으로 확인됩니다. 이 창을 닫아주시고 다시 react-native run-android 명령어를 실행해 주시면 정상적으로 작동하게 됩니다. $ react-native run-android 간단한 것 같지만, 위 문제를 해결하려고 2시간이 휙 지나갔네요. 도움이 되셨으면 좋겠습니다. 해당 글이 유용하셨.. 2019. 3. 20.
React Native CLI 윈도우에 설치 및 테스트 React Native를 사용해서 안드로이드 및 애플 앱을 개발할 때, expo를 사용하면 편하게 앱을 만들 수 있는 장점이 있지만, 아주 간단한 기능을 가진 앱을 만들 때에도 기본적으로 앱 크기가 15메가 정도로 커지게 됩니다. 그래서 앱 용량을 줄이기 위해 React Native CLI를 사용해서 개발하고자 설치 및 테스트하고 후기를 남김니다. 제가 아래에서 진행한 설치 절차는 아래 링크에 영문으로 나와있으니 참고 부탁 드립니다.React Native 설치 공식 문서 ↓↓↓https://facebook.github.io/react-native/docs/getting-started 참고로 제가 React Native CLI를 설치할 때는 공식문서에서 추천한 Chocolatey를 이용해서 설치하지 않고,.. 2019. 3. 20.
자바스크립트 JavaScript parseInt() 함수 자바스크립트의 내장 함수 parseInt() 함수에 대해 알아보겠습니다.parseInt() 함수를 사용하면, 실수에서 소수점 이하를 제외한 정수 부분만을 추출할 수 있습니다. 또한 2진수, 3진수 등의 숫자를 정수로 변환할 수 있습니다.소수점 이하를 제외한 정수 부분만을 추출하는 예제를 확인해 보겠습니다. var num1 = 5; var num2 = 2; var num3 = parseInt(num1/num2); console.log(num3); // 2 다음으로는 3진수의 숫자를 10진수로 변환하는 예제를 확인해 보겠습니다. var num1 = 2121; var num2 = parseInt(num1,3); console.log(num2); // 70 parseInt() 함수는 문자열을 숫자로 변환하는 기.. 2019. 3. 12.