본문 바로가기
반응형

프로그래밍314

AWS 01_클라우드 기본 개념 ●클라우드 컴퓨팅 - 프로그램이나 데이터를 로컬PC에 저장해 놓는 것이 아니라 인터넷을 통하여 중앙 컴퓨터에 저장하고 사용하는 기법이다. - 클라우드의 유형은 크게 public(공용), private(사설), hybrid(하이브리드) 가 있다. - 클라우드 컴퓨팅의 서비스는 크게 IaaS(서비스형 인프라), PaaS(서비스형 플랫폼), SaaS(서비스형 소프트웨어)가 있다. ●클라우드 유형 1.public(공용) - 클라우드 서비스 제공업체가 인터넷 망을 통해 불특정다수의 기업이나 개인에게 서버, DB 등의 자원을 빌려주는 형태의 서비스이다. 인터넷을 통하여 공간을 빌려쓰는 일반적인 aws,애저 같은 서비스이다. 2.private(사설) - 오직 하나의 고객만을 위해 구성된 클라우드 서비스이다. 3.hy.. 2019. 7. 27.
아두이노 DC모터 움직이기 ●배터리연결빨간 + 검정 - ● #include #include byte INBYTE;SoftwareSerial BTSerial(3, 2); //Connect HC-06 TX,RXAF_DCMotor motor1(1);AF_DCMotor motor2(3); void setup() { Serial.begin(9600); // set up Serial library at 9600 bps Serial.println("Motor test!"); BTSerial.begin(9600);//블루투스 연결 // turn on motor motor1.setSpeed(200); motor2.setSpeed(200); motor1.run(RELEASE); motor2.run(RELEASE);} void loop() { uin.. 2016. 1. 5.
아두이노 블루투스로 안드로이드 연결하기 ●블루투스 모듈(HC-06)- 블루투스를 이용할 수 있게 해주는 모듈이다. 아두이노 스케치에서 SoftwareSerial를 사용하여 통신한다. ●안드로이드 블루투스로 LED 점멸하는 예제 #include byte INBYTE;const int ledPin = 10;String str=""; SoftwareSerial BTSerial(3, 2); //Connect HC-06 TX,RXvoid setup() { Serial.begin(9600); //PC와 연결 BTSerial.begin(9600);//블루투스 연결 pinMode(ledPin, OUTPUT);}void loop(){ if (BTSerial.available()){ INBYTE = BTSerial.read(); switch(INBYTE){ c.. 2016. 1. 5.
아두이노 Serial 사용해서 PC와 연결하기 ●Serial 사용해서 PC와 연결하기 char INBYTE;const int ledPin = 2; void setup() { Serial.begin(9600); pinMode(ledPin, OUTPUT);}void loop() {if(Serial.available()){ INBYTE = Serial.read(); if( INBYTE == '0' ){ Serial.println("0"); digitalWrite(ledPin, LOW); } if( INBYTE == '1' ){ Serial.println("1"); digitalWrite(ledPin, HIGH); } delay(50); } } 2016. 1. 4.
아두이노 7 segment LED 디지털 튜브 ●7 segment LED 디지털 튜브- 7개의 작대기로 문자를 표시하는 LED디저털 튜브이다. ●0~9까지 표시하는 예제 #define ledA 7#define ledB 8#define ledC 2#define ledD 3#define ledE 4#define ledF 6#define ledG 5 void setup() { pinMode(ledA, OUTPUT); pinMode(ledB, OUTPUT); pinMode(ledC, OUTPUT); pinMode(ledD, OUTPUT); pinMode(ledE, OUTPUT); pinMode(ledF, OUTPUT); pinMode(ledG, OUTPUT);} void loop() { // 1 digitalWrite(ledD, LOW); digitalWr.. 2016. 1. 2.
아두이노 RGB 제어하기 ●RGB- 'R','G','B'에 0~255의 값을 주고 '-'를 GND에 연결한다. ●RGB LED 색 변화 int rgbPin1 = 9;int rgbPin2 = 10;int rgbPin3 = 11; void setup() { pinMode(rgbPin1, OUTPUT); pinMode(rgbPin2, OUTPUT); pinMode(rgbPin3, OUTPUT); } void loop() { analogWrite(rgbPin1, random(0,255)); analogWrite(rgbPin2, random(0,255)); analogWrite(rgbPin3, random(0,255)); delay(500);} 2016. 1. 2.
아두이노 적외선 리모콘 ●아두이노 적외선 리모콘- 아래 사이트에서 라이브러리를 다운받아 내 컴퓨터의 아두이노 설치경로인 Arduino\libraries에 복사한다. 적외선 리모콘 기능을 쓰려면 #include 를 추가해야한다. https://github.com/shirriff/Arduino-IRremote/ ●적외선 리모콘 예제 #include int RECV_PIN=2;IRrecv irrecv(RECV_PIN);decode_results results; void setup() { Serial.begin(9600); irrecv.enableIRIn();} void loop() { if(irrecv.decode(&results)){ Serial.println(results.value, HEX); irrecv.resume(); }.. 2016. 1. 1.
아두이노 빛의 세기에 따라 소리,LED밝기 조절 예제 ●빛의 세기에 따라 소리,LED밝기 조절 예제 const int ledPin = 6;const int buzzerPin = 3;const int lightPin = A0;int lightValue;int brightness; void setup() {} void loop() { lightValue = analogRead(lightPin); brightness = map(lightValue, 0,1023,0,255); analogWrite(ledPin,brightness); brightness = map(lightValue, 0,1023,100,1000); tone(buzzerPin,lightValue);} 2016. 1. 1.
아두이노 능동 부저, 수동 부저 ●부저- 능동부저(사진 오른쪽)전류가 흐르면 자동으로 소리가 나는 부저이다. - 수동부저(사진 왼쪽)아두이노의 tone함수를 통해 소리를 내는 부저이다. 보통 31~65535의 주파수를 낼 수 있다. noTone함수로 소리르 끌수 있다. ●능동부저 소리내기 const int buzzerPin= 2; void setup() { pinMode(buzzerPin,OUTPUT);} void loop() { digitalWrite(buzzerPin, HIGH); delay(1000); digitalWrite(buzzerPin, LOW); delay(1000); digitalWrite(buzzerPin, HIGH); delay(5000); digitalWrite(buzzerPin, LOW); delay(5000);.. 2016. 1. 1.
아두이노 광센서, 온도센서 사용 예제 ●광센서- 빛에 노출되면 저항이 줄어드는 저항이다. ●빛 세기에 의해 LED밝기 조절하는 예제 const int ledPin = 3;const int lightPin = A0;int lightValue;int brightness; void setup() { Serial.begin(9600);} void loop() { lightValue = analogRead(lightPin); Serial.println(lightValue); //0~1023값을 0에서 255값으로 환산한다. brightness = map(lightValue, 0,1023,0,255); analogWrite(ledPin,brightness);} ●온도센서- 온도에 따라 저항값이 달라지는 저항이다. 아래 온도센서는 LM35DZ이다. 양쪽.. 2016. 1. 1.
아두이노 가변저항으로 아날로그 입력 조절 예제 ●가변저항- 가변저항은 3개의 선으로 회로에 연결된다. 양쪽에 5V, GND를 연결하고 가운데를 출력값으로 이용한다. 저항의 값이 높아지거나 낮아짐에 따라 전류량이 조절된다. 저항이 낮은 상태에서는 전류량이 많아지고 저항이 높아지면 전류량이 줄어든다. ●가변저항을 이용한 led 밝기 조절 예제 const int ledPin = 3;const int potentiometerPin = A0;int potentiometerValue;int brightness; void setup() { Serial.begin(9600);} void loop() { potentiometerValue = analogRead(potentiometerPin); Serial.println(potentiometerValue); //0~.. 2015. 12. 31.
아두이노 버튼 입력 받기 예제 ●버튼- 회로를 닫아주고 열어주는 역할을 한다. 아래 버튼은 손으로 누르고 있으면 전류가 흐르고 손을 때면 전류가 흐르지 않게 되는 버튼이다. ●아두이노 스케치를 이용하지 않은 버튼 테스트 ●버튼의 입력에 따라 LED가 점등이 되는 예제 const int ledPin = 2;const int buttonPin = 4;int currentButtonState; void setup() { pinMode(ledPin,OUTPUT); pinMode(buttonPin,INPUT); Serial.begin(9600);} void loop() { currentButtonState = digitalRead(buttonPin); digitalWrite(ledPin, currentButtonState); Serial.pr.. 2015. 12. 31.
아두이노 LED켜는 예제 ●브레드보드- 남땜이 필요없는 프로토타입용 보드이다. 빨간선에는 양의 전압을 연결해주고, 파란선은 접지(GND)로 연결해준다.중간에는 부품들은 연결하기 위해 사용한다. ●LED- 소량의 전류만 필요하여 과다 전류가 흐를 경우 불이 날수도 있다. LED가 파손되는 것을 막기위해 LED앞에 저항을 연결해준다. - LED는 방향성을 가진다. LED를 통과하는 전류는 한 방향으로 흐른다. 긴 쪽 다리는 양극, 짧은 쪽 다리는 음극(GND)에 연결한다. ●아두이노 스케치를 사용하지 않고 단순하게 전류를 흘려 LED를 켜는 사진 ●전구를 켰다 껐다하는 예제- 저항을 연속해서 LED에 연결한다. 보드의 2,3,4번 디지털 출력 핀이 저항에 연결되고, 저항은 LED의 양극에 연결한다. - pinMode()로 OUTPU.. 2015. 12. 31.
아두이노 개발환경 세팅 ●아두이노 보드 구입- 아두이노 보드를 구입한다. 아두이노 우노 보드의 경우 정품은 2~3만원, 호환보드(클론제품)의 경우 6000원 정도에 판다. 아두이노를 공부하고 테스트할 수 있게 아두이노 보드, 브레드보드, 기타 여러 부품등을 조합해서 스타터킷을 구성해서 판다. ●아두이노 통합 개발 환경 소프트웨어(스케치) 설치- 아래 사이트에서 스케치 프로그램을 다운받아 설치한다.https://www.arduino.cc/ ●아두이노 보드와 컴퓨터 연결- 아두이노와 컴퓨터를 USB로 연결한다. 아두이노 보드의 USB는 전원을 공급받을 수 있고, 컴파일한 프로그램을 업로드 받고 시리얼 포트를 통해 디버깅 메시지를 볼 수 있다. ●아두이노 보드용 드라이버 설치- USB로 아두이노 보드와 컴퓨터를 연결하니 자동으로 드.. 2015. 12. 26.
아두이노 기초 ●아두이노(arduino)- 입력,출력을 제어할 수 있는 프로세서와 메모리를 갖춘 소형 컴퓨터이다. 아두이노는 마이크로 컨트롤러를 컴퓨터에 연결한 후 명령어(코드)를 작성하여 메모리에 로드하면 기판에 연결한 여러가지 센서나 부품 등의 하드웨어 장비를 제어할 수 있다. 아두이노를 개발하기 위해선 아두이노 보드, 아두이노 개발 IDE(스케치), 브레드 보드, 점프선 및 기타 부품이 필요하다. ●아두이노 보드의 종류- 아두이노 우노->가장 많이 사용되는 기본적인 아두이노이다. atmega328p프록세스를 기본하고 보드의 핀 배열이 거의 표준과 같이 사용된다. - 아두이노 나노->아두이노 우노 보드와 거의 공일한 구성이지만 훨씬 작고 비싸다. 나노 보드는 USB-시리얼 어댑터가 장착되어 있지 않기 때문에 프로그.. 2015. 12. 21.
오라클 뷰(view) ●뷰(view)- 하나 또는 그 이상의 테이블이나 뷰를 이용하여 생성되는 논리적인 테이블로 실제 데이터는 저장하지 않는다.테이블의 전체 데이터중 일부칼럼, 일부 레코드만 보여주는 역할을 한다. 데이터의 보안과 사용편의성 때문에 사용한다. ex)create view test_viewas select empno, ename, sal from empwhere deptno=10; select * from test_view; ex)create view test_view2as select deptno, avg(sal) avg, sum(sal) sum from empgroup by deptno; select * from test_view2; 2015. 9. 2.
오라클 시퀀스(sequence) ●시퀀스(sequence)- 다중 사용자 환경에서 사용하는 숫자를 자동 생성한다. 테이블 또는 컬럼과는 독립적으로 생성,삭제된다. - ex)create sequence seq_test; --시퀀스 생성select seq_test.currval from dual; --시퀀스 현재 번호 조회select seq_test.nextval from dual; --시퀀스 다음 번호 조회 2015. 9. 2.
오라클 계층형 쿼리 ●계층형 쿼리 - 계층 관계가 있는 칼럼(외래키로 자기자신 테이블을 참조)이 있는 경우 계층 구조를 이용하여 데이터를 추출- 형식select 칼럼from 테이블start with 조건connect by [prior] [nocycle] ex)select empno, ename, mgr, connect_by_root ename, sys_connect_by_path(ename, '/')from empstart with mgr is nullconnect by prior empno = mgr; arex)select level,lpad(' ',(level-1)*2,' ')||ename, sal,deptnofrom empstart with ename = 'KING'connect by prior empno = mgr; 2015. 9. 2.
오라클 테이블 복사하기 ●테이블 복사하기 - create table 테이블명 as select 컬럼명 from 테이블명; ●데이터를 포함하지 않고 구조만 복사- create table 테이블명 as select 컬럼명 from 테이블명 where 1=0; 2015. 9. 2.
오라클 union, minus ●union- 연결된 select문의 결과 합을 보여준다. 중복된 것은 하나만 보유준다. ●union all- union과 같이만 중복된 것이 있어도 모두 보여준다. ●minus- 연결된 select문의 결과 차를 보여준다. ●ex-select * from test; -select * from test2; -select * from testunionselect * from test2; -select * from testunion allselect * from test2; -select * from testminusselect * from test2; 2015. 9. 2.
오라클 각종 함수들2 ●TO_CHAR- 숫자나 날짜형 자료를 문자로 변환한다.ex)select to_char(8000000,'999,999,999'), to_char(sysdate,'yyyy/mm/dd'),to_char(sysdate,'yyyymmdd') from dual; ●NVL(a,b)- a 데이터가 null일 경우 b로 변환해서 출력한다.ex)select comm, nvl(comm,'0') from emp; ●DECODE(a, b, c,d)- 조건함수이다. a데이터가 b와 같으면 c를 출력, 아니면 d를 출력한다.ex)select comm, decode(comm, 300, '300입니다', '300이 아닙니다') from emp; ●CASE~WHEN- decode함수와 비슷하지만 좀더 직관적인 함수이다.ex)selec.. 2015. 9. 2.
오라클 각종 함수들1 ●length- 인수의 길이를 반환한다.ex)select length('1234') from dual; ●lower- 인수를 소문자로 변환한다.ex)select lower('ABCD') from dual; ●upper- 인수를 대문자로 변환한다.ex)select upper('abcd') from dual; ●lpad - 인수의 왼쪽을 입력한 자리수가 되도록 입력한 문자로 채운다.ex)select lpad('111',5,0) from dual; ●trim- 인수의 좌우 공백을 제거한다.ex)select trim(' ABC ') from dual; ●substr- 인수의 문자열을 잘라낸다ex)select substr('ABC',0,2) from dual; ●avg- 칼럼의 평균을 구한다.ex)select a.. 2015. 8. 28.
오라클 칼럼 별명(alias), 합성연산자(||) ●컬럼별명(alias)- 컬럼 이름을 쓰고 공백 다음에 별명을 지어주거나 as를 사용하거나 큰따옴표를 사용하여 별명을 지어준다.ex)select job, job jj, job as jj2, job "jj3" from emp; ●합성연산자(||)- 하나의 칼럼과 문자열 또는 다른 칼럼을 연결시킨다.ex)select empno||'-'||ename||'-'||job from emp; 2015. 8. 28.
오라클 select, distinct, group by having, order by ●select 칼럼명 from 테이블명;- 칼럼명부문에 웬만하면 * 를 사용하지 말고 칼럼명을 적어주는게 좋다(서버 부하를 줄이기 위해)ex)select deptno from emp; ●distinct- 컬럼에서 중복을 제거하고 같은 값이면 하나만 출력한다.ex)select distinct(deptno) from emp; ●group by- 특정 칼럼을 기준으로 한 그룹으로 묶어서 합계, 평균, count 등에서 사용한다.ex)select deptno, avg(sal), sum(sal) from empgroup by deptno; ●having- group by 기준 칼럼,그룹핑 함수에 조건을 건다.ex)select deptno, avg(sal), sum(sal) from empgroup by deptn.. 2015. 8. 28.
오라클 현재 접속한 데이터베이스 이름, sid확인, 버전확인 ●select name from v$database- 데이터베이스명 확인 ●select instance from v$thread- sid 확인 ●select * from v$version- 현재 데이터베이스 버전 확인 2015. 8. 26.
오라클 sqlplus 기본 명령어(접속, 테이블리스트, 테이블정보,sql파일 실행) ●conn uid/pwd- 해당 uid의 데이터베이스에 접속한다. ●select * from tab- 현재 접속한 계정의 테이블 리스트를 출력한다. ●desc 테이블명- 해당 테이블의 칼럼리스트와 칼럼에 대한 구조를 나타낸다. ●start sql파일명 or @sql파일명- 파일명.sql 파일에 있는 sql문을 실행한다. cmd창에서 해당 파일이 있는 경로로 이동한 후 sqlplus실행한 다음 위 명령어를 실행하면 된다. 2015. 8. 26.
오라클 데이터베이스 시작, 종료 ●오라클 종료- shutdownn immediate - 가장 자주 사용되는 방법으로 실행중인 sql문장을 중지하고, 실행중인 트랜잭션이 있으면 rollback, 사용자의 새로운 로그인을 막고 db에 변경된 사항을 데이터파일에 기록한다. 사용자들이 로그아웃할때까지 기다리지 않고 db를 종료한다. ●오라클 시작- startup nomount -> startup mount -> startup open 2015. 8. 26.
오라클 sqlplus 접속, 계정생성, 계정삭제, 패스워드 수정 ●계정 생성 - cmd창에서 'sqlplus "/as sysdba"'를 입력해서 오라클에 접속한다 - 'create user 유저명 identified by 패스워드' 명령어로 계정을 생성한다. ●권한부여 - 'grant connect, dba, resource to 유저명' 명령어로 계정에 권한을 준다. ●계정 패스워드 변경 - 'alter user 유저명 identified by 패스워드' 명령어로 계정의 패스워드를 변경한다. ●계정 삭제 - 'drop user 유저명 cascade' 명령어로 계정을 삭제한다. 2015. 8. 25.
오라클 서버 설치 ●오라클 사이트(http://www.oracle.com/)에서 오라클 데이터베이스 설치파일을 다운받는다 ●파일 압축을 푼 뒤 두번째 파일의 database/stage/Components에 있는 파일들을 복사해서 첫번째 파일의 database/stage/Components경로에 복사한다. ●setup.exe로 설치한다. ●db를 설치할 경로를 선택하고 비밀번호를 입력한다. ●완료후 cmd에서 sqlplus를 실행했을때 실행되면 설치가 완료된것이다. ●sql developer 실행-sql developer를 실행하면 java설치경로를 지정하는 창이 뜬다. java설치경로에서 java.exe를 선택한다 ㅣ 2015. 8. 20.
웹 호스팅 장시간 접속 안할때 mysql 500에러 ●장시간 접속하지 않고 다시 접속하면 500에러가 나오고 새로고침 한번 하면 다시 제대로 나오는 오류->mysql서버에 일정시간 접속하지 않으면 mysql서버 연결이 끊긴다. 그래서 일정시간 마다 한번씩 mysql에 접속을 해주는 속성을 넣어줘야 한다. spring+ibatis의 경우 root-context.xml에 validationQuery를 넣는다. ex) 2015. 6. 17.
반응형