2019年 12月の投稿を表示しています

静的コンテンツをシュッと共有する何かの onstatic を作った

ざっくりというと Web サイト(not Web アプリケーション)を作ったときに、公開はまだなんだけど共有したいなっていうのをなんとかする良さげソリューションがないような気がして自作した。

sters/onstatic: onstatic is static page hosting controller.

ビルドされたバイナリを動かしさえすればどこでも出来る。
都合によって CGI 対応をしたので、恐らく FTP 的なことしか出来ないようなレンタルサーバーでも使えるはず。少なくとも Apache で CGI するように設定したら動く。

使う手順はこんな具合。

  1. /registerにリクエストし、Git リポジトリをクローンできる URL をアプリケーションに登録する
  2. アプリケーション内でローカル git リポジトリの準備と SSH キーが生成、保存される。公開鍵がレスポンスになるので、メモしておく
  3. 公開鍵をクローンできるように登録
  4. /pullへリクエストすると 2 で保存した秘密鍵を使って 1 で指定したリポジトリを取りに行く
  5. リポジトリ名をハッシュ化したものがレスポンスされる
  6. アプリケーション URL/ハッシュ値/ファイルパス 的な URL でアクセスできるようになる
  7. リポジトリを更新したら /pullを呼べば git pull をしてくれる

Github であれば DeployKey に登録してしまうのがお手軽。書き込みすることは想定していないし。


実装は go-git を使っていて、中で git クライアントな振る舞いをしている。

src-d/go-git: A highly extensible Git implementation in pure Go.

この中で使っている billy.Filesystem がすごい便利だった。ファイル操作するテストとか書くのちょっとつらそうだなあと思ったけれど、インターフェース化されていて memfs な実装もあった。

src-d/go-billy: The missing interface filesystem abstraction for Go

アプリケーションサーバへのアクセスは、一定のフィルタしたあとに http.FileServer.ServeHTTP をしている。

onstatic/handler.go at master · sters/onstatic

その他、Github Actionsを使ってみたりなどした。リリース作るのがほぼ設定いらずの簡単サクッといけるの便利。


でもって、静的ファイルをシュッと共有できて便利になったのだった
1 バイナリでただのアプリケーションサーバなので nginx でプロキシしたり、認証挟んだり、いろいろ便利、かもしれない。

まあ Netlify 的なものなどでいいといえばいい。
Netlify: All-in-one platform for automating modern web projects.

Kickstarter の backer number を確認する方法

バックしたプロジェクトから、このフォームで発送情報管理してるから入力してくれよな!ってメッセージがきた。
その中に backer number を入力する項目があるのだけれどもどこにあるかわからない…ぐぐってもレイアウトが違ったりしていてうーん。
プロジェクトのページから、プレッジを管理、で見れるかと思ったけれどもみれず…。

いろいろポチポチした結果、アクティビティからたどることで確認できた。

アカウントメニュー(っていうの?)を開いて、アクティビティへ。

バックしたプロジェクト一覧を開き

+マークをぽち

すると支払情報などが乗っているモーダルがでてくる。このなかに backer number が書かれている。


その他、バックしたときに送られてきたメールにも書かれているので、それを見るでもよさそう。
あとはプロジェクトのコメントページを見たら、自分の backer number わからないんだけどいくつかい?って聞いてる人もいる。プロジェクト管理側の人だと名前の隣にでるとかあるのかな、わからないけど。

前後の記事

Next:
Prev:

manabeyond

これはなにか

manabeyond

ここ 2-3 週間の間、夜な夜なちょっとずつ作って、ようやく自分の中でこういうことがしたいなあが形になって一通り使えるようになった。
まだ、どういうふうにやっていこうかとか、どういう要素を見せるようにしたらいいかとか、なんにも決まってないし考えも進んでなく、とりあえず、自分がつかいたい、をファーストにやっている。破壊的変更もバシバシするかも。

自分が学びを得る機会というのはそこら中にあるわけで、例えば Twitter を眺めているときにも、誰かの RT に気になる事柄があれば開いてへ〜〜〜となっている自分がいたり、例えば誰かと話していたり、例えば自分が何かの作業をしていてわからないことにあたったとき、大きくはない、小さな学びというのがたくさんある。じゃあそれをブログや Qiita などの何かでアウトプットしましょうよ、というとちょっと尻込みしてしまうようなところもある。こんなことを書いても、とか、ちゃんとまとめねば、とか、見られるのかな、などなど。そうこうしていると、まとめるのがおっくうで後々になったり、書く気はあれどちょっと後でにしてしまいすぐ忘れてしまったりする。
これはとりあえず、今、こういうことを学んだぞ、をシュッと記録するためだけのもの。整理したり、まとめたり、深追いで調べたり、余計なことは一切いらない。なるほどと思ったそれそのものを記録する。それがもし間違ってたりしたら学び直し正しい知識を得ればいいし、それをぼくらは強く意識をしてはいないかもしれないけれど、やっているし、できているはず。
記録をすることで何が起こるかというと、何か大きな事柄に挑戦しているときに、自分がどういうことを調べてその大きな事柄に挑んでいったのか、どのくらいの時間を書けたのか、様々な発見があるんじゃないかなと。

ここまではひとりで捉えたときの話で、もしかしたら、その学びは誰かとつながることでコラボレーションができるんじゃないかなと思った。実はあんまり知らなかったこととか、そっちの方向はちょっとまだわからないとか、自分のふった内容に相手からツッコミがあって調べたら新しい発見があったとか、別の事柄なのだけど適用できそうなこととか、ひとりで学ぶよりも様々に舞台を広がっていくものだと思う。例えば今日一日だれかと話をしたことを振り返ってみたりしたらなんとなくアテがでてくる。ちょっと何をいっているのかわからないけれど、ここでの、誰か、というのは過去や未来の自分も含まれてくるんじゃないかな。以前やった気がするなあ、なんだったかな〜〜〜とか、よくあると思う、それを振り返って、もしかしたら中途半端だろうのできっとまた調べる。そうするとあたらしい発見もあって、また、なるほど、と。

manabeyond という名前はこのあたりから来ていて manabi + beyond 学びの向こう側に行こう、みたいなイメージ。

ということで、どんなことを学んだのか、を一言で書き、つながっていくようなことに重点した何かが欲しいな、と思った。

調べきれていないだけなのだけれど、こんなことに重点を置くようなものは無い、気がする。
ブログ系サービスや Qiita などは近いかもしれないけれど、一言で出すことはほとんどないんじゃないだろうか。Stackoverflowやteratial とか Q&A 系は完全に違うだろう。 Scrapbox ヘルプ をみると Scrapbox はかなり近いかもしれない。トップページにはチームのためのメモ、というので、コンセプト的な話では若干ずれてる、のかな。はてなブックマーク系な、ブックマークを記録するのもちかいと思う。なるほどこうやるのか、みたいな学びは検索して見つけることがおおい。URLなしでもいける違い。

今後どうしていくか

冒頭にも書いたけれど、まだあんまり決まってない。こんな機能がほしいな、と思っているのでちょっとずつ作っていく。

  • 内容への指摘
    • 指摘、みたいな書き方だとむずかしいので、やわらかい表現いいな
  • 内容の更新
    • そのとき思ったことは変わらないけど、知識は更新される
  • 可視化
    • hourly での投稿数 daily での投稿数
    • タグ別の投稿数
  • タグ同士での関連性
  • タグの名寄せ
  • 振り返り
    • weekly とかの一定周期でどんなタグ、どんな内容があったかサマリを作る
  • 学びのグループ化
    • グラフィカルに、これとこれはこういうカテゴリで取り扱いたい、みたいなのがほしいときがある
    • 例えばまとまった何かに仕上げようとしたときに、自分の中でのまとまりがほしいはず