본문 바로가기

매일코딩217

[안드로이드 기초] 새로운 창 띄우기 새로운 창 띄우기 !핵심핵심은 새로운 창을 띄우거나, 새로운 동작 예를 들면 전화걸기 웹페이지 열기를 할때 Intent 객체를 사용한다.Intent intent=new Intent(현재창 , 새창 or 전화걸기, 웹페이지 등); #새로운 엑티비티 추가했을 때 #menu 엑티비티 자바소스(back버튼 누르면 뒤로 이동) #메인화면에서 새화면 버튼 클릭 했을때 #메인123456789101112131415161718192021222324252627282930313233343536373839404142package me.happygate.myapplication001; import android.content.Intent;import android.net.Uri;import android.os.Bundle;im.. 2017. 8. 10.
[안드로이드 기초] 메시지 띄우기 url이동 전화걸기 메시지 띄우기 url이동 전화걸기 #디자인 페이지#자바 소스12345678910111213141516171819202122232425262728293031323334353637383940package me.happygate.myapplication001; import android.content.Intent;import android.net.Uri;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected v.. 2017. 8. 10.
우분투 16.04 Mysql, Express, Angular& node js를 npm페키지로 초간단 간단셋팅 우분투 16.04 Mysql, Express, Angular& node js npm페키지로 초간단 셋팅 #ANGULAR CLI 설치npm install -g @angular/cli # NG 명령어로 앵귤러 프로젝트 폴더생성ng new ngApp --routing # 프로젝트 폴더로 가서 NG SERVER 명령어로 서버가동cd ngApp ng serve # EXPRESS와 연동해주기 위해서 NG BUILD 명령어로 배포 준비ng build (dist 폴더와 build된 파일들이 생성됨) # Express 패키지와 미들웨어인 body-parser , db페키지를 다운로드 한다npm install --save express body-parser mysql #ngApp 폴더 안에 server.js 파일을 만들고.. 2017. 8. 2.
우분투 16.04 Mysql, Express, Angular& node 환경셋팅 & 간단한 task 어플구현 no.1 우분투 16.04 Mysql, Express, Angular& node 환경셋팅 & 간단한 task 어플구현 no.1 #터미널 열어서 프로젝트 폴더를 만든다 mkdir mytask #폴더로 이동해서 init 명령어! cd mytask npm init package.js 생성된다. #필요한 모듈 다운로드(각각의 모듈 설명은 생략)npm install express body-parser ejs mysql --save package.js 폴더 열어서 잘 깔렸는지 확인 #visual studio code로 mytask 폴더 열기 #server.js 파일 생성후 작성 var express = require('express');var path = require('path');var bodyParser = requi.. 2017. 8. 1.
우분투16.04 Visual Studio Code와 Angular cli 설치하기 우분투16.04 Visual Studio Code와 Angular cli 설치하기 #Visual Studio Code 설치 #GPG키 다운로드 위해 필요한 패키지 설치sudo apt-get install curl #GPG 키를 다운로드 후 /etc/apt/trusted.gpg.d 경로에 복사sudo sh -c 'curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg' #VSCD 다운 받기 위한 저장소 설치sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main".. 2017. 7. 31.
[나홀로 앵귤러] 낙서로 간단하게 시작하기 #앵귤러js?구글이 만든 단일 페이지 웹 애플리케이션 개발을 위한 자바스크립트 프레임워크 #특징웹 컴포넌트 기반 재사용 가능커스텀 엘리먼츠, 쉐도우 돔, html import, html 템플릿 #framework에서 platform으로router, angular cli, material, universal 등 다양한 기능 제공 #차이점앵귤러 1 앵귤러2스콥 0, 스콥 x지시자와 컨트롤러 o x비스니스 로직 controll함수 타입스크립트 클래스자바스크립트 모듈 시스템 require.js 타입스크립트 모듈시스템 #angular cli커멘트라인 인터페이스 : 터머널에서 명령어를 입력하면, 그에 따라 프로젝트를 만들어 주고, 라우터, component 등 서비스를 자동 생성 해준다. node js 반드시 설치.. 2017. 7. 31.
우분투16.04 vmware&iptime 포트포워딩 가변ip 문제 TwinIP로 해결하기 우분투16.04 vmware&iptime 포트포워딩 가변 ip문제를 TwinIP로 해결하기 지난번 을 포스팅 했다. 마지막에 "외부접속 성공"이라고 썼다. 그런데 시간이 지나고 보니 접속이 안되었다...알고보니.. 5번. 사설IP가 자주 바뀐다.그래서 6번에 3시간 전에 적어 놓은 IP로 포트포워딩이 불가능하다.6번에 192.168.0.8 을 적어놓았는데 3시간 뒤에 192.168.0.10 이 되어있있다. 그럼 어떻게 할까. 옆에 네트워크에 대해서 조금 아는 사람이 있으면 얼마나 좋으랴. 필자는 그냥 구글링을 열심히 했다... #IPTIME TwinIP로 해결클릭하면 확대됨 - 웹브라우저에서 192.168.0.1입력- 공유기 설정페이지로 들어간다.- 고급설정-> NAT/라우터 관리 -> DMZ/TwinI.. 2017. 7. 28.
우분투16.04 집에서 회사 서버에 접속해보자 iptime&vmware 포트포워딩 외부접속! iptime&vmware 포트포워딩 외부접속! #짧은배경지식 1. IP는 공용 IP와 사설 IP가 있다.2. 공용IP 는 외부 통신 업체에서 하나만 제공해 주는 것이다. 바뀌지 않는다.3. 가까운 공간에 있는 사람들은 사설 IP를 사용한다.4. 사설IP는 공용IP가 제공해 주는 임의의 IP다. 자주 바뀐다.5. 공용IP를 통해 외부 접속이 가능하다.6. 사설IP를 통해 외부 접속이 불가능하다. #외부접속을 위해 해야할 것 1.외부PC 내부 PC 사이 방화벽 해제 2. IPTIME 포트포워딩3. 내부PC와 내부PC에서 돌아가고 있는 가상 OS 포트포워딩 (VMWARE 이용)4. 네트워크 설정 #외부PC 내부 PC 사이 방화벽 해제 제어판 -> 네트워크 및 인터넷 -> 네트워크 및 공유센터 -> window.. 2017. 7. 27.
우분투 16.04 ftp 다운로드는 되고 업로드는 안될때 해결방법 우분투 16.04 ftp 다운로드는 되고 업로드는 안될때 해결방법 우분투 리눅스에 개인 웹서버와 파일서버를 구축해 놓고 원격으로 사용하고 있다. 그동안 ftp로 우분투에 있는 파일을 다운로드만 했지 업로드를 해본적이 없었다. 오늘 해봤다. 오류가 났다! 또 구글링을 했다. 이 문제는 내가 소유자/그룹 개념에 대해서 잘 모르고 있었기 때문에 생긴 문제였다. 나는 mytelnet이라는 유저 아이디로 접속을 했다. 왼쪽pc에 있는 파일을 우분투의 특정폴더로 옮기고 싶었다. 문제는 처음에 우분투의 특정파일의 소유자/그룹이 root로 되어 있었다. 그래서 root 이외의 사용자는 접근자체가 불가능 했다. 그래서 명령어로 소유자를 mytelnet으로 바꾸어주었다. #권한 변경 명령어chown -R mytelnet:.. 2017. 7. 27.
우분투 16.04 vmware&iptime 포트포워딩 후 윈도우 workbench에서 우분투 접속 우분투 16.04 vmware&iptime 포트포워딩 후 윈도우 workbench에서 우분투 접속 #iptime 포트 열기 192.168.0.1로 접속후3306 포트를 접속 허용 해준다. #컴퓨터 방화벽을 풀어주거나 3306포트만 열어준다. #vmware -> edite -> network에서 포트포워딩 3306 #공인ip로 window워크밴치에서 접속 2017. 7. 26.
우분투 16.04 vsftpd 서버 설치해서 외부에서 파일 전송 업로드 하기! 우분투 16.04 vsftpd 서버 설치해서 외부에서 파일 전송 업로드 하기! #vsftpd 설치apt-get -y install vsftpd #vsftpd 설정파일 수정vi /etc/vsftpd.conf #익명 사용자도 읽고 쓰게 할려면anonymous_enable=YES #쓰기도 가능write_enable = YES #익명 사용자도 업로드 가능하게anon_upload_enable = YES #익명 사용자도 폴더 만들기 가능anon_mkdir_write_enable = YES #익명 사용자가 들어오는 home폴더/srv/ftp/ #익명 사용자가 자유롭게 업로드 다운로드 할 수 있는 폴더 만들기cd /srv/ftp/ #공용폴더 생성mkdir pub #권한 설정chmod 777 pub #서버 가동syste.. 2017. 7. 26.
우분투16.04 mysql 설치 후 윈도우 workbench에서 외부 접속하기! 우분투16.04 mysql 설치 후 윈도우 workbench에서 외부 접속하기! #mysql 설치apt-get install mysql-server 비밀번호 설정 후 설치 완료 #확인mysql -u root -p비밀번호 #외부 접속 허용 설정 아래 위치로 가서 mysqld.cnf 파일 열기 #수정 bind-address 를 0.0.0.0 으로 설정하던지, # 으로 주석 처리 해준다. #mysql 접속해서 use mysql;아래 명령어를 입력해 준다. grant all~~ 마지막 빨간 부분은 비밀번호 #flush privileges 를 꼭 적어준다. #우분투 mysql 포트 열어주기(이것 때문에 삽질..ㅜ) sudo ufw allow out 3306/tcp sudo ufw allow in 3306/tcp .. 2017. 7. 25.
ubuntu 16.04 openSSH로 우분투 서버에 원격접속해보자 openSSH로 우분투 서버에 원격접속해보자 #서버 설치apt-get -y install openssh-server #서버 가동systemctl restart ssh #서버 항시 가동systemctl enable ssh # 방화벽 오픈ufw allow 22/tcp #윈도우에서 접속putty 열고 -> ssh 선택 -> ip 입력 -> 접속 #이제 인터넷만 되면 어디서든 우분투 서버로 원격접속 할 수 있다! 2017. 7. 24.
ubuntu16.04에 telnet 서버 설치 후 putty로 원격 접속해보자 ubuntu16.04에 telnet 서버 설치 후 putty로 원격 접속해보기! #설치 흐름 #telnet 관련 패키지 설치apt-get -y install xinetd telnetd #설정 폴더로 이동cd /etc/xinetd.d/ #설정 파일 편집(telnet 파일은 내가 새로 생성한 파일)vi telnet #아래 내용을 복사 붙여넣기!service telnet{ disable = no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID} #사용자 추가adduser 사용자명 #telnet 서버 가동systemctl restart xinetd #방화벽 열기.. 2017. 7. 21.
ubuntu16.04 에서 pm2 와 nginx로 node js 서비스 하기 ubuntu16.04에서 pm2 와 nginx로 node js 서비스 하기 reverse proxy 에 대한 개념을 조금 알고 시작하면 좋을듯! #시작하기 전에 http://abc1211.tistory.com/283지난번 포스팅에서 node js와 express 설치 하는 방법 보실수 있어요. #express 명령어로 폴더를 하나 만든다express nodeApp #만든 폴더로 가서 npm install 후 node 서버 실행cd nodeAppnpm installnode ./bin/www #서버가 작동된 것을 확인하자 #PM2 와 NGINX 설치(구글링으로 한번 찾아보자!)(PM2는 NODE 서버를 관리 지속적으로 서비스 해주는 모듈이고,NGINX는 NODE APP이 외부에서도 접속되도록 하는 서버 .... 2017. 7. 20.
ubuntu 16.04 node js express 설치 후 apache2와 함께 서버 돌리기 ubuntu16.04 node js 패키지 파일 설치 #Node.js v6 설치 curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -sudo apt-get install -y nodejs #Node.js v7 설치 curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -sudo apt-get install -y nodejs #npm에서 네이티브 애드온을 컴파일하고 실행하려면 빌드 도구도 설치 sudo apt-get install -y build-essential #Express 설치#(node js를 더 편리하게 사용 할 수 있게 기본 개발 틀을 만들어 주는 도구라고 생각하면됨)#참고로 -g.. 2017. 7. 19.
우분투 16.04 네임서버 캐싱네임서버 마스터네임서버 FTP서버 한큐에 설치! 네임서버 : DNS 서버역할: 도메인 이름을 IP 주소로 변환 시켜 주는 역할예) WWW.NAVER.COM -> 120.51.153.112 가장 초기의 네트워크 접속 방법- 컴퓨터가 몇대 안됨- 사용자가 모두 외워서 사용- 직접 IP 주소로 접근함 초기에는 hosts 파일을 이용하여 네트워크 접속 (전화번호 수첩과도 같다) 예)/etc/hosts120.153.12.15 www.daum.net123.178.15.17 www.wow.net 나중에는 네임서버를 이용하여 네트워크 접속 - 이름 해석을 전문적으로 해 주는 서버 컴퓨터가 필요해짐 전화 안내 서비스인 114와 같은 역할 - 네임서버는 인터넷에서 변화하는 모든 컴퓨터의 url과 ip정보를 거의 실시간으로 제공- 사용자는 url에 해당하는 ip 주소를 .. 2017. 7. 18.
리눅스 개요 리눅스 개요 2017. 6. 28.
우분투 vim 설치 시 패키지 의존성 문제 해결 우분투 16.04를 설치해서 이것 저것 해보고 있는데..환경설정 부터 어렵네...아무튼 구글님의 도움으로 해결.. 해결방법 sudo apt-get remove vim-common sudo apt-get clean && sudo apt-get purge sudo apt-get update && sudo apt-get install vim 2017. 6. 27.
[자바스크립트 객체지향] 3 객체와 프로퍼티 종류 정리 객체의 이해 자바스크립트 객체는 프로퍼티가 키/값 쌍으로 되어 있는 만큼 해시 맵에 빗대어 생각하면 이해하기 쉽다. 객체 프로퍼티에 접근할 때는 점 표기법 또는 각괄호 표기법 중 무엇을 해도 상관없다. 프로퍼티에 값을 할당하면 언제든 객체에 새 프로퍼티를 추가 할 수 있으며 delete 연산자를 사용하면 언제든 프로퍼티를 제거할 수 있다. 프로퍼티의 존재 여부는 프로퍼티 이름과 객체를 in 연산자와 함께 사용하면 알 수 있다. 이때 고유 프로퍼티만 확인하고 싶다면 모든 객체에 대 포함되어 있는 hasOwnProperty()를 사용하면 된다. 모든 객체 프로퍼티는 기본적으로 열거 가능하다. 열거 가능하다는 말은 for-in 반복문이나 Object.keys()를 사용할 때 볼 수 있다는 뜻이다. 프로퍼티는 .. 2017. 6. 22.
[자바스크립트 객체지향] 2 자바스크립트 함수가 독특한 이유 함수자바스크립트에서 함수는 객체이다. 다른 객체에는 없는 함수만의 특성을 꼽으라면 call이라는 내부 속성을 들 수 있다. 내부속성은 코드로 접근할 수 없지만 코드의 동작을 정의한다. 선언과 표현식함수에는 두가지 리터럴 형태가 있다. 1.함수 선언 function add(num,num2){ return num1 + num2} 2.함수 표현식 var add = function add(num,num2){ return num1 + num2} *참고위의 두 함수는 비슷하지만 한가지 중요한 차이점이 있다.함수선언은 코드가 실행될 때 컨텍스트 상단에 끌여올려진다. 다시 말해 함수를 호출하는 코드가 함수를 선언한 코드보다 앞에 있어도 에러가 발생하지 않는다는 뜻이다. var result = add(5,5); func.. 2017. 6. 20.
[자바스크립트 객체지향] 1 원시타입과 참조타입 정리 원시타입과 참조타입 자바스크립트에서는 원시 타입(primitive type) 참조 타입(reference type)이라는 두 가지 자료형을 제공한다.숫자, 불린값, null과 undefined는 원시 타입이다. 객체, 배열, 함수는 참조 타입이다.원시 타입 데이터는 변수에 할당될 때 메모리 상에 고정된 크기로 저장되고 해당 변수가 원시 데이터 값을 보관한다.참조 타입 데이터는 크기가 정해져 있지 않고 변수에 할당될 때 값이 직접 해당 변수에 저장될 수 없으며, 변수에는 데이터에 대한 참조만 저장된다. 참조는 참조 타입 데이터의 주소이지 해당 데이터의 값이 아니다.원시 타입 변수 복사각 변수 간에 원시 타입 데이터를 복사할 경우 데이터의 값이 복사된다. 다음 예제를 보자.var x = 100; // 원시 .. 2017. 6. 19.
[node js] 자바스크립트 페이지이동 & 뒤로 가기 *자바스크립트 뒤로가기 쿼리 뒤로가기 *서버에서 auth 객체를 view 에 던져서 존재하면 페이지를 보여주고 없으면 location.href로 바로 페이지 강제 이동 2017. 6. 15.
[node js] 자바스크립트 동적구현&함수에 값넣고 호출 할때 에러해결 동적쿼리 생성 output += ''; } 문제는 음...동적쿼리를 생성하고 ...ajax로 값을 받아와서 동적 쿼리에 넣어 그 값을 함수에 던져준다...숫자는 잘들어가지는데 문자를 던지니깐 계속 에러가 났다.출력해보니..... undefind 하면서 정의 할 수 없다고.. 3시간 넘게 삽질했다.. 그래서 구글링!!!인자 사이에 \'' 요런걸 넣어라네.....갈길이 멀다.ㅠㅠ *참고acceptedYou need to wrap the input item.store_code with quotation marks; otherwise, it tries to treat it as a variable, not a string:html += ''; 2017. 6. 14.
[nodejs] 이미지 프로젝트에 사용 2017. 6. 7.
[node js] 게시판 글 클릭 후 뒤로가기하면 조회수 초기화 문제 node js로 게시판을 만들다가 문제를 발견했다.해당 글을 클릭하면 글 상세페이지로 넘어가면서 조회수가 1 증가한다.하지만 웹의 뒤로가기 버튼을 누르면 글 목록 페이지로 이동되면서 조회수가 0 으로 초기화 된다. 구글링하다가 관련 소스를 발견했다. //main pageapp.get('/', function(req, res) { res.header('Cache-Control', 'private, no-cache, no-store, must-revalidate'); res.header('Expires', '-1'); res.header('Pragma', 'no-cache'); .......응답 헤더에 옵션 같은 것을 준것 같은데.. 왜 이렇게 작동되는지 찾아봐야겠다. 2.로그아웃 하면 메인화면. 다시 뒤로.. 2017. 6. 6.
[node js] ajax 초 간단 예제 view- server 부분/*ajax 테스트 로직*/ router.get('/getajax', function(req, res, next) { res.render("main/ajax");}); /* POST 호출 처리 */router.post('/ajax', function(req, res, next) { console.log('POST 방식으로 서버 호출됨'); //view에 있는 data 에서 던진 값을 받아서 var msg = req.body.msg; msg = '[에코]' + msg; //json 형식으로 보내 준다. res.send({result:true, msg:msg});}); 2017. 6. 5.
[생활코딩 함수] 함수 호출 5 1. 2. 2017. 6. 5.
[생활코딩 함수] arguments 4 1. 2. 2017. 6. 2.
[생활코딩 함수 ] 클로저 3 1 2 3. 4. 5. 6. 2017. 6. 1.