본문 바로가기

분류 전체보기735

728x90
반응형
[논문요약] An Open DDNS based IoT Platform for Providing Home IoT Service in Dynamic IP Address Environment 작성 배경공개 DDNS를 사용하는 IoT 도어락 구현 과제를 진행하던 중에 개발된 기술 중 일부를 논문으로 작성했다.원문제목An Open DDNS based IoT Platform for Providing Home IoT Service in Dynamic IP Address Environment국문제목동적 IP주소 환경의 가정용 IoT를 위한 공개 DDNS 기반 IoT 플랫폼원문주소ICCT 2017: http://www.iacst.org/iacst/Conferences/icct2017.php#PaperListResearchGate: https://www.researchgate.net/publication/377382517_An_Open_DDNS_based_IoT_Platform_for_Providing_.. 2022. 2. 7.
[논문요약] Performance Analysis of Bicycle-to-Pedestrian Safety Application using Bluetooth Low Energy 원문명Performance Analysis of Bicycle-to-Pedestrian Safety Application using Bluetooth Low Energy국문명(번역)저전력 블루투스를 활용한 자전거와 보행자 간의 안전 응용 성능 분석원문주소https://doi.org/10.1145/3129676.3129727발표ACM RACS 2017저자박형철, 경북대학교.이성원, 경북대학교.문은배, 경북대학교.사예드 하산 아흐메드, 경북대학교.김동균, 경북대학교.초록(번역)자전거와 세그웨이, 나인봇과 같은 개인용 이동수단(Personal Mobility, 이하 자전거로 통칭)의 사용이 기술 발전에 따라 가파르게 증가하고 있다. 게다가 스마트폰과 헤드폰 같은 것을 걷거나 자전거를 탈 때 쓰는 경우도 증가하.. 2022. 2. 7.
메타버스(Metaverse)의 개념과 성장가능성 그리고 분산형 메타버스 네트워크 메타버스(Metaverse)는 초월 또는 가상을 의미하는 메타(Meta)와 우주를 뜻하는 유니버스(Universe)의 합성어이다. 현시점에서 메타버스는 개념이 정립되어 가고 있는 단계이며 아래의 표처럼 기관이나 연구자마다 개념 정의가 조금씩 다르다. 나의 경우 메타버스를 현실세계를 초월한 디지털 세계로 생각하고 있으며 메타버스가 현실과 완전히 별개일 수도 있으나 대게는 현실과 관련 있게 구현될 것으로 예상한다. 특히 메타버스가 구현된 것으로 흔히 게임을 사례로 들지만 그것은 구현한 방법 중 하나일 뿐이며 증강현실(Arguement Reality)처럼 현실세계와 관계 있게 구현될 수도 있다. 메타버스가 확실하게 발전하고 서비스가 제공되기 위해서는 메타버스 운영주체와 사용자에게 이익이 될 수 있는 구조가 형.. 2022. 2. 5.
[윈도우 10] L2TP/IPSec VPN 연결 중에 보안 계층 오류가 발생했을 때 나의 경우 원격지에서 내 컴퓨터로 연결하는 일이 많아서 안전한 통신 방법인 VPN(Virtual Private Network)을 자주 사용하는데 어느 날 원격지에서 사용하는 PC에서 "보안 계층에서 원격 컴퓨터와 초기 협상 동안 처리 오류를 발견했기 때문에 L2TP 연결 시도에 실패했습니다"라는 오류가 떠서 내가 원하는 VPN에 접속하지 못 하는 문제가 발생했다. 구글링을 하다보니 2022년 1월 12일에 배포된 윈도우10 KB5009543 패치가 문제라고 하는데 현재는 해결됬기 때문에 업데이트만 하면 해결된다고 한다. 최신으로 업데이트하니 해결되었다. 정확히 말하면 윈도우10 KB5010793 패치가 적용되었기 때문에 해결된 것이다. 관련 문서 [1] "KB5009543, KB5009566 패치로 인한.. 2022. 1. 30.
[CentOS 8] 라라벨(Laravel) 8 설치하고 PHP 내장 웹서버에서 실행하는 방법 꽤나 많은 착오가 있었기에 라라벨(Laravel) 8을 CentOS 8에 설치하는 방법을 정리한다. 라라벨을 설치하는 것 까지는 동일한데 설치된 라라벨을 실행하는 웹서버로 여러가지를 사용할 수 있어서 비슷한 내용으로 여러번 포스팅할 것 같다. 본 글에서는 가장 간단한 방법인 PHP 내장 웹서버로 라라벨 8 프로젝트를 실행하는 것을 소개한다. 설치환경은 아래와 같은데 혹시 PHP를 설치하지 않았다면 아래의 '[CentOS 8] PHP 7.4 버전 설치하는 법'를 참고하여 설치하면 된다. 설치환경 : CentOS 8.5.2111, PHP 7.4.19 2021.12.23 - [개발/리눅스] - [CentOS 8] PHP 7.4 버전 설치하는 법 1. PHP-JSON 모듈 설치 아래의 명령어를 입력하여 php-.. 2021. 12. 28.
[윈도우 10] 아파치 웹서버(HTTPD)를 설치하는 방법 웹서버는 다양하게 많이 있지만 때에 따라 아파치 웹서버(HTTPD)를 사용해야하는 경우가 있다. 본 글에서는 윈도우 10 64비트(20H2)에 아파치 웹서버를 설치하는 것을 안내한다. 0. 동영상 설명 윈도우에 아파치 웹서버(HTTPD)를 설치하자 1. 윈도우용 아파치 웹서버 다운로드 아파치 라운지에서 윈도우용 아파치 웹서버 파일을 다운로드 받을 수 있다. 설치하고자 하는 윈도우 환경에 맞춰서 적절하게 다운로드 한다. 필자의 경우 윈도우 10 64비트에 설치하려고 했기에 Apache 2.4.52 Win64 버전을 받았다. 아파치 라운지 다운로드 페이지 주소: https://www.apachelounge.com/download/ 2. 아파치 웹서버 설치 및 실행 다운받은 아파치 웹서버 압축파일을 압축해제하.. 2021. 12. 27.
[CentOS 8] PHP 7.4 버전 설치하는 법 라라벨8은 PHP 7.3 이상을 요구하기에 이에 맞춰 PHP 버전을 설치해줄 필요가 있었다. 시행착오가 있었기에 시행착오없이 다음에도 설치할 수 있도록 이 글에 PHP 7.4 버전을 설치하는 방법을 남긴다. 설치환경 : CentOS 8.5.2111 1. 사용가능한 PHP 패키지 목록 확인 및 설치하는 PHP 패키지 변경 사용가능한 PHP 패키지 목록을 아래의 명령어로 확인한다. 아래의 사진을 보면 PHP 7.2가 기본 패키지이고 활성화되어 있는 것을 볼 수 있다. sudo dnf module list php 아래의 명령어를 입력하여 PHP 관련 설정을 초기화한다. sudo dnf module reset php sudo dnf module list php 아래의 명령어를 이용하여 설치하는 PHP 패키지 버.. 2021. 12. 23.
[CentOS 7/8] 파일(폴더) 소유주와 소속그룹 변경 파일에 접근하기 위해서는 접근 권한이 있어야 한다. 권한을 부여하는 방법 중 하나는 해당 파일의 소유주와 소속그룹을 변경하는 방법이 있다. 파일 권한 확인 아래의 명령어를 입력하여 파일의 소유주와 소속그룹을 확인한다. ls -al 여기서는 www 폴더의 소유주와 소속그룹을 변경할 것이다. 명령어가 실행된 결과를 보면 소유주와 소속그룹이 나타나 있는데 유저 "root"와 그룹 "root"에 소속되어 있음을 알 수 있다. 파일 소유주 및 그룹 변경 아래의 명령어처럼 입력하여 파일의 소유주와 그룹을 변경한다. chown -R 유저명:그룹명 대상파일(폴더) ls -al 폴더의 소유주와 소속그룹이 apache로 변경된 것을 확인할 수 있다. 아파치 웹서버의 경우 권한이 없으면 파일을 읽고 쓰지 못 하고 이 경우 .. 2021. 11. 25.
삼성전자 PM9A1 M.2 NVMe 1TB 구매 후기 및 벤치마크 운영체제 재설치가 싫어서 어지간하면 스토리지 변경 안 하고 버티려고 했는데 용량이 부족해서 도저히 더 이상 버틸 수 없었기에 NVMe SSD를 1TB 용량으로 샀다. 같은 계열의 SSD를 3년째 사용하고 있는데 별 문제가 없어서 벌크 제품이긴 하지만 가격이 아주 저렴한 삼성전자 PM9A1 M.2 NVMe 1TB를 샀다. 결론부터 말하자면 아주 만족하며 사용 중이다. 그 이유는 다음과 같다. 운영체제 재설치를 피하기 위한 스토리지 마이그레이션 성공 저렴한 가격대비 용량과 훌륭한 읽기/쓰기 성능 스토리지 마이그레이션 먼저 필자는 개발자이자 연구자이기에 운영체제 재설치로 인한 새로운 환경 구축에 대한 시간이 아주 많이 필요한 사람이다. 그래서 기존의 운영체제 시스템을 새로운 스토리지(새로운 SSD)에 그대로 .. 2021. 11. 21.
[운영체제] seL4 소개 아래는 seL4 홈페이지에서 seL4를 소개하는내용을 번역한 것이다. seL4는 고보증(High-Assurance), 고성능(High-Performance)의 운영체제 마이크로커널이다. seL4는 성능저하 없는 정형검증(Formal verification)으로 인해 특별하다. seL4는 안전필수(Safety-Critical) 시스템과 보안필수(Security-Critical) 시스템을 구축하기 위해 신뢰할 수 있는 기반이다. seL4는 seL4 재단이 지원하고 Github에서 오픈소스로 제공된다. 커널이 된다는 것은 소프트웨어 시스템의 핵심에서 소프트웨어 조각이 실행되고 리소스에 대한 모든 액세스를 제어하는 ​​소프트웨어라는 의미이다. sel4는 세밀한 접근제어를 Capability-based secur.. 2021. 11. 17.
FHIR Profiling(프로파일링) 관련 연구 목록 FHIR 리소스(Resource)에 제약 조건을 설정할 수 있는 프로파일링으로 인해 FHIR 리소스는 정보가 구체화된다. 1개의 프로파일(프로필, Profile)은 1개의 리소스에 대응되며 프로파일은 프로파일 저장소를 통해 공유 및 배포된다. 국제저널 Ryan A. Hoffman, Hang Wu, Janani Venugopalan, Paula Braun, May D. WangIntelligent Mortality Reporting With FHIRIntelligent Mortality Reporting With FHIR, page 1583-158, issue 5, volume 22, IEEE Journal of Biomedical and Health Informatics, September, 2018. .. 2021. 11. 16.
라라벨 8 시간/타임존 변경 PHP 설정과 DB 설정에 가서 타임존을 변경하였는데도 시간이 의도와 달리 나온다면 라라벨 8의 자체 타임존을 확인해볼 필요가 있다. 라라벨 8 설정 변경 아래의 명령어처럼 라라벨 8 설정 파일을 텍스트 에디터로 연다. vi config/app.php 그러면 아래와 같은 화면이 나타나는데 timezone을 찾아보자. timezone 설정을 찾았다면 UTC로 되어 있는 것을 원하는 시간으로 수정한다. 필자의 경우 우리나라(대한민국) 표준시인 서울로 설정하였다. 'timezone' => 'Asia/Seoul' 설정파일을 저장하면 바로 적용된다. 정상적으로 반영되었는지 테스트 해본다. 2021. 11. 12.
[운영체제] 1장 서론 - 연습문제 해답 저자가 홈페이지에서 제공하는 답 위주로 적었고 내용 보충이 필요한 경우 내가 생각하는 답을 추가하였다. 1.1. 운영체제의 세 가지 주요 목적은 무엇인가? 다음과 같이 3가지 주요 목적이 있다. 컴퓨터 사용자에게 프로그램을 실행하기 편리하고 효율적인 환경을 제공하는 것이다. 태스크(Task)를 수행하기 위해 가능한 공정하고 효율적이게 컴퓨터 자원을 할당하는 것이다. 프로그램을 제어하는 것이다. 사용자 프로그램의 실행을 감독하고 오류 및 부적절한 사용을 방지하는 것과 연산 및 I/O 장치 제어를 관리하는 것이 있다. 1.2 컴퓨팅 하드웨어를 효율적으로 사용하려면 운영체제가 필요하다고 강조하였다. 운영체제가 이 원칙을 버리고 자원을 낭비하는 것이 적절한 때는 언제인가? 그러한 시스템이 실제로 낭비하는 것이 .. 2021. 11. 4.
[CentOS 7] FFMPEG를 설치하자 Xpress Engine에서 GIF 파일을 MP4 파일로 변환하는 기능을 테스트해보고자 FFMPEG를 설치하게 되었다. 설치하는 방법은 아래와 같다. 1. 'epel-release'를 설치한다. 아래의 명령어를 입력하여 'epel-release'를 설치한다. yum -y install epel-release 2. NUX 저장소를 추가한다. 아래의 명령어를 입력하여 NUX 저장소 정보를 추가한다. rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm 3. FFMPEG를 설치한다. 아래의 명령어를 입력하여 FFMPEG를 설치한다. yum install ffmpeg ffmpeg-devel.. 2021. 9. 16.
HeidiSQL 오류 "library libmariadb.dll could not be loaded" 조치 방법 오류 내용 HeidiSQL을 인스톨러(설치프로그램)로 설정하지 않고 포터블(무설치) 버전으로 실행하면 "library libmariadb.dll could not be loaded" 이런 오류가 발생할 때가 있다. 이 경우는 'libmariadb.dll'이 없는 경우보다는 'libmariadb.dll'이 참조하는 라이브러리가 없어서 정상적으로 실행되지 않는 경우일 가능성이 크다. 오류 해결 방법 아래의 주소에서 'C++ 재배포 가능 패키지'를 설치하면 정상적으로 동작하는 것을 확인할 수 있다. Visual C++ 재배포 가능패키지 다운로드 : https://www.microsoft.com/ko-kr/download/details.aspx?id=48145 '다운로드' 버튼을 클릭하면 아래의 사진처럼 창이 .. 2021. 8. 8.
[CentOS 7] Openssl을 최신 버전으로 업데이트하기 CentOS 7에서는 Openssl이 yum으로 자동 업데이트 되는 최신버전이 낮다. 나의 경우 1.0.2k였는데 이로 인해 openssl을 참조하는 패키지를 설치할 때 오류가 발생했었다. 본 글에서는 Openssl을 1.1.1k로 컴파일 설치하는 것을 설명한다. 1. 기존 Openssl 1.0.2k 삭제 아래의 명령어를 입력하여 기존 Openssl 1.0.2k를 삭제한다. yum remove openssl 2. Openssl 1.1.1k 다운로드 아래의 명령어를 입력하여 Openssl 1.1.1k를 다운로드 한다. wget https://www.openssl.org/source/openssl-1.1.1k.tar.gz 3. Openssl 1.1.1k 압축해제 아래의 명령어를 입력하여 다운받은 Openss.. 2021. 8. 7.
[CentOS 7] SSH 보안 강화를 위해 포트 번호를 수정하자 SSH 보안 강화를 위해서는 포트 번호를 수정하는 것이 필수적이다. 흔한 22번 포트로 SSH를 이용하는 경우 온갖 종류의 공격에 시달리는 불상사가 발생한다. 1. SSH 설정 변경 아래 명령어를 입력하여 SSH 설정을 변경한다. vi /etc/ssh/sshd_config '#Port 22' 라고 주석처리 되어 있는 것을 #을 지우고 포트번호를 22 대신에 다른 숫자를 아래 사진처럼 입력한다. 필자의 경우 테스트용으로 10022로 입력하였다. 2. SELinux 포트 사용 허용 SELinux가 입력한 포트를 허용하도록 아래의 명령어를 입력한다. semanage port -a -t ssh_port_t -p tcp 포트번호 필자의 경우 아래와 같이 입력하였다. semanage port -a -t ssh_po.. 2021. 8. 4.
안드로이드 무선 디버깅으로 앱 실행하기 오랜만에 안드로이드 어플리케이션을 개발하게 되었는데 이런저런 기능들이 많이 추가되어서 꽤나 흥미롭게 하고있다. 내가 본 새로운 기능 중 가장 인상 깊은 것은 무선 디버깅 기능이다. 예전에도 온갖 명령어를 입력하면 무선 디버깅이 되었으나 다소 번거로웠었다. 하지만 이제는 버튼 클릭과 명령어 하나로 디버깅을 활성화할 수 있었다. 안드로이드 장치 무선 디버깅 활성화 갤럭시를 쓰는 경우 개발자 옵션으로 이동하여 무선디버깅을 활성화하면 아래와 같은 화면이 나타난다. 페어링된 장치가 없다면 페어링을 진행하면 된다. 페어링된 기기가 생겼으면 IP 주소 및 포트를 확인한다. 개발 PC와 안드로이드 장치 간 통신 활성화 아래의 사진과 같이 위의 안드로이드 무선 디버깅 화면에서 확인한 정보를 토대로 개발 PC와 안드로이드.. 2021. 6. 28.
라이믹스(XE1)에서 신규 문서 아이콘 시간 설정하기 문서 또는 게시판 모듈 설정에서 신규 문서 기준을 설정하는 것이 있으면 거기서 수정하면 되나 어느 순간부터 신규 문서 기준을 변경하는 것이 없어졌는지 찾지를 못 하겠다. 그래서 신규 문서 기준 값이 설정되어 있지 않으면 게시판 스킨의 기본 값이 들어가도록 수정하는 것이 필요했다. 게시판 스킨마다 조금씩 상이하겠지만 라이믹스 2.0.11 기준으로 기본 게시판 스킨(default)에서 '_header.html' 파일을 열어보면 'duration_new'라는 것을 발견할 수 있는데 '작성된지 12시간 이내이면 신규 문서로 구분하겠다.'라는 의미로 '12'가 입력된 것을 볼 수 있다. 이 값을 바꾸고 싶다면 '$module_info->duration_new = 12'에서 '12'를 바꾸면 된다. 2021. 5. 19.
[CentOS 7] tar 명령어로 특정 파일(폴더)를 제외하고 압축하기 최근에 제타위키나 다른 블로그에 있는 "리눅스에서 특정 파일을 제외하고 압축하기" 글을 참고하여 압축을 진행하였는데 특정 파일이나 폴더가 제외되지 않아서 이것저것 삽질하다가 되는 명령어를 찾아서 글을 적게 되었다. 'a'라는 최상위 폴더가 있고 그 하위에 'b'라는 폴더와 'c'라는 폴더, index.php 파일이 있을때 'b'폴더를 제외하고 압축하는 명령어는 다음과 같다. tar -zcvf "a.tar.gz" --exclude "a/b" "a/" 위의 명령어를 입력하면 아래와 같이 로그가 나타난다. 압축된 파일을 확인해보면 아래 사진처럼 'b' 폴더만 제외하고 잘 압축된 것을 알 수 있다. 'tar 명령어로 특정 파일(폴더)를 제외하고 압축하는 명령어'는 아래와 같이 정리할 수 있다. tar -zcvf.. 2021. 5. 9.