2019. 11. 24.

convert array to list in java

convert array to list in java

Long [] array_values = new Long[] {0L,0L,0L,0L,0L} ;
//constructor 에 집어 넣는다. 
ArrayList<Long> list_data = new ArrayList<Long>(Arrays.asList(array_values)); 


November 24, 2019 at 01:05PM

2019. 9. 30.

remove leading zero in bash

remove leading zero in bash

leading=“000100”
no_leading=$((10#$leading))

## no_leading —> 100





September 30, 2019 at 11:03AM

2019. 9. 19.

find by size

find by size

find ./ -type file -size +500M 

option: 
b - 512 block
c - byte
w - two bytes words
k - kilo
M - mega
G - giga

# find and display size. human readable

find ./ -type file -size +500M -exec ls -lh {} \;


September 19, 2019 at 02:22PM

2019. 9. 15.

UFW config ( ubuntu firewall config )

firewall config 

## install 
sudo apt-get install ufw 

## add port 
sudo ufw allow 22
sudo ufw allow 8081
sudo ufw allow 8082

## enable ufw
sudo ufw enable 

## check status
sudo ufw status

## delete allow port

Sudo ufw delete allow 2022   # 2022 allow를 삭제함.  

2019. 5. 12.

Making tab and spaces visible in vi editor

while typing python code in vi editor,   space and tab make compile errors.

By using 'set list' , user can check tab and space characters.

# Normal mode



:set list

:set list listchars=tab:\|\-    #last char is space.

:set list!   #off  command

2019. 4. 14.

Using profiles in gradle

Using profiles in gradle

  • When Build , 
    • gradlew bootwar -Pprofile=dev
  • When running app
    • java -jar a.war -Dspring.profiles.active=dev
  • profile에 따라서 필요한 리소스를 선택적으로 사용 할 수 있다.

 sourceSets {
   if (!project.hasProperty(‘profile’) || !profile) {
      ext.profile = ‘dev’
   }
  main {
        java { srdDirs ‘src/main/java’}
       resources { 
           srcDirs “src/main/resources”, “src/main/resource-env/${profile}”
       }
  }
}



April 12, 2019 at 09:25AM

2019. 1. 27.

iot switch using Wemos(lonin/arduino)


IOT 스위치 만들기

(wemos raspberry PI 이용한 원격 스위치 만들기) 
 시중에 파는 스마트 스위치를 직접 만들어 보았습니다. 구현기능은 스마트폰을 이용해서 웹페이지에 제어페이지에 접속하여 스위치를 켜고 끄는 방식입니다. wemos(Lonin/아두이노계열) 라즈베리파이 그리고 릴레이를 사용하였습니다. 

준비물
    • 라즈베리파이 ( DDNS연동)
    • wemos
    • Relay 
    • 전선 플러그, 콘센트
    • 케이스( 3d printer 출력)

  • 소프트웨어
    • 라즈베리파이에서 웹소켓 서버 웹페이지를 표시하고, wemos에서 웹소켓클라이언트를 구동하여, 웹페이지를 통해서 받은 명령을 wemos에서 처리하여 스위치를 켜고 /끄는 신호를 릴레이로 보냅니다.
    • 직접 wemos에서 소켓 서버를 구동할 수도 있으나, 기존에 운영되고 있던 라즈베리 파이를 사용하였습니다.
    • 모바일에서 제어하기 위해서는 퍼블릭 고정 아이피 또는 domain  필요한데, ddns 사용하여 도메인으로 접속 하였습니다, 페이지에서는 ddns 설명은 하지 않습니다.  
  • 하드웨어 구성  

 




완성사진


케이스 조립전



전원 투입 케이스 조립 그림




제어 웹페이지 화면




완성 동영상( https://youtu.be/vVFtnNf3J6s)
제어 웹화면 : https://youtu.be/6bb5f9459kA