« ^ »

Symdon Blog


  • comment

    ゾンビトークン

    According to RFC 7519, the "exp" claim is OPTIONAL (https://tools.ietf.org/html/rfc7519#section-4.1.4). As a more correct behavior for authorization tokens, we require an "exp" claim. We don't want any zombie tokens walking around. RFC 7519によると、「exp」クレームは省略可能です (https://tools.ietf.org/html/rfc7519#section-4.1.4)。しかし、認証トー クンを正しく機能させるには「exp」クレームが必要です。本来期限が切れて いるにも関わらず、期限切れかどうかを判定するための情報を持たないいわゆ る「ゾンビトークン」が歩 ...

    所要時間: 約 1分, 作成: 2022/6/20, 更新: 2022/6/20


  • domain cloudflare

    お名前.comで管理していたドメインをCloudflare Registrarに移管した

    自分の実験用のドメインとしてsymdon.infoを所有している。以前は無料ドメ インを使用していたが、ひょんなことからそのドメインを手放すことになった。 そのかわりとしてこのドメインを取得した。ドメインの取得にはお名前.comを 利用した。お名前.comは管理画面の使用感が全く肌に合わなかったため、どこ かのタイミングで別のレジストラに移管しようと考えていた。今回、ドメイン の更新時期が近づいてきたことも ...

    所要時間: 約 2分, 作成: 2022/6/12, 更新: 2022/6/12


  • magit emacs

    Magitでpush操作後にプロセスバッファをポップアップする

    EmacsでGit操作を行う時にはEmacs用のGitユーティリティであるMagitを使用 することが多い。MagitのプロセスバッファにはGitの操作ログが表示される。 Gitのフック機能を使用している場合、その実行時の出力もMagitのプロセスバッ ファに出力されている。Gitのフックでテストや整形処理を行っている場合、 その結果を即座に確認したい。そのため、Magitのプロセスバッファをpush操 作 ...

    所要時間: 約 1分, 作成: 2022/6/10, 更新: 2022/6/10


  • comment

    gsendmailの認証情報をどこに保持するべきか考える

    gsendmailというsendmailぽいツールを実装した。これは標準入力からMIME形 式のデータ(つまりEメール)を受け取り、Gmail APIを利用してEメールを送信 する。Gmail APIはOAuth2の認可の仕組みを使用するため、アクセストークン やシークレットトークンをどこかに保持する必要がある。gsendmailはCLIツー ルであるため、クラウド上に保持することはあまり望ましくない。その必 ...

    所要時間: 約 3分, 作成: 2022/6/7, 更新: 2022/6/7


  • emacs translation

    Emacsでメールの初回送信時に表示するメッセージの翻訳

    Emacs is about to send an email message, but it has not been configured for sending email. To tell Emacs how to send email: Type ‘mail client’ to start your default email client and pass it the message text. Type ‘transport’ to invoke the system’s mail transport agent (the ‘/usr/sbin/sendmail’ program). Type ‘smtp’ to send mail directly to an "outgoing mail" server. (Emacs may prompt you for SMTP settings). Emacs will record your selection and will use it thereafter. To change it later, customize the option ‘send-mail-function’. EmacsはEメールの送信を試みましたが設定されていませんでした。 Emacsのメー ル ...

    所要時間: 約 1分, 作成: 2022/6/7, 更新: 2022/6/7


  • emacs lisp elpa

    EmacsのパッケージアーカイブをGithub Pagesでホスティングした

    Emacs Lispを日常的に書いていると自作したパッケージを依存関係が出てくる。 また自分以外の人に紹介する時にインターネット経由でダウンロードできるよ うにしておき、インストールが簡単に出来るようにしておきたい。そのため外 部にホスティングしたくなる。EmacsにはELPAという公式のパッケージのアー カイブの他に、MELPAというサードパーティのアーカイブがある。そこに様々 な開発者が開発したパッケージの情報が ...

    所要時間: 約 2分, 作成: 2020/11/7, 更新: 2022/6/6


  • comment

    なぜ私はブログを書くのか

    ブログを書き続けている。何のためにやっているかと問われれば、考えたことを文章化する練習と、やったことを忘れない備忘録のために書いているのだと思う。 Emacsを拡張して着手する心理的障壁を下げる工夫は一定できたように思う1 。その証拠に1週間の内で執筆しない週は現状ない。また過去に書いた文章のリライトについても、狙い通りの成果を得たように思う。それは技術選定でこだわったところの一つでもあった。技術記事 ...

    所要時間: 約 3分, 作成: 2022/6/6, 更新: 2022/6/6


  • comment

    夕べは鬱っぽかったけれど寝て起きたらいつものように戻ってた。よかった。翻訳作業の進捗も出ている。開発はまだまだ甘いところがあるけれど、しっかりカバーしよう。今日もノイズに阻害されることなく、目の前の事に全力で取り組む事を約束する。こういう努力を積み上げることで、本当に欲しい成果を得たいと思う。欲しい成果は2つある。会社の規模を大きくすることと、本の翻訳をやりきって良いものを出版すること。計画は既に ...

    所要時間: 約 1分, 作成: 2022/6/4, 更新: 2022/6/4


  • orgmode emacs

    今、集中すべき事を忘れないためにしているEmacsでの工夫

    私は元々注意散漫なところがあって、些細なことで集中が途切れてしまう。 そのため集中力を維持するためにいろいろな工夫をしている。 例えば、スマホやチャットの通知は切っているし、関連の少ない情報は目に入らないようにしている。 エディタを簡素化し、モードラインも消し、どうしても集中したいときは、 インターネットへのアクセスができない状態にして作業を行っている。 しかし必要のない情報は目に入ってきて注意を引いてくる ...

    所要時間: 約 3分, 作成: 2022/5/10, 更新: 2022/6/1


  • comment

    フルスタックとかスペシャリストとかを気にしすぎ。これは本当にどうでもよ くて、自分にとって興味があるか、しばらくの間続けられそうなのかなどを自 分と対話する時間をとったほうがいい。キャリア戦略とか考えずに、興味のあ ることを愚直に追いかけて、目の前にある仕事へ適応する方法を一生懸命考え れば、勝手にいろんな能力が身につく。しばらくして能力が増えたなと思った ら、転職や副業や起業などいろいろな他の環境でこんな ...

    所要時間: 約 1分, 作成: 2022/6/1, 更新: 2022/6/1


  • emacs lisp

    記事IDの生成

    このブログはHugoという静的サイトジェネレーターを使用して記述している。 Hugoでは特定のディレクトリにファイルを自分で作成することで記事を追加す る。その際のファイル名がURLのパスに反映される。ファイルの生成は自動化 しているが、生成時のファイルの命名ルールをどのようにしたほうがよいかを 考えた。ファイル名によってファイルの追加日がだいたいわかり、一覧にした ときに並び換えできるようにしたかった。今 ...

    所要時間: 約 2分, 作成: 2021/1/18, 更新: 2022/6/1


  • orgmode emacs

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

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

    所要時間: 約 2分, 作成: 2021/4/6, 更新: 2022/6/1


  • golang orgmode

    Goで標準入力からEmacsのorg-modeのデータを読み込みHTMLに変換し標準出力に出力する

    https://blog.symdon.info/posts/1626346909/でgo-orgを用いてorg-modeをHTMLに変 換した。そこではファイルパスをコード内に埋め込んでいたため使い勝手が悪 かった。今回は標準入力でorg-modeのテキストを受け取り、変換結果を標準出 力に出力するようにした。 ソースコード main.go package main import ( "bufio" "fmt" "github.com/niklasfasching/go-org/org" "os" ) func main() { reader := bufio.NewReader(os.Stdin) config := org.New() parser := config.Parse(reader, "") html_writer := org.NewHTMLWriter() html, err := parser.Write(html_writer) if err != nil { panic(err) } fmt.Println(string(html)) } go.sum ...

    所要時間: 約 1分, 作成: 2021/7/30, 更新: 2022/6/1


  • i18n webl

    個人のWebサイトを多言語化する

    symdon.infoドメインを取得したので、それに水をあげている。このブログも その一つだが、自己紹介用のWebサイトをhttps://www.symdon.infoに設置した。 折角作成したので、他の言語を使う人達にも見てほしいと思った。そこで多言 語化することにした。出来上がりはhttps://www.symdon.info/ja/だ。もとも と最初のページは2日ぐらいかけて英語で書いたのでそれを多 ...

    所要時間: 約 4分, 作成: 2021/8/13, 更新: 2022/6/1


  • comment

    時間を丁寧に使う

    数年前SNSにハマっていた時期があった。今でもたまに見るし、顔を出すこともある。ただもうあの頃みたいに熱中できないし戻りたいと思わない。もしそこにずっといて数年過ぎた時に、SNSへの投稿だけが積み上がっていて何も成長していない自分の姿を想像するとゾッとする。仕事や趣味であるソフトウェア開発に没頭して作品を作っている時、自分自身の成長を感じられる。だからそこに時間を使いたい。また身近な人をもっと大切 ...

    所要時間: 約 1分, 作成: 2022/2/19, 更新: 2022/5/30


  • hugo orgmode golang

    HugoはどうやってEmacsのorg-mode形式のファイルからHTMLを生成しているのか?

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

    所要時間: 約 7分, 作成: 2021/7/15, 更新: 2022/5/30


  • emacs eglot lsp python

    Emacs+EglotでLSPサーバーを起動する時に発生したTypeError: string indices must be integersの調査と回避方法

    LSP 近頃のソフトウェア開発ではLSPという技術がよく使われる。 LSPとはLanguageServer Protocolの略で、プロトコルの名称だ。 このプロトコルを使用してやりとりをできるようにした。サーバーをLSPサーバーと呼ぶ。 プログラムの開発時には関数やクラスや変数や定数の定義に移動したり、 プログラムの記述中に入力を予測し補完するといった機能が昔から実装されていた。 以前はCtagsというツールによ ...

    所要時間: 約 6分, 作成: 2022/5/25, 更新: 2022/5/26


  • security python

    PyPIの乗っ取りと環境変数の取り扱いについて考えた雑多なこと

    怖いTweetが流れてきた。 https://twitter.com/shimizukawa/status/1529259666798419969 どうやらPyPIのパッケージが乗っとられ実行環境の環境変数を外部サイトに送信されるということが起きていたようだ。 問題となったパッケージはctxというもの。すでにPyPIからは削除されている。 近年は環境変数でクレデンシャル情報などをアプリケーションに受け渡すことも多くなった。 サーバーレス技術やコンテナ技術が普及したことがそれを後押ししているように思える。 Web系の技術は ...

    所要時間: 約 2分, 作成: 2022/5/25, 更新: 2022/5/25


  • emacs jsonrpc json rpc[WIP]

    JSON-RPCとjsonrpc.el

    JSON-RPCはJSON形式のペイロードを送信することでRPCを実現するプロトコルだ。 初版は2005年、現時点での最新版である2.0は2010年に策定され、2013年に更新された。 EmacsにはこのJSON-RPCを利用するためのライブラリであるjsonrpc.elが梱包されている。 (require 'jsonrpc) 脚注

    所要時間: 約 1分, 作成: 2022/5/25, 更新: 2022/5/25


  • emacs emacs-lisp

    Elnodeで簡易的なWebサーバーを起動する

    Emacsには簡易サーバーを起動する拡張がある。 ここでいう簡易サーバーとはEmacsをデーモンモードで動作させるというものではなく、 HTTPのリクエストを受けとるためのウェブアプリケーションフレームワークのようなものだ。 実際に製品として使用するほどの機能はなく、Emacs自身にもその能力はない。 ではどこで役に立つのかというと、HTTPリクエストを試験的に受けとる時に使える。 Emacsはその瞬間にあ ...

    所要時間: 約 1分, 作成: 2021/11/7, 更新: 2022/5/24


  • comment

    一日一善

    現在、複数のプロジェクトに参画して開発やその他の作業を行っている。 それらのプロジェクトに一日に一善をするということを、最近心に決めて頑張っている。 一善とは何かというと、それはプルリクエストを作ることだと定義した。 私は仕事のアウトプットは全てGitにコミットされる形式になっており、 全てGithubにホスティングされている。 価値のあるシステムを構築していくことが求められていることであるし、 それには必ず ...

    所要時間: 約 1分, 作成: 2022/5/20, 更新: 2022/5/20


  • terraform googlecloud cloudsql[WIP]

    TerraformでGoogleCloudのCloudSQLのQuery Insightsを設定する

    Google Cloud Platform Provider TerraformでGoogleCloudを使用するにはGoogle Cloud Platform Providerを使用する。 https://registry.terraform.io/providers/hashicorp/google/latest/docs provider "google" { project = "testing" region = "asia-northeast1" } 実行するには必要に応じてサービスアカウントの設定が必要になる。 CloudSQLとQuery Insights CloudSQLを使用するにはgoogle_sql_database_instanceリソースを用いる。 https://registry.terraform.io/providers/hashicorp/google/latest/docs/resources/sql_database_instance 今回はPostgreSQL11のインスタンスをdb-f1-microで作 ...

    所要時間: 約 2分, 作成: 2022/5/18, 更新: 2022/5/18


  • terraform aws

    TerraformでAWS S3バケットを作成する

    localstackを起動 ダミーサーバとしてlocalstackを用いる。 docker run -it --rm \ --publish="127.0.0.1:4566:4566" \ --publish="127.0.0.1:4571:4571" \ --publish="127.0.0.1:8080:8080" \ --expose="4566" \ --expose="4571" \ --expose="8080" \ --workdir="/workdir" \ --volume "$(pwd):/workdir" \ --name="localstack" \ localstack/localstack:0.12.6 tfファイルを準備する main.tf main.tf:: variable "access_key" {} variable "secret_key" {} terraform { backend "local" { path = "./terraform.tfstate" } } provider "aws" { access_key = var.access_key secret_key = var.secret_key region = "ap-northeast-1" s3_use_path_style = true // MinIOやLocalStackを用いる endpoints { s3 = "http://localhost:4566" sts = "http://localhost:4566" } } resource "aws_s3_bucket" "testing_bucket" { bucket = "testing" tags = { Name = "Yay" Environment = "Dev" } } resource "aws_s3_bucket_acl" "testing_bucket_acl" { bucket = aws_s3_bucket.testing_bucket.id acl = "private" } Initializing the backend... Successfully configured the backend "local"! Terraform will automatically use this backend unless the backend configuration changes. Initializing provider plugins... - Finding latest version of hashicorp/aws... - Installing hashicorp/aws v4.14.0... - Installed ...

    所要時間: 約 5分, 作成: 2022/5/17, 更新: 2022/5/17


  • comment

    作業内容を切り替えるたびに、脳内を無理矢理リセットしようとして、脳が溶ける。

    所要時間: 約 1分, 作成: 2022/5/17, 更新: 2022/5/17


  • comment

    今日も出来るかぎり働いた。限界まで進んだ。 美味しい御飯も食べられた。本当にありがたいことだ。 特に最近はしっかり仕事に取り組めている。 開発の仕事は忙しく難しい問題に遭遇したりもするが、時間を適切に使うことはできている。 また数カ月前から始めた技術書の翻訳の仕事も順調だ。 難しくもあるがとてもやり甲斐のある仕事だ。 今は仕事に全力を投入できていると思う。思えばここ数年は自分への甘えがあったように思う。 自分の ...

    所要時間: 約 2分, 作成: 2022/4/30, 更新: 2022/5/15


  • comment

    僕が技術系の情報共有サイトを使うのをやめた理由

    僕は、以前技術系の情報共有サービスを好んで使っていた。Qiitaを利用していた時もあるし、qrunch.ioも利用していた事もあった1。技術系の情報共有サービスと言えるか分からないけれどGistで書いていた事もある。それぞれのサービスを開発や運営されていた方々には感謝を述べたい。 しかし今はそれらのサービスを使って記事を投稿はしていない。それぞれのサービスは良くできてる素晴しいものだけれど、僕の個人 ...

    所要時間: 約 2分, 作成: 2022/1/13, 更新: 2022/5/14


  • golang gin

    Go+Ginで実装したAPIにバックグランドタスクを追加する

    Ginで実装しているAPIにバックグラウンドで実行するタスクを追加したくなったので、 小さな構成を作成して、挙動を確認することにした。 仕様 要求 TCP 8000でポートを開きHTTPサーバを稼動させる。 HTTPサーバは GET / に対して特定の文字列を返す。 2)で返すBODYはS3互換オブジェクトストレージのexampleバケットのobject.txtキーで取得できるファイルの中身とする。 2)で返すデータは1分間キ ...

    所要時間: 約 3分, 作成: 2022/5/13, 更新: 2022/5/13


  • orgmode emacs

    Emacsのorg-modeのcode blockのexportsオプションの挙動を確かめる

    org-modeはコードブロック( #+BEGIN_SRC* と #+END_SRC* )でコードを囲むと org-babel を使って囲んだコードを実行できます。 また実行した結果(出力)をコードブロックの後ろに挿入してくれて非常に便利です。記述したorg-modeを他の形式にエクスポートする時にコードブロック又はその結果はそれぞれに含めたいときと含めたくない時があります。 例えばシェルスクリプトが記述されているならば、コードも結果も含めたいでしょう。しかし図形のソ ...

    所要時間: 約 2分, 作成: 2018/1/12, 更新: 2022/5/12


  • comment

    海に行く。

    所要時間: 約 1分, 作成: 2022/5/8, 更新: 2022/5/8


  • retrospective agile scrum[WIP]

    レトロスペクティブ

    曜日 Velocity 備考 月 140 火 592 水 6 BBQ 木 0 二日酔いで何もできなかった 金 287 開発の途中にウォーキングするようにした 土 435 開発の途中にウォーキングするようにした 日 87 海で開発 気付いたこと 飲酒するとそん前後で著しくパフォーマンスが下がる。 2時間前後の作業後に1時間程度のウォーキングを入れるとその後の集中力が増す。 Velocityは最大でも600は越えない。 実績の計測が正しくできていない。 タスクの完了基準が曖昧になってしまっ ...

    所要時間: 約 2分, 作成: 2022/5/7, 更新: 2022/5/7


  • comment

    BBQ

    知人からお声をかけてもらったのでBBQに参加してきた。 会場は豊洲のWild Magic1というところ。 景色、ロケーションが凄く良いところだった。 すぐ近くに東京湾、川の向こうにはビル街があって、夕暮れ時の景色がとても 綺麗だった。冷静にと思っていたが雰囲気に飲まれた結果、少し(だいぶ)ワイ ンを飲みすぎてしまったが、良いゴールデンウィークの思い出になった。美味 しいお肉を食べて、お酒を飲んで、少しだけ深い話 ...

    所要時間: 約 2分, 作成: 2022/5/6, 更新: 2022/5/6


  • swift

    SwiftでmacOSのメニューバーに常駐するプログラムを実装する

    macOSの常駐プログラムを実装する必要が出てきた。考えてみると、これまでmacOS用常駐プログラムは実装したことがなかった。 そこで今回は簡単な常駐プログラムをSwiftで実装することにした。 要求仕様 常駐プログラムの実装に慣れることが目的であるため、できるかぎり簡単な仕様にする。 起動するとメニューバーに"Sample"と表示し常駐する。 メニューバーの"Sample" ...

    所要時間: 約 1分, 作成: 2022/5/6, 更新: 2022/5/6


  • swift

    SwiftでHelloWorldする

    環境 以下のSwiftがインストール済みであることを前提とする。 swift --version Apple Swift version 5.5.1 (swiftlang-1300.0.31.4 clang-1300.0.29.6) Target: x86_64-apple-macosx11.0 Hello world! なにはともあれHello world!を行う。 Sources/HelloWorld/main.swift: print("Hello world!") 実行する。 swift run Sources/HelloWorld/main.swift Hello world! ビルドする ビルドするためにはマニフェストファイルを作成する必要がある。 これらのファイルは swift package init でスキャフォールディングすることで、生成できる。 Package.swift: // swift-tools-version:5.5.0 import PackageDescription let package = Package( name: "HelloWorld", dependencies: [ ], targets: [ .executableTarget( name: "HelloWorld") ] ) ビルドする。 swift build [0/0] Build complete! 実行する。 swift run Hello world! バイナリなどのビルド ...

    所要時間: 約 1分, 作成: 2022/5/6, 更新: 2022/5/6


  • magit emacs

    Magitの--no-verifyオプションの指定方法を統一する

    magit-commit、magit-push、magit-rebaseには --no-verify options が用意されているが、magit-commitのみオプションの指定方法が異なる。 この指定方法を統一することで、操作上の混乱を少なくできる。 Function Before After Description magit-commit -n -h Changed. magit-push -h -h Not changed. magit-rebase -h -h Not changed. 各種コマンドの --no-verify オプションの指定方法 これについての修正を作成した。 https://github.com/TakesxiSximada/magit/commits/fix-magit-commit-no-verify-option しばらく動作させてみて問題が無ければPull Requestを作成しようと思う。 [ ...

    所要時間: 約 2分, 作成: 2022/4/27, 更新: 2022/5/3


  • orgmode emacs markdown

    Emacsのorg-modeでorg-md-export-as-markdownの目次表記をカスタマイズする

    org-md-export-as-markdownはorg-modeのテキストをMarkdownに変換します。変換時に自動で挿入される目次の位置と表記をカスタマイズしました。 何をしたいのか・なぜしたいのか org-md-export-as-markdownの挙動 Table of Contentsの表示位置を最初の見出しの前に差し込む デフォルトのTable of Contentsをオフにする Table of Contentsを差し込み ...

    所要時間: 約 11分, 作成: 2019/5/19, 更新: 2022/5/1


  • orgmode emacs

    Emacsでorg-modeの上付き文字と下付き文字の記法を切り替える

    • Emacsのorg-modeの上付き/下付き文字の設定を確認した。
    • アンダースコアやキャレット文字を使用することで制御できる。

    所要時間: 約 4分, 作成: 2021/11/28, 更新: 2022/5/1


  • orgmode emacs

    Emacsのorg-modeのアーカイブ機能について

    設定 (defconst org-archive-tag "ARCHIVE" "The tag that marks a subtree as archived. An archived subtree does not open during visibility cycling, and does not contribute to the agenda listings.") (defcustom org-archive-location "%s_archive::" "The location where subtrees should be archived. The value of this variable is a string, consisting of two parts, separated by a double-colon. The first part is a filename and the second part is a headline. When the filename is omitted, archiving happens in the same file. %s in the filename will be replaced by the current file name (without the directory part). Archiving to a different file is useful to keep archived entries from contributing to the Org Agenda. The archived entries will be filed as subtrees of the specified headline. When the headline is omitted, the subtrees are simply filed away at the end of the file, as top-level entries. Also in the heading you can use %s to represent the file name, this can be useful when using the same archive for a number of different files. Here are a few examples: \"%s_archive::\" If the current file is Projects.org, archive in file Projects.org_archive, as top-level trees. This is the default. \"::* Archived Tasks\" Archive ...

    所要時間: 約 2分, 作成: 2022/5/1, 更新: 2022/5/1


  • orgmode emacs

    Emacsのorg-modeでorg-babelのコードブロックの設定を共通化する

    Org-modeのプラグインであるorg-babelでドキュメント内に記述したコードを実行する方法と #+PROPERTY: 構文を使った設定設定の共通化の方法をまとめました。 コードブロックとorg-babel コードブロックの設定を共通化する 参考 コードブロックとorg-babel org-babelを使うとOrgのコードブロックを実行し結果をファイルに反映できます。 #+HEADER: :engine mysql #+HEADER: :dbhost 127.0.0.1 #+HEADER: :dbuser person_local #+HEADER: :dbpassword local12345 #+BEGIN_SRC sql SELECT 1; #+END_SRC #+RESULTS: | 1 | |---| | 1 | コードブ ...

    所要時間: 約 2分, 作成: 2020/11/6, 更新: 2022/5/1


  • orgmode emacs

    Emacsのorg-modeのアウトラインを一括で開閉する

    org-modeでアウトラインを開閉を行うには以下のコマンドを用いる。 動作 コマンド名 開く outline-show-all 閉じる outline-hide-other どんなショートカットにバインドされているかは環境によって異なるため、それぞれdescribe-bindingsで確認するとよい。

    所要時間: 約 1分, 作成: 2021/2/19, 更新: 2022/5/1


  • orgmode emacs

    Emacsでorg-agendaとorg-super-agendaを用いて見積を集計する

    Emacsには何と表現してよいのかわからない最強のツール、Org-modeというも のがある。Org-modeの機能は多岐に渡る。その中の機能の一つにタスク管理が あり、それを効率的に操作するためのorg-agendaという機能がある。そして org-agendaの不足している機能を補う形でサードパーティパッケージとして org-super-agendaがある。 タスク管理のための機能はかなり充実しているが ...

    所要時間: 約 2分, 作成: 2022/4/30, 更新: 2022/4/30


  • nntp 備忘録

    NNTP

    関連するRFC RFC Number Description URL RFC 3977 Network News Transfer Protocol (NNTP) https://datatracker.ietf.org/doc/html/rfc3977 RFC 4642 Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP) https://datatracker.ietf.org/doc/html/rfc4642 RFC 4643 Network News Transfer Protocol (NNTP) Extension for Authentication https://datatracker.ietf.org/doc/html/rfc4643 RFC 4644 Network News Transfer Protocol (NNTP) Extension for Streaming Feeds https://datatracker.ietf.org/doc/html/rfc4644 RFC 5536 Netnews Article Format https://datatracker.ietf.org/doc/html/rfc5536 RFC 5537 Netnews Architecture and Protocols https://datatracker.ietf.org/doc/html/rfc5537 RFC 6048 Network News Transfer Protocol (NNTP) Additions to LIST Command https://datatracker.ietf.org/doc/html/rfc6048 RFC 8054 Network News Transfer Protocol (NNTP) Extension for Compression https://datatracker.ietf.org/doc/html/rfc8054 RFC 8143 Using Transport Layer Security (TLS) with Network News Transfer Protocol (NNTP) https://datatracker.ietf.org/doc/html/rfc8143

    所要時間: 約 1分, 作成: 2022/4/26, 更新: 2022/4/26


  • comment

    change-case.elのリポジトリをGistからGithubに移動した。 https://github.com/TakesxiSximada/change-case.el

    所要時間: 約 1分, 作成: 2022/4/24, 更新: 2022/4/24


  • comment

    しばらく前から洋書の翻訳の仕事をしている。この先、しばらくはそこに全力を出したい。 いろいろと思うところはあるが、本当に欲しいものを得られるように、雑音に囚われることなく、成果を最大化できるように取り組んでいきたい。 今、その時にできるベストを考えて力を尽す以外に出来ることはない。行動でそれを示したい。

    所要時間: 約 1分, 作成: 2022/4/23, 更新: 2022/4/23


  • nuxt javascript[WIP]

    Nuxt+vue-scrolltoでアンカーに跳べるかを試す

    <template> <div> <p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p> <div id="bbb">BBB</div> <p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p><p>a</p> <div id="ccc">CCC</div> </div> </template> <script> export default { name: 'IndexPage', mounted () { this.$scrollTo("#bbb") } } </script> { "name": "example", "version": "1.0.0", "private": true, "scripts": { "dev": "nuxt", "build": "nuxt build", "start": "nuxt start", "generate": "nuxt generate" }, "dependencies": { "core-js": "^3.19.3", "nuxt": "^3.5.3", "vue": "^2.6.14", "vue-scrollto": "^2.20.0", "vue-server-renderer": "^2.6.14", "vue-template-compiler": "^2.6.14", "webpack": "^5.87.0" }, "devDependencies": {} } export default { // Disable server-side rendering: https://go.nuxtjs.dev/ssr-mode ssr: false, // Target: https://go.nuxtjs.dev/config-target target: 'static', // Global page headers: https://go.nuxtjs.dev/config-head head: { title: 'example', htmlAttrs: { lang: 'en' }, meta: [ { charset: 'utf-8' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' }, { hid: 'description', name: 'description', content: '' }, { name: 'format-detection', content: 'telephone=no' } ], link: [ { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' } ] }, // Global CSS: https://go.nuxtjs.dev/config-css css: [ ], // Plugins to run before rendering page: https://go.nuxtjs.dev/config-plugins plugins: [ ], // Auto import components: https://go.nuxtjs.dev/config-components components: true, // Modules for dev and build (recommended): https://go.nuxtjs.dev/config-modules buildModules: [ ], // Modules: https://go.nuxtjs.dev/config-modules modules: [ ['vue-scrollto/nuxt', { duration: 300 }], ], // Build Configuration: https://go.nuxtjs.dev/config-build build: { } }

    所要時間: 約 1分, 作成: 2022/4/19, 更新: 2022/4/19


  • python

    PynamoDB

    from pynamodb.attributes import JSONAttribute, UnicodeAttribute, ListAttribute from pynamodb.models import Model class Testing(Model): class Meta: table_name = "testing" region = "ap-northeast-1" host = "http://localhost:4566" code = UnicodeAttribute(hash_key=True) # test = Testing(code="foo") # test.save() class Testing2(Model): class Meta: table_name = "testing" region = "ap-northeast-1" host = "http://localhost:4566" code = UnicodeAttribute(hash_key=True) params = JSONAttribute(default=[]) params3 = ListAttribute(default=[]) t = Testing2.get("foo") class Testing3(Model): class Meta: table_name = "testing" region = "ap-northeast-1" host = "http://localhost:4566" code = UnicodeAttribute(hash_key=True) params = JSONAttribute(default=[]) params3 = ListAttribute(default=list) class Testing4(Model): class Meta: table_name = "testing" region = "ap-northeast-1" host = "http://localhost:4566" code = UnicodeAttribute(hash_key=True) params = JSONAttribute(default=[]) params3 = ListAttribute(default=list) params5 = ListAttribute()

    所要時間: 約 1分, 作成: 2022/4/19, 更新: 2022/4/19


  • prometheus

    Prometheusを使う

    インストールする 今回はlocalで動作させることが目的であるのでHomebrewを用いてインストールする。もちろん他の方法でインストールもできる。Dockerを用いたほうが楽な場合もあるだろう。 brew install prometheus 起動する 起動には設定ファイルが必要となる。デフォルトではカレントディレクトリのprometheus.ymlを探す。ただし起動するためだけであればファイルさえ存在していれば起動できる。そのため空のファイ ...

    所要時間: 約 2分, 作成: 2022/4/15, 更新: 2022/4/15


  • comment

    日々黙々と作業をしている。生活自体に不満はない。だが時々強い孤独感に襲 われる。この孤独感はとても不快だ。だからこの不快感を生活の中から取り除 きたい。知人と飲みに行けば解決する気もするが、飲みに行けるような人は周 りにいなかった。 現状を他の方法で解決できるかを探るためにタイプ別の孤独感の診断をやって みた。 https://www.vogue.co.jp/lifestyle/features/2019-11-05-lonleiness 結果は ⑦常に前向きなポジティブタイプ だった。 https://www.vogue.co.jp/lifestyle/article/loneliness-management-type7 内容は前向きでポジティブで良い状態だが 無理やりポジ ...

    所要時間: 約 2分, 作成: 2022/4/13, 更新: 2022/4/13


  • git

    Git Tips

    ブランチ間で差分のあるファイルパスを出力する。 git diff --name-only origin/main コミットログを消さずにGitのリポジトリを統合する https://github.com/TakesxiSximada/.org-capture というリポジトリを統合する場合 git remote add cap https://github.com/TakesxiSximada/.org-capture git subtree add --prefix=capture cap master –prefix で指定した場所にディレクトリが作成され、その下にファイルが作成される。 https://qiita.com/TakesxiSximada/private/a592b892de88452e59d0 を転載 HEADのコミットハッシュだけを表示する git show --quiet --pretty=format:"%H" 9ded0915acecab74208fc6bea38bf0796a3fe10a コミットログのAuthor及びCommitterの情報を書き換える git filter-branch -f --env-filter "GIT_AUTHOR_NAME='TakesxiSximada'; GIT_AUTHOR_EMAIL='<[email protected]>'; GIT_COMMITTER_NAME='TakesxiSximada'; GIT_COMMITTER_EMAIL='[email protected]';" HEAD 参考 https://qiita.com/koara-local/items/01b51f97cf2c4a3bfedf

    所要時間: 約 1分, 作成: 2021/2/3, 更新: 2022/3/30


  • celery redis python

    Celery + Redis構成でタスクのルーティングを設定から行う

    CeleryはPython製の非同期タスク用フレームワークであり、Djangoで記述され たプロダクトでは特に良く採用される。非同期タスクは、実行時間、メモリ、 CPUなどの計算リソースについて、あまり消費しない "軽い" ものから、多く消 費するような "重い" タスクが実装されることもある。 非同期タスクの "重さ" によってマシンのCPUの種類やメモリのサイズを変 ...

    所要時間: 約 2分, 作成: 2022/3/27, 更新: 2022/3/27


  • comment

    frontendのフレームワークを大量に使用しすぎて初見で動作を全く想像できない状態になっているコードを散見する。 開発スピードを低下させる要因になるため、このような実装は避けたほうがよい。

    所要時間: 約 1分, 作成: 2022/3/20, 更新: 2022/3/20


©TakesxiSximada