nDiki : 実装

実装 - implementation

2015年7月13日 (月)

職務経歴書で「製造」と言っちゃうソフトウェア開発

職務経歴書などで「プログラミング/コーディング/実装」あたりのことを「製造」と書かれているのをみると、悪いとは言わないけれど「あっ、違う」と感じる。

[ 7月13日全て ]

2016年8月31日 (水)

今日のさえずり: 「直接お話ししたことはありませんが、 Twitter では常々拝見しておりました。」

2016年08月31日

[ 8月31日全て ]

2016年9月30日 (金)

インターンシップがんばったぞい!

「がんばるぞい!」という意気込みで9月1日から配属されたインターンの方が就労型インターンシップの最終日を迎えました。1カ月間お疲れさまでした。

今までで一番幅広くトライ

私のいるチームでインターンに来ていただくようになって4年目ですが、今年は一番幅広く様々な業務に取り組んでもらうことになりました。「仕様決め」「デザイン担当と調整」「マークアップコードの依頼と受け取り」「実装」「コードレビューアとのやりとり」「QA 項目の作成と依頼」「ユーザーサポートへのリリース共有」「リリース」と、様々な担当の人とやりとりしながらリリースしていただいたのは今年が初めてです。体調不良をかかえつつ大変だったかと思いますがやり遂げられました。素晴らしいです。実際のサービス開発の1つのケースとして良い経験となったならチームとしても嬉しいです。

思い出

  • 2日目に迷子。
  • 6日目に救急。
  • 5回一緒にランチだったけれど結局同席だったのは2回。

Blog を書くまでがインターンシップ

今回いろいろ経験したことについて、ぜひふりかえって1カ月間で感じたこと・思ったことをまとめていただければと思います。頭の中で考えるだけではなく手を動かして書き出すことで自分の中での理解を深められるでしょう。

Blog を書くまでがインターンシップです!

[ 9月30日全て ]

2016年12月13日 (火)

第8回 エッセンシャル スクラムを読む会

エッセンシャル スクラム: アジャイル開発に関わるすべての人のための完全攻略ガイド

社内で「エッセンシャル スクラム」を読みたい人が集まる勉強会8回目。今日は第8章 技術的負債。

スクラムのコアコンセプトの部でわざわざ技術的負債について1章割くというのがふーんという印象でした。ベロシティに大きな影響を与えるので避けて通れないというところでしょうか。あるいはウォーターフォールと違って返済していくチャンスがあるからでしょうか。

技術的負債

技術的負債。当初は

意図的に手抜きをしてすばやく仕上げるという意味

技術的負債を抱えるということは、今後の作業のための時間を担保にした融資を受けるということだ。

からきていて、後々返済する必要が出てくる代わりに先に経済的効果を得ているものを指しています。単純にまずい設計や実装のことまで技術的負債と世間で呼ばれていることがありますが、個人的には違和感を感じています。本書ではナイーブな技術的負債と呼んでいますね。

技術的負債ですが

大切なのは、どんなプロダクトであっても技術的負債からは逃れられないということだ。私はここで、技術的負債をなくすよう努力しましょうなどと言うつもりはない。仮にそんなことができたとしても、負債をゼロにするためには大変なコストがかかるだろう。

ということで必ずしも罪悪感を感じる必要のあるものではないことがわかります。きちんと把握してコントロールしていくことが重要です。

ただ

技術的負債の経済的意味についての適切な認識

については、正直なところなかなか正確に見積もれることがない気がします。技術的負債を生むという選択をした時にそこまで見積もる余裕がない、あるいはあっても先のことなので詳細化しきれない、そういうケースが多いのではないかと。

技術者レベルでの技術的負債の可視化

  • 方法1: 障害管理システムに記録する
  • 方法2: 技術的負債を表すプロダクトバックログアイテムを作る
  • 方法3: 技術的負債バックログを作る

サイズが大きいものは方法2の方が時間をとって返済しやすく、サイズが小さいものは方法3の方が「フィーチャーよりも優先度が低くていつまでも返済されないということがない」ので返済しやすいようです。

技術的負債の返済

  • 作業中に偶発的な技術的負債が見つかれば対応できるところまで対応する。
  • スプリントごとに既知の技術的負債のいくつかを返済対象として対応する。価値をもたらすフィーチャーの開発と関連するものを一緒に進めることで金利の高いものから勧められる。

あたりがポイント。

「技術的負債返済スプリント」だとか「リファクタリングプリント」などといった言葉がチーム内で出てきたら、危険信号だ。

ということで、技術的返済のみに注力するのは価値を提供し続けるというのに反するで望ましくないとありました。

また実際のところ利息がほとんど発生しない技術的負債もあるので、きちんと見極める必要がありますね。

[ 12月13日全て ]

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年3月16日 (金)

今日のさえずり: 休憩室の冷蔵庫を掃除してサッパリ!

2018年03月16日

  • 07:52 朝から雨なので普通の傘だな。
  • 08:00 いよいよ本日。久保村氏 @a_know 氏 @otoyo0122 氏。 / “JustTechTalk#11 エンジニアの新しいキャリア Customer Reliability Engineer (CRE)” http://bit.ly/2sVkWjF
  • 08:14 参加申し込み締め切り今日の 17:10 で、まだ空きがあって間に合うっぽい。
  • 10:49 RT @pg_nukosuke: 書きましたー / “【CREウィーク木曜日】ChatOpsによる解析基盤の運用改善とAWSクロスアカウント環境におけるChatbotの実装例 | レポート | XFLAG(エックスフラッグ) キャリア採用サイト ケタハズレな冒険…” https…
  • 12:10 3月16日告知で5月31日クローズ。 / “【重要】2018/05/31をもってメルカリ アッテのサービス提供を終了します” http://bit.ly/2FVaXQu
  • 13:27 休憩室の冷蔵庫を掃除してサッパリ!
  • 18:00 CS センターでの経験を持つ CRE の強み。 / “【CREウィーク金曜日】CRE チームで活きたこれまでの経験” http://bit.ly/2pggaZJ
  • 18:39 マグロの解体ショー見てる。
  • 21:32 今日の懇親会、一眼さげてるひとがいた。
[ 3月16日全て ]

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日全て ]

About Me

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

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

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

follow us in feedly

月別インデックス
Process Time: 0.073283s / load averages: 0.25, 0.25, 0.25
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker