본문 바로가기

이것저것 배운것

시작에 앞서... C언어를 하려니 설치해야 될게 있습니다. 바로 컴파일러랑 에디터죠. 물론 윈도에서는 Visual Studio나 DevC++, Turbo같은게 있죠.(리눅스는 기본적으로 GCC가 있으니..) 근데 설치가 귀찮아요. 사실 저도 귀찮아서 VS라던가 안깔아요.(저는 우분투 있어서 거기서 작업 합니다만;) 그래서. 좋은 사이트 하나를 알려드립니다. 웹 IDE 사이트인데요.그냥 들어가시면 컴파일환경이 완성되어 있습니다. 이렇게 말이죠. GCC환경입니다만 위에 메뉴랑 다 있으니까요 어려울게 없습니다. 세-상에- 그럼 우리는 앞으로 이걸로 실험을 하도록 하죠. 네. 사이트는 http://www.tutorialspoint.com/compile_c_online.php 더보기
로그인 폼 만들때 비밀번호 부분 비밀번호 입력을 받아야 하는 부분은 JPasswordField()를 쓰면 된다. 더보기
부팅할때 메세지 안보이게 하기 HDMI든 TFT-LCD든 연결해서 라즈베리를 부팅하면 반드시 올라오는 메세지들! 검은화면에 라즈베리로고와 함께 주르르륵 가끔 이것들이 보기 싫을때가 있는데... 이걸 안보이게 해고 싶을때 사용하는 방법이다. 먼저 텍스트 에디터로 /boot하위의 cmdline.txt를 열어준다. 그 후에 console=tty1을 찾는다.그 후 tty1을 tty3으로 수정한다. 마지막으로 맨 뒤에 logo.nologo loglevel=3 을 추가해준다. 끗. 이제 저장하고 재부팅해보면 메세지는 안보이고 그냥 검은화면만....... 뜨다가 갑자기 x-window로 진입한다! 더보기
Matchbox-keyboard 문제 1. 문제 제기 http://ozzmaker.com/2014/06/30/virtual-keyboard-for-the-raspberry-pi/ 위 사이트로 진입하면 matchbox-keyboard를 설치하는 방법이 소개되어있다. 이를 이용하여 설치를 하면 메뉴의 엑세서리 탭에 있는 키보드 메뉴를 이용할 수 있는데 문제는 이렇게 나온다는것. 난 숫자가 필요한데? 넘패드가 아니더라도 위쪽에 0~9까지 왜 안나옴? 그래서 이 문제를 해결하기 위해 글을 작성한다. 2. 문제 해결 처음에는 무작정 matchbox-keyboard 라는 검색어만으로 구글링을 했다. 그러다가 layout이라는 검색어가 더 붙었고 http://git.yoctoproject.org/cgit.cgi/matchbox-history/plain/.. 더보기
Wiringpi 이용시 최소 세팅 /boot/cmdline.txt 에서 ttyAMA0가 있는 부분을 모두 제거한다. /etc/inittab 에서 맨 아랫줄인T0:23raspawn:/sbin/getty -L ttyAMA0 115200 vt100 을 주석처리 reboot 이제 9600이던 115200이던 4800이던 Baud Rate를 마음대로 조정해서 쓸 수 있다. 더보기
GUI 시작하는글 순서가 뒤죽박죽이지만, 기억해두기 위해서 끄적이는 글. import javax.swing.*; public class GUI_test extends JFrame { public GUI_test() { setTitle("GUi 테스트"); setSize(600, 400); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setResizable(false); setLocationRelativeTo(null); } public static void main(String[] args) { new GUI_test(); } } setTitle은 말 그대로 GUI 프레임의 타이틀을 쓰는것. setSize는 GUI프레임의 크기.이게 단위는 모르겠.... 더보기
JFrame에서 GUI 레이아웃 위치 조절시 btn.setSize(int x, int y);btn.setLocation(int x, int y); 이렇게 할수도 있다. setSize에서는 크기를, setLocation에서는 위치를 써 넣으면 되는것인데... setBounds를 쓰면 저 두줄을 한줄로 줄일수 있다. setBounds(int x, int y, int width, int height) 인데 앞에는 Location의 값을 뒤에는 Size의 값을 써 넣으면 된다. 더보기
JButton으로 종료시키기 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; public class BtnExitEx extends JFrame { private JButton btnExit; BtnExitEx() { setTitle("Button Exit Example"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 타이틀바에 X버튼 누르면 프로그램을 종료 btnExit = new JButton("EXIT"); btnExit.addActionListener(new ActionListener() { // 버.. 더보기
6. 라즈비안에서 이클립스 설치 install eclipse eclipse-jdt -y 더보기
이클립스 ini 옵션들... -Xverify:none-Server-Xms512M-Xmx1024M-Xmn256M-Xincgc-XX:NewRation=8-XX:+AggressiveOpts-Xss512K-XX:PermSize=169M-XX:MaxPermSize=169M-XX:NewSize=169M-XX:MaxNewSize=169M-XX:+UseParallerGC-XX:+UseConcMarkSweepGC-XX:ParallerGCThreads=4-XX:+UseAdaptiveSizePolicy-XX:SurvivorRatio=8 더보기
5. install/update가 안될때 이전 4번글에서 업데이트가 안될경우 해결방안을 써 둔 적이 있다. 그런데 문제가 있다. 재부팅을 하거나 networking을 재시작 하게 되면 resolv.conf가 초기화되어버린다! 그래서 매번 재부팅 혹은 재시작 후 resolv.conf 파일을 다시 써 주어야 했다. 따라서, 이번글은 그 해결방안을 모색하는 방안을 쓰도록 하겠다. 1. resolvconf.conf 파일을 수정한다.왜 위 파일을 수정하느냐 하면.resolv.conf 파일을 열어 첫 주석을 보면 resolvconf에서 생성한다고 되어있다.그러니까 위 파일을 수정하면 되지 않을까 하는 생각에 수정을 해 본것이었다. 들어가면 #name-server=127.0.0.1 부분이 있다.이 부분의 주석을 풀고, 127.0.0.1을 다른것으로 쓴다. .. 더보기
난수를 발생시키는 2가지 방법. 자바에서 난수를 발생시키는 방법으로는 2가지 방법이 있다. 첫번째는 Math클래스의 random메서드를 이용하여 난수를 발생시키는 방법이다. 아래의 예제로 설명하자면, 0~1 사이의 double형 난수를 리턴한 후 * 10을 하고, 그 값을 int형으로 a,b,c,d,e에 반환하여 출력하는 것이다. public class HelloWorld{ public static void main(String []args){ int a = (int) (Math.random()*10); int b = (int) (Math.random()*10); int c = (int) (Math.random()*10); int d = (int) (Math.random()*10); int e = (int) (Math.random()*.. 더보기
광고를 좌우로 2개 넣는방법 애드센스 코드 삽입 애드센스 코드 삽입 초 직관적 돋네. 설마 모를리가 없겠지... 더보기
티스토리 광고 삽입하는 방법! 코드 써 넣는 부분 코드 써 넣는 부분 이게 중심. html에서 ##_article_rep_desc_## 부분을 검색해서 찾는다. 그리고 주석부분에 잘 맞춰서 써 넣고 저장하면 된다. 더보기
본문에 소스코드 복사할때... 1. 스크립트/스타일 다운로드 받기=> http://alexgorbatchev.com/SyntaxHighlighter/download/ 2. 다운로드 받은걸 푼다. 3. 풀어놓은 폴더 안에서 Scripts, Styles의 내용물을 몽땅 업로드 한다.(티스토리 관리영역중 "꾸미기 - HTML/CSS - 파일업로드" 에서 추가하면 된다.) 4. Skin 소스코드에 스크립트를 추가해야한다. ("꾸미기 - HTML/CSS")skin.html에서 /body라는 키워드를 검색한다. 그 후에 의 내용물을 복사하여 태그 바로 위에 추가해준다. 5. 가장아랫줄에이부분에서 shCoreMidnightshThemeMidnight 만 수정하면 원하는 테마로 사용가능.미리보기는 http://alexgorbatchev.com/Sy.. 더보기
Static URL Path Download Development Environment JDK 1.8.0_45 Elipse - Mars import java.net.*; import java.io.*; public class downloader { public static void main(String args[]) { try { URL u = new URL("Download File URL"); File filePath = new File("C:\\Download\\"); filePath.mkdirs(); FileOutputStream fos = new FileOutputStream("C:\\Download\\FileName.extension"); InputStream is = u.openStream(); byte[] buf = new byte[.. 더보기
22. NSIS내에서 32Bit / 64Bit 구분하기 System::Call "kernel32::GetCurrentProcess() i .s"System::Call "kernel32::IsWow64Process(i s, *i .r0)" 둘 다 써넣는다. 리턴값은0일때 32비트1일때 64비트를 '$0' 에 써준다. Ex) System::Call "kernel32::GetCurrentProcess() i .s"System::Call "kernel32::IsWow64Process(i s, *i .r0)" StrCmp $0 '0' 32Bit 64Bit 32Bit:Messagebox MB_OK 'Windows 32Bit'goto End 64Bit:Messagebox MB_OK 'Windows 64Bit'goto End End:Function End 더보기
Java GUI. 프레임을 화면 중앙에 출력하기 setLocationRelativeTo(null); java.awx 를 import할것 더보기
배치파일로 Windows 32비트/64비트 확인하는 방법. 배치파일로 Windows 32비트/64비트 확인하는 방법.Windows 폴더 하위에 SysWOW64폴더가 존재하는지 안하는지를 확인하면 된다. @echo off if exist %windir%\SysWOW64 ( set WinBit=64) else ( set WinBit=32) echo. Windows %WinBit%Bit Used.pause>nul 더보기
waveshare 3.2inch tft-lcd setup - TFT-LCD 사용하기 waveshare 3.2inch tft-lcd setup - LCD에 Xwindow 띄우기 위 글을 통해 TFT-LCD를 이용 할 수 있었다. 허나, 터치가 빠졌다! 고로 이번글은 터치를 살리는(?)법을 씀. 터치스크린 입력이 LCD화면과 일치하도록 하려면 캘리브레이션 과정을 수행해야 함. X-Windows 터치 캘리브레이션 과정 1. Install cd /tmp wget http://tronnes.org/downloads/xinput-calibrator_0.7.5-1_armhf.deb sudo dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb rm xinput-calibrator_0.7.5-1_armhf.deb 2. Configure xinput-calibrator t.. 더보기
waveshare 3.2inch tft-lcd setup - LCD에 Xwindow 띄우기 waveshare 3.2inch tft-lcd setup 커널 초기화 시 드라이버 모듈을 적재할 수 있는Device Tree 기능이 추가 됨.더구나 TFT-LCD를 구동시키는 FBTFT 모듈이 정식으로 커널 소스코드에 포함되면서 앞으로 TFT-LCD 드라이버 모듈도 Device Tree를 사용하는것이 편리하게 됨. 서론은 여기서 끝. 일단 펌웨어 업데이트 할것. SPI 모듈도 확장할것.파일시스템 확장은 기본($ sudo raspi-config) FBTFT 드라이버들을 파일 시스템의 모듈 설치 디렉토리에 설치하고 재부팅. $ sudo REPO_URI=https://github.com/notro/rpi-firmware rpi-update 이미 WaveShare TFT-LCD용으로 만들어진 dtb(Device.. 더보기
JXXX-128-1을 이클립스를 이용해 다룰때... 위 글은 JKIT-128-1 / JMOD-128-1이 두개의 AVR 장비를 이클립스를 이용해서 사용할때에러나는것을 해결하기 위해 쓰는 글입니다. 1. 문제 제시. 이클립스에서 JKIT-128-1을 이용하기 위해 AVR - AVRDude에서 Programmer configuration을 세팅하려 했다. JKIT-128-1은 Atmel STK500 Version 2.X firmware를 이용하면 된다라고 들었기에 이걸 선택하고.Override default port와 Baudrate도 설정하여 적용시켰다. 그 후 테스트를 위하여 AVR - Target Hardware탭으로 들어가 MCU Type을 ATmega128로 하고MCU Clock Frequency를 16000000(16MHz)를 쓴 뒤에Load fr.. 더보기
Eclipse For JFrame(Swing) WindowBuilder WindowBuilder를 이용하면손쉽게 Java UI Programming을 할 수 있다. Help - Install New Software에서Work with란에http://dl.google.com/eclipse/inst/d2wbpro/latest/4.3이라고 쓰고 추가한다. (4.3은 케플러부터 지원) 설치가 끝났으면 다음은 사용방법.새 클래스 만들기를 누르고.Superclass탭(?)옆에 Browse를 눌러준다.JFrame이라고 검색하면 저거 하나 뜬다.클릭하고 OK완성되면 클래스파일을 오른클릭.Open With >> WindowsBuilder Editor을 누른다.소스탭 옆에 Design탭이 생긴것이 보인다.(아래쪽이다. Problems탭 위에) 클릭 한다. 실습삼아 창의 아래쪽에 버튼을 달아보.. 더보기
[1.7.10]Modding Tutorial - 3. Proxy작업. 1.2.3 작업을 모두 끝내면.정말로 기초작업이 끝난 것이다. 클래스파일을 2개 만들어준다.ClientProxyCommonProxyClientProxy클래스로 들어간다.extends CommonProxy를 ClientProxy 뒤에 선언해준다.다시 메인클래스로 진입해서. @Mod란에 name=""을 추가해준다.(이건 없어도 작동은 되더라)"" 내용물은 아무래도 좋다. 그 후에public static final 밑에@SidedProxy(clientSide="", serverSide="")를 작성해준다.여기서 "" 안에는패키지명.ClientProxy 와 CommonProxy를 기입한다.물론 SidedProxy를 하면 빨간줄이 그이는데이는 자동 Import 작업을 통해서 해결하면 된다. 이걸로 진짜. 정말로기.. 더보기
[1.7.10]Modding Tutorial - 2. Main Class 기본작업 기존에 있던 예제 모드는 딜리트하고. 새로 작업 패키지에 오른클릭 -> New -> Pakage패키지 이름을 쓰는데 기본적인 규칙이 있다.첫번째는 모두 다 소문자.그리고 도메인 혹은 국가코드를 쓴다. 그 이후에는 내부규칙에 따르는데...회사가 아니니까 그냥 편하게 닉네임.모드명으로 했다. 구분은 ".(dot)"로 한다. ex) 도메인or국가코드.닉네임.모드명패키지 완성!이제 메인클래스를 만들 차례.방금 만들어 따끈따끈한 패키지에 오른클릭-> New -> Class를 클릭여기의 이름은 딱히 규칙은 없다.그냥 알아보기 쉬운걸로. 그리고 왠만하면 첫문자는 대문자로 ㅇㅇ난 편하게 Main이라고 썻다.나머지는 손대지말고 FinishHA-YO!public class Main위쪽에 @Mod(modid=Main.MOD.. 더보기
[1.7.10]Modding Tutorial - 1. Install ~ Basic Setup 주의. 위 글은 강좌가 아닙니다.내가 배우던걸 기억하기 위해서 쓴글입니다. 1. Install JDK, EclipseRecommanded Forge- JDK의 경우 환경변수를 등록해둘것.JAVA_HOME = %Program Files%\Java\jdkXXPath = ~~;%JAVA_HOME%\bin; 2. 이클립스와 Src내용물을 적당한 곳에 푼다.나는 ForgeModWorkspace 라는곳에 Src내용물을 풀었다.이클립스는.. 알아서. 3. ForgeModWorkspace(이하 FMW라 칭함)에서 빈 공간에서 Shift키를 누른채 오른클릭 여기서 명령 창 열기 를 누르면자동으로 경로가 입력되서 작업하기 편하다뭣하면 그냥 cmd에서 위 경로까지 찾아가도 됨.gradlew setupDecompWorkspa.. 더보기
Code Templates 이 작업은 템플릿 작업할때 쓰인다. 자주쓰는 include들이나 define등을 미리 서식화 해 두고 불러들일때 쓰는 것이다. 원래 저기 AVR-jkit-128-1이란 것은 없다.새로 만든것이다.New 버튼을 통해 만들수 있다.이름과 필요한 작업들을 모두 쓰고 OK를 누른다. 실행예제. Template탭에 내가 만든 것이 보인다.선택 후 파일이름을 쓰고 Finish를 누르면... HA-YO! 더보기
Eclipse For AVR - 3. Code ~ Build & Upload 신형에는 라이브러리가 기본적으로 프로젝트에 포함되어있다. 따라서, 따로 라이브러리를 포함해야 한다거나 하는 작업은 안해도 된다. 하지만, 만약 안될경우 라이브러리 경로를 잡아줘야 하는데(또는 나만의 라이브러리를 프로젝트에 포함할때.) 프로젝트 우클릭으로 Properties를 선택=> C/C++ Build > Setting > Tool Settings 탭 AVR Compiler에 Directories에서 Add하여, 라이브러리가 있는 include폴더를 선택해 준다. 는 몰라도 됨. ㅋ 1. 코드 작성 프로젝트 우클릭 -> New -> Source Filesource file에 이름을 쓰고 확장자명까지 써 줄것.안그럼 경고 뜨더라... 저장하고 빌드하고 나서Upload Project to Target De.. 더보기
Eclipse For AVR - 2.Default Setup ~ ISP Setup [New] - C Project ISP로 다운로드 or 업로드를 할 경우 필요한 hex파일은 Release모드에서 생성된다.고로 Release는 필수. Debug는 선택 위 과정을 거치면 .hex파일을 생성할 수 있다.짤려서 안보이지만 Properties로 들어온거다.AVR 탭의 AVRDude로 들어온것.기본적으로 아무것도 없다.[New] 버튼을 누른다.configuration name은 알아보기 쉬운 이름으로.세팅은 STK500 Version 2.x firmwarePort랑 BaudRate 모르면 AVR 접어야겠지;;;나만의 세팅이 완료 되었다. 더보기
Eclipse For AVR - 1.Install 선행작업 WinAVR 설치해둘것.JDK 환경변수 등록해둘것. 1. [Help] - Install New Software Work with : http://avr-eclipse.sourceforge.net/updatesite Install Done. 더보기