« ^ »

Symdon Blog


  • comment

    Schemeを組み込む

    今回はSchemeを自分自身のアプリケーションに組み込んでみる。ビルドする環境はmacOSを使う。SchemeにはGNU Guileを使用し、GNU Guileは3.0をHomeBrewを使ってインストールしたものを使う。 Cのプログラムからリンクする GNU Guileの公式ドキュメントの「5.2.2 A Sample Guile Main Program」に書いてある事を試す1。 #include <stdio.h> #include <libguile.h> void inner_main (void *closure, int argc, char **argv) { scm_shell(argc, argv); } int main (int argc, char **argv) { scm_boot_guile (argc, argv, inner_main, 0); printf("Ok\n"); return 0; ...

    所要時間: 約 2分, 作成: 2023/8/12, 更新: 2023/10/12


  • comment

    落ち着いたら帰るというのは、逆に言うと落ち着かなければ帰らないという事でもあるように思う。

    所要時間: 約 1分, 作成: 2023/10/11, 更新: 2023/10/11


  • comment

    Emacsで既存のバッファを避けて現時点で新しく使用可能と思われるバッファ名を返す

    同じような実装はどこかにありそうだが、探すのが面倒だったので実装した。 get-new-buffer-name.el ;;; get-new-buffer-name --- Find non-conflicting buffer names. -*- lexical-binding: t -*- ;; Copyright (C) 2023 TakesxiSximada ;; Author: TakesxiSximada ;; Maintainer: TakesxiSximada ;; Version: 1 ;; Package-Version: 20231008.0000 ;; Package-Requires: ((emacs "29.1") (dotenv)) ;; Date: 2023-10-08 ;; This file is part of get-new-buffer-name. ;; This software is free software: you can redistribute it and/or ;; modify it under the terms of the GNU Affero General Public License as ;; published by the Free Software Foundation, either version 3 of the ;; License, or (at your option) any later version. ;; This software is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;; Affero General Public License for more details. ;; You should have received a copy of the GNU Affero General Public ;; License along with this program. If not, see ;; <https://www.gnu.org/licenses/>. ;;; Code: (defun get-new-buffer-name (prefix &optional number) & ...

    所要時間: 約 2分, 作成: 2023/10/9, 更新: 2023/10/9


  • comment

    org-modeとhugoで上手くascii artを扱う方法について考えた。 システムの構成図やシーケンズ図等を記述する方法は、最近だと何が人気なのだろう。Mermaidをよく聞く気がする。以前だと、Draw.io、PlantUML、Graphvizもよく聞く事があったが、最近ではあまり聞かない。それぞれ、長所と短所があるけれど、最終的に何を採用するかは好みの問題だ。 私は何を使用しているかというとD ...

    所要時間: 約 3分, 作成: 2023/10/7, 更新: 2023/10/7


  • comment

    Emacsで音声ファイルを再生する

    Emacsを使っていると自分用のコマンドが無数に増えていく。Webブラウザで言えばブックマークが増えていったり、自分用のショートカットが増えていく。BashやZshやその他のシェルを使っていれば自分用のaliasやワンライナーが増えていく。これと同じようにEmacsでは M-x で呼び出すコマンドを日常的に実装する。細かい事を考え出せばきりがないんだけれど、そういう事は一旦忘れて以下のようなコマンドを実装 ...

    所要時間: 約 2分, 作成: 2023/10/1, 更新: 2023/10/1


  • comment

    また寝込んでしまった。

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


  • comment

    dotenv.elを新しく実装した

    今までdotenv-mode.elをフォークし、幾つかの関数を追加したり修正したりして使用してきた1。いい加減自分で実装しても良さそうな気がしてきたので実装した。よく考えている事なんだけれど、便利な機能を持つツールがあって、それが沢山の機能を持っている時、大抵はその機能の全てを使う訳じゃない。使わない機能があっても、気にしなければ良い話なんだけれど、使わない機能がたくさんある弊害というのもあると思 ...

    所要時間: 約 2分, 作成: 2023/9/27, 更新: 2023/9/29


  • aws kms

    AWS KMSを使う

    鍵の管理するためのAWSのサービスにKMSがある。これを使用すると、鍵自体を自分で保持する事なく、必要な情報を暗号化/復号化できる。AWS KMSを使用した際に調べた事を記録しておく。 boto3で暗号化する boto3でKMSの暗号化を使うためには以下のようにする。 import boto3 import base64 plain_text: str = "yay" boto3_session = boto3.Session() kms_client = boto3_session.client('kms') resp = kms_client.encrypt( KeyId="11111111-2222-3333-4444-555555555555", Plaintext=plain_text, ) cipher_blob: bytes = resp["CiphertextBlob"] cipher_b64: bytes = base64.b64encode(cipher_blob) cipher_text: str = cipher_b64.decode() return cipher_text 気を付ける点としては、返されるデータはバイト列になっているため、文字列 ...

    所要時間: 約 2分, 作成: 2020/11/6, 更新: 2023/9/28


  • comment

    手を骨折してキーボードを上手く打てない。ここ数年で3回(もしかしたら4回かも)骨折してる。腕、肋骨、そして今回は手だった。HHKBは片手で操作するには不便なデバイスだという事が分かった。

    所要時間: 約 1分, 作成: 2023/9/27, 更新: 2023/9/27


  • comment

    DeadsnakeのPython3.8をUbuntuにインストールする

    Deadsnakeは古いバージョンのPythonのdebパッケージをPPA上でホスティングしている。そのため、Deadsnakeからパッケージをインストールするには、そのリポジトリを設定する必要がある。公式には登録されていないリポジトリを登録するには add-apt-repositor を使用していたが、このコマンドはどうやら非推奨になったようだ。ではどうするのかというとOpenPGPの公開鍵をダウンロードしておき、その鍵の設定を /etc/apt/sources.list ...

    所要時間: 約 6分, 作成: 2023/9/22, 更新: 2023/9/23


  • comment

    https://www.symdon.info をcloudflare pagesに引っ越しした。

    所要時間: 約 1分, 作成: 2023/9/21, 更新: 2023/9/21


  • comment

    仕事をクビになったから、これからの身の振り方を考えないといけない。

    所要時間: 約 1分, 作成: 2023/9/21, 更新: 2023/9/21


  • comment

    OpenPGPの鍵の用途

    OpenPGPの鍵の用途をまとめた。 用途(Capability) 英語表記 備考 鍵を署名する。 certification 主鍵に付ける用途。 署名する。 signing 暗号化する。 Encryption 認証する。 authentication SSHの認証などで使用する。

    所要時間: 約 1分, 作成: 2023/9/21, 更新: 2023/9/21


  • comment[WIP]

    開発方法の簡素化を考える

    開発作業が無駄に複雑になっている。もっとちゃんと考えた方がよさそう。でもあまり時間にも気持ちにも余裕がなくて、考えたり整備したりする時間がとれない。とりあえずメモだけ残しておく。 コンテナ mitmproxyを提供 <- 外界と繋っている 各種プログラムとの接続はscriptを動的に編集する。 sshを提供 認証をどのように提供するかを工夫する。 authorized_keysをあらかじめ設定しておけばよさそうでは ...

    所要時間: 約 1分, 作成: 2023/9/13, 更新: 2023/9/13


  • comment

    networkxはGraphvizに依存していない

    networkxを使用するにあたりgraphvizに依存しているかどうかを調べる必要が出てきた。とりあえずGraphvizがない状態でnetworkxとmatplotlibを使い、描画できるか確認した。 import matplotlib.pyplot as plt import networkx as nx G = nx.DiGraph() nodes = { "1": ("testing1", {'color': [0.3,0.3,0.3], 'node_size': 150, 'label': '', 'edgecolor': [0.9, 0.5, 0.2], 'linewidth': 1}), "2": ("testing2", {'color': [0.3,0.3,0.3], 'node_size': 150, 'label': '', 'edgecolor': [0.9, 0.5, 0.2], 'linewidth': 1}), } conns = { ("1", "2"): ("testing1", "testing2", {'color': [1, 1, 1], 'weight': 1, 'arrowsize': 1}), } position = { "testing1": [1,3], "testing2": [2,4], } G.add_nodes_from(nodes.values()) G.add_edges_from(conns.values()) fig, ax = plt.subplots(figsize=(5, 5)) nx.draw_networkx_nodes( G, position, ax=ax, node_color=[node['color'] for node in G.nodes.values()], node_size=[node['node_size'] for node in G.nodes.values()], linewidths=[node['linewidth'] for node in G.nodes.values()], edgecolors=[node['edgecolor'] for node in G.nodes.values()]) nx.draw_networkx_labels( ...

    所要時間: 約 1分, 作成: 2023/9/13, 更新: 2023/9/13


  • comment

    いろんなモデルを試しているんだけれど、PCのスペックが低すぎて、モデルやデータをロードしている時に処理系自体がクラッシュする。とんでもなくメモリを食い潰して、一応swapも発生しているみたいだけれど、間に合ってはいないらしい。ハイスペックなマシンに買い替えようかとも思ったけれど、リソースが足りなかったり故障とかの事を考えると、手元のマシンはショボいマシン(といってもメモリ8GBはある)でよくて、ハ ...

    所要時間: 約 1分, 作成: 2023/9/10, 更新: 2023/9/10


  • comment

    blog.symdon.infoは、元々はマイクロブログ的な使い方をする事と、多ユーザー展開的な構想もあったため、www.symdon.infoは個人のプロフィール情報などを掲載するサイトとし、blog.symdon.infoとは分離していた。ただ、多ユーザー展開構想にはもうあまり熱量がない。そうであれば、www.symdon.infoとblog.symdon.infoは統合した方が良い。 blog ...

    所要時間: 約 2分, 作成: 2023/9/9, 更新: 2023/9/9


  • comment

    マイナポータルの就労証明書作成コーナーというWebシステムがあるのだけれど、かなりレイアウト崩れしたPDFが生成される。一応これで作成したPDFを用意したけれど、このPDFについては、就労証明書の雛形をダウンロードし、自分で編集する方が、レイアウトが崩れないPDFを生成できるので、そうする事にした。 PDFを何を使って生成しているかは分からないけれど、PDFを生成するコードは自由ソフトウェアとして公 ...

    所要時間: 約 1分, 作成: 2023/9/9, 更新: 2023/9/9


  • comment

    Elementを使う

    https://kushview.net/element/ brew install boost git clone https://github.com/kushview/element.git cd element https://github.com/kushview/Element/blob/develop/docs/building.md#toc2 に従いビルドしようとするとエラーが発生した。 bash-5.2$ BOOST_ROOT="/usr/local/include" meson setup --native-file="tools/machine/osx.ini" builddir Could not find any valid candidate for native files: tools/machine/osx.ini ERROR: Cannot find specified native file: tools/machine/osx.ini tools/machine/osx.ini のファイルが何なのかよくわからないけれど、ファイルがないと言っているので空のファイルを作成する事にした。 mkdir -p tools/machine/ touch tools/machine/osx.ini またboostがないというエラーも発生した。boostはインストールしてあったがunlinkした状態だったため brew link した。 brew link boost BOOST_ROOT="/usr/local/include" meson setup --native-file="tools/machine/osx.ini" builddir The Meson build system meson compile -C builddir meson install --destdir="." -C builddir アプリケーシ ...

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


  • comment

    KMSは難しい。というか、もうあらゆる事が僕にとっては、とても難しい。 boto3を用いてKMSを用いたシンプルな暗号化と復号化の方法を確認する。 Pythonとboto3を使って暗号化と復号化を確認する import base64 import boto3 key_arn = "arn:aws:kms:REGION:111111111111:key/KEY_ID" kms = boto3.client('kms') enc_resp = kms.encrypt(KeyId=key_arn, Plaintext="yay") # 暗号化 cipher_data: bytes = enc_resp['CiphertextBlob'] # 暗号文 cipher_text = base64.b64encode(cipher_text).decode('utf-8') dec_resp = kms.decrypt(CiphertextBlob=cipher_data) # 復号化 plain_data: bytes = dec_resp["Plaintext"] plain_data.decode() GoとAWS SDK for Goを使って暗号化と復号化を確認する package main import ( "fmt" "encoding/base64" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/aws/credentials/stscreds" "github.com/aws/aws-sdk-go/aws/session" "github.com/aws/aws-sdk-go/service/kms" ) func main() { var ( profile = "DUMMY" key_arn = "arn:aws:kms:REGION:ACCOUNT_ID:keyKEY-ID" ) c := aws.NewConfig() o := session.Options{ Config: *c, Profile: profile, ...

    所要時間: 約 1分, 作成: 2023/9/4, 更新: 2023/9/4


  • comment

    AWSのスイッチロールのためのAWS CLIの設定は、少しややこしい。 https://dev.classmethod.jp/articles/switch-role-with-awscli/ この記事を見ながら設定した。mainが主アカウント、subがスイッチロール先のアカウント とする。 [profile main] region = ap-northeast-1 output = json [profile sub] region = ap-northeast-1 source_profile = main role_arn = arn:aws:iam::111111111111:role/SWITCH_RILE # スイッチ先のロール mfa_serial = arn:aws:iam::000000000000:mfa/DUMMY # 主アカウントのMFAのARN ~/.aws/config [main] aws_access_key_id = DUMMY aws_secret_access_key = DUMMY [sub] mfa_serial = arn:aws:iam::000000000000:mfa/DUMMY source_profile = main ~/.aws/credential

    所要時間: 約 1分, 作成: 2023/9/4, 更新: 2023/9/4


  • comment

    今日も結構頑張ったけれど、あんまり成果らしい成果を得られていない。

    所要時間: 約 1分, 作成: 2023/9/3, 更新: 2023/9/3


  • comment

    Web of Trustは本当に信頼できるのかという事について、少しだけ考えた。 https://www.nic.ad.jp/ja/newsletter/No82/NL82_0220.pdfでは著者の鈴木さんが、当時と今のご自身のWeb of Trustについての評価を少しだけ記載されていた。これが、とても印象に残ったので引用する。 しかし、シンプルに考えると今も昔もWeb of Trustは、「友達の友達は友達だ」という ...

    所要時間: 約 3分, 作成: 2023/9/3, 更新: 2023/9/3


  • comment

    Llama 2 Community Licenseの日本語の要約があった。 https://note.com/kyutaro15/n/ned7bcd2df2b1

    所要時間: 約 1分, 作成: 2023/9/3, 更新: 2023/9/3


  • comment

    最近は大規模言語モデルをいろいろと試してみている。今回はELYZA-japanese-Llama-2-7bを試してみる事にした。基本的には、ここで書かれている事をそのまま確認する。 https://huggingface.co/elyza/ELYZA-japanese-Llama-2-7b model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype"auto")= でモデルをダウンロードされる。貧弱なマシンだと、ここでダウンロードできなかったり、SIGKILLを受けて死んだりする。 import torch from transformers import AutoModelForCausalLM, AutoTokenizer B_INST, E_INST = "[INST]", "[/INST]" B_SYS, E_SYS = "<<SYS>>\n", "\n<</SYS>>\n\n" DEFAULT_SYSTEM_PROMPT = "あなたは誠実で優秀な日本人のアシスタントです ...

    所要時間: 約 1分, 作成: 2023/9/3, 更新: 2023/9/3


  • comment

    論文内の文章の対応関係というのが、とても参考になった。 https://twitter.com/ceekz/status/1697875729772671019/photo/1 なのでAAで描いて残しておく事にした。一部、こっちの方が良いのではという手直しをした。 +-----------------------+ | | | 背景・問題意識 | | | +------+----------------+ | v +------+----------------+ | | +------ 問い | | | | | +------+----------------+ | | | v | +------+----------------+ | | | | | 目的 +-----------+ | | | | | +------+----------------+ | | | | | +-----------+ | | | | | | v v | | +------+--+ +----+----+ | | | | | | | | | 調査A | | 調査B | | | | | | | | | +------+--+ +----+----+ | | | | | | v v | | +------+--+ +----+----+ | | | | | | | | | 結果A | | 結果B | | | | | ...

    所要時間: 約 1分, 作成: 2023/9/3, 更新: 2023/9/3


  • comment

    個人的に使うためのChatGPTが欲しかった。特別な認証を入れたり、UI側をカスタマイズする等だ。使う人を身内に限定するようにもしたかった。Chatbot UIをデプロイした。 https://chatbot.symdon.info/ja 私は普段静的サイトジェネレータをよく使う。そして、それはホスティングサービスを使用してビルド/デプロイし、Web上からアクセスできるようにしている。 使っているサービスは4つある。 Github Pages CloudFlare Pages Netlify Vercel このサイトはNetlifyでホステ ...

    所要時間: 約 2分, 作成: 2023/9/2, 更新: 2023/9/2


  • java

    Java関連の用語を整理する

    Java製のプロダクト JavaはWebシステム、銀行系、業務系、組み込みなど多くの分野で使用されている。Javaで実装されているサービスやソフトウェアは無数にある。実装の仕方等を学ぶ時に、既に良く実装されたソフトウェアを眺めてみると、とても参考になる事がある。こういう時、Github等で「awesome-xxx」のように検索してみると、参考になるページを見付けられるかもしれない。xxxの部分は検索 ...

    所要時間: 約 4分, 作成: 2021/7/16, 更新: 2023/9/2


  • comment

    できることはいまだに少ないな

    所要時間: 約 1分, 作成: 2023/9/2, 更新: 2023/9/2


  • comment

    OpenPGPの主鍵の秘密鍵は絶対に漏洩させても紛失させてもいけないため、取り扱いが難しい。よく行われる方法として以下の方法があるようだ。 ネットワークから遮断された状態のストレージに保存する。 紙に印刷する。 そしてこれを実施した後、普段使用しているGnuPGのデータベース内からは削除してしまうようだ。普段使いしている機械は、様々なリクスを抱える事になるから、重要な情報は保存しないという事なのだろう。 ...

    所要時間: 約 3分, 作成: 2023/9/1, 更新: 2023/9/1


  • openpgpg gnupg pgp cryptography

    PGPとOpenPGPとGnuPGに対する理解を深める

    暗号化関連の話はただでさえややこしいが、PGP関連の話は更にややこしくなる。きちんと理解できている訳ではないけれど、少しずつ整理して理解を深める事にする。 ざっくりとした公開鍵暗号方式 暗号化の話をする時には大体アリスや、ボブが登場する1。それに合わせて、ここでもその登場人物を使う。 アリス メッセージを送る人 ボブ メッセージを受け取る人 イブ メッセージを盗み見る人 アリスはボブにメッセージを送りたい。そしてイ ...

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


  • comment

    PDFをもう少しだけ掘り下げる

    PDFの理解を深めるため、PDFをもう少しだけ掘り下げようと思う。簡単なPDFをorg-tangleで生成できる事が今回のゴールだ。 PDFの構造 ヘッダ ファイルの先頭にはPDFのバージョンを指定する。最新は2.0のようだった。 %PDF-2.0 ボディ 1 0 obj << /Type /Catalog /Pages 2 0 R >> endobj 2 0 obj << /Type /Pages /Kids [4 0 R] /Count 1 >> endobj フォントを設定する。フォントは埋め込む事もできるが、この場合は、埋め込まれている訳ではないため、指定したフォントが、 ...

    所要時間: 約 2分, 作成: 2023/9/1, 更新: 2023/9/1


  • comment

    西暦と和暦と年度

    日本には和暦という暦があって、今は天皇陛下が崩御された時に元号が変わるようになっている。これは、ある意味ではある日突然元号が変わる事になっていて、西暦のキリが良い1月1日で切り変わるわけではない。これはまあ仕方がない事なんだけれども、それでもある程度のややこしさはある。ただ更に年度というものもあって、これは4月1日に切り替わったりするし、更に言うと他のものもある。暦や年や年度の数え方について、とて ...

    所要時間: 約 2分, 作成: 2023/9/1, 更新: 2023/9/1


  • pdf emacs lisp pdf-tools poppler c c++

    EmacsでPDFを扱うために右往左往する

    • pdf-toolsを使ってEmacsでのPDFの操作性を向上する。
    • PDF上のテキストをコピーしやすくする機能を追加した。
    • pdf-toolsでは注釈へ返信できないことが分かった。
    • Poppler、epdfinfo、pdf-toolsを拡張し、注釈への返信を実現した。

    所要時間: 約 14分, 作成: 2022/12/30, 更新: 2023/8/30


  • comment

    MySQLのバイナリログをPythonで読み出す

    MySQLのバイナリログをPythonのmysqlreplicationを使って読み取る。データベースドライバにはPyMySQLを使用する。 MySQL Serverを起動する。今回はDockerを使う。 export MYSQL_ALLOW_EMPTY_PASSWORD=1 docker run -it --rm \ --privileged=true \ --publish="127.0.0.1:3306:3306" \ --expose="3306" \ --workdir="/workdir" \ --volume "$(pwd):/workdir" \ --volume "mysql-server-8-data:/var/lib/mysql" \ --name="mysqld" \ --env-file="${SCRIPT_DIR}/.env.mysqld" \ mysql:8.0.2 MySQLにテスト用のデータベースとテーブルを作成する。 CREATE DATABASE page_1686018833; use page_1686018833; CREATE TABLE dept ( id MEDIUMINT NOT NULL AUTO_INCREMENT, name VARCHAR(10), PRIMARY KEY(id) ); 依存パッケージをインストールする。 pip install mysqlreplication pymysql MySQLに接続し、 ...

    所要時間: 約 5分, 作成: 2023/6/6, 更新: 2023/8/29


  • comment

    詳細で体系立ったドキュメントはなるべく書かない方がいいかもしれない。粗雑で書き捨てられた文章があれば、それとコードを手掛かりに理解を進められるし、そういう文章は保守する必要もないから、そういう点でも気楽だ。ただgrepできるような形態(つまりテキストファイル)になっていて、一括でダウンロードできる状態であれば文句はない。Gitで取得できたり、そうでなくてもファイルサーバにあればいい。 開発者ひとりず ...

    所要時間: 約 1分, 作成: 2023/8/29, 更新: 2023/8/29


  • comment

    半年前の自分にできてた事が、もうできないようになっているし、何が問題なのかもよくわからない。その調査で今日1日が消滅した。

    所要時間: 約 1分, 作成: 2023/8/27, 更新: 2023/8/27


  • comment

    AWSのアカウントがのっとられた場合に、アカウント全体を無効化するような手段を用意したいんだけれど、そういう事ってできないのかな。ルートユーザーだけは温存できていると仮定して、IAMユーザーを一気に無効化するようなスクリプトがあれば良いのかな。その後、稼動中のリソースが一覧で確認できれば、手動で停止していく事もできそうではあるけれど、このあたりの方法を手順として準備しておきたい。

    所要時間: 約 1分, 作成: 2023/8/27, 更新: 2023/8/27


  • comment

    できるかぎり頑張っているつもりだけれど、1日にちゃんと活動できる時間はそんなに長くない。その他の時間は、なんだかぼんやりしてしまっていたり、考えている事がまとまらなかったりする。 気が付けばもう8月も終盤になってた。本当にあっという間に時間が過ぎる。少し前に、とある配分について少し考えていた。松プラン、竹プラン、梅プランとしょんぼりプランの、4つのプランを作った。竹プランまでは完了していて、松プラン ...

    所要時間: 約 1分, 作成: 2023/8/27, 更新: 2023/8/27


  • comment

    Webの文書にルビを振る

    Webの文書にルビを振る実装をしてみた。内部ではJavaScriptにより、用意した辞書に登録されている文字列を探して、ルビ入りのHTMLに置換している。素のJavaScriptで実装したからWebブラウザ上でそのまま動作する。 ルビ用の辞書は別途生成する必要がある。今回の焦点は辞書の作り方ではなかった為、scriptタグ内に直接記述した。これはHTMLのレンダリングをする時に、コンテンツで使用され ...

    所要時間: 約 3分, 作成: 2023/8/26, 更新: 2023/8/26


  • comment

    velorenを使う

    インターネットの記事を読んでいた所、たまたまvelorenというゲームを見つけた。これは自由ソフトウェアのゲームで、Rustで実装され、GPLv3で公開されている。そこで、velorenをビルドしてみる事にした。 Rustをインストールしていなかったので、事前にRustをインストールした1 。 velorenのソースコードはGithubでホスティングされている。それをGitで取得する。 git clone --depth 1 [email protected]:veloren/veloren.git 作業ディ ...

    所要時間: 約 2分, 作成: 2023/8/25, 更新: 2023/8/25


  • rustlang rustup

    macOSにRustをインストールする

    Rustのインストールにはrustupをもちいることが推奨されている12。 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh rustupのインストールスクリプトを実行する。 info: downloading installer Welcome to Rust! This will download and install the official compiler for the Rust programming language, and its package manager, Cargo. Rustup metadata and toolchains will be installed into the Rustup home directory, located at: /Users/DUMMY/.rustup This can be modified with the RUSTUP_HOME environment variable. The Cargo home directory is located at: /Users/DUMMY/.cargo This can be modified with the CARGO_HOME environment variable. The cargo, rustc, rustup and other commands will be added to Cargo's bin directory, located at: /Users/DUMMY/.cargo/bin This path will then be added to your PATH environment variable by modifying the profile files located at: /Users/DUMMY/.profile /Users/DUMMY/.bash_profile /Users/DUMMY/.zshenv You can uninstall at any time with rustup self uninstall and these changes will be reverted. Current installation options: default host triple: x86_64-apple-darwin default toolchain: stable (default) profile: ...

    所要時間: 約 2分, 作成: 2021/1/12, 更新: 2023/8/25


  • comment

    パソコンの購入費用の仕訳

    パソコンは電子計算機という扱いになる。基本的に固定資産となるが、取得金額や使用可能期間によって消耗品として計上できる1。 +--------------------------+ | | | 取得金額が10万円未満? | | | +-----+--------------------+ | +-----------------------------------------+ NO | YES | v | +-----+--------------------+ | | | | | 使用可能期間が1年未満? | | | | | +-----+--------------------+ | | | +-----------------------------------------+ NO | YES | v | +-----+--------------------+ | | | | | サーバーとして使用する? | | | | | +-----+--------------------+ | | | +---------------------+ | NO | YES | | v v v +-----+----------+ +-----+----------+ +----+----------------+ | | | | | | | 固定資産 | | 固定資産 | | 少額の減価償却資産 | | 耐用年数は4年 | ...

    所要時間: 約 1分, 作成: 2023/8/21, 更新: 2023/8/21


  • comment

    2022年07月19日に「死後強まるサイト」というブログ記事が投稿された1。私はこの文章を読んで、「そういう考え方もあるのだな」という小学生のような感想を持った。それ以外には特に何も感じず、ただ読み流していた。しかし、どこかひっかかるところがあり、ずっと頭の隅にあったように思う。何がひっかかっていたのかは分からない。もしかしたらハンターハンターの「死後強まる念」というものがキャッチーで、単純にそれ ...

    所要時間: 約 3分, 作成: 2022/12/11, 更新: 2023/8/20


  • comment

    AWS Glueを使う

    AWSにはデータの検出、準備、統合をする所謂ETL処理をサーバーレスで行う為のサービスとして「AWS Glue」を提供している。Pythonなどのスクリプトも実行できるため、データの加工処理の為に起動していたEC2やECSコンテナが不要になる。今回はPythonスクリプトを AWS Glue のGlueジョブとして登録し、実行する事にした。 簡単な作成と実行の手順 まずは簡単なジョブを作成し実行する。実行するスクリプト ...

    所要時間: 約 5分, 作成: 2023/8/3, 更新: 2023/8/20


  • comment[WIP]

    少しだけDatomicを使ってみる事にした。Datomic Pro Releasesのページに掲載されているURLからダウンロードする1。 curl https://datomic-pro-downloads.s3.amazonaws.com/1.0.6735/datomic-pro-1.0.6735.zip -O unzip datomic-pro-1.0.6735.zip ZIPファイルを解凍する 作業ディレクトリを移動しておく。 cd datomic-pro-1.0.6735 DatomicのTransactorはbin配下のtransactorコマンドで起動する。起動には設定ファイルが必要となる。Datomicでは予めいくつかの設定ファイルを提供している。ここではローカル ...

    所要時間: 約 1分, 作成: 2023/8/13, 更新: 2023/8/13


  • comment

    認証機能付きで静的サイトホスティングしたくなった。もしGithubのProアカウントを持っているなら、プライベートリポジトリのGithub Pagesがちょうど良いかもしれない。 今回はCloudflare Pagesを使って同じような事をしてみる事にした。つまりCloudflare Pagesを使い静的サイトホスティングし、ホスティングしたページへのアクセスにはGithubの認証が必要になるようにした。 ...

    所要時間: 約 2分, 作成: 2023/8/12, 更新: 2023/8/12


  • comment

    リチャード・ストールマン:子を持たないことの重要性について を読んだ。これはWhy it is important not to have children.を翻訳している。翻訳の記事に原文も掲載されていたので、原文の方はさらっと眺めた。少し考える事もあったけれど、それを書いた時に傷付けてしまう人いるかもしれないので、それはしないでおこうと思う。人の考え方は変化するし、だから今書いておいた方が良いかもしれないけれど今はしない。周りにいる人が明日 ...

    所要時間: 約 1分, 作成: 2023/8/12, 更新: 2023/8/12


  • comment

    DynamoDBのテーブルのバックアップを今すぐ(1時間以内)に作成を開始する

    DynamoDBのテーブルは、簡単にバックアップを作成できるし、スケジュールを設定して計画にバックアップも取れる。AWS Consoleから実行する場合、DynamoDBのテーブルを選択すると、「バックアップ」タブがある。バックアップタブを表示して「作成」ボタンから進めば、特に難しい事もなくバックアップを作成できるだろう。注意する点としては、即座に作成が開始される訳ではないという事だろう。「今すぐ作 ...

    所要時間: 約 1分, 作成: 2023/8/9, 更新: 2023/8/9


  • comment

    Netlifyのビルドフローでは、submoduleをcloneせずビルドを進める事ができない。 https://answers.netlify.com/t/clone-repo-without-checking-out-submodules/4089

    所要時間: 約 1分, 作成: 2023/8/9, 更新: 2023/8/9


©TakesxiSximada