タグ

ブックマーク / codezine.jp (8)

  • プロダクトに必要なスキルを10年維持するために――「スキルマップ」と「ソフトウェア式年遷宮」

    プロダクトを長期運用するには、必要な知識やスキルをいかにチーム内でとどめておくかという視点が必要になります。稿では、はてなの「Mackerel」というプロダクトで培った経験をもとに、「スキルマップ」と「ソフトウェア式年遷宮」という2つのアプローチを紹介します。(編集部) プロダクトチームにおけるスキル維持の難しさ プロダクトの運用には、さまざまな知識やスキルが必要です。プロダクトに対するドメイン知識や、プロダクトを実装するために用いているプログラミング言語。アプリケーションフレームワークやミドルウェア、インフラなど数え上げればキリがありません。プロダクトを長い期間運用していくためには、これらの知識やスキルをどのようにチーム内にとどめておくか、ということを考えていく必要があります。 これらは、さまざまな要因でチームから失われていきます。改修や機能追加などで頻繁に手が入るところは良いのですが

    プロダクトに必要なスキルを10年維持するために――「スキルマップ」と「ソフトウェア式年遷宮」
  • 京都大学、Pythonによるプログラミング演習教材を無料公開

    プログラミング演習の教材は、プログラミングの初学者を対象にPythonを用いたプログラミングを演習方式で学ぶもので、京都大学学術情報リポジトリ(KURENAI)で公開されている。編のほか、横道にそれる話題をまとめたコラム編の2つの教材がある。著者は国際高等教育院 教授の喜多一氏。 教材は、2018年度に全学共通科目として実施された授業を元に構成されたもので、到達目標としては以下の3つを挙げている。 Pythonによるプログラムの実行についての基操作ができるようになる。 Pythonプログラムを構成する基的要素の機能と書式について説明し、例題を用いて実行例を構成できるようになる。 Pythonを用いて簡単なプログラムを自ら設計、実装、テストできるようになる。 著者は、教材のまえがきにおいて、多くの解説書がプログラミング言語の紹介に終始しがちななか、Pythonというプログラミング言

    京都大学、Pythonによるプログラミング演習教材を無料公開
  • 実践DDD本 第10章「集約」~トランザクション整合性を保つ境界~

    実践DDD 第9章「モジュール」~高凝集で疎結合にまとめる~ DDDにおける集約 DDDにおける集約(Aggregates)とは、オブジェクトのまとまりを表し、整合性を保ちながらデータを更新する単位となります。通常はオブジェクトの集まりの「境界線」の意味で使われ、オブジェクト群の生成/読み込み/変更/保存といったライフサイクル管理が行われます。 外部から集約を操作できる「集約ルート」 外部から集約を操作する場合、代表オブジェクトである「集約ルート(≒ルートエンティティ)」のみ参照することができます。集約ルートを操作することで集約全体の整合性を保ちながらデータを変更できます。 DDDの「集約」のイメージ 上図の例では、注文に関わるオブジェクト群が集約の「境界線」となっています。操作をしたい場合「注文」という「集約ルート」に変更依頼をすることができます。集約内部にある「注文明細」や「配送先住

    実践DDD本 第10章「集約」~トランザクション整合性を保つ境界~
  • フリーのビッグデータ分析学習環境を使って、Apache Sparkによるバスケット分析を行ってみる

    5/15 04:43:36 INFO MemoryStore: ensureFreeSpace(259846) called with curMem=0, maxMem=278302556 15/05/15 04:43:36 INFO MemoryStore: Block broadcast_0 stored as values in memory (estimated size 253.8 KB, free 265.2 MB) 15/05/15 04:43:36 INFO MemoryStore: ensureFreeSpace(21134) called with curMem=259846, maxMem=278302556 15/05/15 04:43:36 INFO MemoryStore: Block broadcast_0_piece0 stored as bytes in

    フリーのビッグデータ分析学習環境を使って、Apache Sparkによるバスケット分析を行ってみる
  • 「HTTP/2」がついに登場! 開発者が知っておきたい通信の仕組み・新機能・導入方法

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    「HTTP/2」がついに登場! 開発者が知っておきたい通信の仕組み・新機能・導入方法
  • プロトタイプ(prototype)によるJavaScriptのオブジェクト指向

    はじめに JavaScriptはオブジェクト指向言語です。しかし、そのオブジェクトの性質は、他に良く知られているオブジェクト指向言語のJavaC++と大きく異なっています。 そこでこの記事では、なぜそのような違いがあるのか、JavaScriptにおけるオブジェクト指向の言語思想を見ていくと共に、その違いの根幹であるプロトタイプについて解説していきたいと思います。 なお、この記事はJavaScriptの解説ですが、その内容は、標準仕様のECMAScriptで扱われる範囲に基づいています。従って、同じくECMAScriptを元にしている言語(JScript、ActionScript)でも通じる内容になっています。 対象読者 プログラミングの基的な知識、ならびにオブジェクトやメソッドと言った基礎的な概念については、ここでは解説しません。最低限、オブジェクト指向プログラミングについて理解をして

    プロトタイプ(prototype)によるJavaScriptのオブジェクト指向
    arata3da4
    arata3da4 2013/07/23
    prototypeについてなんとなくわかった。
  • ScalaによるWebアプリケーションフレームワーク「Lift」とは

    Java仮想マシン上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 連載ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 はじめに Java仮想マシン(以下JVM)上で動くオブジェクト指向+関数型言語として、Scala(スカラ)が最近注目を集めています。 Scalaで構築されたWebアプリケーションフレームワークはいくつかありますが、 稿ではその中で比較的歴史のある(といっても2年程度ですが) フレームワークである、Lift(リフト)を紹介したいと思います。 対象読者 Javaは知っているが、Scalaも学んでみたいと思っている方 ScalaでのWebアプリケーション開発に興味がある方 必要な

    ScalaによるWebアプリケーションフレームワーク「Lift」とは
  • Google App Engine for JavaでMySQLを使ってみる

    はじめに 米Googleは2011年10月6日、Google App Engine(以下、GAE)から利用できるRDB(リレーショナルデータベース)「Google Cloud SQL」を発表しました。これまでGAEで使用できるデータストアは、いわゆるNoSQLのBigtableだけでしたが、これでNoSQLSQLの両方が使えるようになった訳で、Googleによれば、RDBはGAEユーザーから最もリクエストが多かった機能だということです。 この記事では、Google App Engine(Java)を使って、クラウド環境下でのRDBの使用方法について解説していきます。 対象読者 Google App Engine for Javaに興味がある方 クラウドでのRDB(リレーショナルデータベース)使用に興味がある方 必要な環境 Eclipse 3.5(Galileo)/3.6(Helios)/

    Google App Engine for JavaでMySQLを使ってみる
  • 1