TakesxiSximada

しむどん三度無視

しむどん三度無視

emacs/src/keyboard.cのoverriding-local-mapの翻訳

Keymap that replaces (overrides) local keymaps. If this variable is non-nil, Emacs looks up key bindings in this keymap INSTEAD OF the keymap char property, minor mode maps, and the buffer's local map. Hence, the only active keymaps would be `overriding-terminal-local-map', this keymap, and `global-keymap', in order of precedence. emacs/src/keyboard.cのoverriding ...

+++  · 1 min read

しむどん三度無視

wakatimeのハートビートに設定するprojectをorg-clockのカレントタスクから取得する

取得する関数を定義する。 (defun waka-get-project () (interactive) (when org-clock-marker (with-current-buffer (marker-buffer org-clock-marker) (org-get-category)))) その関数をrestclientで利用する。 先程定義したwaka-get-projectで取得した値を restclie ...

+++  · 1 min read

しむどん三度無視

org-clockのカレントタスクを取得する

org-clock-current-taskで取得できる。これは現在clock-inしているタスクの テキスト属性付きの文字列である。 このタスクに設定されたカテゴ ...

+++  · 1 min read

しむどん三度無視

typescript

...

+++  · 0 min read

しむどん三度無視

wakatimeのハートビートを手動で送信する

restclientを使ってwakatimeのハートビートの送信方法を確認確認した。 認証方法はBasic認証でAPIキーを用いる簡易な方法を用いた。 APIキーの ...

+++  · 2 min read

しむどん三度無視

強く孤独を感じるが、毎日全力を出し切れている。自分が果たすべき役割に集 中できているし、姿勢としては悪くない。仕事では満足の行く結果を得られて いる。このままこの状 ...

+++  · 1 min read

しむどん三度無視

companyのbackend

あらゆる入力に対し、foo bar bazの3つの候補を表示するシンプルなバックエンドを作成する。 (require 'cl-lib) (require 'company) (defvar company-foo-enable nil) (defvar company-foo-debug nil) (defun company-foo (command &optional arg &rest ignored) "`company-mode` completion backend for simple. Suggest foo, bar and baz. " (interactive (list 'interactive)) (when company-foo-debug (message "command=%s ...

+++  · 1 min read

しむどん三度無視

PXE Boot

...

+++  · 0 min read

しむどん三度無視

分割したOpenAPIのYAML形式のドキュメントをopenapi-coreを用いて読み込むことができるか?

openapi-coreで分割されたファイルを利用できるのかを確認したところできないことがわかった。 ...

+++  · 3 min read

しむどん三度無視

スタックとヒープ

ローカル変数はスタック領域に確保される。一方malloc()で確保したメモリは ヒープ領域に確保される。ヒープ領域に確保したメモリはfreeで開放する必要 がある。 ...

+++  · 1 min read

しむどん三度無視

hugoがどうやってorg-modeのファイルからHTMLを生成しているか?

hugoでorg-modeからHTMLへの変換に用いられているgo-orgを使って変換処理を行う。 ...

+++  · 1 min read

しむどん三度無視

リージョンのテキストをURL Encodeしてkill-ringバッファに保存する

(require 'url-util) (defun our-copy-region-url-encode () (interactive) (kill-new (url-hexify-string (buffer-substring-no-properties (region-beginning) (region-end))))) ...

+++  · 1 min read

しむどん三度無視

TODOリスト

...

+++  · 0 min read

しむどん三度無視

データベースをコピーする

作成済みのデータベースをもとに新しいデータベースを作成する方法を試した。 ...

+++  · 1 min read

しむどん三度無視

[Emacs] syntax-tableを扱う

modify-syntax-entryのコメントの日本語訳(意訳) /opt/ng/emacs/src/syntax.c Set syntax for character CHAR according to string NEWENTRY. 文字列NEWENTRYに従って文字CHARの構文を設定します。 The syntax is changed only for ...

+++  · 4 min read

しむどん三度無視

[Rust] 制御コードでspinする

use std::io; use std::io::{Write}; use std::{thread, time}; fn main () { let output = io::stdout(); let ten_millis = time::Duration::from_millis(1); loop { let mut handle = output.lock(); handle.write(b"|").unwrap(); thread::sleep(ten_millis); handle.write(b"\x1b[1D").unwrap(); handle.write(b"/").unwrap(); thread::sleep(ten_millis); handle.write(b"\x1b[1D").unwrap(); handle.write(b"-").unwrap(); thread::sleep(ten_millis); handle.write(b"\x1b[1D").unwrap(); handle.write(b"\\").unwrap(); thread::sleep(ten_millis); handle.write(b"\x1b[1D").unwrap(); } } ...

+++  · 1 min read

しむどん三度無視

制御コード

Spin b"|" b"\e[nD" b"/" b"-" b"\" 参考 https://en.wikipedia.org/wiki/ANSI_escape_code https://en.wikipedia.org/wiki/C0_and_C1_control_codes https://www.mm2d.net/main/prog/c/console-02.html https://qiita.com/PruneMazui/items/8a023347772620025ad6 http://7ujm.net/etc/esc.html ...

+++  · 1 min read

しむどん三度無視

[Rust] 標準入力を取り扱う

実装 use std::io; use std::io::BufRead; fn main() { let stdin = io::stdin(); for line_result in stdin.lock().lines() { println!("DATA: {:?}", line_result); } } main.rs ビルド $ rustc main.rs 実行 bash-5.1$ echo aaaaaaaaaaaaaa | ./main DATA: Ok("aaaaaaaaaaaaaa") ...

+++  · 1 min read

しむどん三度無視

EmacsとRustでTCPソケットを開いて接続を待ち受ける

方針 TCPソケットを開く処理はRustで実装する。 Emacs側はプロセスを起動するだけに止め標準入出力でそのプログラムとやり取りする。 実装 [package] name = "emacs-tcp" version = "0.1.0" authors = ["TakesxiSximada <[email protected]>"] ...

+++  · 1 min read

しむどん三度無視

[Python][websockets] Websocket Echoサーバーを実装する

websocketsのドキュメントをそのまま動かしてみた。 https://websockets.readthedocs.io/en/stable/ 実装 #!/usr/bin/env python import asyncio import websockets async def echo(websocket, path): async for message in websocket: print(f"recv {len(message)}") await websocket.send(message) start_server = websockets.serve(echo, "localhost", 8765) asyncio.get_event_loop().run_until_complete(start_server) asyncio.get_event_loop().run_forever() server.py import asyncio import websockets async def hello(): uri = "ws://localhost:8765" async with websockets.connect(uri) as websocket: await websocket.send("Hello world!") await websocket.recv() asyncio.get_event_loop().run_until_complete(hello()) ...

+++  · 1 min read

しむどん三度無視

Rustでasync_stdを用いて簡易なHTTP Serverを実装する

実装 [package] name = "testing" version = "0.1.0" authors = ["TakesxiSximada <[email protected]>"] edition = "2018" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] futures = "0.3" [dependencies.async-std] version = "1.6" features = ["attributes"] Cargo.toml use async_std::prelude::*; use async_std::net::TcpListener; use async_std::net::TcpStream; use futures::stream::StreamExt; async fn handle_connection(mut stream: TcpStream) { let mut buffer = [0; 1024]; stream.read(&mut buffer).await.unwrap(); let response = "HTTP/1.1 200 OK\r\n\r\naaaaaa\r\n\r\n"; stream.write(response.as_bytes()).await.unwrap(); stream.flush().await.unwrap(); } #[async_std::main] async fn main() { let listener = TcpListener::bind("127.0.0.1:7878").await.unwrap(); listener .incoming() .for_each_concurrent(/* ...

+++  · 1 min read

しむどん三度無視

RustでTCP Echo Serverを書く

TCPソケットを開いて接続を待ち受け、送られてきたデータをそのまま返すTCP EchoサーバーをRustで実装した。 ...

+++  · 2 min read

しむどん三度無視

RustでHello world!

Hello worldをprintするだけの処理を書く fn main () { println!("Hello world!"); } main.rs ビルド シンプルなコードなのでrustcを直接用いてビルドすることにした。 rustcコマンドの第一引数 ...

+++  · 1 min read

しむどん三度無視

シェルコードを実装する

C言語でexecveを用いてシェルを起動する #include <unistd.h> int main() { char filename[] = "/bin/sh\x00"; char **argv = 0; char **envp = 0; execve(filename, argv, envp); } exec_shell.c execveシステムコールを呼び出す処理をアセンブリで書く コンパイラはN ...

+++  · 1 min read

しむどん三度無視

セキュリティ関連の勉強会に参加した内容まとめ

心に残った良い内容だったと思えたものはこの3つ。 https://www.slideshare.net/shunaroo/mitre-attck-249336202 https://www.slideshare.net/ssuser8911f21/5eddsa https://speakerdeck.com/azara/zatukuri-hua-su-aws-iam-falsete-quan-sheng-ge-falsekao-efang-todui-ce ざっくりまとめていく。 TLPT TLPTとは TLPTとはThreat Led Penetration Testのこと。脅威情報をもとにして攻撃者 ...

+++  · 4 min read

しむどん三度無視

KubernetesのPod内のコンテナにシークレトで保持しているJSONファイルをマウントする

KubernetesではSecretで保持した値をPodで動作しているコンテナからファイ ルとして読み取らせることができる。以下では設定を行う。 Secretを登録 ...

+++  · 1 min read

しむどん三度無視

[WIP] READMEに何を書くべきか?

コンテンツ   ORDERED DONE READMEで伝えるべき構成要素 SCHEDULED: <2021-05-09 Sun> CLOCK: [2021-05-09 Sun 10:10]–[2021-05-09 Sun 10:19] => 0:09 READM ...

+++  · 1 min read

しむどん三度無視

Oracle DatabaseをDockerで起動する

Oracle Databaseのソースコードを取得しDocker Imageを自分でビルドして起動する。 ...

+++  · 3 min read

しむどん三度無視

Pythonでasyncioの非同期処理を実行中にシグナルハンドラが実行された場合、非同期処理は処理を一時的に停止するか?

Pythonの非同期処理の標準ライブラリであるasyncioを用いて非同期処理を実行している時にOSからシグナルを受信してシグナルハンドラに登録した関数が呼び出されるとPythonのGILの性質により実行されていた非同期処理は一時的に処理を中断することを確認した。 ...

+++  · 2 min read

しむどん三度無視

Github CLIを使う

Githubの操作を行うCLIクライアントGithub CLIを使う。 ...

+++  · 2 min read

しむどん三度無視

期首月と年月から年度を取得するEmacs Lisp

期首月と年月から年度を取得する (defun get-fiscal-year(beginning_of_month year month) (if (<= beginning_of_month month) year (- year 1))) ...

+++  · 1 min read

しむどん三度無視

Confluenceについて考える

ナレッジマネジメントツールであるConfluenceとその付き合い方について考える。 ...

+++  · 3 min read

しむどん三度無視

EmacsのサブプロセスをGraceful Shutdownする

AWSのECSの停止時の挙動をローカルでエミュレートするためにGraceful Shutdownのための関数を実装した。 ...

+++  · 3 min read

しむどん三度無視

Editorモードで作成するファイルをファイルスタイルとディレクトリスタイルの両方に対応した

Emacsでblogの編集などを素早く行うためにEditorモードで作成するファイルをファイルスタイルとディレクトリスタイルの両方に対応した。 ...

+++  · 3 min read

しむどん三度無視

hugo-PaperModのshare_iconの設定方法

静的サイトジェネレーターHugoのテーマであるhugo-PaperModで、share_iconはどのように設定されているのかを調べた。 ...

+++  · 1 min read

しむどん三度無視

PythonでGmailのSMTPサーバーを使ってEmailを送信する

Pythonの標準ライブラリであるsmtplibを用いてSMTPでEmailを送信する。 ...

+++  · 1 min read

しむどん三度無視

Redis

Redisとは インメモリデータベース Key Value Store 速い Pub/Subの機能もある Whalebrew #!/usr/bin/env whalebrew image: redis:alpine3.13 ports: - "6379:6379" Pythonとredis-pyでRedisを使う redis-pyをインス ...

+++  · 1 min read

しむどん三度無視

xref.el

Emacsのクロスリファレンス用ライブラリであるxref.elについて調べた。 ...

+++  · 2 min read

しむどん三度無視

org-agendaのday viewでlocationの表示を行う

org-agenda-propertyを用いてorg-agendaのday viewに場所の情報を表示させる。 ...

+++  · 2 min read

しむどん三度無視

Googleに除外されているページをすべて非公開にする

Googleに除外されたページをCSVでダウンロードし非公開設定をおこなう。 ...

+++  · 9 min read

しむどん三度無視

translate-shellとEmacsを使って翻訳する

CLI環境で使えるtranslate-shellを用いてEmacs上から翻訳処理を実行する。 ...

+++  · 5 min read

しむどん三度無視

AWS ECS Execを使用してFargate上のコンテナとのセッションを開始する

AWS ECS Execがを使用してFargate上のコンテナとのセッションを開始する。同様ことができる従来のSSMセッションマネージャーとの比較を行う。 ...

+++  · 3 min read

しむどん三度無視

Celeryのワーカープロセス

Python製の非同期ジョブフレームワークであるCeleryのワーカープロセスのGraceful Shutdownの挙動を確認する。 ...

+++  · 3 min read

しむどん三度無視

GNU Guileのshebang

GNU Gnuleで使えるshebangを例示する。 ...

+++  · 1 min read

しむどん三度無視

AWS CLI及びSessionManagerPluginをインストールしFargateのコンテナとのセッションを開始する

AWS CLI及びSessionManagerPluginのインストール セッションを開始するにはAWSCLIとSessionManagerPluginをインストールす ...

+++  · 1 min read

しむどん三度無視

Terraformのバックエンド

Terraformの状態を記録するtfstateファイルの保存先のバックエンドの種類と使い方を解説する。 ...

+++  · 1 min read

しむどん三度無視

文章を音声で読み上げるEmacs Lisp

機械音声の動画を作成するにあたり、原稿を読み上げたらどうなるのかを Emacs上で確認できるように拡張を書いた。読み上げのツールとしては OpenJTalkを用いて ...

+++  · 2 min read

しむどん三度無視

リレーショナルデータベース

環境の構築方法 DB2 11.5.0.0 https://hub.docker.com/layers/ibmcom/db2/11.5.0.0/images/sha256-6e0d47d26c774cfcce36410dd2f1c8411f61d9692d8ddf03b967da7837b69686?context=explore 11.5.5.0 https://hub.docker.com/layers/ibmcom/db2/11.5.5.0/images/sha256-9577b5f306efdbc2792297275b8331059d0818eb70700d8106d986da2908d45c?context=explore https://qiita.com/Haruka-Ogawa/items/0a4696ded4fa40e5e983 https://qiita.com/SVC34/items/71dec32ca68943432f76 https://hub.docker.com/r/ibmcom/db2 MySQL 8.0.22 https://hub.docker.com/layers/mysql/library/mysql/8.0.22/images/sha256-9ea5b1010711123ab241f86b9aafeee0e4c425942a651a0ea3c2817e369c086a?context=explore $ docker pull mysql:8.0.22 Oracle Database https://qiita.com/niwasawa/items/0834e77b0690a5c8501d https://cosol.jp/techdb/2019/05/use_oracle_database_no_charge/ PostgreSQL 12 docker pull postgres:12-alpine https://hub.docker.com/layers/postgres/library/postgres/12-alpine/images/sha256-04da9831116872801b0ad9ce83a5577ee4779b3e8332a1dc2ec8df7ff95d04e9?context=explore SQL Server 2017 $ docker pull mcr.microsoft.com/mssql/server:2017-latest https://hub.docker.com/_/microsoft-mssql-server MySQL vs Percona Server for MySQL vs MariaDB MySQLにはその派生版や別配布がある。Percona Server for MyS ...

+++  · 1 min read

しむどん三度無視

ripgrep

ripgrepをインストールし、Emacsから利用できるように設定を行った。 ...

+++  · 2 min read

しむどん三度無視

ふりかえり

2021年の1月から3月までを振り返る。 ...

+++  · 1 min read