본문 바로가기

분류 전체보기667

728x90
반응형
구글 블로거 API의 글 등록은 사용량에 제한이 있다. 이전에 구글 블로거 API를 사용하는 방법을 소개하는 글을 썼었다. 그 중에 구글 클라우드 플랫폼 내의 API 사용량 자체는 제한이 없는데 구글 블로거 서비스에서 제한을 두고 있는 것을 찾았기에 기록하려고 글을 쓴다. 구글 블로거 API로 글을 등록하는 경우 하루에 글 등록이 최대 100개로 제한이 된다. 100개를 초과해서 글을 등록하려고 하면 다음과 같은 오류 메시지가 나타난다. "We're sorry, but one or more limits for the requested action have been exceeded. [403]" 403이라는 숫자는 HTTP에서 일반적으로 권한이 없음을 나타내는데 메시지 내용을 보아하니 요청한 액션을 수행할 수 있는 횟수를 초과한 것으로 나온다. 혹시나 싶어서 .. 2021. 1. 14.
[CentOS 8] 워드프레스를 설치할 때 주의점 워드프레스를 설치하여 몇 가지를 테스트해보려고 했는데 설치화면에서 오류가 발생하여 설치를 한참 진행하지 못 했다. 설치화면에서 오류가 나면 무슨 오류가 났는지를 알려주지 않기 때문에 고생했었는데 필자의 경우 해결방법이 다음과 같았다. php7.2.x 기준으로 워드프레스를 설치하는 중에 다음과 같은 오류가 발생하면 다음의 패키지를 설치하면 해결될 것이다. 워드프레스 설치 주소 : "http://도메인명/wp-admin/install.php" "There has been a critical error on this website."라고 오류메시지가 발생하면 워드프레스가 의존하는 php 패키지를 추가설치해줄 필요가 있다. 나의 경우 "php-json" 패키지가 없었다. 1. php-json 패키지 설치 yum.. 2021. 1. 10.
[CentOS 7/8] 아파치 웹서버(httpd)와 PHP를 설치하자 CentOS 8에 아파치(Apache) 웹서버(HTTPD)와 PHP를 설치해서 테스트할 것이 생겼다. 그래서 각종 자료를 열람하여 설치를 했는데 시행착오를 좀 겪어서 필자가 사용하기 좋게 정리를 하였다. 1. 의존성 라이브러리 패키지 설치 아래의 명령어를 입력하여 선행 설치 파일을 설치한다. yum install -y libjpeg* libpng* freetype* gd-* gcc gcc-c++ gdbm-devel libtermcap-devel 2. 아파치 웹서버(httpd) 설치 아래의 명령어로 아파치 웹서버를 설치한다. yum install -y httpd* 아래의 명령어로 설치한 아파치 웹서버가 잘 설치되었는지 확인한다. httpd -v 3. PHP 설치 아래의 명령어로 PHP 패키지를 설치한다. .. 2021. 1. 7.
[CentOS 7/8] MariaDB 설치하기 MariaDB 를 사용하는 이유 MariaDB는 무료로 사용할 수 있는 강력한 DBMS(DataBase Management System)이다. 나의 경우 취미생활로 즐겨사용한다. 하지만 업무를 할 때는 오라클의 데이터베이스 또는 티맥스의 티베로를 사용하고 있다. 아무래도 한국에서 기술지원 받기가 용이하고 대규모 처리능력이 검증된 것이기도 하며 데이터베이스를 선정하는 분이 오라클이나 티베로를 보통 선택하기 때문이다. 그럼에도 불구하고 MariaDB는 메뉴얼 등을 확인할 수 있는 생태계가 잘 형성되어 있고 무료로 제공되는 엔터프라이즈급 기능들이 있기에 많은 인기가 있는 제품이고 그렇기에 나도 즐겨사용한다. 이 MariaDB를 설치하는 방법은 다음과 같다. 1. MariaDB 저장소 추가 vi /etc/yum.. 2021. 1. 7.
ExpressVPN 환경에서 넷플릭스를 보는 것이 가능할까? 넷플릭스에서 시청이 제한된 콘텐츠를 보기 위해서는 VPN을 활용하여 우회하는 것이 필요하다. 하지만 VPN을 사용하는 경우 통신 속도가 많이 느려지는 문제가 있는데 이로 인해서 원하는 화질로 시청을 못할 수도 있다. 넷플릭스는 최강 OTT(Over The Top) 서비스 답게 해상도 대비 매우 적은 대역폭(인터넷 연결 속도)를 요구한다. 우리가 흔히 보는 720p 또는 1080p를 위해서는 5Mbps의 회선 대역폭이 필요하다. 필자는 한국에 있으며 ExpressVPN의 속도 실험 결과 여러 VPN 서버 위치에서 HD 영상 시청을 위한 대역폭인 5Mbps 이상을 제공하는 것을 확인할 수 있었다. ExpressVPN의 경우 널리 사용되고 있는 VPN 서비스이고 안정성이 검증되었으며 저녁에 사람들이 많을 때 .. 2021. 1. 4.
[C#] HttpClient로 이미지를 받아서 저장하기 HttpClient로 이미지를 받아서 저장하는 코드를 기록용으로 남겨둔다. 예제의 소스는 이해를 돕기 위해 주제와 관련된 기능 외에는 사용하지 않았다. using System.Net.Http; namespace Program { class Program { static async System.Threading.Tasks.Task Main(string[] args) { HttpClient client = new HttpClient(); HttpResponseMessage response = await client.GetAsync("https://www.google.com/logos/doodles/2021/new-years-day-2021-6753651837108820-law.gif"); byte[] res.. 2021. 1. 1.
[C#] 셀레니움에서 Timeout 또는 OutOfMemory가 발생하는 문제 C#에서 셀레니움을 활용하여 크롬 웹브라우저를 제어하고 있으면 몇시간 후에 크롬 웹브라우저로부터 응답이 없다고 Timeout 오류가 발생하거나 OutOfMemory에러가 발생하여 제어불능에 빠지는 상황이 발생한다. OpenQA.Selenium.WebDriverException: The HTTP request to the remote WebDriver server for URL http://localhost:65320/session/2c1547c846178882ccf6af559244ec4e/url timed out after 60 seconds. ---> System.Net.WebException: The operation has timed out. at System.Net.HttpWebRequest.Ge.. 2020. 12. 28.
[자바스크립트] img 태그의 데이터를 base64로 인코딩 하자 HTML의 img 태그의 src에 파일 경로가 아닌 데이터를 직접 넣어도 브라우저가 인식하는 시대가 왔다. 데이터를 넣을 때는 base64로 파일 데이터를 인코딩해서 넣으면 되고 다음과 같이 표현이 가능하다. BASE64로 인코딩된 img 태그 예시 위의 img 태그를 넣으면 아래와 같은 그림이 표현된다. 자바스크립트에서 기존의 이미지 파일을 base64로 인코딩하는 방법은 2가지가 있다. 하나는 HTML5 CANVAS를 이용하여 변환하는 것이고 또 다른 하나는 자바스크립트의 File API인 FileReader를 이용하여 변환하는 방법이 있다. HTML5 CANVAS를 이용하는 방법 CANVAS를 생성하고 이 CANVAS의 가로와 세로의 크기를 설정하고 그릴 것을 2D로 지정한다음 BASE64로 변호나.. 2020. 12. 27.
[C#] 셀레니움(Selenium)으로 크롬(Chrome)을 제어하자 #에서 브라우저를 제어하여 특정 정보를 읽어와야하는 경우가 있다 이 경우 셀레니움(Selenium)을 통해 브라우저를 제어할 수 있는 방법이 있다. 이번 포스트에서는 셀레니움으로 크롬(Chrome) 브라우저를 제어하는 예제를 소개하려고 한다. 매번 C# 관련 포스트에서 그러하듯이 우리의 친구 NuGet 패키지 관리자를 실행하여 셀레니움 관련 라이브러리를 설치하도록 하겠다. Visual Studio 2019 상단의 '도구'-'NuGet 패키지 관리자'-'솔루션용 NuGet 패키지 관리...'를 클릭하여 NuGet 패키지 관리자를 실행한다. Selenium을 입력하여 Selenium.WebDriver를 선택한 후 설치한다. 설치를 진행하기 위하여 변경될 내용을 미리 보여주는데 확인하고 '확인'을 누른다. 셀.. 2020. 12. 25.
[C#] 구글 블로거 API로 글 등록하는 법 한국을 소개하는 영어 블로그를 운영하려고 하는데 글을 편하게 쓰기 위하여 구글 블로거 API로 글을 등록하는 예제 프로그램을 작성해보았다. 글 등록 예제 소스코드 using System; using System.IO; using Google.Apis.Blogger.v3.Data; using Google.Apis.Blogger.v3; using Google.Apis.Auth.OAuth2; using Google.Apis.Util.Store; using Google.Apis.Services; using System.Threading; using System.Threading.Tasks; namespace InsertPost { class InsertPost { static void Main(string[] .. 2020. 12. 23.
[C#] 구글 블로거 API 라이브러리를 설치하는 법 구글 블로거 API 기능을 C#에서 활용하여 개발하기 위해서는 구글 블로거 API 라이브러리를 설치하는 것이 편리하다. 구글 블로거 API 라이브러리는 Visual Studio 2019에서 NuGet 패키지 관리잘로 쉽게 설치가 가능하다. NuGet 홈페이지로 가면 현재(2020-12-23) 기준으로 1.49.0.2172가 안정적인 버전으로 출시되어 있는 것을 확인할 수 있었다. NuGet 패키지 관리자는 '도구'-'NuGet 패키지 관리자'-'솔루션용 NuGet 패키지 관리...'을 눌러서 실행할 수 있다. '찾아보기'에서 google.apis.blogger.v3를 입력하여 검색하고 클릭하면 우측에 설치 버튼이 나타난다. 설치를 원하는 프로젝트를 클릭하여 설치 버튼을 누른다. 설치를 누르면 위와 같이 .. 2020. 12. 23.
비트코인 광부(채굴)를 위한 HDMI 더미를 샀다. 비트코인을 채굴하는 광부 분들이 많이 사시는 HDMI 더미를 내가 살 날이 올 거라고는 생각하지 못 했는데 결국 그런 날이 왔다. 나는 채굴용으로 사용할 계획은 없지만 최근에 모니터 없이 개인 서버를 운용하려고 하니 팀뷰어에서 3D 연산이 되지 않는 문제가 발생했었다. 원격으로 서버를 제어할 건데 3D 연산이 왜 필요하냐고 싶다만서도 사실 3D 연산만 안 되는게 아니라 3D 연산이 안 되니 윈도우 화면 자체가 다 검은색으로 표현되고 중간 중간에 그래픽 연산이 필요한 것이 있으면 화면이 나오지 않는 문제가 있었다. 편리하게 쓰려고 윈도우 기반 서버를 사용하고 있는데 기본 제공되는 RDP(Remote Desktop Protocol)를 쓰려고 하니 보안 관련 이슈가 있고 최근에 해킹을 당한 적도 있어서 보안적.. 2020. 12. 23.
논문 작성할 때 유용한 그래프 생성 툴 그누플롯(GNUPLOT) 처음 논문을 작성할 때가 기억이 난다. 그래프를 그려야 하는데 엑셀로 그래프를 그리면 뭔가 허접해보였고 저명한 저널에서 볼 수 있던 논문의 그래프처럼 다양하게 그려지지도 않았다. 원하는 그래프 형식을 개념적으로 정의한 후 이것 저것 시도하였으나 마땅한 방법을 찾지 못 하고 있을 때 선배에게 물어봤는데 그누플롯(GNUPLOT)을 쓰면 그런 문제가 해결된다고 설명을 들었던 기억이 난다. 그누플롯은 무료 2D, 3D 그래프 생성 툴이며 현재 5.4.1까지 출시되어 있다. 그누플롯은 홈페이지(www.gnuplot.info/)에서 무료로 다운로드 받을 수 있다. 사용법을 다루고 있는 pdf 자료와 사진형식으로 공개되어 있는 데모가 있어서 사용법을 금방 익힐 수 있다. 그누플롯을 실행하면 위와 같은 화면이 나타나는.. 2020. 12. 20.
VMWARE에 Windows 10 32비트를 설치해서 용량을 확인해보았다. 지인이 자기 컴퓨터에 VMWARE로 윈도우(Windows) 10 32비트(x86)를 설치를 몇개까지 할 수 있냐고 묻길래 한 번 테스트해보았다. 최대한 사용하는 설치에 사용되는 용량을 줄이고 가용 공간을 최대한 확보하는 것이 목표인 것 같았지만 이번에 나는 순정상태에서 얼마나 용량을 차지하는 지를 확인해보았다. 윈도우 10 이미지는 2020년 2월 8일에 마이크로소프트 홈페이지에서 다운받은 것을 사용하였다. 스토리지 공간으로 15.4GB를 할당하였으며 7.48GB를 사용하여 설치가 되었다. 순정 상태에서 Office 같은 불필요한 같이 설치되는 것을 삭제하면 좀 더 용량을 확보할 수 있을 것으로 보인다. CPU는 1개 코어만 할당해도 가동에는 문제가 없었으며 메모리의 경우 600MB를 항시 점유하고 있는.. 2020. 12. 14.
갑자기 VIEW 노출이 된다. 갑자기 이 블로그 방문자 수가 늘었길래 뭔가 싶어서 확인했는데 네이버 VIEW 노출이 되고 있는 것을 발견하였다. 언제부터인가 네이버는 VIEW 탭에서 네이버 서비스가 아니면 노출을 빼버렸는데 최근에 정책이 다시 바뀐 것인지 VIEW 탭에 티스토리 블로그 노출이 되고 있는 것을 확인할 수 있었다. 물론 동일 키워드를 제목과 본문에 쓰고 있는 네이버 블로그 보다는 노출이 뒤로 밀리겠지만 노출이 되는 것만으로도 장족의 발전이라고 생각이 든다. 2020. 12. 14.
[C#] 구글 API 인증 라이브러리를 설치하는 법 구글 OAuth 2.0 인증을 활용하여 구글 서비스를 이용한 프로그램을 개발하기 위해서는 구글 API 인증 라이브러리를 설치하는 것이 수월하다. 구글 API 인증 라이브러리는 Visual Studio 2019에서 NuGet 패키지 관리자로 쉽게 설치가 가능하다. NuGet 홈페이지로 가면 현재(2020-12-12) 기준으로 1.49.0이 안정적인 버전으로 출시되어 있는 것을 확인할 수 있었다. NuGet 패키지 관리자는 '도구' - 'NuGet 패키지 관리자' - '솔루션용 NuGet 패키지 관리...' 를 눌러서 실행할 수 있다. '찾아보기'에서 google.apis.auth를 입력하여 클릭하면 우측에 설치 버튼이 활성화 된다. 설치를 원하는 프로젝트를 클릭하여 설치 버튼을 누른다. 설치를 누르면 변경.. 2020. 12. 12.
[C#] 구글 블로거 API - 블로그 정보를 읽어오자 한국을 소개하는 영어 블로그를 운영해보려고 하는데 몇 가지 프로그램을 개발하는 것이 편해보여서 구글(Google) 블로거(Blogger) API(Application Programming Interface)를 사용하는 방법을 소개하고자 한다. 사용하는 기능 유형별 예제를 본 블로그에서 정리할 예정이고 소스코드가 어느 정도 모이면 Github에 공개할 예정이다. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; namespace BlogInformation { class BlogInformation { static void Main(strin.. 2020. 12. 9.
이클립스로 NS-3 개발하기(1/3) - 이클립스 설치 통합개발환경(Integrated Development Environment, IDE)로 개발하는 것은 생산성을 대폭 향상 시켜준다. 통합개발환경은 버튼 한번으로 빌드와 실행이 가능하고 자동완성 기능 등 다양한 생산성 향상을 위한 도구가 통합되어 있기에 이 시대를 살아가는 개발자들은 다 통합개발환경을 활용하여 개발하고 있다고 볼 수 있다. 마찬가지로 NS-3도 여러 통합개발환경을 통해 개발이 가능하다. 이번 글에서는 개인과 기관 모두 사용료가 무료인 이클립스(Eclipse)를 활용한 NS-3 개발환경 구축을 소개한다. 개발환경 Ubuntu 18.04 OpenJDK 8 Eclipse 2018-09 R 이클립스는 JVM(Java Virtual Machine, 자바가상머신)에서 실행가능하므로 우분투(Ubuntu.. 2020. 12. 7.
이더넷(w5500)과 PoE가 내장되어 있는 아두이노 DFR0342 보안으로 인해 무선 통신을 사용할 수 없는 곳이 꽤 많다. 그래서 IoT(Interent of Thing) 장비가 유선 통신 기반으로 작동하는 것을 요구하는 기관과 업체가 상당히 많은데 그런 제품의 프로토타입을 빠르게 개발하는 방법 중 하나가 아두이노(Arduino)를 활용하는 것이다. 최근 추세는 모든 단말에 IP(Internet Protocol)를 올려서 통신하는 것이 유행이며 이를 통해 센서가 서버로 데이터를 송신하는 것이 대세이다. IP를 지원하는 가장 쉬운 방법은 이더넷(Ethernet) 모듈을 아두이노에 연결하여 사용하는 것이다. 또한 간편한 설치 및 배포를 하기 위해서는 최대한 설치를 위한 공사량을 줄이는 것인데 이더넷 선과 전력 선 두 가지를 사용하는 것 보다는 이더넷 선에 파워까지 연결하.. 2020. 12. 6.
자바 프로그래밍이란? 개발사 자바(Java)는 썬 마이크론시스템즈(Sun Microsystems)에서 1995년에 개발된 객체 지향 프로그래밍 언어이다. 제임스 고슬링(James Arthur Gosling)이 고안하였으며 현재 강력한 프로그래밍 언어 중 하나이다. 2010년에 썬 마이크론시스템즈가 오라클에 인수되어 오라클 홈페이지에서 자바 프로그래밍에 필요한 프로그램인 JDK(Java Development Kit, 자바 개발 도구)를 다운받을 수 있다. JDK 종류 JDK는 크게 OracleJDK와 OpenJDK로 구분 가능한데 라이센스 정책이 OpenJDK는 무료이며 OracleJDK의 경우 유료화가 진행되고 있으므로 사용하고자 하는 목적에 따라 구분하여 사용하는 것이 필요하다. 개인이 학습 목적으로 사용하는 것에는 둘 다.. 2020. 12. 5.