- ハンドル: masatoi
- Emacs歴は20年くらい?
/* | |
sudo apt install libsdl2-dev | |
gcc keyevent.c -o keyevent -lSDL2 | |
*/ | |
#include <SDL2/SDL.h> | |
#include <stdbool.h> | |
int main(int argc, char* argv[]) { | |
SDL_Init(SDL_INIT_VIDEO); |
;;; テキストコンソール時の表示崩れ対策 | |
;;; 東アジア文字の幅が曖昧なものを全て `?` 表記にする | |
(unless (display-graphic-p) | |
(setq east-asian-ambiguous | |
'(#x00A1 ; Po INVERTED EXCLAMATION MARK | |
#x00A4 ; Sc CURRENCY SIGN | |
#x00A7 ; Po SECTION SIGN | |
#x00A8 ; Sk DIAERESIS | |
#x00AA ; Lo FEMININE ORDINAL INDICATOR | |
#x00AD ; Cf SOFT HYPHEN |
;;; Install | |
;; requestが必要なので M-x package-install request などでインストールしておく | |
;; init.elなどでロードする | |
;; (load-file "/path/to/textra.el") | |
;; キーバインドを設定しておく | |
;; (global-set-key (kbd "C-c t") 'textra-translate) | |
;;; Usage | |
;; 翻訳したい部分をリージョン選択して設定したキーバインド、または M-x textra-translate | |
;; 翻訳結果がミニバッファに出る。また、同じ内容がクリップボードにコピーされている |
;;; -*- Coding: utf-8; Mode: Lisp; -*- | |
;; ltkのドキュメント | |
;; http://www.peter-herth.de/ltk/ltkdoc/ | |
;; 逆引きCommon Lisp: Ltk | |
;; https://lisphub.jp/common-lisp/cookbook/index.cgi?Ltk | |
;; ライブラリ読み込み | |
(ql:quickload :ltk) |
;;; 1.2 手続きとそれが生成するプロセス | |
;;; 1.2.1 線形再帰と反復 | |
(defun factorial (n) | |
(if (= n 1) | |
1 | |
(* n (factorial (- n 1))))) | |
(disassemble 'factorial) | |
; disassembly for FACTORIAL |
;;; Install | |
;; requestが必要なので M-x package-install request などでインストールしておく | |
;; init.elなどでロードする | |
;; (load-file "/path/to/deepl.el") | |
;; キーバインドを設定しておく | |
;; (global-set-key (kbd "C-c t") 'deepl-translate) | |
;;; Usage | |
;; 翻訳したい部分をリージョン選択して設定したキーバインド、または M-x deepl-translate | |
;; 翻訳結果がミニバッファに出る。また、同じ内容がクリップボードにコピーされている |
店舗ユーザが発行し、エンドユーザがポケペイアプリから読み取ることでチャージ取引が発生するQRコードです。
チャージQRコードを解析すると次のようなURLになります(URLは環境によって異なります)。
https://www-sandbox.pokepay.jp/checks/xxxxxxxx-xxxx-xxxxxxxxx-xxxxxxxxxxxx
QRコードを読み取る方法以外にも、このURLリンクを直接スマートフォン(iOS/Android)上で開くことによりアプリが起動して取引が行われます。(注意: 上記URLはsandbox環境であるため、アプリもsandbox環境のものである必要があります)
上記URL中の xxxxxxxx-xxxx-xxxxxxxxx-xxxxxxxxxxxx
の部分がチャージQRコードのIDです。
(defclass parent () ()) | |
(defclass child (parent) ()) | |
(defparameter p1 (make-instance 'parent)) | |
(defparameter c1 (make-instance 'child)) | |
(defgeneric say (self word)) | |
(defmethod say ((self parent) word) | |
(format t "~A says ~A~%" self word)) |
インターネット上を流れるトラフィックは量的な意味では動画データが過半数を占めるようになりつつあるが、依然としてテキストデータの重要性は変わらない。テキストデータは日々ものすごいスピードで増え続けており、一人の人間の目で追い続けるのはもはや不可能である。また、それらのテキストデータは大抵の場合構造化されておらず、そのままでは使えないことが多い。そこでデータ分析が必要になる。テキストデータをデータ分析し、意味ある構造を取り出す行為をテキストマイニングと呼ぶ。
本章では、Common Lispのライブラリを用いて、インターネットをクローリングし、必要な情報を収集した上で構造化するためのいくつかの方法を紹介する。
Webスクレイピングとはウェブサイトから必要な情報を取り出す行為のことをいう。 Webスクレイピングでは、(1) Webからデータを取得し、(2) これを解析しDOM木構造を作り、(3) そこから必要な情報を探索するというプロセスを踏む。