nDiki : 実装

実装 - implementation

2017年1月3日 (火)

WikiName の特別扱いをついに停止

この日記日記システム(DiKicker)は WikiEngine からの派生で作られた生い立ちをもっていて、現時点でも WikiName を特別扱いし自動的にそのキーワードへのリンクになるようになっていました。今日はコードを修正してその特別扱いをやめることにしました。

実装ですがまず WikiName を先に抽出し、そのあとに他のキーワードを AutomaticLink するようになっていました。このため例えば MacBook Pro という文字列はまず MacBook という WikiName として抽出されてしまうため MacBook Pro という文字列で自動的にリンクさせることができていませんでした(それだと困るので明示的に BracketName で書いていました)。

WikiNameWikiWiki というコンセプト的に良いものでしたが AutomaticLink実装している日記システムではもう不要な表現です。

ようやく重い腰を上げて今回のコード修正となりました(いじったのは数行なのですけれども)。

スポンサード リンク
[ 1月3日全て ]

2017年12月22日 (金)

今日のさえずり: 冬至なのでキーマカレー with いとこ煮

2017年12月22日

  • 08:39 REGZA につないでいる外付け HDD が認識しないなと思ったら HDD のランプが光っていない。電源抜き差ししたら復活した。録画した番組が残っていて良かった。昨日のアイカツスターズ!は録画失敗してたけど。
  • 13:44 木村俊也 @kimuras 氏! / “メルカリ、社会実装を目的とした研究開発組織 「mercari R4D(アールフォーディー)」を設立” http://bit.ly/2kEjb3t
  • 21:29 冬至なのでキーマカレー with いとこ煮。
  • 21:50 Xperia Z5 が暴走して強制終了を初めてやることになった。挿入口カバーの中の黄色いボタンを3秒押し覚えた。
  • 22:14 今度は Mac が落ちた。
  • 24:13 iconv -f UTF-8-MAC -t UTF-8 覚えた。
[ 12月22日全て ]

2018年1月15日 (月)

キーボードを Gboard Android アプリにしてみる

iPhone では使っていた(それほどは使い込んでいない) Gboard、 Android アプリでも日本語入力ができるようになっていたので試してみました。

グライド入力を今回使いこなせるようになろうとちょっと奮闘。慣れるには少しだけかかりそうです。なぞっていく時に自分の指でキーが見えなくなると挙動不審になってしまいます。多少違っても補正してくれると思うので、多少は大胆にやってもいいのかな? 残念ながら日本語はグライド入力できるようになっていないので、今まで通りフリックで入力することにします。

単語辞書登録機能が無いのが気になるところ。これから実装予定なのか、それとも学習に任せなさいということなのでしょうか。

それから日本語 12キー日本語入力で空白を入力した場合、いわゆる全角スペースになるのを半角スペースに変更するオプションがないのもちょっと不便。都度他のキーボードに切り替える必要があります。

などなど触ってみて、もう少し経ってからでいいやと思ってアンインストールしたのですが、やっぱり気になってまたインストールしてみちゃいました。

Google 日本語入力も最後の更新からもうすぐ1年になりますし、そろそろ移行して慣れていくのがいいのかなと。

この記事は Gboard + JotterPad で書きました。

[ 1月15日全て ]

2018年2月18日 (日)

ようやく nDikiTwitterカードを実装した

書いた日記Twitter でシェアした際に Twitter 上でグレーの地味なリンクサムネイル付きSummaryカードが出るのちょっと嫌だなぁと思ったので、そのうちと思っていた Twitterカードを対応をようやくすることにしました。

記事中の最初の画像を自動的にTwitterカードの画像に指定する案も考えたのですが、過去記事にも自動的に画像がつけられるという利点はあるものの、小さい画像など適切でないものが設定されてしまうこともあるかなと思ってそれはやめにしました。

なので記事中に [[ogpimage:URL]]と書いてあればそれを

 <meta name="twitter:image" content="URL">

とするようにしました。あとは twitter:card と twitter:site と twitter:title もヘッダに合わせて埋め込むようにして完成。

ついでに設定した画像 URL は Open Graph protocol (OGP) の og:image にも指定して Facebook でも認識できるようにしました。

これで日記写真を載せるモチベーションもアップしそうです。

[ 2月18日全て ]

2018年5月10日 (木)

長かった Day One Sync 障害

3月に Premium にしDay One の同期 (Day One Sync) が5月7日 26:37 (日本時間) 頃から障害が発生し、同期ができなくなっていました。ようやくほぼ復旧したのが5月10日 23:08 ぐらい。3日弱同期ができない状態が続いていたことになります。

各デバイスでオフラインで使えるとはいえ、さすがにこれだけ長く同期できないとかなり不便でした。

May 2018 Day One Outage Postmortem によると

  • ハードウェア障害が発生した。
  • バックアップから復元し同期を再開したが、新しいユーザーに既存ユーザーと同じアカウント ID を割り当てるという状況が発生したので再度同期を停止した。
  • 問題を修正したあと、朝を待ってからアクティブ化を再開した。

バックアップからの復元でシーケンシャル ID の採番が巻き戻ったとのことです。

日記サービスとして、他人に閲覧を許してしまうという致命的なインシデントをやらかしてしまいました。同期を iCloud / Dropbox から独自実装に変えた時に、実装・運用経験が少なさそうだから信用しきれないと思っていたので、やはりというところです。

ビジネス的・技術的判断だと思うので、要望の多い iCloud / Dropbox 同期に戻すことはないでしょうね。これから頑張って欲しいところです。

end-to-end encryption しているジャーナルは他人から閲覧されることはないはず主張しているのですが、 Android 版がまだ対応できていないので有効にできないので優先して対応してくれるといいなと思っております。

[ 5月10日全て ]

2018年11月14日 (水)

トピックとリンクによる構造が特徴のサービス Trickle

丸山@h13i32maru 氏が開発された Trickle というサービスがとても面白そうなので、サインアップして触ってみた。

より気兼ねなくアクティビティを投稿できるためのトピックという構造

Trickle は Twitter を使っていて

「自分が主体でありたい、自分への影響をコントロールしたい。でも一人は寂しい」

という自分も「そうそう!」と共感できるインサイトから、トピックというアイデア取り入れて作られた(ソーシャルメディア)サービスだそう。トピックという構造を1つ入れることで投稿する側は書き分けられるし、読む側は特定のトピックだけサブスクライブすることで読み分けられるというお互いにハッピーという仕組みだ。

投稿単位であるアクティビティはオプショナルな「ノート」「画像」「リンク」を持つ。「いいね」と名付けたトピックに他のアクティビティへのリンク付きアクティビティを投稿することで、ユーザーは「いいね」機能を「実装」できてしまうわけだ。非常に面白い!

また書き留めるサービスという観点から、アクティビティを再編集したり別のトピックに移して整理しなおせるというのも理に適った仕様だと思う。

一個人として自分はトピックを使い分けられるだろか?

19年 Web 日記を書き 11年 Tweet している身として「日常生活の中で使える時間は有限。メディアやアカウントをテーマ別に使い分けてどれも充実させていくというのは時間的にもネタ的にもかなり大変である。そもそも興味のあるテーマもどんどん変わっていく。なのでテーマ別に分けない方が良い」だと自分自身については思っている。

それからソーシャルメディアの投稿を読むという立場で考えてみてると「何のテーマの投稿か?」以上に「誰の投稿か?」を自分は重視しているなと。やはりトピックではなく人をフォローしたいのだ。うん。

1日使っただけで Trickle のサービスやモデルの良否は語れるものではないので、以上あくまでもファーストインプレッションということで。

知っている人がどんどん使い始めたら、もっと便利さが感じられるのかもしれない。……あ、やはり人をフォローしたいんだな。

[ 11月14日全て ]

2019年1月30日 (水)

今日のさえずり: α-7 のボディのゴムがベトベトになってた(α7 ではない)

2019年01月30日

[ 1月30日全て ]

2019年6月26日 (水)

HTML ページ中の Graphviz 定義を自動的にクライアント側で SVG 変換し表示させる

昨日 HTML ページ中の mermaid 定義を自動的にクライアント側で SVG 変換し表示させるようにしたらいい感じなので、勢いで Graphviz の DOT 言語で書かれたグラフ定義も Viz.js を使って SVG 変換できるようにしてみた。

mermaid では HTML ページ中の mermaid クラスをもつ要素を SVG 要素に変換するコードが入っているのだけれど Viz.js にはそれは無さそう。なので mermaid の実装を参考に dot クラスの要素を変換するようにしてみた。

 <div class="dot">
 digraph {
   graph [rankdir = LR];
   a -> b;
   a -> c;
 }
 </div>

と書いたら以下のように変換される。

digraph { graph [rankdir = LR]; a -> b; a -> c; }

mermaid よりずっとメジャーな Graphviz (互換)が使えるとさらに捗って嬉しいぞ。

Viz.js は mermaid よりさらに大きいので、さすがに全ページで読み込ませるのはまずい。なので Viz.js と mermaid についてそれぞれの定義があった場合のみ動的ロードするようにしておいた。

で、まずます動くようになったのでちょっとしたノートを置いておくスペース nNote だけでなく nDiki でも動くように設定しちゃった。Viz.js や mermaid が使えなくなった時のことを考えて記事の寿命が長い nDiki の方では多用はしないつもりではある。

[ 6月26日全て ]

2019年8月28日 (水)

EC2 上の開発環境を返上【日記】

過去サービス開発をしていたこともあり AWS EC2 上の開発環境を割り当ててもらっていたのだけれど、新しい環境に移行するにあたり新しい開発環境は割り当ててもらわないことにした。

ああ(実装という意味での)サービス開発からは完全に足を洗ったんだなとちょっと感慨深くなった。

実際もう数年サービスのコードを書いておらず、仕様確認のためコードリーディングにしか使ってなかったのでそのうち開発環境返上せねばなあとは思っていたので良いタイミングではあった。

[ 8月28日全て ]

2019年10月31日 (木)

トライアル実装について書き出して情報発進するということ

保守が難しくなってきたライブラリを使うのをやめて、まだ導入していない新しいライブラリを使う実験的取り組みしていている担当者に「ドキュメントにまとめておいて欲しい」とリクエストしたら「誰が何のために読む想定で書けばよいか」という良い質問をもらった。質問を受けてドキュメント化で期待する価値について伝えられるよう整理しなおした。

ドキュメント化で期待する価値

今回のトライアル実装のドキュメント化で期待する価値は以下と考えている。

  • 個人の学習: 今回の取り組みメンバの理解が深まる。
  • 資料化: ソースコードから読み取りにくい 「なぜそういう設計・実装にしたか」を今後保守する人が理解する時の助けになる。
  • 組織の学習: 今後同じライブラリを使うことになる組織の他のメンバが将来参考にできる。

ということで「今のチームメンバ」「将来のメンテナ」「将来の組織の他のメンバ」が読者の想定だ。

「詳細設計書」をまとめるより「今回やったこと」「分かったこと」「考えたこと」「気付いたこと」を整理して書き出すことが、形式知化とナレッジ共有に役立つと考えている。

「ドキュメントにまとめておいて欲しい」には「成果物としてドキュメントを残して欲しい」だけでなく「情報発信をするメリットを知って欲しい」という思いも含んでいたりする。

[ opinion ]

[ 10月31日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.075615s / load averages: 0.78, 0.67, 0.63
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker