タグ

ソフトウェアに関するMukeのブックマーク (61)

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

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

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

    About the content This content has been published here with the express permission of the author. Software tests are great for verifying software behavior and improving the quality of your code. In this talk, we learn from Jeff Hui about tooling, techniques, and writing tested code with the Quick testing framework. He also talked about generative testing, a prevalent functional programming approac

    Testing in Swift
  • 「技術」という言葉について - kuenishi's blog

    とくにソフトウェアとかインターネット的な世界のはなし。典型的な用法は「〜〜という新しい技術仕事で使いたいのだけど、上司が許可してくれない」というものだ。この〜〜には、たとえばちょっと前だとLAMP, Ruby on RailsとかAWSとかHadoopだし、今だとなんだろう、DockerとかC#かな。うーんこの違和感。私の定義では、これはどれも技術ではない。ただのソフトウェアだ。AWSはサービスだ。 TCP/IPやSIPは技術だろうか?わたしの感覚ではノーだ。ただの仕様だ。いずれもベースになっている技術はあって、たとえばパケットのルーティングや名前解決、フレーム再送やウィンドウ制御の仕組みや実装は技術といっていいだろう。Hadoopは分散処理の技術を実装したソフトウェアだ。LAMPはWebサービスを実装するためのソフトウェアスタックの総称で、そのなかに様々な要素技術はあるだろう。Dock

    「技術」という言葉について - kuenishi's blog
  • チケット駆動開発の理想と現実 - プログラマの思索

    知人と話しながら、チケット駆動開発の理想と現実について気づいたことをメモ。 あくまでもメモであり、主張はない。 【1】Redmineを導入したならば、チケット駆動開発で運用するのが普通だと僕は思っていた。 しかし、実際の数多くの現場はそうではないですよ、と。 丁度、日のソフトウェア開発の現場では、アジャイル開発ではなくWF型開発が主流であるのと同じように、と。 【1-1】チケット駆動開発はXPに影響を受けすぎているのでは?、と。 世間のアジャイル開発のイメージは、XPよりもScrumの方が有名だ。 Scrumのプロセスフレームワークの中で、タスクカードがチケットとして使われる場合が多いでしょう。 全ての作業をチケットにして作業をはじめる「チケット駆動」は特殊でしょう。 WF型開発の現場では、そうではない。 チケットの入力結果は、ガントチャートで確認する方が普通ですよ、と。 【1-2】チケ

    チケット駆動開発の理想と現実 - プログラマの思索
    Muke
    Muke 2015/04/06
    Redmineっていう無料ツール使い続けるのではなく、WF型でやるならもはやProject入れればいいんじゃねとか思った。
  • プログラミング初心者が中・上級者になるための近道

    初心者と中級者、上級者の違いとは何でしょうか? 初心者は、 知識が少ない 開発したソフトウェアの数が少ない 中級者・上級者はその逆で、 知識が多い 開発したソフトウェアの数が多い その結果生まれる実質的な差は、 「初心者はかんたんなものしか作れないけど、中級者・上級者は難しいものを作れる!」 ということです。ですから、初心者が中上級者になるには難しいソフトウェアを作るのに役立つ知識を身につければ良いわけです! 難しいソフトウェアとは、 ロジックが複雑で難しい 規模が大きい 性能要件が厳しい 納期が短い など、いろいろな難しさがあります。 これらのハードルに対抗する知識・技術について紹介します。 規模が大きいソフトウェアを作るための技術 規模が大きいソフトウェアを作るための技術には、以下のようなものがあります。 モジュール分割 アプリケーションアーキテクチャ フレームワーク プログラミング作

    プログラミング初心者が中・上級者になるための近道
  • 【書評】「納品」をなくせばうまくいく 〜ソフトウェア業界の“常識"を変えるビジネスモデル〜 - GoTheDistance

    著者の倉貫さんより献御礼。 「納品」をなくせばうまくいく ソフトウェア業界の“常識"を変えるビジネスモデル 作者: 倉貫義人出版社/メーカー: 日実業出版社発売日: 2014/06/12メディア: 単行(ソフトカバー)この商品を含むブログ (1件) を見る 納品のない受託開発とは 簡単に言うと「一括請負契約をしないで、お客さんの欲しいシステムを受託開発すること」になります。何故一括請負契約をしないのかということが理解できないと、このモデルで契約する意味を感じられないでしょう。書の主題の1つに「完成(納品)を前提とした一括請負契約がシステム開発をダメにしている」という問題意識がありますので、そこを重点的に補足したいと思います。 一括請負契約の問題点 作ることが目的になる 一括請負契約では完成責任を果たすことが求められます。その為に要件定義を行い完成となる条件を決めます。そして要件を満

    【書評】「納品」をなくせばうまくいく 〜ソフトウェア業界の“常識"を変えるビジネスモデル〜 - GoTheDistance
    Muke
    Muke 2014/06/23
    納品をなくすとその後の運用を含めてどうなんって話になると思うけど、運用しながら追加開発していくのって以外に大変だしチーム作りもちゃんとしたいね(経験則
  • 橋本商会 » 895円の超小型Ardunoクローン DigiSparkを買った

    とにかく小さくて安いのに、ほぼArduinoとして使える。 そしてズボンのコインポケットに入れて持ち歩けるので電車内hackに便利。 Digispark購入ページ DigiSpark wiki ソースコードはここに置いておいた。 デジタル出力・アナログ出力・アナログ入力・Mac上のRubyとのUSB通信を試した。 https://github.com/shokai/digispark-study 「webサービスと連動したちょっとしたハードウェア」にはArduinoはオーバースペックだと思うので、DigiSparkちょうどいいと思う。 普通のArduinoとの違い 詳しくは digispark:tutorials:basics [Digistump Wiki] 多少制限はある。 IOピン数が6PCとUSB通信する場合は4しか無い プログラムを書き込めるメモリ領域が6Kbyteしかない

    橋本商会 » 895円の超小型Ardunoクローン DigiSparkを買った
    Muke
    Muke 2014/03/12
    電子工作楽しそう。今度やってみようかな。
  • JavaScript で throw "" ではなく throw new Error() を使ったほうがよい(些細な)理由 - latest log

    JavaScript で人為的に例外を発生させるには、大きく分けると以下の2種類があります。 throw new しない書き方 throw "ソフトウェアでエラーが発生しました。サポート担当者に連絡し、この問題を報告してください。"; o_o は String 扱いで、o_o.stack も undefined になっています。 throw new する書き方 throw new Error("一般的なエラーだよ"); throw new TypeError("型がちがうよ"); throw new SyntaxError("文法おかしいよ"); throw new URIError("URIちがうよ"); 他にも、RangeError, ReferenceError, MediaError, FileError, EvalError などがあります。 throw new した場合は、o_

    JavaScript で throw "" ではなく throw new Error() を使ったほうがよい(些細な)理由 - latest log
    Muke
    Muke 2014/03/12
    「therow new Error("一般的なエラーだよ");」
  • 柔軟なログ収集を可能にする「fluentd」入門 | さくらのナレッジ

    複数台のサーバーやクラウド環境を組み合わせてのサービス運用においては、ログの収集方法に工夫が必要となる。こういった場合に有用なのが、さまざまなログの収集手段を提供するfluentdだ。今回はfluentdのアーキテクチャやそのインストール/設定方法、基礎的な設定例などを紹介する。 さまざまな方法でログを収集できるfluentd 今回紹介するfluentdは、Treasure Dataが開発するログ収集管理ツールだ(図1)。オープンソースで公開されており、Linuxや各種UNIXで動作する。 図1 fluentdのWebサイト ログ収集のためのソフトウェアとしてはsyslogdやsyslog-ngなどが有名だが、fluentdがこれらと異なる点としては、以下が挙げられる。 さまざまなソースからのイベントをさまざまな媒体に出力できる fluentdの大きな特徴としては、ログの収集方法やログの記

    柔軟なログ収集を可能にする「fluentd」入門 | さくらのナレッジ
  • プログラムに証明が付く日 | RANDMAX

    この記事は「Theorem Prover Advent Calendar 2013」6日目の記事です。 http://qiita.com/advent-calendar/2013/theorem_prover 神田「野らぼー」にて、地下の薄暗い店内で… 「そう言えばこないだ隣で起こってたポインタオーバーラン、対応大変そうだったですけどちゃんと家に帰れてたんでしょうかね、新婚なのに…」 「ヌルポとかポインタオーバーランとか、どうして無くならないんだろうね。その時はみんな手を抜いてるつもりなんて毛頭なくて、一生懸命考えて大丈夫だと思ってるはずなんだけどね。レビューもして、それでも起こった後でみんなでソース見てみると、なんで気づかなかったんだよ!ってことになる。」 「人間って、そういうの苦手なんでしょうねきっと。ほら、『何かほかにありませんか』って聞かれても出てこないじゃないですか。静的な解析っ

    プログラムに証明が付く日 | RANDMAX
  • 人月 - ギークに憧れて

    2013-07-23 人月 入社する前からずっと人月について考えてる。 10年くらいずっと人月disられてるのに何でなくならないのか疑問だったけど、詰まるところは発注側(顧客)がソフトウェアを定量化して評価できないから労働対価という形で契約を結ばざるを得ないんだと思う。受託開発は顧客がコミットしてくれないと絶対良いものにはならないし、現状そういう姿勢を持ってるのはネット系のスタートアップが多いからソニックガーデンとか永和の価値想像契約とかが成立するんだろう。 でも大企業とかは悲惨で、特に金融とかはディフェンシブかつ丸投げでヤバいと思う。でもそういうリスクの保険屋みたいな感じで大手SIerえてるのも確かだと思う。そういう意味ではNTTデータとANAが成果報酬契約を結んだニュースは面白いなーと。 でも上記の様なモデルは昔は良かったんだけど昨今は通用しなくて、人月単価はどんどん下がって

    Muke
    Muke 2013/07/24
    人月も人月だけどアジャイルという名の後出しジャンケンもやめろよなーって思ったり。人月計算も100%稼働し続けるのが前提だったりもするしなぁとかなんとか。
  • Winnyなんて何の役にもたってないし日本にはないほうが良かった | skeeem

    おまえらなに偉そうに追悼してんの?知り合いなの?会って一言でも二言でも会話交わした仲ならまあ人としてご冥福を祈るのも分かるさ。それ以外の会ったこともないやつ。なんなのお前ら? Winnyは日のP2Pの進歩に寄与した。起訴さえなければもっと日初の新たな発明が。。。って気で言ってるわけ? あのね、Winnyなんて悪意あるファイル交換以外なんの取り柄もないソフトだったよ。忘れたの?それとも忘れたふりしてんの?Winnyで善意で使ってる奴なんて気でいたと信じてるの?過去の自分を偽るんじゃないよ。あんなの善意で使ってる奴は皆無だよ。みんな泥棒じゃん。47氏の追悼とともに、自分の罪まで洗い流そうとしてるんじゃないよ。設計レベルであれは違法なファイルの交換に特化してるじゃないか。 あれが日に出てきて日のソフトウェアになにか進歩をもたらした?不当な逮捕さえなければ日のP2Pに飛躍的な進歩をも

    Muke
    Muke 2013/07/10
    本筋じゃないけどこの手の悪意云々の是非を今話すべきじゃなかったんじゃないのかなぁと
  • PHPで簡単に構築できるCalDAV/CardDAVサーバ·Baïkal MOONGIFT

    BaïkalはPHP製、GPL v3のオープンソース・ソフトウェアです。 社内での情報共有の基礎になるのがスケジュールやアドレス帳の共有です。外部サービスを使っても良いですが、社内でCalDAV/CardDAVサーバを立ち上げるならば採用したいのがBaïkalです。 インストールを開始します。ウィザードに沿って進めていくのみです。データベースはMySQLの他、SQLiteも選択できます。 ダッシュボードです。まずユーザを追加します。 格好いいUIでツールチップも表示されてとても入力しやすいです。 ユーザに紐づいたカレンダーが自動的に生成されます。 こちらはアドレス帳です。 Webベースの管理画面も備わっていますが、基的な利用は全てクライアントソフトウェアから行います。iPhoneMac OSX、Thunderbird、Androidなどの多様なデバイスがCalDAV/CardDAVをサ

    PHPで簡単に構築できるCalDAV/CardDAVサーバ·Baïkal MOONGIFT
  • Python製、HTML5のミュージックストリーミングサーバ·CherryMusic MOONGIFT

    CherryMusicPython製、GPL v3のオープンソース・ソフトウェアです。 ローカルにある音楽を聞く際に使っている音楽プレーヤは何でしょう。iOSをお持ちの方であればiTunesを使っているかも知れません。その他のMP3プレーヤで、ローカルにMP3ファイルがたくさんあるという方はCherryMusicを使ってみましょう。 セットアップスクリプトです。ダウンロード含めて自動で行ってくれる優れものです。 サーバが立ち上がったらブラウザからアクセスします。最初にセットアップを行います。メディアファイルのディレクトリを指定します。 ログインします。最初は管理者アカウントを作成しますので自由に入力します。 CherryMusicにログインしました。ここがダッシュボードになります。まずbrowseボタンを押します。 そうすると設定で指定したディレクトリ以下にある音楽ファイルが一覧されます

    Python製、HTML5のミュージックストリーミングサーバ·CherryMusic MOONGIFT
  • TechCrunch | Startup and Technology News

    SpaceX’s massive Starship rocket could take to the skies for the fourth time on June 5, with the primary objective of evaluating the second stage’s reusable heat shield as the…

    TechCrunch | Startup and Technology News
    Muke
    Muke 2013/05/07
    使うとしたら単体だから年間で2、3万位かぁ…うーん高い…デザイン周りを別のソフトで出来るようにしないとだなぁ…
  • 美しいWebサイトはDOM構造も奇麗なはず!·DomTree MOONGIFT

    DomTreeはWebサイトのDOM構造をツリー化してくれるビジュアル化ソフトウェアです。 奇麗なHTMLはソースを見てもやはり奇麗に記述されているものです。さらにDOMの構成において奇麗にできているかどうか可視化してくれるソフトウェアがDomTreeです。 Googleです。73エレメントで作られています。 MOONGIFT。294とのことです。すごく…密です。 Yahoo! Japan。CenterやTableタグを使っているあたりはやはりサポートするブラウザの多様性ゆえでしょう。 楽天。すごい数です。なんと957。 2003年当時のMOONGIFT。51だそうです。 2008年当時のデザインでは600近い数になっていました。 拡大表示もできます。 必ずしも奇麗なDOMツリーになっていることが奇麗なデザインにつながる訳ではないと思いますが、空タグや無理矢理ハックしてデザインを整えたりし

    美しいWebサイトはDOM構造も奇麗なはず!·DomTree MOONGIFT
  • 人月の神話を再読した。2013-02-03 - 未来のいつか/hyoshiokの日記

    何度読んでもその度に発見がある。 大阪出張のおり、行きの新幹線(帰りは大抵へべれけで寝ているのでは読めない)でぱらぱらめくってみた。 再読するきっかけは、大槻さんからご著書を頂いたからである。「ソフトウェア開発はなぜ難しいか」では、「人月の神話」を題材に、普遍的な問題を改めて平易に解説する。多くの注と参考文献の説明がついていて、初心者にとって便利な読書ガイドにもなっている。 「人月の神話」の歴史的背景を言えば1960年代はメインフレームの時代だ。コンピュータ業界はIBMに支配されていた。支配という言葉はちょっときつすぎるように若い人は思うかもしれないが、圧倒的な存在感をIBMは持っていた。 大規模ソフトウェア開発の質的な困難さというのが、OS/360の開発によって認識されはじめた。まだソフトウェア工学と言う概念も確立していなかった。 OSという極めて複雑で大規模なソフトウェアをどのよう

    人月の神話を再読した。2013-02-03 - 未来のいつか/hyoshiokの日記
  • ページ内に埋め込めるカスタマイズ可能な表計算テーブル·Handsontable MOONGIFT

    HandsontableはjQuery製の小さな表計算風ソフトウェアです。 Webブラウザ上で表計算を行えるサービスは増えてきましたが、大抵全画面で表示されるものです。Handsontableはごく小さなグリッドをページ内部に埋め込んで使えるソフトウェアです。 こんな感じで簡易的な表が描けます。 選択したグリッドをコピーできます。 選択から入力もできます。 バリデーションや入力値の変換もできます。 行の削除やカラムの非表示などのアクションを追加します。 コンテクストメニュー。 コンテストメニューのカスタマイズも可能です。 リードオンリーなセル。 HandsontableはJSONでデータを定義します。データは編集も可能で、Ajaxを使うこともできるのでユーザビリティ高い編集画面を提供できます。ごく小さなマスタ編集を行ったりするのにぴったりではないでしょうか。 HandsontableはjQ

    ページ内に埋め込めるカスタマイズ可能な表計算テーブル·Handsontable MOONGIFT
  • Visual Studio: IDE and Code Editor for Software Developers and Teams

    Visual Studio: IDE and Code Editor for Software Developers and Teams2024-07-26T14:06:16-07:00

    Visual Studio: IDE and Code Editor for Software Developers and Teams
  • Adobeソフト激安!という広告が半信半疑だったけど、本当にPhotoshop CS6が安く買えたのでそのレポート

    先月くらいから、あちこちのサイトのAdSenseで見かける「Adobeソフト激安!」の広告が気になっていて、買ってみたら当に激安で、お仕事にも利用できるのが分かったので、そのレポートです。 追記:2014/4/10 この記事を書いてから一年以上経ちますが、まったく問題なくPhotoshop CS6を利用できています。 4/25にパッケージ版の販売が終了しますが、記事はそのまま残しておきます。 MacにインストールしたPhotoshop CS6 Twitterなどで何人かの人に質問を受け、気になりつつも半信半疑なのも正直なところだと思うので、ざっとレポートします。 流行りのステマじゃないですよw 購入前に、半信半疑だったこと 確かに表記価格は、店頭やオンラインショップよりはるかに安いです。 Amazonで118,126円のPhotoshop CS6 Extendedが33,000円(Ama