common-lisp Common Lisp에서 다국어 대응을 위해 gettext 사용 평소 Wordpress에서, po라든지 mo라든지를 볼 수 있지만, 제대로 마주본 적이 없었기 때문에 Common Lisp의 연습이 되면, gettext를 사용해 보기로 했습니다. 환경 이번 내용의 소스 코드 먼저 apt에서 필요한 도구를 설치해 둡니다. Poedit는 번역 파일을 만드는 소프트웨어입니다. 을 사용하여 프로젝트의 병아리를 생성합니다. 로케일에 대한 파일을 저장하기 위해, 에서... ECLcommon-lispGettext Raspbian에서 Lem 사용 Raspbian에서 Lem을 사용할 때 여러가지 걸렸기 때문에 설치 절차에서 설정까지 정리했습니다. ncurses가 필요하므로 먼저 설치하십시오. Roswell에서 Lem을 설치합니다. 다음 명령으로 환경 변수를 등록하고 bash 설정을 다시 읽습니다. 그런 다음 sudo 때때로 Lem을 사용할 수 있도록 설정합니다. 다음 명령을 사용하여 sudoers.tmp 파일을 열고 편집합니다. env... RaspberryPilemcommon-lispraspbian Wordnet × CommonLisp에서 동의어를 추출해보기 지정한 단어의 동의어·동의어를 조사하는 방법을 찾고 있었는데, 이하의 기사를 발견했으므로 이것을 Common Lisp로 해 보기로 했습니다. 한국어 WordNet은 다음 웹 사이트에서 다운로드할 수 있습니다. 이번에는 위 기사와 마찬가지로 sqlite3의 DB로 공개된 것을 사용합니다. 여러가지 편리하므로, Web 프레임워크 「 」를 사용합니다. 동의어 추출은 Common Lisp 프로그램에... WordNet자연 언어 처리common-lispcaveman2 CommonLisp에서 Ceramic과 Caveman2를 사용하여 GUI 앱 만들기 Common Lisp판 Electron인 Ceramic과 Caveman2를 사용하여 GUI 앱을 만들어 봅니다. Ceramic에 대해서는 다음을 참조하십시오. 먼저 Roswell을 사용하여 설치합니다. 이때 자신의 환경 (Ubuntu 18.04.1 LTS)에서uv.h: そのようなファイルやディレクトリはありません라는 오류가 발생했으므로 다음 명령으로 libuv-dev를 설치했습니다. REPL을 ... GUICeramiccommon-lispcaveman2 CommonLisp에서 Caveman2를 사용하여 TODO 목록 앱을 만들어 보았습니다. Caveman2를 사용하여 간단한 TODO 목록을 만들 수 있습니다. 사양은 다음과 같습니다. 추가 버튼을 눌러 텍스트 상자에 입력된 문자열을 데이터베이스에 추가하여 브라우저에 나열합니다. 나열된 태스크 아래에 삭제 버튼을 놓고 그것을 눌러 데이터베이스에서 태스크를 삭제하고 결과를 브라우저에 반영합니다. 태스크 입력용 텍스트 박스 1개 배치 작업 추가 버튼 하나 작업 삭제 버튼을 작업 수만큼... todocommon-lispcaveman2 CommonLisp에서 Caveman2와 SQLite3을 사용하여 데이터베이스 작업을 시도했습니다. Caveman2를 공부하자 기사를 써 보았습니다. Caveman2에서 SQLite를 조작하고 CREATE TABLE/SELECT/INSERT INTO/UPDATE/DELETE를 실행하는 방법을 설명합니다. 이번 괴롭히는 파일은 이하의 ★마크가 붙어 있는 파일입니다. 다음 위치를 찾아서 src/config.lisp 다음과 같이 다시 씁니다. src/config.lisp SQL을 실행하기 위한 ... SQLite3common-lispcaveman2 Opusmodus의 기본. 은 Common Lisp 기반 환경에서 쉽게 MIDI 및 Music XML을 생성할 수 있는 통합 개발 환경입니다. 앞에 된장입니다만, Opusmodus를 만들어 라든지를 만들거나 했습니다. 공식 사이트에도 다양한 샘플이 있습니다. mac 전용으로 유료입니다만, 여러가지 실험적인 알고리즘 작곡을 하고 싶을 때는 편리합니다. 몹시 편리합니다만, 기본적으로 일본인의 유저는 지금은 나 밖에 없기 ... Opusmoduscommon-lisp CommonLisp 및 GTK+3을 사용한 GUI 애플리케이션에서 위젯 배치 메모 CommonLisp 및 GTK+3에서 웹 애플리케이션을 작성할 때 위젯 배치에 관한 메모입니다. 이번에는 테이블을 사용한 배치 방법에 대해 설명합니다. 아래 코드로 위젯을 배치할 수 있는 6×5 그리드를 작성할 수 있습니다. 위젯은 다음 코드로 배치합니다. 배치할 때 아래와 같은 그림을 코멘트로 써 두면 알기 쉬울지도. 라벨, 엔트리, 버튼을 적당히 배치한 프로그램. gtk-table-sam... GTK3common-lispgtk CommonLisp 및 GTK+3을 사용한 GUI 응용 프로그램 작성 노트 CommonLisp과 GTK+3을 사용한 GUI 어플리케이션에 대해, 조사한 것을 메모해 갑니다. 우분투 17.10에서 실시. 덧붙여서, Raspberry Pi로 하려고 하면 라이브러리이다. Roswell에서 GTK+3 CommonLisp 래퍼 라이브러리를 설치합니다. 우선, 기본인 빈 윈도우 프로그램입니다. simple-window.lisp 다음 명령으로 실행합니다. 아래 스크린 샷. LT... GTK3common-lispgtk CommonLisp 웹 애플리케이션 프레임워크 Caveman2에 대한 메모 CommonLisp에서 웹 애플리케이션을 작성하기 위한 프레임워크인 Caveman2에 대해 살펴본 것을 메모해 갑니다. 주) Roswell을 사용한다고 가정합니다. 사전에 설치하십시오. (아래 참조) Roswell의 local-projects 디렉토리로 이동합니다. 자신의 디렉토리가 있으면 그 안에 들어가, 없으면 디렉토리를 만든 다음 들어갑니다. (이것은 Github에서 계정 이름이 좋은가... 웹 애플리케이션common-lispcaveman2 lem 설정에 대한 메모 쓰기 CommonLisp로 만든 편집기의 lem 설정에 대해 조사한 것을 메모 해 갑니다. lem은 다음에서 얻을 수 있습니다. 홈 디렉토리에 ".lemrc"라는 파일을 만들고 맨 위에 다음 코드를 나열합니다. .lemrc 키 바인드를 등록하는 경우는 이하와 같이 기재. .lemrc 예) Undo 기능의 키 바인딩 .lemrc 이미 있는 테마를 사용하는 경우는 아래와 같이 기재. .lemrc 예)... common-lisplem RaspberryPi에 EQL5 (Embedded Qt Lisp) 소개 노트 EQL5(Embedded Qt Lisp)가 생각했던 것 이상으로 재미있었기 때문에, RaspberryPi에도 도입해 보았습니다. 그 순서를 정리해 둡니다. ※ 사전에 ECL을 설치해 주십시오. ECL은 다음 기사를 참고하여 설치하십시오. 다음 명령으로 Qt 본체와 필요한 다양한 개발 도구를 설치합니다. 초기 상태에서는 Qt Ver.4.8.7을 참조하고 있으므로 다음 명령으로 Qt Ver.5.... RaspberryPiEQL5common-lisp Embeddable Common Lisp 및 Qt5로 GUI 애플리케이션 ~ 개발 환경 구축 ~ ECL(Embeddable Common Lisp)의 Qt 바인딩인 을 도입하고 싶습니다. ※ OS는 Ubuntu 17.10을 사용하고 있습니다. ※ 사전에 ECL을 설치해 주십시오. ECL은 다음 기사를 참고하여 설치하십시오. Qt를 설치하려면 에서 계정을 등록해야 합니다. 에서 Qt를 다운로드합니다. 버전은 5.8 이상이라면 좋다고 생각합니다. 자신은 5.9.1을 다운로드했습니다. 다음 명... QtECLcommon-lisp Embeddable Common Lisp 소개 노트 Qt와 함께 Android 앱도 만들 수 있다면 소문의 이 신경이 쓰였으므로, 내 PC에 도입해 보았습니다. RaspberryPi에서 ECL을 사용하려면 GMP 설치가 필요했습니다. RaspberryPi가 아니라면 이 장은 날려도 괜찮다고 생각합니다. 그래서 GMP의 설치 순서를 기재해 둡니다. GMP에 필요한 소프트웨어 설치 공식 사이트에서 소스 코드를 다운로드하여 압축을 풀어서 만든 디렉... RaspberryPiECLcommon-lisp RaspberryPi의 그래픽 라이브러리 Sikisai 이번에는 kedama17 씨가 작성한 그래픽 라이브러리 의 샘플 프로그램을 RaspberryPi 로 움직여 보고 싶습니다. LXTerminal(Raspbian 터미널/명령 프롬프트)을 열고 다음 명령을 실행하여 GLUT를 설치합니다. 비교적 시간이 걸렸습니다(3분 정도?). Sikisai를 Quicklisp에서 사용하려면 다음 명령을 사용하여 local-projects 디렉토리로 이동한 다음... RaspberryPicommon-lispOpenGL CommonLisp와 RaspberryPi로 웹 애플리케이션 ~ I2C 온도 센서 ~ 이번에는 I2C에서 을 사용한 온도 센서 모듈을 제어하고 싶습니다. 회로도, 디바이스 주소의 확인은 의 기사를 참조해 주세요. 또한 이번에도 같은 각종 라이브러리를 최신으로 할 필요가 있습니다. cffi, clack, clack-app-route, cl-markup을 Quicklisp로 로드하고 패키지 정의. packages.lisp 이전부터 전자 공작에서 사용하고 있던 것을 사용. 이번에는... RaspberryPi전자 공작IoT웹 애플리케이션common-lisp CommonLisp와 RaspberryPi로 웹 애플리케이션 ~L치카편~ , 간단한 웹 어플리케이션을 작성했으므로, 이번에는 웹 브라우저로부터 GPIO를 제어해 L치카를 해 보고 싶습니다. 이번 실시하는 내용에서는 필요한 각종 라이브러리를 최신 상태로 갱신하지 않으면 에러가 나오고 동작하지 않았습니다. 그래서 우선은 이들을 최신 상태로 하고 싶습니다. 아래의 웹 페이지를 참고로 했습니다. 먼저 다음 명령을 사용하여 "~/quicklisp/local-projects... RaspberryPi전자 공작IoT웹 애플리케이션common-lisp CommonLisp와 RaspberryPi로 웹 애플리케이션~그 2~ 간단하게 의 동작 확인을 할 수 있었으므로, 이번은 다음 번 이후 간단하게 사용할 수 있도록(듯이) 템플릿 프로그램을 작성해 두고 싶습니다. Clack을 Quicklisp로로드하고 패키지 정의. packages.lisp 의 샘플 프로그램을 조금만 했다. clack.lisp 다음 명령으로 실행합니다. ・Windows7의 IE에서 확인한 결과 · Android의 Google 크롬에서 확인한 결과... RaspberryPi웹 애플리케이션common-lisp CommonLisp와 RaspberryPi로 웹 애플리케이션~그 1~ CommonLisp과 RaspberryPi로 웹 애플리케이션을 만들고 싶습니다. 또한 자신이 CommonLisp에서 웹 애플리케이션을 만드는 데 공부한 것을 정리해 나갑니다. 이번에는 웹 애플리케이션 환경으로 " "을 사용합니다. SBCL을 시작하고 Quicklisp에서 Clack을로드합니다. 처음 로드할 때 상당히 시간이 걸립니다. 자신의 환경에서는 5분 정도 걸렸습니다. 이하 Clack ... RaspberryPi웹 애플리케이션common-lisp CommonLisp에서 RaspberryPi 전자 공작 ~시리얼 통신~ 이번에는 을 사용하여 RaspberryPi와 PC에서 시리얼 통신을 해보고 싶습니다. 불행히도 Raspberry Pi 설정에서 시리얼을 활성화하는 것만으로는 직렬 포트를 외부 장치와 통신하는 데 사용할 수 없습니다. 왜냐하면 기본적으로 직렬 포트가 직렬 콘솔로 작동하기 때문입니다. 따라서 다음 명령으로 직렬 콘솔을 비활성화해야 합니다. RaspberryPi3의 경우: RaspberryPi3 ... 전자 공작RaspberryPicommon-lisp CommonLisp에서 RaspberryPi 전자 공작 ~I2C 온도 센서~ 이번에는 I2C에서 을 제어하고 싶습니다. 이번에는 먼저 RaspberryPi와 ADT7410을 먼저 연결해 버립니다. 그런 다음 MI2CLCD-01의 디바이스 주소를 확인합니다. 장치 주소를 확인하려면 i2cdetect 명령을 사용합니다. cffi를 Quicklisp로로드하고 패키지 정의. 평소입니다. packages.lisp 이번에 추가할 함수는 다음 중 하나뿐입니다. · wiringPi... 전자 공작RaspberryPicommon-lisp CommonLisp에서 RaspberryPi 전자 공작 ~I2C LCD 그 2~ 지난번 I2C에서 을 제어해 보았습니다만, 이번은 그것을 GUI 어플리케이션으로부터 제어해 보고 싶습니다. 회로도와 디바이스 주소는 이전과 동일하므로 생략합니다. cffi와 ltk를 Quicklisp로로드하고 패키지 정의. packages.lisp 이전에 만든 것과 같은 것을 준비합니다. libwiringPi.lisp LCD에 표시할 문자열을 입력하는 엔트리와 엔트리에 입력한 문자를 LCD에... 전자 공작RaspberryPicommon-lispLTk CommonLisp에서 RaspberryPi 전자 공작 ~I2C LCD 그 1~ 이번에는 I2C에서 을 제어하고 싶습니다. 우선은 간단히 「Hello, world!」를 표시합니다. 이번에는 우선 먼저 RaspberryPi와 MI2CLCD-01을 먼저 연결해 버립니다. 그런 다음 MI2CLCD-01의 디바이스 주소를 확인합니다. 장치 주소를 확인하려면 i2cdetect 명령을 사용합니다. 위의 결과에서 장치 주소가 '0x3e'임을 알 수 있습니다. cffi를 Quickli... 전자 공작RaspberryPicommon-lisp CommonLisp에서 GUI 프로그래밍 ~ 라벨 및 항목 ~ 이번은 라벨과 엔트리(텍스트 박스와 같은 것)를 시험해 보고 싶습니다. ltk를 Quicklisp로로드하고 패키지 정의 평소 packages.lisp 엔트리에 입력한 캐릭터 라인을 라벨에 표시하는 프로그램입니다. entry.lisp SBCL을 시작하고 다음 명령으로 실행 이하 실행중인 모습 Raspbian에서 실행했습니다. Hello, world!를 입력해 보았습니다. 제대로 라벨에 표시되어... RaspberryPicommon-lispLTk CommonLisp로 GUI 프로그래밍~버튼 그 1~ 이번에는 전회 작성한 빈 윈도우 위에 버튼을 1개 배치해 보겠습니다. ltk를 Quicklisp로로드하고 패키지 정의 이것은 이전과 동일합니다. packages.lisp 버튼을 누르면 「Button pressed!」라고 콘솔에 표시해, 윈도우를 닫는 프로그램입니다. button.lisp SBCL을 시작하고 다음 명령으로 실행 이하 실행중인 모습 Raspbian에서 실행했습니다. 버튼을 누르면... RaspberryPicommon-lispLTk CommonLisp에서 GUI 프로그래밍~빈 윈도우~ CommonLisp에서 GUI 응용 프로그램을 만들고 싶었고 여러가지 조사하고 있었는데, Ltk라는 편리한 것을 발견했습니다. Ltk는 CommonLisp에서 쉽게 GUI 프로그래밍을 수행하는 것으로, OS를 불문하고 이용할 수 있다는 이점도 있습니다. 이것이라면 RaspberryPi의 Raspbian에서도 움직인다! 그렇다면 바로 만들어 보았습니다. Ltk는 내부적으로 Tcl/Tk를 호출하... RaspberryPicommon-lispLTk CommonLisp에서 RaspberryPi 전자 공작 ~GPIO 입력편~ 지난번에 계속해서 이번에는 GPIO 입력을 해보고 싶습니다. 이번에도 SBCL + Quicklisp를 사용합니다. 마지막과 똑같은 packages.lisp 마지막으로 만든 것에 필요한 함수를 더해갑니다. 다음 두 가지 추가. · pullUpDnControl 단자에 아무것도 연결되어 있지 않은 경우의 상태를 설정하는데 사용. 3.3V의 경우는 "2", 0V의 경우는 "1"로 설정한다. ·dig... RaspberryPiSBCLWiringPi전자 공작common-lisp CommonLisp에서 RaspberryPi 전자 공작 ~L치카편 SBCL판~ 전회 CLISP로 했던 L치카를 이번은 SBCL로 해 보려고 생각합니다. Quicklisp를 사용하므로 미리 설치해 두십시오. (아래 참조) 【추기】 SBCL 설치는 아래 기사의 "SBCL 설치"에 설명되어 있습니다. Quicklisp 설치는 다음 기사의 "Quicklisp 배포"에 설명되어 있습니다. cffi를 Quicklisp로로드하고 패키지 정의. packages.lisp L치카에 필요... RaspberryPiSBCLWiringPi전자 공작common-lisp Common Lisp에서 GPU 벡터 기반 글꼴 렌더링 그때 조금만 쓴 문자열 드로잉 라이브러리의 소개입니다. 브라우저의 렌더링 엔진을 만드는데 있어서, 취급하기 쉬운 묘화 백엔드가 필요했다. Gecko는 Cairo를 사용하는 것처럼 보였습니다 (과거의 이야기?) 그래서 을 시도했습니다. 그러나 문자열의 그리기를 세세하게 제어하려면 Pango도 이용해야 했다. OpenGL의 프리미티브 정도 부담없이 취급할 수 있는 것을 갖고 싶다. 다만 를 발견... lispcommon-lispOpenGL 이전 기사 보기
Common Lisp에서 다국어 대응을 위해 gettext 사용 평소 Wordpress에서, po라든지 mo라든지를 볼 수 있지만, 제대로 마주본 적이 없었기 때문에 Common Lisp의 연습이 되면, gettext를 사용해 보기로 했습니다. 환경 이번 내용의 소스 코드 먼저 apt에서 필요한 도구를 설치해 둡니다. Poedit는 번역 파일을 만드는 소프트웨어입니다. 을 사용하여 프로젝트의 병아리를 생성합니다. 로케일에 대한 파일을 저장하기 위해, 에서... ECLcommon-lispGettext Raspbian에서 Lem 사용 Raspbian에서 Lem을 사용할 때 여러가지 걸렸기 때문에 설치 절차에서 설정까지 정리했습니다. ncurses가 필요하므로 먼저 설치하십시오. Roswell에서 Lem을 설치합니다. 다음 명령으로 환경 변수를 등록하고 bash 설정을 다시 읽습니다. 그런 다음 sudo 때때로 Lem을 사용할 수 있도록 설정합니다. 다음 명령을 사용하여 sudoers.tmp 파일을 열고 편집합니다. env... RaspberryPilemcommon-lispraspbian Wordnet × CommonLisp에서 동의어를 추출해보기 지정한 단어의 동의어·동의어를 조사하는 방법을 찾고 있었는데, 이하의 기사를 발견했으므로 이것을 Common Lisp로 해 보기로 했습니다. 한국어 WordNet은 다음 웹 사이트에서 다운로드할 수 있습니다. 이번에는 위 기사와 마찬가지로 sqlite3의 DB로 공개된 것을 사용합니다. 여러가지 편리하므로, Web 프레임워크 「 」를 사용합니다. 동의어 추출은 Common Lisp 프로그램에... WordNet자연 언어 처리common-lispcaveman2 CommonLisp에서 Ceramic과 Caveman2를 사용하여 GUI 앱 만들기 Common Lisp판 Electron인 Ceramic과 Caveman2를 사용하여 GUI 앱을 만들어 봅니다. Ceramic에 대해서는 다음을 참조하십시오. 먼저 Roswell을 사용하여 설치합니다. 이때 자신의 환경 (Ubuntu 18.04.1 LTS)에서uv.h: そのようなファイルやディレクトリはありません라는 오류가 발생했으므로 다음 명령으로 libuv-dev를 설치했습니다. REPL을 ... GUICeramiccommon-lispcaveman2 CommonLisp에서 Caveman2를 사용하여 TODO 목록 앱을 만들어 보았습니다. Caveman2를 사용하여 간단한 TODO 목록을 만들 수 있습니다. 사양은 다음과 같습니다. 추가 버튼을 눌러 텍스트 상자에 입력된 문자열을 데이터베이스에 추가하여 브라우저에 나열합니다. 나열된 태스크 아래에 삭제 버튼을 놓고 그것을 눌러 데이터베이스에서 태스크를 삭제하고 결과를 브라우저에 반영합니다. 태스크 입력용 텍스트 박스 1개 배치 작업 추가 버튼 하나 작업 삭제 버튼을 작업 수만큼... todocommon-lispcaveman2 CommonLisp에서 Caveman2와 SQLite3을 사용하여 데이터베이스 작업을 시도했습니다. Caveman2를 공부하자 기사를 써 보았습니다. Caveman2에서 SQLite를 조작하고 CREATE TABLE/SELECT/INSERT INTO/UPDATE/DELETE를 실행하는 방법을 설명합니다. 이번 괴롭히는 파일은 이하의 ★마크가 붙어 있는 파일입니다. 다음 위치를 찾아서 src/config.lisp 다음과 같이 다시 씁니다. src/config.lisp SQL을 실행하기 위한 ... SQLite3common-lispcaveman2 Opusmodus의 기본. 은 Common Lisp 기반 환경에서 쉽게 MIDI 및 Music XML을 생성할 수 있는 통합 개발 환경입니다. 앞에 된장입니다만, Opusmodus를 만들어 라든지를 만들거나 했습니다. 공식 사이트에도 다양한 샘플이 있습니다. mac 전용으로 유료입니다만, 여러가지 실험적인 알고리즘 작곡을 하고 싶을 때는 편리합니다. 몹시 편리합니다만, 기본적으로 일본인의 유저는 지금은 나 밖에 없기 ... Opusmoduscommon-lisp CommonLisp 및 GTK+3을 사용한 GUI 애플리케이션에서 위젯 배치 메모 CommonLisp 및 GTK+3에서 웹 애플리케이션을 작성할 때 위젯 배치에 관한 메모입니다. 이번에는 테이블을 사용한 배치 방법에 대해 설명합니다. 아래 코드로 위젯을 배치할 수 있는 6×5 그리드를 작성할 수 있습니다. 위젯은 다음 코드로 배치합니다. 배치할 때 아래와 같은 그림을 코멘트로 써 두면 알기 쉬울지도. 라벨, 엔트리, 버튼을 적당히 배치한 프로그램. gtk-table-sam... GTK3common-lispgtk CommonLisp 및 GTK+3을 사용한 GUI 응용 프로그램 작성 노트 CommonLisp과 GTK+3을 사용한 GUI 어플리케이션에 대해, 조사한 것을 메모해 갑니다. 우분투 17.10에서 실시. 덧붙여서, Raspberry Pi로 하려고 하면 라이브러리이다. Roswell에서 GTK+3 CommonLisp 래퍼 라이브러리를 설치합니다. 우선, 기본인 빈 윈도우 프로그램입니다. simple-window.lisp 다음 명령으로 실행합니다. 아래 스크린 샷. LT... GTK3common-lispgtk CommonLisp 웹 애플리케이션 프레임워크 Caveman2에 대한 메모 CommonLisp에서 웹 애플리케이션을 작성하기 위한 프레임워크인 Caveman2에 대해 살펴본 것을 메모해 갑니다. 주) Roswell을 사용한다고 가정합니다. 사전에 설치하십시오. (아래 참조) Roswell의 local-projects 디렉토리로 이동합니다. 자신의 디렉토리가 있으면 그 안에 들어가, 없으면 디렉토리를 만든 다음 들어갑니다. (이것은 Github에서 계정 이름이 좋은가... 웹 애플리케이션common-lispcaveman2 lem 설정에 대한 메모 쓰기 CommonLisp로 만든 편집기의 lem 설정에 대해 조사한 것을 메모 해 갑니다. lem은 다음에서 얻을 수 있습니다. 홈 디렉토리에 ".lemrc"라는 파일을 만들고 맨 위에 다음 코드를 나열합니다. .lemrc 키 바인드를 등록하는 경우는 이하와 같이 기재. .lemrc 예) Undo 기능의 키 바인딩 .lemrc 이미 있는 테마를 사용하는 경우는 아래와 같이 기재. .lemrc 예)... common-lisplem RaspberryPi에 EQL5 (Embedded Qt Lisp) 소개 노트 EQL5(Embedded Qt Lisp)가 생각했던 것 이상으로 재미있었기 때문에, RaspberryPi에도 도입해 보았습니다. 그 순서를 정리해 둡니다. ※ 사전에 ECL을 설치해 주십시오. ECL은 다음 기사를 참고하여 설치하십시오. 다음 명령으로 Qt 본체와 필요한 다양한 개발 도구를 설치합니다. 초기 상태에서는 Qt Ver.4.8.7을 참조하고 있으므로 다음 명령으로 Qt Ver.5.... RaspberryPiEQL5common-lisp Embeddable Common Lisp 및 Qt5로 GUI 애플리케이션 ~ 개발 환경 구축 ~ ECL(Embeddable Common Lisp)의 Qt 바인딩인 을 도입하고 싶습니다. ※ OS는 Ubuntu 17.10을 사용하고 있습니다. ※ 사전에 ECL을 설치해 주십시오. ECL은 다음 기사를 참고하여 설치하십시오. Qt를 설치하려면 에서 계정을 등록해야 합니다. 에서 Qt를 다운로드합니다. 버전은 5.8 이상이라면 좋다고 생각합니다. 자신은 5.9.1을 다운로드했습니다. 다음 명... QtECLcommon-lisp Embeddable Common Lisp 소개 노트 Qt와 함께 Android 앱도 만들 수 있다면 소문의 이 신경이 쓰였으므로, 내 PC에 도입해 보았습니다. RaspberryPi에서 ECL을 사용하려면 GMP 설치가 필요했습니다. RaspberryPi가 아니라면 이 장은 날려도 괜찮다고 생각합니다. 그래서 GMP의 설치 순서를 기재해 둡니다. GMP에 필요한 소프트웨어 설치 공식 사이트에서 소스 코드를 다운로드하여 압축을 풀어서 만든 디렉... RaspberryPiECLcommon-lisp RaspberryPi의 그래픽 라이브러리 Sikisai 이번에는 kedama17 씨가 작성한 그래픽 라이브러리 의 샘플 프로그램을 RaspberryPi 로 움직여 보고 싶습니다. LXTerminal(Raspbian 터미널/명령 프롬프트)을 열고 다음 명령을 실행하여 GLUT를 설치합니다. 비교적 시간이 걸렸습니다(3분 정도?). Sikisai를 Quicklisp에서 사용하려면 다음 명령을 사용하여 local-projects 디렉토리로 이동한 다음... RaspberryPicommon-lispOpenGL CommonLisp와 RaspberryPi로 웹 애플리케이션 ~ I2C 온도 센서 ~ 이번에는 I2C에서 을 사용한 온도 센서 모듈을 제어하고 싶습니다. 회로도, 디바이스 주소의 확인은 의 기사를 참조해 주세요. 또한 이번에도 같은 각종 라이브러리를 최신으로 할 필요가 있습니다. cffi, clack, clack-app-route, cl-markup을 Quicklisp로 로드하고 패키지 정의. packages.lisp 이전부터 전자 공작에서 사용하고 있던 것을 사용. 이번에는... RaspberryPi전자 공작IoT웹 애플리케이션common-lisp CommonLisp와 RaspberryPi로 웹 애플리케이션 ~L치카편~ , 간단한 웹 어플리케이션을 작성했으므로, 이번에는 웹 브라우저로부터 GPIO를 제어해 L치카를 해 보고 싶습니다. 이번 실시하는 내용에서는 필요한 각종 라이브러리를 최신 상태로 갱신하지 않으면 에러가 나오고 동작하지 않았습니다. 그래서 우선은 이들을 최신 상태로 하고 싶습니다. 아래의 웹 페이지를 참고로 했습니다. 먼저 다음 명령을 사용하여 "~/quicklisp/local-projects... RaspberryPi전자 공작IoT웹 애플리케이션common-lisp CommonLisp와 RaspberryPi로 웹 애플리케이션~그 2~ 간단하게 의 동작 확인을 할 수 있었으므로, 이번은 다음 번 이후 간단하게 사용할 수 있도록(듯이) 템플릿 프로그램을 작성해 두고 싶습니다. Clack을 Quicklisp로로드하고 패키지 정의. packages.lisp 의 샘플 프로그램을 조금만 했다. clack.lisp 다음 명령으로 실행합니다. ・Windows7의 IE에서 확인한 결과 · Android의 Google 크롬에서 확인한 결과... RaspberryPi웹 애플리케이션common-lisp CommonLisp와 RaspberryPi로 웹 애플리케이션~그 1~ CommonLisp과 RaspberryPi로 웹 애플리케이션을 만들고 싶습니다. 또한 자신이 CommonLisp에서 웹 애플리케이션을 만드는 데 공부한 것을 정리해 나갑니다. 이번에는 웹 애플리케이션 환경으로 " "을 사용합니다. SBCL을 시작하고 Quicklisp에서 Clack을로드합니다. 처음 로드할 때 상당히 시간이 걸립니다. 자신의 환경에서는 5분 정도 걸렸습니다. 이하 Clack ... RaspberryPi웹 애플리케이션common-lisp CommonLisp에서 RaspberryPi 전자 공작 ~시리얼 통신~ 이번에는 을 사용하여 RaspberryPi와 PC에서 시리얼 통신을 해보고 싶습니다. 불행히도 Raspberry Pi 설정에서 시리얼을 활성화하는 것만으로는 직렬 포트를 외부 장치와 통신하는 데 사용할 수 없습니다. 왜냐하면 기본적으로 직렬 포트가 직렬 콘솔로 작동하기 때문입니다. 따라서 다음 명령으로 직렬 콘솔을 비활성화해야 합니다. RaspberryPi3의 경우: RaspberryPi3 ... 전자 공작RaspberryPicommon-lisp CommonLisp에서 RaspberryPi 전자 공작 ~I2C 온도 센서~ 이번에는 I2C에서 을 제어하고 싶습니다. 이번에는 먼저 RaspberryPi와 ADT7410을 먼저 연결해 버립니다. 그런 다음 MI2CLCD-01의 디바이스 주소를 확인합니다. 장치 주소를 확인하려면 i2cdetect 명령을 사용합니다. cffi를 Quicklisp로로드하고 패키지 정의. 평소입니다. packages.lisp 이번에 추가할 함수는 다음 중 하나뿐입니다. · wiringPi... 전자 공작RaspberryPicommon-lisp CommonLisp에서 RaspberryPi 전자 공작 ~I2C LCD 그 2~ 지난번 I2C에서 을 제어해 보았습니다만, 이번은 그것을 GUI 어플리케이션으로부터 제어해 보고 싶습니다. 회로도와 디바이스 주소는 이전과 동일하므로 생략합니다. cffi와 ltk를 Quicklisp로로드하고 패키지 정의. packages.lisp 이전에 만든 것과 같은 것을 준비합니다. libwiringPi.lisp LCD에 표시할 문자열을 입력하는 엔트리와 엔트리에 입력한 문자를 LCD에... 전자 공작RaspberryPicommon-lispLTk CommonLisp에서 RaspberryPi 전자 공작 ~I2C LCD 그 1~ 이번에는 I2C에서 을 제어하고 싶습니다. 우선은 간단히 「Hello, world!」를 표시합니다. 이번에는 우선 먼저 RaspberryPi와 MI2CLCD-01을 먼저 연결해 버립니다. 그런 다음 MI2CLCD-01의 디바이스 주소를 확인합니다. 장치 주소를 확인하려면 i2cdetect 명령을 사용합니다. 위의 결과에서 장치 주소가 '0x3e'임을 알 수 있습니다. cffi를 Quickli... 전자 공작RaspberryPicommon-lisp CommonLisp에서 GUI 프로그래밍 ~ 라벨 및 항목 ~ 이번은 라벨과 엔트리(텍스트 박스와 같은 것)를 시험해 보고 싶습니다. ltk를 Quicklisp로로드하고 패키지 정의 평소 packages.lisp 엔트리에 입력한 캐릭터 라인을 라벨에 표시하는 프로그램입니다. entry.lisp SBCL을 시작하고 다음 명령으로 실행 이하 실행중인 모습 Raspbian에서 실행했습니다. Hello, world!를 입력해 보았습니다. 제대로 라벨에 표시되어... RaspberryPicommon-lispLTk CommonLisp로 GUI 프로그래밍~버튼 그 1~ 이번에는 전회 작성한 빈 윈도우 위에 버튼을 1개 배치해 보겠습니다. ltk를 Quicklisp로로드하고 패키지 정의 이것은 이전과 동일합니다. packages.lisp 버튼을 누르면 「Button pressed!」라고 콘솔에 표시해, 윈도우를 닫는 프로그램입니다. button.lisp SBCL을 시작하고 다음 명령으로 실행 이하 실행중인 모습 Raspbian에서 실행했습니다. 버튼을 누르면... RaspberryPicommon-lispLTk CommonLisp에서 GUI 프로그래밍~빈 윈도우~ CommonLisp에서 GUI 응용 프로그램을 만들고 싶었고 여러가지 조사하고 있었는데, Ltk라는 편리한 것을 발견했습니다. Ltk는 CommonLisp에서 쉽게 GUI 프로그래밍을 수행하는 것으로, OS를 불문하고 이용할 수 있다는 이점도 있습니다. 이것이라면 RaspberryPi의 Raspbian에서도 움직인다! 그렇다면 바로 만들어 보았습니다. Ltk는 내부적으로 Tcl/Tk를 호출하... RaspberryPicommon-lispLTk CommonLisp에서 RaspberryPi 전자 공작 ~GPIO 입력편~ 지난번에 계속해서 이번에는 GPIO 입력을 해보고 싶습니다. 이번에도 SBCL + Quicklisp를 사용합니다. 마지막과 똑같은 packages.lisp 마지막으로 만든 것에 필요한 함수를 더해갑니다. 다음 두 가지 추가. · pullUpDnControl 단자에 아무것도 연결되어 있지 않은 경우의 상태를 설정하는데 사용. 3.3V의 경우는 "2", 0V의 경우는 "1"로 설정한다. ·dig... RaspberryPiSBCLWiringPi전자 공작common-lisp CommonLisp에서 RaspberryPi 전자 공작 ~L치카편 SBCL판~ 전회 CLISP로 했던 L치카를 이번은 SBCL로 해 보려고 생각합니다. Quicklisp를 사용하므로 미리 설치해 두십시오. (아래 참조) 【추기】 SBCL 설치는 아래 기사의 "SBCL 설치"에 설명되어 있습니다. Quicklisp 설치는 다음 기사의 "Quicklisp 배포"에 설명되어 있습니다. cffi를 Quicklisp로로드하고 패키지 정의. packages.lisp L치카에 필요... RaspberryPiSBCLWiringPi전자 공작common-lisp Common Lisp에서 GPU 벡터 기반 글꼴 렌더링 그때 조금만 쓴 문자열 드로잉 라이브러리의 소개입니다. 브라우저의 렌더링 엔진을 만드는데 있어서, 취급하기 쉬운 묘화 백엔드가 필요했다. Gecko는 Cairo를 사용하는 것처럼 보였습니다 (과거의 이야기?) 그래서 을 시도했습니다. 그러나 문자열의 그리기를 세세하게 제어하려면 Pango도 이용해야 했다. OpenGL의 프리미티브 정도 부담없이 취급할 수 있는 것을 갖고 싶다. 다만 를 발견... lispcommon-lispOpenGL 이전 기사 보기