Welcome to My World (www.dgmayor.com)

전체 글 347

35. 인스톨 팩토리 소개

InstallFactory 인스톨 팩토리 프로그램 실행 파일 (exe 등)와 프로그램 보조 파일 (여러 음성, 사진, jre 등)이 같은 폴더에 있는 상태여야만 실행이 되고 그 상태로 배포해야만 하는 상황이 생길 때 유용하게 사용할 수 있는 프리웨어입니다. InstallFactory를 사용하면 자동으로 원하는 경로에 프로그램 파일을 설치하는 setup파일을 만들 수 있습니다. setup 파일을 한국어와 영어 중 선택해서 제작할 수 있습니다. 생성되는 설치파일도 같은 디자인 InstallFactory 사용법 일반탭 소스폴더 : 인스톨 파일로 묶을 폴더를 선택합니다. 설치 화일이 만들어질 폴더: 만들려는 설치 파일이 자신의 컴퓨터 어디에 선택할 지 선택합니다. 설치화일의 이름: (정한 이름).exe 으로 설..

47. 자바 직렬화 & 역 직렬화

자바 직렬화가 무엇(what)인가요?? 자바 직렬화란 자바 시스템 내부에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트(byte) 형태로 데이터 변환하는 기술과 바이트로 변환된 데이터를 다시 객체로 변환하는 기술(역직렬화)을 아울러서 이야기합니다. 시스템적으로 이야기하자면 JVM(Java Virtual Machine 이하 JVM)의 메모리에 상주(힙 또는 스택)되어 있는 객체 데이터를 바이트 형태로 변환하는 기술과 직렬화된 바이트 형태의 데이터를 객체로 변환해서 JVM으로 상주시키는 형태를 같이 이야기합니다. 자바 직렬화는 어떻게(how) 사용할 수 있나요? 자바 직렬화 조건 자바 기본(primitive) 타입과 java.io.Serializable 인터페이스를 상속받은..

7. 아두이노 센서 정리

아두이노 부품들을 좀 많이 샀다(사실 내가 원해서 산 것은 아니다) 부품 37개가 들어있는 키트를 샀다. 아래는 각 부품들에 대해 내 생각들을 적어놨다. 각 부품들의 이름은 순서대로 맨 아래에 적어놨다. 37의 부품이 들어있는 통이다.(중간에 잘못 온 게 있긴 하다) 부품 통에 들어있는 부품 목록들이다. 아는 것들도 많았지만 모르는 센서도 많았다. 일단 첫 번째 센서는 조이스틱이다. 다들 알 것이라 믿고 설명은 생략하겠다. 위의 센서는 사진만 봐서 알 수 있는 사람도 있지만 모르는 사람을 위해 알려주겠다. 위의 센서는 Flame라는 센서다(부품 명에 그렇게 되어있다.) 한국말로는 불꽃 감지센서 정도가 되겠다. 사실 위의 센서는 불꽃에서 나오는 적외선을 감지하는 센서이므로 큰 의미에서는 적외선 센서라고도 ..

14. 시리얼 포트 큰 에러해결

여태까지 문자열이 apple이라면 a, p, p, l, e 식으로 떨어져 들어오는 경향이 있었다. 이를 해결하기 위해서 커버를 씌우거나, 버퍼를 두거나, 원천적인 디바이스 드라이버를 개발하거나... 하려 하였으나.... 결국은 len의 길이를 임의로 조정함으로서 2 글자 이상은 저장이 되게끔 하였다. -----> 그런데, 뭐 이렇게 하면 백단에서 받는 값을 조정하면 에러를 해결 할 수는 있으나.... 그래도 뭔가 찜찜하여 더 파보았다. 스캐너 회사에서 제공하는 드라이버부터 설치 하든가, c언어로 드라이버를 만들던가 하여야 하였으나, 겨우 겨우 간신히 스캐너 회사의 드라이버를 다운로드에 성공..... 용량도 많고.... 회선이 안 좋은지 유틸 다운 받는데 3일 걸렸다. 스캐너 회사 드라이버로 비프음과, \..

46. 자바 웹 크롤링

1. 개요 크롤링(Crawling) 이란? 정식명칭은 Scraping 또는 Web Scraping 으로 웹 사이트에서 원하는 정보를 추출하는 것을 의미합니다. 보통 웹 사이트는 기본적으로 Html 기반입니다. 크롬에서 Ctrl + U 또는 우클릭 - 페이지 소스보기를 클릭하시면 다음과 같은 화면을 볼 수 있습니다. 네이버 금융 웹 사이트 소스코드 위 사진은 네이버 금융 https://finance.naver.com/ 홈페이지의 소소를 확인한 것입니다. 2. 활용 그렇다면 이 소스들을 가지고 우리는 무엇을 할 수 있을까요? Html 소스들을 자세히 들여다 보시면 우리가 웹 사이트에서 보는 모든 정보들이 담겨있습니다. 이 정보들 중 원하는 정보만 가져와서 자신만의 프로그램에 사용하는 것 입니다. 불법아닙니까..

6. pcb 정리 - 2

안녕하세요, 메카솔루션입니다. 아두이노를 활용해 프로젝트를 진행하다 보면 복잡해지는 회로로 답답할 때가 있습니다. 그럴 때마다 이걸 압축해 버릴 수는 없을까? 고민을 하게 되는데요, 이럴 때 PCB를 사용하면 프로젝트의 퀄리티를 끌어올릴 수 있습니다. ​ 이번 포스팅에서는 우선 PCB에 대한 구조와 용어를 알아보고, 이어지는 포스팅을 통해 PCB 회로를 직접 설계해 보도록 하겠습니다. PCB를 설계할 때 자주 언급되는 용어이니 한 번쯤은 읽어보세요! ​ PCB란? 좌: 아두이노 우노 PCB(오픈소스), 우: https://www.gadgetronicx.com/multilayer-pcb-explained/ PCB는 Printed Circuit Board의 약자로, 단순히 번역하자면 "인쇄 회로 기판"을 의..

13. 건전지 정리

지금으로부터 50여년 전인 1970년대 미국의 스탠리 휘팅엄 교수와 엑슨에 의해 리튬이온전지가 제안되었고, 이후 일본의 소니에 의해 리튬이온전지가 대량생산되었습니다. [출처] 위키백과 Chapter. 1 리튬이온배터리의 원리 ​ 배터리는 "양극(+)과 음극(-)간의 산화와 환원 반응으로 화학에너지를 전기에너지로 변환시키는 장치"입니다. 여기서 산화와 환원은 아주 작은 전자의 이동이며, 전자를 잃은 쪽을 산화 그리고 전자를 얻은 쪽을 환원이라고 하죠. ​ 산화: 전자를 잃음 환원: 전자를 얻음 ​ 화학전지 원리 [출처]전북사대부고 위의 그림에서 음극(-)에서 산화되면서 전자가 전선을 타고 이동하고 양극에서 음극으로 전류가 흐르게 됩니다. ​ 방전과 충전시의 전자의 이동 [출처: blog.naver.com/..

커넥션 풀... (원래 추가할 예정에 없었던 파트)

c, 자료구조, os랑 묶어서 파트를 두려고 하다가..... 데이터 베이스 대신 csv만 쓰려고 하였으나.... 하다 보니 결국 데이터 베이스를 쓰게 되었고, 그러다 보니 중복된 커넥션을 지울 필요가 있었다. 그래서 뒤 늦게 파트를 추가 하였는데.... 전에 글은 그냥 그대로 두기로 한다. 그리고 번호도 이제 왠만 하면 안 달려고 한다. DB Connection DB를 사용하기 위해 DB와 애플리케이션 간 통신을 할 수 있는 수단 DB Connection은 Database Driver와 Database 연결 정보를 담은 URL이 필요함 Java의 DB Connection은 JDBC를 주로 이용하는데, URL 타입을 사용함 DB Connection 구조 2Tier - 클라이언트로서의 자바 프로그램(JSP)..

5. PCB (Printed Circuit Board)란???

인쇄 회로 기판 위키백과, 우리 모두의 백과사전. 1983년 싱클레어 ZX 스펙트럼 컴퓨터 기판의 한 부분. 장착된 인쇄회로기판은, 어떤 실장된 전기부품과 전도 전선, 다른 면으로 통하는 홀을 보여주고 있다 전자공학에서 인쇄 회로 기판(印刷回路基板) 혹은 Printed Circuit Board(PCB, 피시비)는 저항기, 콘덴서, 집적 회로 등 전자 부품을 인쇄 배선판의 표면에 고정하고 부품 사이 구리 배선으로 연결해 전자 회로를 구성한 판이다. 기계적 지원에 사용되고 동 기판에서 비전도 "기판"으로 습식 식각한 전도선이나 신호 선을 사용하여 전기적으로 전자 부품을 연결한다. 대체 명칭으로 인쇄 와이어 본딩(PWB)과 식각 와이어 본딩으로도 불린다. 전자 부품이 "부착된" 보드는 인쇄 회로 조립(PCA)..

4. 아두이노 서보모터 제어하기

서보모터는 별도의 드라이버없이 아두이노의 라이브러리만 이용하여 동작시킬 수 있습니다. (엄밀히 말해서 서보모터 안에 컨트롤러가 들어있습니다.) 테스트에 사용한 서보모터는 'DGS-288'입니다. (참고 : 스카이홀릭 - DGS-288 - Digital Servo) 1. 서보 모터 동작 시키기 일단 서보모터를 연결해 봅시다. 1-1. 보드 구성 그냥 아두이노에 연결해도 됩니다. 전 포스팅을 하는 입장이라 다른 글과 비슷한 화면을 보여주기 위해 브레드보드를 사용한 것입니다. ServoMotor_001_001.fzz 1-2. 펌웨어 작성 서보모터는 라이브러리를 이용하면 간단하게 제어할 수 있습니다. #include int potPin = 0; int servoPin = 9; Servo servo; int nS..

3. 아두이노 포트 찾기

아두이노 보드를 우분투에 연결했는데......이놈 포트 이름이 뭐로 잡힌 거지 ㅡ,.ㅡ;;; 윈도우에서야 장치관리자를 통해서 보면 되는데 우분투에서 장치관리자 대용으로 내가 쓰는 프로그램에는 그런 정보가 전혀 나오질 않습니다;;; (참고 : [Ubuntu 12.xx] 장치관리는 어떻게 하지?) 결국 그냥 우분투에 아두이노를 연결하고 아두이노 프로그램을 설치해서 확인했습니다. ㅜㅜ 이게 뭥미;;; 여튼 구글링을 해보니 시리얼 포트정보는 'dmesg'를 해보면 안다고.... 그래서 해보니 리스트가 눈 돌아가게 나오내요 ㅎㅎㅎㅎ 스압 ㅡ.-;; 결국은 시리얼 포트가 잡히면 tty라는 이름이 붙어서 동작하게 되므로 'tty'가 포함된 포트를 검색하기위해 아래와 같이 명령어를 입력해 줍니다. 1 dmesg | g..

2. 아두이노와 라즈베리 파이의 차이점

[강좌 글. 라즈베리파이와 아두이노의 차이점] 많은분들이 아두이노와 라즈베리파이를 두고 어느 것을 선택해야할지 고민합니다. 이 글에서는 이런 고민을 해결하기위해 아두이노(Arduino)와 라즈베리파이(Raspberrypi)의 차이점에 대해 구체적으로 알아보도록 하겠습니다. 출처 [메카솔루션] http://Mechasolution.com [라즈베리파이와 아두이노 비교하기] 여러분들은 프로젝트의 진행을 위해 보드를 필요로합니다. 그 중 가장 유명한것이 바로 아두이노와 라즈베리파이입니다. [아두이노 우노 R3 정품] [라즈베리파이2 B Model] 크기로 보나 구성(회로기판, 칩, 입출력 단자)으로 보나 언뜻 보기에 둘은 아주 비슷해보입니다. 하지만 둘은 명확한 차이점을 가지고 있습니다. 과연 어떤것들일까요?..

4. html 색상 표

홈페이지 제작에 필수인 색상코드입니다. 2가지가 준비 되었으니 간편하게, 또는 정밀한 색상을 찾아 보세요. 직접 색상을 찾을려면 네이버 색상 팔레트를 클릭해 주세요. 순서 : 검정 - 회색 - 파랑 - 녹색 - 노랑 - 브라운 - 오렌지 - 레즈 - 분홍색 - 자색 코드색상 # 000000 검은 # 0C090A 밤 # 2C3539 건메탈 # 2B1B17 한밤중 # 34282C 숯 # 25383C 다크 슬레이트 그레이 # 3B3131 기름 # 413839 검은 고양이 # 3D3C3A 이리듐 # 463E3F 블랙 뱀장어 # 4C4646 블랙 암소 # 504A4B 회색 늑대 # 565051 뱀파이어 회색 # 5C5858 회색 돌고래 # 625D5D 탄소 회색 # 666362 애쉬 그레이 # 6D6968 흐린 ..

34. 이클립스에서 실수로 지운 파일 복구

이클립스에서 프로젝트 진행시 파일을 실수로 삭제하거나 이건에 작성한 파일로 복원이 필요한 경우가 생긴다. 이럴경우는 해당 파일의 상위 폴더에 오른쪽 버튼을 누르고 Restore from Local History...를 누른다 원하는 파일 클릭 후 원하는 복구 날짜를 선택해 복구하면 된다. 다 배운줄 알았는데, 가면 갈 수록 새로운 기능이 나오는 것인지;; 내가 몰랐던 것인지;; 어쨌든 덕분에 살았다.

3. html 폰트 크기 조정

지난 시간에는 인라인 방식으로 글자 크기(font size)를 정해 보았습니다. 인라인 방식은 각 HTML 태그에 style 속성을 입력하는 방식입니다. 예를 들어 어떤 단락의 글자 크기를 20px로 바꾸고 싶다면, 을 쓰면 됩니다. 같은 방식으로 오늘은 글자색(color)을 지정해 보도록 하겠습니다. 색 표현 방식 컴퓨터는 어떻게 색을 표현할까요? 컴퓨터에서 여러 가지 색깔은 빛의 삼원색인 빨강(red), 초록(green), 파랑(blue) 3가지 색의 조합으로 표현됩니다. 3가지 색 이름의 앞 글자를 따 RGB라고도 하지요. 각 색을 얼마만큼씩 섞었는지에 따라 화면 상에 보이는 색이 결정되는 것입니다. 하나의 색은 0~255까지 섞을 수 있습니다. ​ rgb(255, 0, 0)이라고 하면 빨강만 최대..

45. 자바 스프링버퍼 및 초기화 방식

처음 대학에 들어가 c언어를 배우면서 일상에서 쉽게 사용하던 문자열들이 굉장히 어렵게 처리했던것들이 기억난다. char형의 배열로 문자열형태를 만들고 제어했는데, 자바는 String 클래스 하나면 문자열을 저장하고 합치고 필요한 메소드를 사용해 제어가 가능하다. 불과 작년까지 String을 자바의 기본 자료형(primitive type)으로 착각하고 문자열처리는 String 클래스로만 가능할 것이라고 생각했던 것에 반성하며 String, StringBuffer, StringBuilder클래스에 대해 정리해본다. String String 클래스는 일단 변경 불가능한 클래스(immutable)이다. 쉽게 String클래스에 문자열을 넣어 사용하지만 실제로는 다른 언어처럼 char[] 배열 변수를 인스턴스 변..