2020年8月2日日曜日

GnuPGの鍵の有効期限を更新する方法

先日Gitを使っていたら、いきなりこんなメッセージが出てコミットできなくなりました。
$ git commit 
error: gpg failed to sign the data
fatal: failed to write commit object
GPG関連のエラーだということはメッセージからわかりますが、急に出たのでビビりました。

ファイルシステムの障害を疑って鍵をインポートし直しても変わらず、エラーメッセージで検索して出てきた去年の記事に従って環境変数をexportしても変わらず。

どこから調べていいかわからず、とりあえずgpg --list-keysを実行してみたら鍵の有効期限がちょうど切れていました
というわけで今回は有効期限の更新方法についてです。

2020年7月26日日曜日

Node.jsのモジュールをDenoに対応させる方法

前回、Node.jsのモジュールをDenoに対応すべく、import文の拡張子を解決するツールを作りました。

ただし前回の記事でも書いたとおり、あのツールを使うだけでDeno対応できるモジュールは、外部に依存せず自己完結しているものだけです。

じゃあ外部に依存しているモジュールはDeno対応できないのか、と考えてみました。

2020年7月19日日曜日

TypeScriptのimport文で拡張子を解決するツールをつくってみた

つくったのは2ヶ月くらい前ですが。

何をやりたかったかというと、「Node.js用に書いたコードをDenoでも動かしたい」というのが動機です。

以前さくらのナレッジに寄稿したとおり、Denoではモジュールの指定に拡張子が必須になったので、従来のNode.jsのコード(特にTypeScriptで書いている場合)はそのままでは動きません。

そこで、拡張子を解決するツールを作ってやればDenoでも動かせるんじゃね?と思いました。

2020年7月12日日曜日

Enpass on Gentooのクラッシュ問題がちょっとマシになった

以前、Linux版のEnpassはよく落ちるという愚痴を垂れ流したことがあります。


フォーラムに投稿しようかと思ったんですが、その前にいろいろ試行錯誤していたらだいぶマシになったのでその報告です。

2020年7月5日日曜日

Enpassの日本語がマシになる(かもしれない)

以前、パスワードマネージャーEnpassについて記事書きました

以前の記事には書かなかったんですが、Enpassの他の不満点として日本語がポンコツという点があります。

それが今後マシになるかもしれない、というニュースです。

2020年6月28日日曜日

value-schema v3.0.0-rc.9を公開しました

また中途半端なリリース報告です。

やっと型パズルを解きました。

2020年6月21日日曜日

Deno入門

・・・という記事をさくらのナレッジに寄稿しました。
正確には「Node.jsの後悔から生まれた新しい実行環境・Deno入門 〜簡単なアプリケーション作成ハンズオン付き〜」です。

まだDeno歴は浅いのであまり偉そうなことは書けないんですが、Denoが生まれた背景とかNode.jsとの違いといった内容を前半で書きました。

後半ではインストールから簡単なウェブアプリケーションまで解説。ソースコードはGitHubに置いていますnpm installのような下準備もpackage.jsonのようなメタファイルも何もなく、ソースファイルをコピペするだけでそのまま動かせるのが手軽ですね。

まだライブラリーが少ないので、便利なものを作れば一気に有名になれるチャンスかも知れません。例えばExpressっぽいフレームワークとか。もうあるかもしれませんが。

はてブの登録者数前回以上にありました。おおむね好評でよかったです。
次回は何の記事を書こうかな。

2020年6月14日日曜日

value-schema v3.0.0-rc.8を公開しました

前回同様、中途半端なバージョンでのリリース報告です。 

TypeScriptから使う場合にちょっとだけ破壊的な変更があるので告知します。

2020年6月7日日曜日

GitHub Actionsでシークレットを扱うときの注意

先日、Install SSH Keypull requestが届きました。ありがたいことです。

READMEに鍵形式の変換方法の追記とtypo修正なので特に問題ないだろうと思ってapproveしたんですが、そこで走ったCIがことごとくぬっころされていました

え、READMEの修正だけなのになんで?と思って調べたところ、接続テスト用のSSH鍵が渡されておらず、シークレットが空っぽの状態になっていました。

別にシークレットを間違えて削除したというわけではなく、フォーク先からのイベントで起動されるGitHub Actionsにはシークレットが渡されない仕様のようです。

つまり、実質的にシークレットをCIに使っているリポジトリは外部からのプルリクを受け付けられないことになります。ご注意あれ。

2020年5月31日日曜日

いまさら聞けないNode.js

…というタイトルの記事を、さくらインターネットのメディア「さくらのナレッジ」に寄稿しました。
  • Node.jsとは何?
  • Node.jsを使うと何がいいの?
  • Node.jsのイケてない部分は?
といった内容を、背景のC10K問題やOSの内部処理に絡めて詳しく説明しています。というか半分くらいC10K問題の内容です。Node.jsの背景として必須なのでかなりの量を割きました。

今までずっとどこかで話したかった内容で、このたび寄稿という形で実現しました。そのうちどこかで発表もするかもしれません。

初心者向けカテゴリーに入っていますが、「Node.js初心者向け」であって、ウェブ開発の初心者とかプログラミングの初心者にはちょっとむずかしいかもしれません。といってもウェブサービスを開発するなら避けては通れない内容なので、むずかしくても最後まで読んでみることをおすすめします。

反響はそこそこで、はてブやTwitterでも「わかりやすい」とか「いい記事」とか「C10K問題の説明がわかりやすい」といった高印象のコメントが多かったみたいです。書いてよかった。

記事内でも予告している通り、そのうちDenoについても書きます。

2020年5月24日日曜日

value-schema v3.0.0-rc.5を公開しました

久しぶりにvalue-schemaの更新報告です。前回の更新報告が2019年9月なので8ヶ月くらい経過していますが、開発は止まっていませんよ
まだ正式版ではありませんが、バージョン3からはインターフェースが大きく変わります

正式リリースではなくリリース候補版のしかも5版目というとてつもなく中途半端なタイミングで報告したのはちょっとした理由がありまして…

2020年5月17日日曜日

GitHub Private Instances

先週のGitHub Satellite 2020で待望のプロダクトが発表されました。

前職でめっちゃほしかったもので、他にもほしい企業もたくさんあると思います。

2020年5月10日日曜日

Ubuntu 20.04 その後

先日、Ubuntu 20.04に関する記事を書きました。
あれからしばらく触っているので続きを書いてみます。

2020年5月3日日曜日

Node.js for macOSの謎の挙動

Node.jsでちょっとしたツールを作っていたんですが、child_process.spawn()で謎の挙動があったのでメモ。

ツールについては近々発表しますが、別に大したものではありません。

2020年4月26日日曜日

重要なフォッサ

Ubuntu 20.04が出ましたね。Focal Fossa。

しばらく使っていなかったサブマシンに入れてみました。

2020年4月19日日曜日

ブラウザ拡張機能のruntime.onMessage()

現在、とあるブラウザ拡張機能を作成中です。

コンテンツ⇄バックグラウンド間の通信のためにruntime.onMessageを調べていたら、気になる記述を見つけました。

2020年4月12日日曜日

ドラクエで数学

先日、「ドラゴンクエストゆうしゃドリル 小学校低学年向け算数編」というものを見つけました。

これは小学校低学年向けの問題集ですが、我が家にもドラクエ好きで数学が苦手な人がいるので、よっしゃ問題作ってやろうじゃないかという感じで3問ほど作って家族に解かせてみました。

小学校高学年〜中学校レベルの問題ですが、意外と盛り上がったのでここでも公開します。

2020年4月5日日曜日

絶対音感は先天性?

周回遅れすぎる記事ですが、こんなものを見つけました。

絶対音感は先天性のものであることが明らかに カナダの研究

曰く、絶対音感は遺伝学的に先天性のものであるということ。
曰く、音楽教育は絶対音感の形成にさほど役割を果たさないということ。

個人的には、この2つのどちらにも全力で異を唱えたいです。

2020年3月29日日曜日

Enpassを1週間使い倒してみた

先週パスワード管理ツールをKeePassXCからEnpassに移行して1週間経ちました。
この週間使い倒した感想を書きます。

機能的には満足しているので、どうしてもEnpass上げKeePass下げの内容になってしまいますが、KeePass系も10年使ってきたので感謝の気持ちは忘れていません。

2020年3月22日日曜日

KeePass系を10年くらい使ってきたけどEnpassに移行した

KeePassKeePassXKeePassXCと、10年くらいにわたってパスワード管理ツールにKeePass系列を使ってきましたが、最近は別のツールも物色しています。

KeePassの他に有名なパスワード管理ツールといえば1PasswordLastPass、最近ではBitwardenなどがありますが、独自の基準でパスワード管理ツールを選んでみました。

2020年3月15日日曜日

リモートワークできる会社とできない会社

世界中でコロナが猛威をふるっており、異例の休校やイベント自粛要請が出ていますね。
会社側にもリモートワークを推奨するなど、感染を抑えるために政府も必死です。

このリモートワークについてちょっと思うことがあります。

2020年3月8日日曜日

転職を考えてるエンジニアちょっとこい

すみませんまた偉そうなこと言いました。

前回は採用側に向けた内容ですが、今回は転職する側に向けた内容です。

転職ってとてもエネルギーのいる行動ですよね。

「現在の状況に特に不満はないけど転職する」
「現在の状況に不満があるから転職する」

動機はいろいろあると思います。
今回話をするのは後者のタイプ本当に転職で幸せになれるのか
前者の人はこれからもがんばってください。

2020年3月1日日曜日

ソフトウェアエンジニアを採用したい企業ちょっとこい

すみません偉そうなこと言いました。

私事ですが、昨日、2月29日付でウェブリオ株式会社を退職しました。
ウェブリオの現状については、去年の元同僚の退職エントリーによくまとまっているのでこちらをご覧ください。

まだ半年しか経過していないのであまり変わったこともありませんが、有給の取り方については
朝起きて「11時に出勤します」とメールするだけ
ここまで簡単ではなくなりました。

どうでもいいですが、この同僚とは同日に入社しました。マジでどうでもいい情報ですね

3月からは、まあ適当にがんばります
1000万オーバーでスカウトしていただいた企業もあって、業務内容もとても魅力的だったのですが、私服・フレックスタイム/時差出勤といった緩さにどっぷり浸かってしまった身としてはスーツや固定時間出勤に戻れない体になってしまいましたので泣く泣くお祈りさせていただきました。

今回は、みんな大好き退職エントリー…ではありません
退職エントリーは多かれ少なかれ、特に退職理由について負の感情がつきまといますが、ブログのようなパブリックな場所ではあまりそういったマイナス面は出さないようにしようと思っています。会社にも、退職理由は綺麗なことしか話していません。
知りたい人はプライベートな場所で聞いてください。

それは置いといて。

これまで、開発の他にエンジニアの採用業務にも関わってきました。受ける側や採る側をいろいろ経験して、採用について思ったことをまとめてみました。もしかしたらエンジニア採用に関わる方には参考になるかもしれませんしならないかもしれません。

断っておきますが、これらはウェブリオでの事例とは限りません。ウェブリオ内の事例もありますが、過去にあったけど現在は改善されているものや全く関係ない他社の事例もあります。そして例はあくまで例です。いずれにしても、以下の内容がそっくりそのままウェブリオの現状というわけではないということを念頭に置いてください。

ちなみに、以下の内容は自分のことは棚に上げています。「いろいろ偉そうなこと書いてるけど、おまいは全部実践できてるの?」と言われると多分NOです。

そのへんを踏まえてお読みください。

2020年2月23日日曜日

GitHub Enterprise Serverの管理が面倒だからGitHub Enterprise Cloudに移行したい人(企業)へ

先週「来週は違うネタを書く」って言ったやんけ!

ごめんなさい。やんごとなき事情により書けなくなりました。
大掛かりなイベントなので運営の方も最後まで決断を迷われたと思いますし個人的にもとても楽しみにしていたのですが、何かあってからでは遅いので賢明な判断だと思います。
発表スライドは大事に取っていますが、今回の発表内容はしばらく他のイベントで話しちゃダメだよと言われたのでまだ公表できません。

というわけで、急遽またGitHubネタでいきます。

GitHub Enterprise Server(以下GHES)とGitHub Enterprise Cloud(GHEC)の違いは去年の記事に書いたとおりで、一言でいうとGHES=オンプレ版、GHEC=クラウド版(https://github.com/)です。

この中で、GHESはオンプレだからサーバーをこちらで用意しないといけない、バックアップをこちら側で取らないといけない、GHECでは使える最新機能が少し遅れて入る(最近の例だとGitHub Actions)といった理由でGHECへの移行を検討している(あるいは最初からGHECの使用を検討している)企業は少なからずあると思います。

確かにGHECはサーバーの管理をGitHub社に完全おまかせ状態なので、サーバーの用意もバックアップも障害対応もアップデートもGitHub社が管理してくれるという点では超絶便利なんですが、運用面を何も考えずにGHECを使うとえらい目にあいます

安易に移行する前に、一度立ち止まって以下の内容を読んでみてください。GHECがダメだというつもりは全くありませんが、メリットしか見えていない状態で飛びつくとあとから苦労するよ、という話です。

「クラウド版はGitHub社にソースコードを預けることになるから云々」「github.comに障害が発生したら云々」みたいなクラウドあるあるではありません。

2020年2月16日日曜日

GitHub Actionsのバージョン指定をセマンティックバージョニングに対応する方法

去年の年末から先週まで8週連続くらいGitHub関連の話ですが、懲りずに9週目に突入します。
来週は違うネタを書く予定です。

GitHub Actionsで使いたいactionを指定する場合、そのバージョンも同時に指定する必要があります。
例えばCheckoutを使う場合、
- uses: actions/checkout@v2.0.0
のようにタグ名を指定します。

でも「特定のバージョンをピンポイントで使うんじゃなくて、互換性がある最新のバージョンを使いたい」という場合がありますよね。

ありますよね?

actionがセマンティックバージョニングに対応している場合、メジャーバージョンだけ指定したいといったような感じです。

でもGitHub Actionsはセマンティックバージョニングでのバージョン指定に今のところ対応していないので、擬似的に対応する方法の紹介です。

2020年2月9日日曜日

Install SSH Key action v2.0.0を公開しました

かねてよりこのブログで存在をにおわせていたInstall SSH Keyのv2.0.0がようやくリリースされました。

2020年2月2日日曜日

いつの間にかGitHub Actionsのバッジがブランチ指定に対応していた

今年に入ってGitHub Actions関連の記事しか書いていませんが、今回も懲りずに例のアレです。

内容はタイトルのまんまなんですが、確か前まではGitHub Actionsでつけられるバッジはデフォルトブランチの状態しか表示できなかったと記憶しているんですが、いつの間にか任意のブランチの状態を表示できるようになっていました。

2020年1月26日日曜日

開発中のGitHub ActionのテストをGitHub Actionsで行う

このタイトルを見て「あー、わかるわかる」と思った人はgit-flowやGitHub Flowなどの手順でGitHub Actionを自作したことがある人だと思います。

「え、普通にGitHub Actionsでテストできないの?」と思ったアナタ。最初は簡単だろうと思っていたんですが、意外と手こずったのでその顛末の記録です。

どちゃくそ紛らわしいですが、"GitHub Action"はGitHub Marketplaceにある個々のアクションのことを、"GitHub Actions"はCI/CDを自動化するGitHubの機能のことを指しています。
ここに"Use this GitHub Action with your project"と書いてあることと、GitHub Actionsの説明からして、多分公式でそういう扱いです。

ややこしいので、以下ではGitHub Actionを単にAction、GitHub ActionsをそのままGitHub Actionsと表記します。

2020年1月19日日曜日

Install SSH key action v1.6.0を公開しました

年末年始にひきつづき、Install SSH Keyの更新です。

他にネタがないわけではないんですが、リリース情報は早く出しておかないと古くなるので。

2020年1月12日日曜日

GitHub Actionsのカレントディレクトリーの扱いでハマった話

このブログでちょいちょいGitHub Actionsのことを書いているのですが、最近カレントディレクトリーの扱いでハマったのでメモがてら残しておきます。

2020年1月5日日曜日

Install SSH key action v1.5.0を公開しました

年をまたいでInstall SSH Key actionがまたひっそりとアップデートし、v1.5.0になりました。

2019年最後の更新、2020年最初の更新がともにInstall SSH Key actionの内容です。
だから何だ。