タグ

programmingとDevelopmentに関するat_yasuのブックマーク (75)

  • DDDってなんだろう?

    2016/07/23 フロントエンド関西開催のDDD勉強会での発表資料です。(一部加筆あり。) フロントエンドにおける情報設計 と DDD 座談会 - connpass http://kfug.connpass.com/event/34131/

    DDDってなんだろう?
  • A remote server automation and deployment tool written in Ruby.

    role :demo, %w{example.com example.org example.net} task :uptime do on roles(:demo), in: :parallel do |host| uptime = capture(:uptime) puts "#{host.hostname} reports: #{uptime}" end end Capistrano extends the Rake DSL with methods specific to running commands on() servers. For Any Language Capistrano is written in Ruby, but it can easily be used to deploy any language. If your language or framewor

  • 「ドメイン駆動設計」の複雑さに立ち向かう

    13. オブジェクト指向の「変更容易性」 (どのパラダイムでも同じだけど) • 抽象データ型/段階的な抽象化 – プログラムを人間の発想に近づけると扱いやすい • モジュラープログラミング – 独立性の高い部品に分けると扱いやすい – 関連するデータと操作は、ひとつのプログラミング単位に • メッセージング – 部品の組合せを柔軟に変更できると扱いやすい – sender/receiver/dynamic routing – Javaだとうまく実現できていないアイデア • メッセージングの考え方の参考 • Erlang, EIP:Enterprise Integration Patterns, マイクロ サービス, … 14. LocalDate クラス 日付を汎用的に扱う手段 Java APIのレイヤ int year short month short day LocalDateの内部

    「ドメイン駆動設計」の複雑さに立ち向かう
    at_yasu
    at_yasu 2015/09/07
    あとで読む
  • 世界最強のソフトウェアアーキテクト

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは! マーケティングソリューションカンパニー(MSC)開発部の小川雄大です。 昨年11月に子会社のクロコスからヤフーに移りまして、現在はヤフーで開発を行っています。みなさまどうぞよろしくお願いします。 MSC開発部では、ヤフーが世界最強を目指してどう取り組んでいくかについて議論する会を毎週開催しています。今回はそこで今年の1月に僕が発表した「世界最強のソフトウェアアーキテクト」について公開したいと思います。 今回はヤフーに入ってはじめての発表ということもありテーマをどうしていくかはかなり悩んだ部分なのですが、テクニックよりもアーキテクトが持つべきマインドを共有することが次につなげていく上で大切になると考えたので、多少抽

    世界最強のソフトウェアアーキテクト
  • 人は1ヶ月でエンジニアになれるのか

    This document summarizes a microservices meetup hosted by @mosa_siru. Key points include: 1. @mosa_siru is an engineer at DeNA and CTO of Gunosy. 2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway. 3. Challenges discussed were managing 30 microservices, ensur

    人は1ヶ月でエンジニアになれるのか
  • Joel on Software -

    プログラマのためのユーザインタフェースデザイン 第 1 章 第 2 章 第 3 章 第 4 章 第 5 章 第 6 章 第 7 章 第 8 章 第 9 章 ストラテジーレターV 2002年6月12日 ミクロ経済学の補完財の原理について考えていて、私はオープンソースソフトウェアに関する興味深いあることに気がついた。それが何かというと、オープンソースソフトウェア開発に多額の資金を使っている企業の多くは、それが彼らにとって良いビジネス戦略だからそうしているのであって、突然資主義を信じるのをやめて、「言論の自由と言うときの自由」に浮かれるようになったわけではないということだ。ストラテジーレターⅤ 5つの世界 2002年5月6日 5つの世界:すべてのソフトウェア開発が同じではない。 追記:インターナルシステム、コンサルウェア、パッケージソフトの間には大きなグレーゾーンがあり、この3つの世界はしばし

    at_yasu
    at_yasu 2015/02/24
    かなり前に読んだけど、再読する。
  • 「ソフトウェアアーキテクチャとは?」 - MVP Community Camp 2015 東京会場で話してきました - the sea of fertility

    「ソフトウェアアーキテクチャとは?」というテーマでMVP Community Camp 2015 でお話してきました。 Architectureの原義に戻ったお話をしてきました。この話聞いても、MVC系各種とかDomainModelとかTransactionScriptとか理解していないと多分何にもならないと思います。 Software Architectureとは?

    「ソフトウェアアーキテクチャとは?」 - MVP Community Camp 2015 東京会場で話してきました - the sea of fertility
  • 優れたエンジニアを採用できないワケ | POSTD

    あなたは技術者採用の面接が苦手ですね。そう、あなたですよ。間違ったスキルを探し求め、適正の無い人たちを採用して、自分自身と会社に悪い影響を与えているのです。応募者リストを見直さなくとも、今までとは違う人材を採用し、会社の業績を上げ、あなた自身も仕事をもっと楽しめるようになりますよ。 いささか大胆な物言いだということは承知しています。仕事での経験を積み面接を担当するようになってから10年、大小の企業の様々な部署で、技術者を雇うための数多くの面接をしてきました。採用する人材が会社に及ぼす影響についても見てきました。完璧な採用を目指せというつもりはありません。私自身がこれまで何度もしてきたあらゆる失敗をあなたが犯さなくても済むよう、お伝えしたいのです。私がこれまで学んできたことは次のようなことです。 誤った判断基準 1. 応募者の現時点の知識に基づいて採用しない 面接で犯しがちな最初の間違いは、

    優れたエンジニアを採用できないワケ | POSTD
  • Semantic Versioning 2.0.0

    english セマンティック バージョニング 2.0.0 概要 バージョン番号 MAJOR.MINOR.PATCH を前提として、 あなたが互換性のない API の変更を行うときに MAJOR バージョンを、 後方互換性のある方法で機能性を追加したときに MINOR バージョンを、 そして、後方互換性のあるバグ フィックスをしたときに PATCH バージョンを、 インクリメントします。 追加のラベルとして、プレリリースとビルド メタデータが MAJOR.MINOR.PATCH フォーマットへの拡張として利用することができます。 序論 ソフトウェア マネジメントの世界には「依存関係地獄」と呼ばれる非常に恐ろしい場所が存在します。 あなたのシステムがより大きくなるほど、あなたのソフトウェアの中へより多くのパッケージを溶け込ませるほど、いつかこの絶望の底にいるあなた自身に気づく、そんな可能性が

  • ぼくの考えたさいきょうの開発フロー - PHP編 - Speaker Deck

    Transcript ΅͘ͷߟ͍͖͑ͨ͞ΐ͏ͷ։ൃϑϩʔ PHPฤ Yuta Adachi ࣗݾ঺հ ҆ୡ ༐ଠ (@UAdachi) ! ग़਎ɿౡࠜݝদߐࢢ ͓࢓ࣄɿChatWork ΠϯϑϥνʔϜ ! ڵຯ͋Δ͜ͱɿυϝΠϯۦಈઃܭɺScalaɺςχε (΢Οϯϒϧυϯ։࠵த) ! IUUQT���DJSDMFDJ�DPN ͓඼ॻ͖ • ։ൃϑϩʔΛ࠷దԽ͍ͯ͘͠໨త • ։ൃ؀ڥ • ίϛϡχέʔγϣϯ • CI • σϓϩΠ ໨త ! • ։ൃͷߴ଎Խ • ΦϖϨʔγϣϯϛεͷ༧๷ • ϓϩμΫτͷ඼࣭޲্ + ՄࢹԽ ։ൃ؀ڥ Ͳ͏΍ͬͯߏஙͯ͠·͔͢ʁ • Vagrantͬͯ࢖ͬͯ·͔͢ʁ ϝϯςφϯε • ։ൃ؀ڥͩͬͯߋ৽͞Εଓ͚Δ • ߏஙखॱॻΛ࡞Δͷେม " εΫϦʔϯγϣοτʹ໼ҹॻ͍ͯɺઆ໌จΛఴ͑ͯ… ʮԶͷ؀ڥʯ໰୊ ྫ. Aʮಈ͔Ͷʔʯ BʮԶͷ؀ڥͩͱಈ͘

    ぼくの考えたさいきょうの開発フロー - PHP編 - Speaker Deck
  • ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 最近、あまりプログラミングが得意でない人のサポートをする形で、長い時間にわたってペアプログラミングを行っている。そのなかで、気がついた悪い習慣と成長するための良い習慣というものをまとめてみる。 この記事のバックグラウンドとなる体系的知識がになりました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング あわせて読みたい 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマ

    ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習
  • "ジェネレーティブ・プログラミングの世界" 勉強会の参加報告 - ジャスミンソフト日記

    さった2月15日に名古屋で行われた "ジェネレーティブ・プログラミングの世界" 勉強会に参加してきました。マイナーな?ネタにも関わらず40名ほどの参加者があり、活発な質疑応答で大いに盛り上がりました。 発表内容の詳細は、主宰者である佐野さんのブログが詳しいので、こちらを紹介します。 「第29回IT勉強宴会in名古屋 ジェネレーティブ・プログラミングの世界 - 関西IT勉強宴会のブログです」 ジェネレーティブという思想が目指すもの 以下は私の理解です。多少、妄想めいたものが含まれている可能性がありますが、ご容赦ください。 大規模で、かつ長期にわたって使い続ける業務アプリケーションにこそ、ジェネレーティブつまり自動生成技術をベースとした開発スタイルが望ましい、と考えています。 たとえば Java アプリケーションであれば、フレームワークとして Java EE もしくは Spring が選択され

    "ジェネレーティブ・プログラミングの世界" 勉強会の参加報告 - ジャスミンソフト日記
  • 達人出版会年間ランキング2013 - 達人出版会

    達人出版会で2013年に人気だった年間ランキングです。 (集計期間:2012/12/16〜2013/12/15) 2013年に達人出版会サイトでもっとも売れた電子書籍ランキングです。 2012年12月16日から2013年12月15日までの販売部数について、 達人出版会の発行物と他出版社からの委託販売に分けて集計しました。 それぞれ10位までと3位までとに分けてご紹介します。 達人出版会発行部門(ベスト10) 第1位 入門Chef Solo - Infrastructure as Code 伊藤直也 達人出版会 924円(税込) サーバー状態管理フレームワークChef、そのスタンドアロン版であるChef Soloの使い方について、はじめの一歩から実戦投入レベルに至るまでを解説。試験環境の構築方法、自動化コードの書き方、Chef のアーキテクチャや思想までを実例を通して説明します。

  • 関数プログラミングのボトルネックとしてのRDBMS

    プログラム開発は、多くの人々が目的達成のため、もがき苦闘するタールの沼である – Frederic P. Brroks, Jr., 人月の神話 モジュール性はプログラミング成功の鍵である – John Hughes, 関数プログラミングはなぜ重要か タールの沼の底から タールの沼と聞いて連想するのは大規模なSIである。業務アプリケーションやWebアプリケーションは規模が大きくなればなるほど、複雑さが増し収拾がつかなくっていく。そしてそのようなアプリケーションを大きな単位で上手くモジュール化し、さらには再利用することは不可能に近い。 その技術的な原因の一端、そして問題を解く鍵は、そのようなアプリケーションが常に携えているRDBMSの周辺にあり、さらに言えばおそらくRDBMSとアプリケーションロジックの組み合わせにあると考えている。 ここでは、アプリケーションロジックの実装に関数プログラミング

  • ユニットテストにまつわる10の勘違い | DevelopersIO

    渡辺です。さる方面からテスト系のエントリーがまだか…と催促されたので、ユニットテストについて少し考えてみたいと思います。 最近、TwitterのTLをチェックしていると、JUnitを利用しているにも関わらず違和感のあるTweetや、原因をJUnitにして来解決すべき問題から目をそらしているようなTweetを多く見かけます。そこで、JUnitをによるユニットテストに関するありがちな勘違いをまとめてみました。 なお、JUnitの部分は、RSpecでもNUnitでも適当に置き換えて読んでも構いません。 1.JUnitを使うことが目的という勘違い JUnitを利用すること自体を目的にしたところで何も得る事はありません。 ありがちな話ですが、「納品物としてJUnitのテストコード(または実行結果)を求められている」ことが理由でJUnitを利用しているならば、それは足かせでしかない可能性があります。

    ユニットテストにまつわる10の勘違い | DevelopersIO
  • 納涼!ほんとにあった怖いコードの話 - shobuno's blog

    納涼!ほんとにあった怖いコード(by CodeIQ×はてな) システム開発の仕事を始めて、はや二十年。。。 ごく普通の退屈なおじさんエンジニアですが、 長年やっていると自然とこの手のお話はたまっていくものの様で。。。 今宵はいくつかご紹介しましょう。。。 ■念のためロジック 今からおよそ20年程前。私が駆け出しだった頃のお話です。 当時のシステム開発といえば、大型のコンピュータで、COBOL(コボル)という 言語を使うものが主流でした。(多分 (^_^;) COBOLのプログラムの特徴は、上から下へ長々と処理手続きを順番に書く。。。 サブルーチンという機能は有り、一部は使っていましたが、 基的には上から下へ、長々と処理を書くというやりかたでした。 ある意味読みやすい、ある意味非効率な書き方でした。 1つのプログラムで、1000行2000行は当たり前、酷いものになると1万行以上 という、他

    at_yasu
    at_yasu 2013/08/18
    封印ワロエナイ
  • Coccinelle: A Program Matching and Transformation Tool for Systems Code

    What is Coccinelle? Coccinelle is a program matching and transformation engine which provides the language SmPL (Semantic Patch Language) for specifying desired matches and transformations in C code. Coccinelle was initially targeted towards performing collateral evolutions in Linux. Such evolutions comprise the changes that are needed in client code in response to evolutions in library APIs, and

  • 最近のおっさんたち - steps to phantasien

    Gisted のドッグフードをかねて InfoQ のインタビューやプレゼンを見るようになった。 いくつか面白かったのを紹介したい・・・とおもってるうちにバックログを溜めすぎた。一度に紹介するのは諦めて何度かにわけよう。 今日はおっさん、具体的には ThoughtWorks 周辺の面々を追いかけてみます。InfoQ 中心だけどそれ以外も若干あり。 When Geek Leaks “プロダクティブ・プログラマ ” の著者 Neal Ford が あるキーノートにつけたタイトルは ”When Geek Leaks“。 ここでの Leak は前向きだ。Geek の情熱がその主たる関心の外にも影響を与えていくといいですね、という話。 ファインマンが物理学という専門以外で発揮した数々のいたずら心、 ”Now Every Company Is A Software Company” という Forbes

  • 優れた仕様を決定するために必要なこと - GoTheDistance

    たまにはブログ更新したいから、ついさっき流れてきたエントリにいついちゃうよー。 ソフトウェア設計とは何か 〜 設計にはプログラミング経験が必要か否か | Social Change! 工程の分断はあり得ません ソフトウエアの設計に実装経験が要るか要らないかというのはそもそも議論にならない。「ソフトウエアの設計=仕様の設計+コードの設計」なんだから、例えればコインの表と裏。それらは引き離すことは出来ないのに引き離して分業しようとするからよろしくないことが起きてしまうというのが、上記記事の主題かと思います。簡単に言えば。 僕もこの点については「工程の分断」という言葉で何度も書いています。コインの表と裏であるべきものを分断してしまうと、互いのフィードバックを得る術を無くしてしまいます。そうなったら良いことは無い。ここは誰でも納得がいく所でしょう。 仕様を設計するチャンスって超少ないんじゃない?

    優れた仕様を決定するために必要なこと - GoTheDistance
  • 同僚の外国人プログラマ観察記録 - rinu's blog

    概要 1ヶ月くらい一緒にお仕事している外国人プログラマさんを観察した記録です。 スペック 性別: 男性 仕事内容: うちの会社のプログラマは、ざっくり JS 等のフロントエンドと、 Java 等のバックエンドエンジニアにわかれているのですが、彼はどちらもやっているようです。 好きなべ物: はちみつ たまに、くまさんのようにはちみつを舐めていました。 性格 彼はめんどくさがり屋です。 同僚の Windows ユーザの手伝いをしている時、 "C:¥Program Files¥..." みたいなパスを打ちながら、「めんどくさい。 ああ めんどくさい」 と 100回くらいつぶやいていました。 (普段の彼の環境は mac なので /usr/local/bin) パスワードを覚えるのもめんどくさいので 1Password で管理しているようです。 PC スペック マシン: Macbook Pro メ

    同僚の外国人プログラマ観察記録 - rinu's blog
    at_yasu
    at_yasu 2013/03/23
    ack覚えた