C# serial communication

using System; //using OpenNETCF.IO.Ports; using System.IO.Ports; namespace ConsoleApp1 { class Program { static void Main(string[] args) { SerialPort port = new SerialPort("COM43", 115200, Parity.None, 8, StopBits.One); port.Open(); System.Threading.Thread.Sleep(1000); // waiting for Arduino reset for (int i = 0; i < 1000; i++) { Console.WriteLine(port.BytesToRead); // it write on the console only zeros, so no data…

[Ubuntu] 원격 IP로 MySQL(MariaDB)에 접속이 되지 않을 때의 해법

원격 IP로 MySQL(MariaDB)에 접속이 되지 않을 때의 해법 ※ Ubuntu 16.04 MariaDb 10.0의 상황과 원격 IP의 주소가 111.222.33.44라고 가정한다. Java에서 다음과 같이 원격의 MySQL에 접속을 시도할때 String url = "jdbc:mysql://111.222.33.44:3306/나의DB명"; Connection refused 에러가 발생하거나 telnet을 이용해서 MySQL이 설치된 IP의 3306포트로 접속시 연결이 되지 않을 때의 해법이다. 네트워크의 연결 상태에따라 다양한 이유가 있을 수 있다. 예를들어…

[Ubuntu] SSL 인증서 설치

[Ubuntu] SSL 인증서 설치
 SSL 발급 및 적용 방법 인증서 발급 프로그램을 서버에 설치해야한다. Let’s Encrypt 는 Ubuntu 16.04 LTS 에서 기본패키지로 추가되었다. 따라서 쉽게 설치할 수 있다. 반면 Ubuntu 14.04 LTS 에서는 기본패키지가 아니기 때문에 몇 줄 더 입력해야 한다. 발급, 설치, 적용 방법은 다음과 같다. 모든 단계는 Linux root 계정으로 진행한다. [code shell] # apt-get install letsencrypt…

[C#] dll을 포함한 단일 exe배포 방법

[C#] dll을 포함한 단일 exe배포 방법
일반적으로 프로그램을 배포시 exe파일과 Application이 호출하는 dll파일은 동일한 폴더(또는 dll 파일이 System폴더에 위치)에 있어야 한다. Microsoft 공식 배포처에서는 exe와 호출하는 라이브러리를 병합하는 프로그램을 배포중이지만, 컴파일러단에서 자체 해결할 수 있는 방법도 존재한다. 사용하고자 하는 dll을 프로젝트에 참조해당 dll을 프로젝트 리소스에 추가리소스에 추가된 dll의 속성 -> 빌드작업 속성 값을 포함 리소스로 지정프로그램 진입점(Program.cs)에 코드를 아래와 같이 변경리소스에…

[Ubuntu] APM 설치

]# sudo apt-get install php ]# sudo apt-get install apache2 ]# sudo apt-get install mariadb-server ]# sudo apt-get install libapache2-mod-php7.0 ]# sudo mysql > SET PASSWORD FOR root@localhost = PASSWORD('원하는 패스워드 입력'); > quit; ]# sudo /usr/bin/mysql_secure_installation /* 이미 암호는 앞에서 지정했기 때문에 첫 번째 패스워드를 변경하겠냐는 질문에는 n을 나머지는 (이 설정에 대해서 잘 모르는…

[Linux] Crontab에 프로세스 정지와 실행을 등록

[Linux] Crontab에 프로세스 정지와 실행을 등록 #!/bin/sh count=0 cd /opt/monitoring for line in `ps -ef | grep "monitoring" | grep -v grep | awk '{ printf("%s\n", $2); }'` do if [ $line -ge 1 ]; then #echo $line #프로세스 죽이기는 아래것중 아무것나 사용하면 됩니다. #kill -TERM $line kill -9 $line fi #echo $count if […

쉘스크립트 비교연산자 활용

쉘스크립트 비교연산자 활용 정수 비교 -eq     같음     if [ "$a" -eq "$b" ] -ne     같지 않음     if [ "$a" -ne "$b" ] -gt     더 큼     if ["$a" -gt "$b" ] -ge     더 크거나 같음     if [ "$a" -ge "$b" ] -lt     더 작음     if […

리눅스 로그 파일 정리

일단 사이즈가 가장 큰 것부터 정리하는 것이 좋겠죠.. . 보통은 messages 파일을 정리하시면 좋습니다. 지우지는 마시고 다음과 같이 하세요. cat /dev/null > /var/log/messages.2 cat /dev/null > /var/log/messages.1 messages 파일도 열어서 오래된 내용들은 삭제하셔도 됩니다. dmesg는 부팅시 기록되는 정보들인데 특별한 경우를 제외하고는 별로 필요가 없습니다. cat /dev/null > dmesg cron은 주기적으로 실행시킨 명령들에 대한 정보인데 해킹을…