• About Cosense
  • Help
  • Log in
uochan
Card
  • Display by
  • Card
  • Table
Modified
  • Sort by
  • Modified
  • Created
  • Last visited
  • Most linked
  • Most viewed
  • Title
  • uochan
  • vim
  • clojure
  • 黒川千秋
  • 記事
  • プレゼン資料
  • バグ

    🐜🐜


    http://d.hatena.ne.jp/hyoshiok/20180930/p1


    これを呼んでバグデータベースを作りたくなった


    以下、テンプレート


    どうやってバグを発見したか


  • my projects
  • JakartaMail

    JavaMail の後継。ver 1.6.3 から EE4J の一部になった。


    https://jakartaee.github.io/mail-api/


    https://github.com/eclipse-ee4j/mail


    セッションのプロパティ


    https://jakarta.ee/specifications/mail/1.6/apidocs/com/sun/mail/smtp/package-summary.html


  • redis

    #database #redis #command


    $ nc redis-host port


    https://redis.io/commands/


    # 応答を確認


    ping


  • localでhttpからhttpsへ強制リダイレクトされる

    いつも対応方法忘れるのでメモ


    vivaldi://net-internals/#hsts


    Delete domain security policies で localhost を入力して Delete


  • tailwindcss-intellisenseをvim(coc)で使う

    #LanguageServer #vim #tailwindcss #coc


    参考: https://dyrynda.com.au/blog/neovim-tailwind-intellisense


    unzip tailwindcss-intellisense.vsix


    rm \[Content_Types\].xml extension.vsixmanifest


    chmod +x extension/dist/tailwindServer.js


  • clojure tools

    #clojure


    https://github.com/clojure/tools.tools


    インストール


    ローカルのツールをインストール


    $ clojure -Ttools install com.github.liquidz/antq '{:local/root "$HOME/src/github.com/liquidz/antq"}' :as antq


  • Leiningen

    GPG の設定


    https://github.com/technomancy/leiningen/blob/master/doc/GPG.md


    $ gpg --gen-key


    gpg: 鍵 ********** を究極的に信用するよう記録しました


    これがキー


  • mkcertで作った証明書をJKSに変換

    #mkcert #openssl #java #keystore


    ローカルで使うことを想定


    $ openssl pkcs12 -export -in cert.pem -inkey key.pem -out keystore.p12 -passout pass:password


    $ keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 \


  • ffmpeg

    gif


    $ ffmpeg -i some.mov -crf 35 -vf "fps=10,scale=800:-1" output.gif


    mp4


    $ ffmpeg -i input.mov output.mp4


  • cljdoc

    #clojure


    ローカルで動かす


    https://github.com/cljdoc/cljdoc/blob/master/doc/running-cljdoc-locally.adoc


    docker だと何か途中で止まってしまったのでソースから動かした


    特別なツールなどは不要なので、別途インストールが必要なことも少なそう


  • Mac ローカルの証明書を許可
  • Gitea

    https://gitea.io/ja-jp/


    $ git remote -v


    origin ssh://git@github.com/liquidz/testdoc.git (fetch)


    origin ssh://git@github.com/liquidz/testdoc.git (push)


    $ git remote set-url origin http://localhost:3000/foo/bar.git


  • Nerd Fonts

    https://github.com/ryanoasis/nerd-fonts


  • Nexus
  • juxt/tick

    #clojure


    https://github.com/juxt/tick


    clojure.java-time との比較


    table: clojure.java-time との比較


    clojure.java-time juxt/tick type


  • OAuth2.1

    #OAuth


    https://datatracker.ietf.org/doc/html/draft-ietf-oauth-v2-1-02


    The major differences from OAuth 2.0 are listed below.


    * PKCE is required for all OAuth clients using the authorization code flow


    * Redirect URIs must be compared using exact string matching


  • newsboat

    #rss


    https://newsboat.org


    フィードの管理


    $XDG_CONFIG_HOME/newsboat/urls か ~/.newsboat/urls


  • Pop.com

    #ペアプロ #ペアプログラミング #2021-08-19


    https://pop.com


  • A few simple tricks to tune your github actions runtime

    #github #Github_Actions #2021-08-19


    https://abbbi.github.io/actions/


  • Github Actions

    $PATH


    ubuntu-latest の2020/02/15時点では以下の通り


    ただ /usr/local/bin 配下に何かを置こうとしても Permission denied エラーになるので、パスを通す場合はパスを追加する方向が良さそう


    ::add-path が便利 → deprecated


  • malli

    #clojure


    前提


    独自schema


  • smtp

    マルチパート


    MIME (Multipurpose Internet Mail Exception)


    重要度?


    https://tools.ietf.org/html/rfc4021#page-33


    試してないからわからないけど


  • postgres
  • Leiningen uberjar

    #leiningen #clojure


    resources


    デフォルトではドットで始まるファイル/ディレクトリは除外される


    https://github.com/technomancy/leiningen/blob/2.9.4/src/leiningen/jar.clj#L102


    意図的に含めたい場合は project.clj にて :jar-inclusions を指定する


  • カレントディレクトリ配下のファイルをWebサーバとして見えるようにする。デフォルト8000ポート

    #one-liner #server


    python


    https://github.com/kachayev/nasus #clojure


  • IE11

    #virtualbox #windows


    https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/


    パスワードは Passw0rd!


    VirtualBox 内からホストにアクセス


    10.0.2.2


  • Clojure CLI (tools.deps)

    #clojure


    private git repo


    https://www.clojure.org/reference/deps_and_cli#_git


    ssh-agent にキーペアが登録されている必要がある


  • vim で echo 時に「続けるにはENTERを押すかコマンドを入力してください」を出さない

    #vim


    vim-jp slack の #lang-vim-script チャンネルで教えてもらった


    v:echospace


    hit-enter-prompt を引き起こす前の最後の画面行の :echo メッセージに使用できる画面セルの数。


    showcmd, ruler および columns に依存する。


  • エンジニア向けの余白の基礎 / Spacing

    #bookmark


    https://speakerdeck.com/yuyaink/spacing


  • clj-kondo

    https://github.com/borkdude/clj-kondo


    解析結果の出力


  • Clojure で簡易的な構成管理ツールを作った話

    このページは Clojure Advent Calendar 2019 の9日目に向けたものです。


    TL;DR


    タイトルの通り、作りました。


    https://github.com/liquidz/daddy


    2019/12/10) 紆余曲折あり、名前を "dad" に変更しました。


  • GitHub Slack 連携

    #github #slack


    いつも忘れる


    https://github.com/integrations/slack


    /github subscribe list


    /github subscribe owner/repo


  • vim pbcopy

    #vim


    w を使うことでコピー時に選択範囲が消えなくて済む


    ここでの w はなに? #todo


  • local開発環境でhttpsの動作検証時にlocal-web-serverとmkcertが便利

    #bookmark #localhost


    http://aligach.net/diary/20190330.html


  • silicon

    https://github.com/Aloxaf/silicon


    #carbon


  • Building a self-updating profile README for GitHub

    #bookmark


    Building a self-updating profile README for GitHub


  • ローカル開発環境の https 化

    #bookmark #localhost


    ローカル開発環境の https 化 | blog.jxck.io


  • plantuml

    #plantuml #sequence


    オンラインジェネレータ


    http://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000


    command


    PNG に変換


  • aero

    #clojure


    https://github.com/juxt/aero


  • Utatane

    #font


    至高のフォント


    https://github.com/nv-h/Utatane


    Ricty + Ubuntu Mono + やさしさゴシック


  • Font
  • postgres 何かしらレコードが入っているテーブル

    統計情報から取得できる


    c.f. https://lets.postgresql.jp/documents/technical/statistics/3


    以下の例では n_live_tup (保持されている有効な行数) を使っているが、これが適切かどうかはわからない


    例えばこれを利用してテストDBの初期化を、何かしらレコードが入っているテーブルに対してのみ TRUNCATE するようにするなどして高速化を図ることができる


  • nREPL Sideloader

    #clojure #nrepl


    nREPLのクライアントからクラスやリソースを動的に読み込める機能


    これにより nREPL サーバー側では依存関係として意識していないライブラリなどを動的に読み込ませて nREPL 上で使えるようにすることができる


    https://nrepl.org/nrepl/0.7.0/design/middleware.html#_sideloading


    nREPL 0.7.0 で入る Sideloader の話


  • carbon

    #tool


    https://carbon.now.sh/


    コードを何かいい感じの画像にしてくれるサービス


  • Shooting star

    #ふりかえり


    c.f. https://note.com/tweeeety/n/n663300735460


    どんな時にやると良いか


    KPT と比較すると メンバーの認識を合わせたい時


    ある程度の期間があり認識をあわせたい


  • nrepl eval op

    #nrepl #clojure


    ns パラメータ


    https://nrepl.org/nrepl/ops.html#_eval


    The namespace in which to perform the evaluation. The supplied namespace must exist already (e.g. be loaded). If no namespace is specified the evaluation falls back to *ns* for the session in questio


  • Github Actions Annotations
  • Github Actions for Clojure

    #Github_Actions #github #clojure


    デフォルトで Leiningen は利用可能


    複数のJDKを使ってテストする場合はコンテナを利用


    https://hub.docker.com/_/clojure


  • nREPL dynamic middleware loading

    #clojure #nrepl


    https://github.com/nrepl/nrepl/pull/185


    ls-middleware


    add-middleware


    クラスパスにミドルウェアがある場合は単に以下だけでOK。無い場合は nREPL Sideloader と組み合わせる必要がある


  • nREPL 0.7.0 で入る Sideloader の話

    #Clojure #Advent_Calendar #記事 #nREPL_Sideloader #nrepl


    #2019-12-13 #2019-12 #2019


    このページは Clojure Advent Calendar 2019 の13日目の穴埋めに向けたものです。


    Clojure での開発に CIDER などをお使いの方は nREPL が REPL 駆動開発のベースになっていることをご存知なことが多いと思います。


  • チンジャオロース

    ピーマン 3袋以上 (2袋じゃ足りない)


    豚肉か牛肉 (無くても可)


    タケノコの水煮


    CookDo チンジャオロースの素


  • vimium

    #chrome #vimium #vim #vivaldi


  • プロジェクトの実績まとめ

    やりたいこと


    こんな感じのまとめを作る


    https://www.patreon.com/posts/34888348


    使うもの


    GitStats


  • Windows 起動時に特定のVMを起動する
  • tmux

    table:セッション


    Prefix + d デタッチ


    Prefix + s セッションの一覧表示


    Prefix + $ セッション名の変更


    table:コマンド


  • clojure.java-time で zoned-date-time からローカル時間を取得する

    例えばこの zdt から日本時間での日付を取得したい場合は一度 LocalDateTime か OffsetDateTime に変換する必要がある


    #clojure #java-time


  • git ローカル環境だけ無視したいファイルを登録

    c.f. http://tbpgr.hatenablog.com/entry/20130610/1370873259


    .git/info/exclude ファイルにファイル名などを記載すればいいだけ


    #git


  • FIXME

    FIXME !


    FIXME !


    FIXME !


    FIXME !


    FIXME !


  • workflowy Stylish / Stylus

    別途インストールするスタイル


    https://userstyles.org/styles/125598/workflowy-done-checked


    https://userstyles.org/styles/139194/colored-tags


    colored-tags


    box-shadow は邪魔だから消すのが吉


  • Github Actions でタグ付けされた時だけ追加のビルドをする

    経緯


    master ブランチへのプッシュでビルド処理を走らせたい


    ビルド処理の結果を元に Release を切りたいけど、それはタグ付けされた時だけしたい


    参考


    GitHub Actions: tagでfilter


  • vifm

    https://vifm.info


    vim like file manager な vifm の紹介と vifmrc 設定例


    新しいファイルの作成


    :touch コマンドから空ファイルは作成できる


    ただこれだと BufNewFile autocmd が発火しないので困ることがある


  • tig

    Text-mode interface for git


    https://jonas.github.io/tig/


    https://github.com/jonas/tig


    変更の履歴を遡る


    c.f. https://twitter.com/itkrt2y/status/1199905237353426945?s=20


  • Github Actions から Github Pages にデプロイ

    現時点で一番スター数が多そうな以下のアクションを使うこととする


    https://github.com/marketplace/actions/github-pages-action


    gh-pages ブランチがない場合


    master ブランチの特定ディレクトリ配下を Pages にすることもできるが、今回はリポジトリ上のデータから HTML を生成して成果物を Pages にデプロイしたいのでクリーンな状態の gh-pages ブランチを用意する


  • Vim と Socket REPL が出会った
  • GraalVM

    https://github.com/lread/clj-graal-docs/blob/master/doc/external-resources.md


  • トヨクモ

    五反田にある #clojure が大好きな会社


    https://toyokumo.co.jp


  • clojure-emacs org にリポジトリ提供した話

    このページは Clojure Advent Calendar 2019 の6日目の穴埋めに向けたものです。


    つい最近、clojure-emacs org にリポジトリを transfer しました。


    あまりない経験なので clojure 色はあまり強くないですが簡単にまとめてみたいと思います。


  • nREPLに入門してみた話
  • Advent Calendar

    2015


    Vim上でElixirの補完を実装した時の苦労話 on Qiita


    2016


    子供に邪魔されない開発環境を整える on Qiita


    2017


  • thinca

    マンボウな人


    https://twitter.com/thinca


  • stuartsierra/component

    Managed lifecycle of stateful objects in Clojure


    https://github.com/stuartsierra/component


  • Vim/Neovim両対応とテストで試行錯誤している話

    この記事は Vim Advent Calendar 2019 の 9 日目に向けたものです。


    Clojure での開発を支援する vim プラグイン vim-iced を作っているのですが、その中の課題で以下2点が未だに納得のいく解決策が見いだせていません。


    vim/neovim の挙動の差を吸収しつつ、同じインターフェイスを提供したい


  • bbatsov

    サングラスが似合う人


    https://github.com/bbatsov


    https://twitter.com/bbatsov


  • cider-nrepl

    https://github.com/clojure-emacs/cider-nrepl


  • orchard

    https://github.com/clojure-emacs/orchard


  • ClojureDocs

    https://clojuredocs.org


    Clojure な Docs


  • make
  • makefile

    #make #makefile


    example


    自動変数


    $@:: ターゲットファイル名


    $%:: ターゲットがアーカイブメンバだったときのターゲットメンバ名


  • ubuntu docker

    #ubuntu #docker


    インストール


    Cannot connect to the Docker daemon になる時はユーザを docker グループに所属させる


    ログアウト → 再ログインが必要


    プロキシ設定


  • Prabir Shrestha

    vim-lsp や asyncomplete.vim などの作者


    https://github.com/prabirshrestha


  • Vim script

    おそいおそい言われるけど憎めないやつ


  • VimConf 2019 に参加して

    各発表の内容などは他の方が詳しく書いてくれていると思うので、今回 VimConf 2019 に参加したことで自身が影響を受けた部分だけにフォーカスしてまとめてみます。


    Keynote - Vim Renaissance


    vim-lsp は過去に触ってみようと思いプラグインを入れてみたものの、設定方法がいまいちよくわからずに実際に使うところまでいくことなく放置してしまっていました。


  • YWT

    YWT分析


    この手法は、コルブ(Kolb)の経験学習モデルに対応している点に気がついた。コルブによれば、人は「具体的な経験を→内省して→教訓を引き出し→新しい状況へ応用」することで学ぶという。


    table:YWT


    Y やったこと 何を実施したのか (具体的経験)


    W わかったこと 何がわかったのか (内省&教訓)


  • ragtime で重複したIDのマイグレーションを削除

    何かしらの原因で ragtime_migrations テーブルに同じIDのレコードが作成されてしまった場合


    ragtime が作成する ragtime_migrations テーブルは id が primary key ではない


    https://github.com/weavejester/ragtime/blob/0.8.0/jdbc/src/ragtime/jdbc.clj#L13-L16


  • JavaMail

    https://javaee.github.io/javamail/


    https://github.com/javaee/javamail


    ver 1.6.3 から EE4J の一部になったとのことで今はこちら


    JakartaMail


    ただし 1.6.2 → 1.6.3 でクラス名の変更などはない


  • cognitect-labs/aws-api

    https://github.com/cognitect-labs/aws-api


    ローカルでSQS互換のElasticMQを使う


    region は指定しないとエラーになるので、ローカルで試す場合も指定は必要


    endpoint-override でローカルに向ける


    #clojure


  • icons

    /icons


    [/icons/注意.icon]


  • SMTPステータスコードまとめ

    WIP WIP WIP WIP


    RFC


    Simple Mail Transfer Protocol


    https://tools.ietf.org/html/rfc2821 から改訂


    https://tools.ietf.org/html/rfc821 から改訂


  • WSLからWindowsに通知

    PowerShell スクリプト


    https://imihito.hatenablog.jp/entry/2018/08/22/224256


    C:/Users/Foo/Desktop/notify.ps1 に配置するとする


    -File に渡すファイルパスは powershell 側から見たパスなので /mnt/c/... ではなくなることに注意


    #windows


  • TLA+

    https://github.com/tlaplus/tlaplus


    https://github.com/tlaplus/Examples


    https://github.com/pmer/tla-bin


  • concat タイムボム

    https://stuartsierra.com/2015/04/26/clojure-donts-concat


    https://stackoverflow.com/questions/24958907/why-does-reduce-give-a-stackoverflowerror-in-clojure


    #clojure


  • サイボウズスタートアップス

    五反田にあるclojureが好きな(?)会社


    https://cstap.com


    トヨクモ に社名変更 → https://toyokumo.co.jp


  • vim-sexp

    #vim #clojure


    Move to next element head


    call sexp#move_to_adjacent_element('n', 0, 1, 0, 0)


    table:Text Object Selections (visual, operator-pending)


    af , if : COMPOUND FORM


496 pages
  • uochan
  • vim
  • clojure
  • 黒川千秋
  • 記事
  • プレゼン資料
  • バグ
  • my projects
  • JakartaMail
  • redis
  • localでhttpからhttpsへ強制リダイレクトされる
  • tailwindcss-intellisenseをvim(coc)で使う
  • clojure tools
  • Leiningen
  • mkcertで作った証明書をJKSに変換
  • ffmpeg
  • cljdoc
  • Mac ローカルの証明書を許可
  • Gitea
  • Nerd Fonts