Programing
-
Ubuntu 정규버전 vs LTS버전Programing/Ent.. 2022. 9. 1. 16:49
우분투 홈페이지 다운로드페이지에는 여러가지 버전이 있어 무엇을 받아야하는지 난감한 경우가 있다. LTS버전은 Long Term Support의 약자로 장기지원 버전을 뜻한다. 2년마다 새로운 버전을 배포하고, 업데이트는 배포일로부터 5년까지 지원한다. 반면 정규버젼은 6개월주기배포, 배포일로부터 9개월간 업데이트를 지원한다. 서버로 사용할 경우 LTS 버젼으로 안정성 확보하는것이 좋고, 일반PC 에서는 신규기능 및 테스트용으로는 정규버전을 사용해보는것이 좋겠다. 서버용 테스트를 하기 위하여 현재 Ubuntu 18.04 LTS (Bionic Beaver) Ubuntu 20.04 LTS (Focal Fossa) 버전중에서 무엇을 사용할지 고민중!!!
-
Ubuntu에서 Python 버전을 변경Programing/Ent.. 2022. 7. 25. 16:08
OPCUA 튜토리얼을 따라하던 도중 python Error를 만나게 되었다. 'fullmatch' 관련 Error 였는데...구글링 결과 python 3.2 이상 버젼에서만 지원하는 함수..!! Ubuntu 기본 설치시 python 2.7이 설치되어 있었다. usr/bin 폴더를 확인해보니 3.6 버젼도 install 되어있었다. 기본 python이 2.7이 아니라 3.6 버젼을 바라보도록 symbolic link 를 수정하여야 했다. $ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 1 $ sudo update-alternatives --install /usr/bin/python python /usr/bin/py..
-
open62541 TEST SERVER INSTALLPrograming/Ent.. 2022. 7. 18. 10:28
OPC-UA 통신 테스트를 진행해보려 한다. 리눅스 환경에 C 프로그래밍을 해야하는 상황이기 때문에 오픈소스중 open62541 을 사용해보려 한다. 리눅스는 Ubuntu 18.04.6 LTS를 설치하였고, 설치이후 ssh, ftp 설정을 하였다. sudo apt-get update sudo apt-get install ssh sudo apt-get install openssh-server sudo /etc/init.d/ssh restart sudo apt-get install vsftpd (FTP설치) sudo vim /etc/ftpusers (#root로 주석 처리) sudo vi /etc/vsftpd.conf -write_enable=YES -anon_upload_enable=YES -anon_mk..
-
인공지능, 머신러닝, 딥러닝 개념정리Programing/Machine Learning 2019. 11. 7. 00:17
1. 인공지능 - 인간의 학습능력, 추론능력, 지각능력, 자연언어의 이해능력등을 컴퓨터 프로그램으로 실현한 기술로 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 것 2. 머신러닝 - 인간의 학습능력과 같은 기능을 컴퓨터에서 실현하고자 하는 기술 - 컴퓨터에게 데이터들을 줘서 학습하게 함으로써 새로운 지식을 얻게하는 것 - 컴퓨터에게 다양한 정보를 가르치고 그 학습한 결과에 따라 컴퓨터가 예측 3. 딥러닝 - 컴퓨터가 사람처럼 생각하고 배울 수 있도록 하는 기술 - 수많은 데이터 속에서 패턴을 발견해 인간이 사물을 구분하듯 컴퓨터가 데이터를 분류함 - 머신러닝과 달리 인간의 '가르침'이라는 과정을 거치지 않고, 스스로 학습하고 미래의 상황을 예측
-
c# 마샬링Programing/C# 2011. 7. 1. 15:05
[Serializable] [StructLayout(LayoutKind.Sequential, Pack = 1)] public struct PLCPS01{ public short SubHeader; public short DataLength; [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)] public char[] TransactionCode; public double EE020_WH; } public byte[] RawSerialize(Type dataType) // 구조체를 바이트배열로 { int RawSize = Marshal.SizeOf(dataType); IntPtr buffer = Marshal.AllocHGlobal(RawSize); Marshal..
-
DispatcherTimer 현재 시간 갱신Programing/C# 2010. 11. 5. 12:12
DispatcherTimer는 일종의 스레드객체이다. 아래는 현재 시간을 1초 단위로 갱신 해 주는 예이다.(라벨에 표시해주고 있다.) DispatcherTimer timer = new DispatcherTimer(); // 객체 생성 timer.Interval = new TimeSpan(1); // 인터발발생(1)초 단위로.. timer.Tick += new EventHandler(timerTick); // 호출 함수 timer.Start(); // 호출된 함수 void timerTick(object sender, EventArgs e) { this.NowTime.Content = System.DateTime.Now.ToLongTimeString(); }
-
Hello World 가 Goodbye로Programing/Android 2010. 10. 5. 09:11
터치 이벤트를 공부 했으므로 화면을 터치하면 문자를 변경시키는 이벤트를 발생 시켜 볼 수 있다. 외부 변수(XML)의 문자열을 바꾸는 방법이다. 안드로이드 프로젝트로 마법사로 만들면 아래와 같은 결과가 나오는 할 수 있다. Goodbye는 프로젝트를 만들때 프로젝트 명이며 마법사를 이용하면 자동적으로 위와 같이 만들어준다. main.xml에서 단지 몇가지만 고쳐주면 된다. 마법사가 만들어 준것에서 리니어와 텍스트에 각각의 id만들 부여했고, 색상을 바꾼것이 전부이다. 이제 화면을 터치화면 전체 색상과 문자가 바뀌는 이벤트를 만들어 보자. 화면을 터치하면 아래와 같이 배경색과 문자가 바뀌는 것이 목표이다. 소스를 보자. 익명 이너 클래스를 사용해서 setOnTouchListener에 바로 이벤트를 구현하는..
-
이벤트 처리 4 - 익명 이너 클래스Programing/Android 2010. 10. 5. 08:09
리스너 인터페이스 하나를 위해 새로운 클래스를 일일히 선언하기가 번거롭다. 자바 이벤트 처리 방식의 특성상 이벤트 하나당 객체 하나씩을 만들어야 하는데 너무 번거로운 일이다. 사실 이벤트 처리를 위해 꼭 필요한 알맹이는 핸들러 메서드 뿐이다. 자바는 이런 경우를 위해 언어 차원에서 익명 이너 클래스라는 문법을 제공한다. 그 클래스의 객체가 단 하나만 필요한 경우 또는 상위 클래스나 인터페이스의 메서드 하나를 재정의하기 위해 클래스를 선언하는 경우에는 굳이 클래스를 선언할 필요없이 상속과 재정의를 동시에 할 수 있다. 위의 TouchListener 은 인터페이스를 상속받아 onTouch 메서드를 구현하는 이름엇는 서브 클래스 타입의 객체로 1회성 변수와 같은 존재이다. 더더욱 일회성으로 사용 할 것이라면 ..