본문 바로가기

전체 글

(73)
[Blazor, C#] 원격 조종 프레젠테이션/ Remote Controllable Presentation 2019년 코엑스 IT 기술관련 박람회에 방문한 적이 있었다. 박람회에서 흥미롭게 보았던 기술들이 몇개 있었는데, 그 중 가장 기억에 남았던 기술은 지하철이나 길거리에서 흔히 볼 수 있는 광고판 또는 전광판에 QR코드가 표시되어 있고, 해당 QR코드를 스캔하면 특정 웹 페이지로 이동하여 해당 디스플레이를 조종할 수 있는 어플리케이션이었다. 처음에는 그림[1]이 안드로이드 어플리케이션인 줄 알았는데 알고 보니 브라우저였다. 좀 작은 규모의 SI계 회사였는데, 회사 개발자에게 이것저것 물어보았더니 개발 기간도 꽤 걸리고, 어떤 원리로 작동하는지 대강 설명해주었다. 흥미로운 기술이었으나 좋은 아이디어는 아니라고 생각하였고, 이걸 응용해서 무언가 만들 수 있지 않을까 싶었다. 커다란 디스플레이를 제어할만한 상황..
[Blazor, Server] Blazor&nginx 서버를 배포해보자. Blazor가 나온지 얼마 안된 프레임워크라 그런지, 국내에 인프라가 적은 것 같다. 이번에 구상해둔 플랫폼이 있는데, 플랫폼을 개발하기 위해 Blazor를 서버에 올려야했다. 자. 한번 따라해보자 최종적인 산출물로는 http로 해당 페이지를 출력하는 것이다. 위는 Blazor의 Hello World인 셈이다. 일단 local에서 다음을 수행하도록 하자. ~$ dotnet new blazorserver -o BlazorApp[이 부분이 앱 이름임] --no-https Install ASP.net 일단 dotNET을 설치해야할테니, 아래 MS에서 다운로드 가이드를 따라하자. docs.microsoft.com/ko-kr/dotnet/core/install/ Windows, Linux, macOS에 .NET ..
[nginx, uwsgi, flask] flask를 이용해서 배포해보자. 여러 삽질을 했다.. 그냥 그대로 따라오면 할 수 있도록 써놓겠음. nginx로 배포하고, uwsgi와 소켓으로 통신하게 될 것이다. Flask ~$ pip install flask 파이프로 플라스크 다운로드. 만약 파이프가 없다면 없으면 apt-get install pip를 하도록하자. 마땅한 작업 디렉토리로 가자. (예를 들면 ~/flask/) 그리고 app.py 생성. #app.py from flask import Flask application = Flask(__name__) @application.route("/") def hello(): return "Hello! Miracle!" if __name__ == "__main__": application.run(host='0.0.0.0') 자 이제..
[Simple Web Cam] 브라우저에서 웹캠 보여주고 캡처하기. 이번에 외주 프로젝트를 진행하며 만든 프로그램인데, 오픈소스화시켜서 올리면 많은 사람들에게 도움이 많이 될 것 같아서 공유합니다. 테스트 해보세욤. kiju2.github.io/Simple-Web-Cam/index.html Simple Web Cam Audio source: Video source: kiju2.github.io 소스코드는 다음과 같습니다. github.com/kiJu2/Simple-Web-Cam kiJu2/Simple-Web-Cam display real-time images on the web and capture still shots. - kiJu2/Simple-Web-Cam github.com 사파리, 크롬, 파이어폭스에서 테스트 해봤는데, 다른 곳에서 잘 될지 모르겠네요. 혹시나 ..
[네이버 클라우드 플랫폼]Naver Cloud Platform를 통해 무료로 서버를 만들어보자. 이제 곧 AWS 무료 기간이 끝나간다.. 학생인 나는 돈이 없기에, 다른 플랫폼으로 갈아타고자 함. 그 중에 내가 가고싶은 회사 중 네이버의 NCP를 써서 서버를 열어보고자 한다. 아주 간단함. 자 일단 회원가입하고 서버로 들어온다. 그리고 서버 생성 클릭 서버 생성이 되었다면, 밑에 ubuntu 18.04를 눌러 OS를 택한다. 서버 타입은 마이크로로 해야 무료니까 주의ㄱ 스토리지 종류도 HDD로 해야 무료임 반납 보호는 일단 테스트니까 해제 ㅋ 그리고 인증키 생성을 해주자. 잘 저장해두고. 마지막으로 일단 ACG는 디폴트로 해놓자. 추후에 보안적인 요소 때문에 손 좀 봐야할 듯. 최종적인 화면이다. 아마 방금 만들었다면 생성중일거다. 저렇게 파란불 들어온 다음 진행하자. 서버를 눌러서 우측을 보면 이..
VPN/VPS/VPC 더욱 자세한 내용은 https://dirtycoders.net/vpn-vps-vpc-dodaece-museun-caiilgga/ 에서 확인할 수 있습니다 ! VPN(Virtual Private Network) 가상 사설망 말 그대로 가상의 네트워크 망이라 생각하자. 물리적인 네트워크 망은 선으로 꼬여있다. 여기서 이더넷은 가까운 선으로 꽂혀있을 것이다. 예를 들어 스타크래프트 게임을 생각해보자. 집이나 피시방에서 스타를 키고 로컬에서 게임을 하면 같은 피시방 내 유저만 접속이 가능하지 않은가? 그게 같은 LAN에 접속해있다는 거다. 근데 만약 내가 집에서 피시방인 친구랑 스타를 하고 싶다면? PC방의 공유기부터 우리집 공유기까지 랜선으로 연결해야 하느냐? 상당히 비효율적일 것이다. 그래서 속이는 거다. ..
[git fork]Git의 오픈소스를 활용하여 나의 레파지토리에서 개발해보자. BST(Binary Search Tree)를 웹에서 표현하고 싶었다. git에서 많은 자료로 찾아보아도, 잘 보이지 않았는데 내가 원하던 소스가 딱 하나 있었다 ! 설명도 없고, 어떤 기록도 없고, 기본적인 README도 없는 오픈소스였지만. 실제로 클론해서 테스팅해봤는데 딱 내가 원하던거였음!! ㅋ 근데, 문제점이 좀 있었음. 보면 글씨가 너무 작지 않은가? 그리고 많은 노드들이 랜덤한 값으로 생성되는 구조였음. 디폴트 노드의 개수는 30이었나 그랬음. 근데, 여기서 나는 저 노드들이 좀 큼직하게 보여줬음 좋겠고, 내가 직접 노드를 추가 / 삭제를 하고 싶음. 그러면 뭐를 하면 되냐? 수정이지ㅋ 저 Fork를 누름. Fork는 기존의 오픈소스를 개발한 개발자의 소스를 자기 레파지토리에서 이어서 개발할 ..
![rejected]error: failed to push some refs to origin 해결 내가 발생된 원인은 remote repository와 local repository의 차이로 인한 오류이다. 정확히 표현하자면, local에서 이 전 커밋으로 reset을 하고, 새로 수정 후 다시 push를 하게 되면, remote repository에서 새로운 분기점에서 발생되는 오류로 추정된다. 그렇다면, remote repository가 추적이 가능하도록 local commit과 merge만 해주면 간단하게 해결할 수 있을 것이다. git log --all을 통하여 원격 저장소의 commit을 확인하고, local commit과 merge를 하면 쉽게 해결할 수 있다. 여기서, commit 해시 주소를 확인해보자. 나는 출력된 주소가 1d4a...이다, 4글자까지만 적어주자. 4글자만 해도 왠만하..