タグ

softwareとstudyに関するraimon49のブックマーク (13)

  • なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita

    Unix 哲学的に考えれば、行を並び替える sort コマンドと重複行を取り除く uniq コマンドは別のコマンドであるべきなように思えます。しかし sort コマンドには -u オプションとして uniq コマンドに相当する機能が組み込まれています。なぜそうなっている(そうなってしまった)のかを「ソフトウェア作法(さくほう)」を参照しながらこの記事で明らかにしたいと思います。 関連記事 Unix哲学「一つのことをうまくやる」は単機能のコマンドを作ることではない 「誰」がuniq機能をsortコマンドに組み込んだ!? 熱烈的な Unix 哲学の信者は「どうせ Unix 哲学を理解しない GNU が便利だと思ってオプションを追加したのだろう」と考えるかもしれません。しかし uniq 機能が組み込まれたのは Version 7 Unix、つまり Unix の開発者が組み込んだのです。これは 1

    なぜsortコマンドはuniq機能を含んでいるのか?(Unix哲学はどこ行った!?) - Qiita
  • みずほ銀行システム障害に学ぶ

    みずほ銀行システム障害の調査報告書が公開されたのがニュースになって、Twitterなどで色々な人がコメントをしているのを見た。140文字しか書けない空間で他人の失敗談の揚げ足取りをするのは簡単だが、そこからは一時の爽快感以外に何も得るものがないので、僕はそういうのはカッコ悪いと思っている。 そこで、ちゃんと読んでみたら全く他人事でない部分も沢山あるし、非常に面白く勉強になったので、ブログにまとめてみる。 技術的な話 銀行のシステムがどのようになっているのか、全然イメージが湧いていなかったので、それがまず勉強になった(p.29)。 トラフィックのソースに応じて用意された色々なシステムから基幹システム「MINORI」の取引メインバスにトラフィックが流れ、そこから各種システムへとリクエストが送られていく。この辺はService Oriented Architectureらしい。開発当時としては(

    みずほ銀行システム障害に学ぶ
  • MITライセンスを1行1行読んでいく | POSTD

    全てのプログラマが理解すべき171語の文章 MITライセンス は、最も有名なオープンソースソフトウェアのライセンスです。この記事では、その内容を一行一行読んでいきます。 ライセンスを読む オープンソースソフトウェアを利用しているものの、これまでライセンス全文(原文:171語)を読む機会がなかった方は、大した量ではないので、今すぐ読んでください。あなたにとってライセンスが身近なものでないなら尚更です。理解できない箇所などがあれば、その部分は心に留めておき、明確にするようにしてください。これから背景や解説とともに、全文を分割して順番に紹介していきますが、大事なことは全容を頭に入れておくことです。 MITライセンス(MIT) Copyright (c) \<年> \<著作権保持者> ソフトウェアおよび関連文書ファイル(以下「ソフトウェア」)のコピーを入手する全ての人に対し、それらに関する無償の

    MITライセンスを1行1行読んでいく | POSTD
    raimon49
    raimon49 2016/11/26
    >パッケージマネージャのメタデータファイルにあるlicenseプロパティといったメタデータを使用するのであれば、LICENSEファイルやその他のヘッダコメントに標準形式の文言を使用するようにしてください。 / 亜種に注意。
  • 機械のためではなく人のためにコードが書けるかーーGitHub CEOのクリス・ワンストラス氏にインタビュー - BRIDGE(ブリッジ)テクノロジー&スタートアップ情報

    会場に1,000人が集まった「GitHub Universe」 オンライン視聴者を含む延べ人数約15,000人が参加した「GitHub Universe」。そのほとんどがエンジニアなのかと思いきや、登壇者のリストを見てもわかるように、今ではNPOや自動車メーカー、NASAなど様々な企業やプロジェクトGitHubをコラボレーションツールとして活用しています。これまでにGitHubが使われたプロジェクトの総数は、2,700万件に及びます。 2012年、世界有数のベンチャーキャピタル「Andreessen Horowitz」の共同ファウンダーであるマーク・アンドリーセン氏は、“Software is eating the world”と予見しました。それが今まさに、GitHubのような立役者のもとで現実のものになりつつあります。ソフトウェアが世界をい尽くしていく。 「これからは、全ての企業が

    機械のためではなく人のためにコードが書けるかーーGitHub CEOのクリス・ワンストラス氏にインタビュー - BRIDGE(ブリッジ)テクノロジー&スタートアップ情報
    raimon49
    raimon49 2015/10/11
    >根幹にあるのは、優秀なエンジニアはコードは機械のためではなく人のために書くものだと理解していること。自分が書いたコードは、他の誰かが読むものなんだ。その事実を常に頭の中に入れて動けるかどうか。
  • iOS開発におけるウィンドウ「UIWindow」の知られざる活用方法とは? #iOS|CodeIQ MAGAZINE

    iOSアプリではシングルウィンドウしかないと思われがちですが、実は随所で使われているiOSのウィンドウ「UIWindow」。 このUIWindowの知られざる登場シーンや活用法、注意点などについて、DeNAの@sintarioさんに解説レポートを寄稿していただきました。 by 馬場美由紀 (CodeIQ中の人) iOS開発における「ウィンドウ」とは? デスクトップOSであれば、一つのアプリが複数のウィンドウを同時に展開するマルチウィンドウアプリであることは、ほぼ当たり前ですよね。画面上にいくつものウィンドウを同時に開いて、並べたり切り替えたりしながら画面の広さを活かしたやり方で作業するものです。 これに対して、iOSの世界観は大きく様相が異なります。高精細なRetinaディスプレイが普及したとはいえ、iPhoneの画面はやはりお世辞にも広くはありません。一般的にiOSでは、一つのアプリが画

    iOS開発におけるウィンドウ「UIWindow」の知られざる活用方法とは? #iOS|CodeIQ MAGAZINE
    raimon49
    raimon49 2014/05/02
    windowLevelプロパティを使ったモーダルダイアログの例。オブジェクトライフサイクルに注意。ソフトウェアキーボードも内部的にはUIWindowで重ねられているの知らなかった。
  • 自由ソフトウェア運動の思想に囚われた技術的に劣った選択

    このところ、自由ソフトウェアのコピーレフトライセンスは方向性を間違えており、許諾的なオープンソースライセンスが流行っているとする主張がある。 漢(オトコ)のコンピュータ道: フリーソフトウェア運動は方向性を間違えてはいない これについて思うことがあるので書く。その前に、まず自由ソフトウェアとは何かということから説明しなければならない。 もちろん、許諾的なオープンソースライセンスと呼ばれるもののほとんどは、ストールマンの自由四原則を満たす。 What is free software? - GNU Project - Free Software Foundation (FSF) すなわち、 あらゆる目的でプログラムを実行する自由(自由0) プログラムがいかにして動作するのかを検証し、変更して自分の意のままに動作させる自由(自由1)。ソースコードへのアクセスはこの自由への前提条件である。 複製

    raimon49
    raimon49 2013/04/24
    >自由を保証するため、意図的に技術上優れた設計ではなく、不自由に転用しにくい設計にしてしまうこと。これをしてしまうと、技術的優位に立つことができなくなる。技術的優位に立てなければ、人には使われない。
  • Latest topics > 「元のソフトウェアがGPLだから公開できない」という誤解について - outsider reflex

    Latest topics > 「元のソフトウェアがGPLだから公開できない」という誤解について 宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行まんがでわかるLinux シス管系女子の試し読みが可能! « Nexus 7とハードウェアキーボードの組み合わせを実用する Main 「コピーレフトとBSDスタイルではBSDスタイルの方が発展するのでは」という議論についての誤解あるいは言葉の裏にある欺瞞 » 「元のソフトウェアがGPLだから公開できない」という誤解について - Jan 30, 2013 会社のブログに掲載するつもりで書きましたが、タイミング的に発表が遅れてしまいそうということだったので、勢い重視でこちらで公開してみます。 1月31日16時台追記。hide氏の意向についてのこのエントリでの推測が全く

    raimon49
    raimon49 2013/01/31
    自分の書いたコード部分を修正BSDライセンスで公開してから改めて派生物をGPLで公開するというスキーム。
  • オープンソースソフトウェアの育て方

    製作著作 © 2005-2013 Karl Fogel, 高木正弘, Yoshinari Takaoka(a.k.a mumumu), under a CreativeCommons Attribution-ShareAlike (表示・継承) license (3.0, 2.1-jp)

    raimon49
    raimon49 2012/09/18
    普通に仕事を進める上でも十分に参考になる内容で必読。BTSのチケットを無視し続けるのは最悪だし、意見を言うだけでコミットや貢献をしない人を定量データを示して黙ってもらう例も参考になる。
  • 「エラー忘却型コンピューティング」なんて言い出したのは誰だ! - Plan9日記

    正確にはFailure-oblivious computingを「エラー」忘却型コンピューティングって訳したのは誰だという話。訳す過程でfailureがerrorに入れ替わっている。情報系の人間は「名前重要!」とか言う割に、障害(fault)、異常(error)、故障(failure)という用語の定義、使い方に無自覚な人が少なくない。Twitterで意外と反応があったので、(自戒を込めて)書き起こしてみる。 Failure-oblivious computingは、2004年のOSDIでMITのMartin Rinardらが論文"Enhancing Server Availability and Security Through Failure-Oblivious Computing"で提案した技術。Cのような言語で不正ポインタ参照が発生しても、これを検出してなかったことにして(適当な値を

    「エラー忘却型コンピューティング」なんて言い出したのは誰だ! - Plan9日記
    raimon49
    raimon49 2012/04/21
    >「障害(fault)によって、異常(error)や故障(failure)がおき、これが事故(accident)につながる。」ということ。つまり、ソフトウェアのバグなどは障害(fault)で、これが原因でソフトウェアが仕様を満たす機能を提供
  • 5分で絶対に分かるOpenFlow

    0分 - ソフトウェアでネットワークをプログラミング! 今までコンピュータのネットワークは、どちらかといえば“静的な”存在でした。組織変更や新しいサービスの投入に合わせてネットワーク構成の変更が必要な場合には、ネットワーク管理者が関連する機器それぞれの設定変更をマニュアル操作で行っていました。 しかし、サーバ仮想化やクラウドの登場により、現在はこうした静的なネットワークの在り方が根から見直されてきています。 例えば、サーバ仮想化のおかげで、何台ものサーバが突如としてネットワーク上に現れたり、「ライブマイグレーション」によって、突然サーバがネットワークのある部分から別の部分へ移動したりといったことが起きるようになりました。ネットワークも、これらに適応した柔軟かつ迅速な構成変更が求められるようになっています。 あるいは、クラウドの登場によって、1つのデータセンター内で複数の顧客の通信をそれぞ

    5分で絶対に分かるOpenFlow
    raimon49
    raimon49 2011/12/14
    物理層に近いレイヤのソフトウェア化ということなのかな。
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    raimon49
    raimon49 2011/10/16
    読むコードは最小, デフォルトで安全側に振る, コストがかかる処理や危険な処理はわざと面倒にしておく
  • ソースコードを読むための技術

    $Id: readingcode.html,v 1.13 2003/12/06 00:01:08 aamine Exp $ 2006-05-02 gonzui 追加。thanks: 冨山さん 2003-12-03 ltrace と sotrace を追加 2003-12-03 ツールのところに DDD を追加。thanks: 和田さん 2003-05-27 VCG, SXT などについて追加。thanks: 梅沢さん 2003-05-27 これもすっかり忘れていた strace, ktrace, truss, etags などについて追加 2002-08-30 すっかり忘れていた ctags を追加 2002-07-07 匿名希望さんからメールでいただいた情報を追加 (動的コールグラフ) 2002-06-13 日記経由でいただいた意見をもとに文章を追加。thanks: 柳川さん、まつもとさ

  • yebo blog: ブラウザがどのように動作しているか

    2011/08/18 ブラウザがどのように動作しているか イスラエルの開発者Tali Garsielさんが、ブラウザのレンダリングエンジンWebKitとGeckoのソースコードを解読・研究し、ブラウザの内部動作を解析した文書「How Browsers Work: Behind the Scenes of Modern Web Browsers」が公表されているそうだ[hackernews]。ウェブ開発者がブラウザの内部動作を学習する上で、非常に役立つと思われる。かなり長い文書だが、日語訳があれば助かる人は多いだろう。目次だけ超訳を。はじめに我々がこれから話すブラウザブラウザの主な目的ブラウザの高レベル構造レンダリング・エンジンレンダリング・エンジンについて主な流れ流れの例構文解析とDOMツリー構造構文解析 - 一般文法構文解析ツール - 字句解析との組み合わせ置換構文解析例語彙の公式定義

    raimon49
    raimon49 2011/08/20
    モダンブラウザレンダリングの流れ TOC訳 元記事は http://www.html5rocks.com/en/tutorials/internals/howbrowserswork/
  • 1