タグ

あとで読むに関するhamacoのブックマーク (11)

  • イミュータブルデータモデル - kawasima

    CRUDのうちUPDATEがもっともシステムを複雑化する。更新には複雑なルールが伴うからだ。業務的に複雑なルールが存在するのは仕方ないこともあるが、システム、設計で複雑さを更に増さないようにしたい。UPDATEに着目し、その発生をできるだけ削ることによって複雑さをおさえるためには、まずデータモデルをそのように設計しておかなけれなならない。このイミュータブルデータモデルは、それを手助けする手法で、手順に沿って実施すればある程度のスキルのバラつきも吸収できるように組み立てられている。

    イミュータブルデータモデル - kawasima
  • 「無人化システム」を駆逐する組織マネジメントとエンジニアリング

    弊社では2019年3月ごろから「無人化システム」の駆逐を進めています。記事ではこの取り組みを、組織マネジメントとエンジニアリングの側面から紹介します。 恐怖の無人化システム 「無人化システム」は社内の独自用語なので、まずは言葉の意味から説明します。 無人化とはなにか 無人化の前に属人化について触れておきましょう。weblio辞書から属人化について引用します[1]。 ある業務を特定の人が担当し、その人にしかやり方が分からない状態になることを意味する表現。 無人化は属人化の進化系です。無人化とは「属人化していた業務の担当者がいなくなってしまい、誰にもやり方が分からない状態になること」と定義できます。誰がどう見てもダメな状態ですね。 無人化システムとはなにか システム運用が属人化し、かつその運用者が退職するとシステムが無人化します。我々の会社ではこのようなシステムを『無人化システム』と呼んでい

    「無人化システム」を駆逐する組織マネジメントとエンジニアリング
    hamaco
    hamaco 2020/12/16
    草 / “そのようなシステムは静かに止めてみて、どこかから悲鳴が上がるか観察します。悲鳴が上がればその人がステークホルダーです。”
  • コードレビューの目的と考え方 - osa_k’s diary

    まえがき コードレビューの目的 大目的 小目的 チェックリスト 優先度高(大きな損失を生む問題・後からの修正が困難な問題) 優先度中 優先度低(システムに大きな影響を与えない問題・後からの修正が容易な問題) レビューを負担にしないために レビューサイズのコントロール 誰がレビューをするか 議論をどうまとめるか 批判と個人攻撃 レビュワー向けアドバイス Code author向けアドバイス 参考文献 まえがき コードレビューの有効性が説かれるようになって久しい。しかし、コードレビューをするべきという観念ばかりが先立ってしまい、何のためにコードレビューをするのか、どのような点をレビューするべきなのかといった、目的や進め方に対する意識が曖昧なケースも数多くあるように思われる[6]。コードレビューの目的を理解せずに惰性でレビューしているだけでは、いずれレビューそのものが形骸化し、単に承認のハンコを

    コードレビューの目的と考え方 - osa_k’s diary
  • 「Ameba」15年の負債を払拭するカラーパレットのメソッド | CyberAgent Developers Blog

    「Ameba」は2020年に16周年を迎える長寿サービスです。 プロダクトチームはPC / SP / iOS / Androidと4種類のデバイスに対応しており、15年という歳月を経た結果、管理の追いつかない画面、レガシーなコード等に苛まれるようになってきました。 「Ameba」開発チームではそのような、過去の遺物に開発リソースを割かれる状態を「負債」と呼び、その解消のために日々戦っています。 さらに、「Ameba」には現在10名ほどのデザイナーが携わっており、それぞれが異なる施策や領域を対応していることも相まって、施策を経る毎に、「Ameba」内でGUIに関する、共通の意識や見解を持つことができなくなっていました。 この状態を打開し、「Ameba」プロダクト再興の礎を構築しようと、今年度からデザインシステムの開発をスタートしました。 今回はそのデザインシステムの中でも真っ先に取り組んだ要

    「Ameba」15年の負債を払拭するカラーパレットのメソッド | CyberAgent Developers Blog
  • スマートフォンアプリ開発における共創的な開発チーム

    複雑かつリッチな体験を提供するスマートフォンアプリを開発するためのチームワーク、その中でのエンジニアの役割について

    スマートフォンアプリ開発における共創的な開発チーム
  • ソースコードの減らし方 - 基本的な考え方と10個の方法 - クラウドワークス エンジニアブログ

    ステップ数で評価が決まる現場では全く役に立たないテクニックではありますが、ソースコードの減らし方について紹介したいと思います。 開発Div. エンジニアのayasudaです。 2014年の夏にジョインし、会社名と同じサービス、クラウドワークス の開発に携わっています。 ご覧の通り、消したソースコードの方が多いので、ステップ数換算だとマイナスの働きしかしてませんね! 記事では、特に Ruby on Rails の運用されているプロダクトコードにおける、ソースコードの減らし方について紹介していこうと思います。 基的な考え方 ソースコードを減らすときの大原則は「ボーイスカウト・ルール - プログラマが知るべき97のこと」です。 普段、ソースコードを触るときに、一つでも良いので簡単な改善を入れる。これを積み重ねるのが大事です。 一度に一気に直そうとするのはあまり良くありません。大抵の場合、デグ

    ソースコードの減らし方 - 基本的な考え方と10個の方法 - クラウドワークス エンジニアブログ
  • DeepLearningを使った実装を纏めてみた - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は全然です。 Deep Learning 一言で言うとただの深層学習ですが、 作り手や用途によって構造が全然違います。 今回は逆引き辞典よろしく、Deep Learningの実装のリンク集を作ってみました。 今回はライブラリは問わず、掲載します。 Caffe、Theano(Lasagne)、Torch7、Chainerなんでもござれです。 後日、追記するかも・・・ Neural Network(Full Connected) Auto Encoder Auto Encoder Denoising AutoEncoder Convolutional AutoEncoder Convolutional Neural Network Convolutional Neural Network R-CNN Fast-RCNN Faster-RCNN Recurren

    DeepLearningを使った実装を纏めてみた - のんびりしているエンジニアの日記
  • 《第65回》文部科学大臣賞作品紹介(1)

    第65回全国小・中学校作文コンクールの中央最終審査会が行われ、各賞が決定しました。応募は3万5095点(小学校低学年4883点、高学年8081点、中学校2万2131点)。文部科学大臣賞3点を要約して紹介します。(敬称略) <2015年11月30日の読売新聞朝刊に掲載しました> <中学校> 「夢の跡」 静岡・静岡サレジオ中2年 高田愛弓(たかだ・あゆみ) 父が、逮捕された。 自宅には家宅捜索が入った。毎日「いってきます」と「ただいま」を繰り返す門扉は、マスコミ陣で埋め尽くされた。 2015年5月26日、夕刻のことである。 6人の警官が玄関先で卵のパックに収まっているかのように待機する中、母は親戚に電話をして、駅前のビジネスホテルを押さえてもらうと、祖母に連絡を取り、そこから叔母が私を迎えに行くように手筈(てはず)を整えた。 テレビドラマでしか観(み)たことがないようなことが自分の家で起こって

  • 汎用的なコードの依存関係の抽出ツール rexdep を作りました! ― 正規表現で依存関係を大雑把に抽出しよう! - プログラムモグモグ

    あらすじ ソフトウェアの中の依存関係について 正規表現で抽出できることとその限界 コードの依存関係を抽出するツール rexdep を作りました ソフトウェアの構造を概観するには あなたは、大きなソフトウェアを目にした時、何をしますか? ファイルが何十、何百もある時、どこから読みますか? ソフトウェアが巨大になると、そのコードの構造を把握するのは難しくなります。 特にプロジェクトに入りたての人にとって巨大なコードベースを一目で理解することは難しく、細かなタスクをこなしていく中で徐々に「どこに何が書いてあるか」を理解していくしかありません。 ソフトウェアによってはモデルとコントローラ、データベースとビューと言った具合にコードが分かれており、これくらいの分類はディレクトリ名を見れば理解できるかもしれません。 しかしそのようなざっくりとしたコードの分類が分かったところで、ソフトウェアの構造を理解し

    汎用的なコードの依存関係の抽出ツール rexdep を作りました! ― 正規表現で依存関係を大雑把に抽出しよう! - プログラムモグモグ
  • rebase で本番用の設定と開発用の設定を簡単に切り替える - ぐるぐる~

    rebase を使うと、番用の設定と開発用の設定を簡単に切り替えることができます。 rebase の基は rebase について - ぐるぐる〜 で説明しているので、ここまでは分かっている前提です。 例えば、ASP.NET番用と開発用の web.config が違うとします。 共用のリポジトリには開発用の web.config をコミットしてはいけません。 これをすべて手作業で行おうとすると、ついつい間違って開発用の web.config をコミットしてしまったり、ついつい間違えて開発用の web.config の内容がどこかにいっちゃったりすることがあります。 こういった事故を少なくするために、rebase を使います。 rebase --onto onto オプションを使用することで、ある地点 (ブランチ a とします) から分岐したブランチ (b とします) の分岐点から先

    rebase で本番用の設定と開発用の設定を簡単に切り替える - ぐるぐる~
  • ウェブオペレーションにインフラストラクチャーグループの取り組みを寄稿しました - クックパッド開発者ブログ

    こんにちは。エンジニアの濱崎/@hmskです。 5/14に発売されました「ウェブオペレーション ―サイト運用管理の実践テクニック」という訳書に日語版限定の18章として、「日料理のインフラ」と題した、クックパッド技術部インフラストラクチャーグループ(以下インフラチーム)のサービスのインフラの構築と運用に関する取り組みの話を寄稿させて頂きました。 クックパッドのインフラチームは、通年の目標として「バレンタインデー前に年間でピークとなるトラフィックの3倍に耐え得るキャパシティの構築」、「全リクエスト平均200[msec]以下」を中心に置き日々の業務に取り組んでいます。 執筆内容は、インフラ視点からのサービスの概要、選択しているソフトウェア、バレンタインデーに向けた対策、チームでの情報共有について満遍なくまとめており、インフラチームのこの1年間の主な業務のほとんどを知ることができるようにな

    ウェブオペレーションにインフラストラクチャーグループの取り組みを寄稿しました - クックパッド開発者ブログ
  • 1