タグ

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

  • ソフトウェア工学は失敗している - きしだのHatena

    特に学術的にソフトウェア工学に触れたことはないのですが、むしろそうではなく現場にいる身としては、ソフトウェア工学は失敗しているように見えます。 「成功していない」ように見えるのではなく「失敗している」ように見えるのです。 もちろん、いまソフトウェア開発で使う技法やツールなど、ソフトウェア工学の産物はたくさんあり、現在のソフトウェア開発がソフトウェア工学から生まれたもので支えられていることには間違いありません。 でも、そうやって築き上げてきたものが、1999年以降ガラガラと崩れて、そしてうまく再構築できていないように見えます。 1999年、なにがあったかというと、XPエクストリーム・プログラミング入門というが発行されたのです。リンク先は2版ですが、日語版でも初版は2000年12月になっています。 ここからソフトウェア工学がガラガラ崩れた気がしています。 では、ここまでソフトウェア工学がど

    ソフトウェア工学は失敗している - きしだのHatena
  • システムソフトウェアレイヤーの技術革新のタネは「自由な試行錯誤」 登大遊氏が語る、日本のICTの課題と取り組むべき“おもしろい”こと

    登氏の自己紹介 登大遊氏(以下、登):こんばんは。登と申します。IPAという独立行政法人の役所みたいなところで、サイバー技術研究室というものをやっております。また、NTT東日というところにも入っていまして。あそこもリクルートさんのように歴史が長く、インフラという重要な領域をこれからは継続・発展をさせていかないといけないという共通点を有しています。 日のICTの課題 登:今日はインフラについてお話をしようと思います。コンピューターやネットワークのだいたいの技術というものは、アプリのレイヤーとインフラのレイヤーがあります。インフラのレイヤーはネットワークとか、OSとか、セキュリティとか、システムと呼ばれる部分であります。クラウドなんかもシステムのレイヤーにありますが、ここを何とかしないといけないんです。 日人はみんな外国のクラウドサービスやOSなどを買ってくることはできるんです。ユーザー

    システムソフトウェアレイヤーの技術革新のタネは「自由な試行錯誤」 登大遊氏が語る、日本のICTの課題と取り組むべき“おもしろい”こと
  • プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな

    プログラマというのは、道具に慣れることが、実力があがることにならないのですよね。だから、勉強せず業務経験だけだとレベルが低いままということになってしまう。 Javaを10年さわり続けて、Strutsを5年さわり続けても、それだけでは、与えられた画面を手際よく作成できるようになるだけで、たとえばStrutsすらよりよく使えるようになるわけではなかったりする。 Javaにしても、「volatileってなんですか?」という問いに、まあ知らないのはしかたないとしても、解説を見ながらですら答えられない可能性がある。 プログラムの反復生産は、プログラミング能力の向上にあまりつながらない。設定や記述に慣れるだけだ。そして、この「慣れ」というのには「難しいからそもそも実装を回避する」というようなものも含まれる。実力の向上は、作業ができるレベルで止まってしまう。 プログラマとしての実力をあげるための勉強が自

    プログラマの実力は経験だけであがらないことがレベル格差につながる - きしだのはてな
  • タイムゾーン呪いの書 - Qiita

    コメント欄で「Software Design 誌 (2018/12) に寄稿した内容や修正などをこちらの記事にも適用したい」と言ったあと、やるやる詐欺でずっと放置していましたが、三年近く経ってようやく 2021年 7月に大幅に改訂し、同時に Zenn に引っ越すことにしました。 タイムゾーン呪いの書 (知識編) タイムゾーン呪いの書 (実装編) タイムゾーン呪いの書 (Java 編) なにやら長くなりすぎたので三部構成になっています。 この Qiita 版は、しばらく (最低一年は) 改訂前のまま残しておきます。 タイムゾーンの存在はほぼ全ての人が知っていると思います。ソフトウェア・エンジニアなら多くの方が、自分の得意な言語で、タイムゾーンが関わるなにかしらのコードを書いたことがあるでしょう。ですが、日に住んで日仕事をしていると国内時差もなく1 夏時間もない2 日標準時 (Japa

    タイムゾーン呪いの書 - Qiita
    papiro
    papiro 2018/02/06
    タイムゾーンってこんなにややこしいのか・・( ̄▽ ̄;)
  • プレミアムフライデー。好きなオープンソースにコントリビュートしよう。 - Boostnote

    ぐっと気温が下がったプレミアムフライデー、いかがお過ごしでしょうか。 GitHubが、金曜日にはオープンソースへのコントリビュートを呼びかける、"Open Source Friday"という取り組みを行っています。 原文:Over the last three years, we've encouraged GitHub employees to take time at least every fourth Friday to work on open source and share what we're working on with each other. Open Source Friday has grown from this into a program anyone can take part in. 訳:3年以上、私たちはGitHubの従業員達に、少なくとも毎週第四金曜

    プレミアムフライデー。好きなオープンソースにコントリビュートしよう。 - Boostnote
  • IT企業は知っておきたいソフトウェアの会計処理の4の知識

    Yahoo!、楽天クックパッド、最近ではGunosyなど、わたしたちは様々なWebサービスに囲まれている。こうしたサービスのおかげで当に楽しく便利になった。ありがとうエンジニア!経営者!! しかし、わたしは不安に感じることがある。ソフトウェアの開発費の処理で無意識に税務上のリスクを抱えている会社があまりにも多いからだ。全く意識していない会社が多い一方で、会計・税務のルールを巧みに活用して成果をあげている会社もある。 あなたがWebサービスの開発・提供をしているのなら、自社の開発費の処理を最高の状態に引き上げるために、このページを最後まで読んで確認してみて欲しい。 ざっくり要約 このページをざっくり要約すると次のとおり。 ①Webサービスの開発費の会計・税務の処理は、「資産処理」が必要なケースと「一括費用処理」が出来るケースの二種類がある。 ②多くの会社が会計上は「一括費用処理」をしてい

    IT企業は知っておきたいソフトウェアの会計処理の4の知識
  • RE:プログラミングの「抽象化」ってどういう意味で、なぜ必要なのか - nobkzのブログ

    さて、nobkzです。UX Fukuokaの活動ばかり書いてましたが。 久し振りにポエム書きます。 今回は、 nekogata.hatenablog.com と bugrammer.hateblo.jp に関してのアンサーブログです。 nopが「世界一の抽象化だ」の納得と違和感 さて、「何も書かないことが世界一の抽象化だ」という論理について納得する一方違和感を感じ、考えてみたことを述べていきたいと思います。 まずは納得する面から。 抽象と捨象 個人的には、「抽象」という言葉は、ソフトウェアの世界に限らず、一般的用語だと思います。ここで、適当に辞書を取ってきて意味を見てみると 《名・ス他》多くの物や事柄や具体的な概念から、それらの範囲の全部に共通な属性を抜き出し、これを一般的な概念としてとらえること。 とあります。抽象というのは、「全部に共通は属性を抜き出す」ということが含まれています。その

    RE:プログラミングの「抽象化」ってどういう意味で、なぜ必要なのか - nobkzのブログ
    papiro
    papiro 2015/08/06
    凡才な私から見るとむ、難しいけど、プログラミングって物事をどのように抽象化するかってことだと思う。
  • Engadget | Technology News & Reviews

    Research indicates that carbon dioxide removal plans will not be enough to meet Paris treaty goals

    Engadget | Technology News & Reviews
    papiro
    papiro 2015/05/03
    カンスト問題とわ〜
  • ハードワークは報われない | プログラマが知るべき97のこと

    ハードワークは報われない著者: Olve Maudal プログラマという仕事は、時に、懸命に働いても意味がない、ということかあります。長時間オフィスにいれば、プロジェクトに多大な貢献をしているような錯覚に陥ることもあゐし、同僚たちもそう思ってくれることがあります。しかし事実はまったく逆で、自分の働く時間や労力を減らせば減らすほど、プロジェクトへの貢献は大きくなると言えるのです。ときには、頑張って働くよりも、働かずに済む努力をした方が、はるかに大きな貢献ができることもあります。神経を集中させる時間、製品を産み出すのに使う時間が週に30時間を超えるようなら「自分は働き過ぎだ」と考えるべきでしょう。自分のかけている労力を減らすことを検討する必要があります。もっと効率的に働く方法、少ない労力と時間で多くを生み出す方法を探さなくてはならないということです。 一見してこれは直感に反する話なので、異を唱

    ハードワークは報われない | プログラマが知るべき97のこと
    papiro
    papiro 2015/04/05
    現状実現は難しいが、耳が痛い・・・変化して成長することを考えると、まさしくハードワークは報われない。
  • ソフトウェアエンジニアがたどる成長過程と失敗の行きつく先 | POSTD

    これからご紹介する私の試みはなかなか難しい側面があり、物議をかもすかもしれません。また、お見せするのは初めてなので完璧とは言えないかもしれません。私はソフトウェアエンジニアのスキルとその影響力を評価するシステムを開発しようとしています。少なくとも、プログラマが成長していく理想的な成長過程を大まかに描いてみようと思います。評価スコアは0.0から3.0まであり、それぞれの数字は専門能力を開発していく際の出発点を表しています。 このシステムは主にビジネスの観点から見た、ソフトウェア業界が求めるものに基づく 実務的な スケールです。数学的な才能や高速アルゴリズムを書く能力、Linuxカーネルの内部構造に関するプログラマの理解の深さなどを評価するスケールではありません。もちろんこうした能力は重要ですし、通常、エンジニアのスキルとともに伸びていく能力ですが、私のシステムが焦点を当てたいのはそこではあり

    ソフトウェアエンジニアがたどる成長過程と失敗の行きつく先 | POSTD
  • Windowsを16年使ってきて分かったおすすめ無料ソフトまとめ

    はてなブックマーク1400ありがとうございます! 数えてびっくりしましたが、Windowsを使い始めて26年経っていました。 今では趣味でも仕事でも欠かせないものになっています。 それなりにwindowsを使ってきて「フリーソフト」と呼ばれる無料で使えるソフトもたくさん試しましたが、今日はその中でも使い続けている無料ソフトを紹介したいと思います。 現在は便利なWebサービスやスマホアプリが非常に多くなったので、あえてWindowsフリーソフトという時代では無くなりつつありますが、オフラインでも使える・動作が軽快という点ではまだまだ活用される場面も多いので、ざざっと目を通してもらえればと思います。 ちなみにボクはiPhoneも10年以上使っています。 良ければ「iPhoneアプリを596個使って分かったおすすめアプリまとめ」も読んでみてください。 インターネットブラウザ Google Ch

    Windowsを16年使ってきて分かったおすすめ無料ソフトまとめ
  • パイプとフィルタ ~ソフトウェア工学における有用なアーキテクチャ~ | POSTD

    パイプライン は、最近のソフトウェアエンジニアリングにおいて、非常に便利な(そして驚くほど活用されていない)アーキテクチャパターンです。ソフトウェアでデータの流れを制御するためにパイプとフィルタを用いる考え方は、最初のUNIXシェルが作られた1970年代からあります。もしターミナルエミュレータでパイプ” | ”を使ったことがあるなら、”パイプとフィルタ”を活用できていることになります。以下の例を見てみましょう。 cat /usr/share/dict/words | # Read in the system's dictionary. grep purple | # Find words containing 'purple' awk '{print length($1), $1}' | # Count the letters in each word sort -n | # Sort l

    パイプとフィルタ ~ソフトウェア工学における有用なアーキテクチャ~ | POSTD
  • 運用エンジニアから開発エンジニアになるためにやったこと · As a Futurist...

    Web の会社でエンジニアを始めて 4 年、ずっと運用エンジニアをやってました。運用とは端的に言うと、社内外の他人が作ったソフトウェアを期待通りに動作させるためのエンジニアリングだと思ってます。アプリケーションはもちろん開発者が作ったものですし、MySQL や Apache や Linux も全部他人が作り上げたソフトウェアであり、それらの設定を変更したりパッチを当てたり運用ツールを駆使することで、協調動作させることに磨きをかけてきました。 ただ、いつまでたっても他人の作ったものの面倒を見てることには変わりないし、運用ツールを開発したところでそれはあくまで誰かが生み出す価値のサポートにすぎないのが自分的には満足できなくて、ずっとアプリケーション(ビジネスロジック)が作りたいと思ってました。 で、今年の始めからたまたまタイミングよく新規開発の部署に入ることになって、いきなり開発者をやることに

    運用エンジニアから開発エンジニアになるためにやったこと · As a Futurist...
  • 真の人月商売こそが受託開発産業を救う ― 請負契約ではITプロジェクトは失敗する

    私は自分では受託開発を原則として請けないことにしていますし、受託開発という産業にはあまり興味がありません。しかし現実問題として日のソフトウェアビジネスの大半は受託開発産業です。 また自分では受託開発を請けないけれど、他人や他社にプログラミングを外注することはあります。今日は、受託開発のお話です。 受託開発産業でよく言われることに「人月商売からの脱却」などというフレーズがありますが、そうした発言はまさに愚の骨頂と思います。経済やビジネスの原理原則を知らない愚かきわまりない発言です。 受託開発というのは、プログラマーという専門職の時間を使って作業を提供して、その成果物を納品する仕事なのですから、コストは当然プログラマーの作業時間となります。 商品の値段というのは、通常はコストに利益を乗せて売られますから、プログラマーがどれだけ働いたかで算出されるのは、きわめて自然な値付け方式です。 「そうで

  • /usr/local とは何なのか - 破棄されたブログ

    ご用心: この記事を鵜呑みにせず、末尾に記載された一次ソースを確認してください。 ソースからソフトウェアをビルドしてインストールするときに使う /usr/local ディレクトリだけど、/opt ディレクトリとの住み分けとか、 そもそも標準はどうなっているのかとか、まともに知らんかったので Filesystem Hierarchy Standard を確認してみた。 /usr/local は何をすべきところなのか? 他のホストと共有されない 既存のシステムの破壊防止 FHS 準拠のソフトウェアをインストールする /usr/local ディレクトリ下自体が FHS 準拠になる /usr/local ディレクトリは、システム管理者がソフトウェアをローカルにインストールするために用いる。 /usr/local ディレクトリとして隔離されるため、同名のファイル名で既存のファイルを上書きするなどして

    /usr/local とは何なのか - 破棄されたブログ
    papiro
    papiro 2014/05/05
    間違った使い方してるのかも・・
  • 構成管理 実践入門 第1章 構成管理入門 はじめに

    第1章 構成管理入門 はじめに なぜ今構成管理に注目するのか 特集で扱う内容 サンプルの準備 第2章 Subversionによるバージョン管理入門 はじめに クライアント環境の構築 インポート チェックアウト ソースファイルの変更に関連する操作 チーム開発に関連する操作 おわりに 第3章 Subversionベストプラクティス はじめに 帰ってきたO先輩 コードライン編その1 メインライン コードライン編その2 コードラインポリシー コードライン編その3 プライベートバージョン サードパーティライブラリのバージョン管理 リリース編その1 リリース管理 リリース編その2 自動リリース 継続的インテグレーション 第4章 Maven2によるビルド入門 はじめに なぜMaven2なのか? Maven2のインストール まずは試してみよう さらに開発を進めよう 第5章 Maven2ベストプラクティス

  • シンプル! カンマタブ区切りテキストを整形して表示『csvViewer』(SimpleStyle第123回) | ライフハッカー・ジャパン

    TOP生活実用シンプル! カンマタブ区切りテキストを整形して表示『csvViewer』(SimpleStyle第123回) SimpleStyleは、ライフハックできるツールを実際につくり、使い、役立てるライフスタイルを紹介します。 Windows用: csvのようなカンマ区切りのファイルは、データ処理ではもっとも基的な構造のひとつです。かなり大規模なデータからちょっとした住所録などまで、ビジネスシーンでもよく見かけることがあります。 人が見やすいと感じるために重要なのは、一見して構造(行や列)がそろっていて比較しやすく、不要なデータが含まれていないことが基。同じ項目が縦に並んでいることが求められます。インターネットでのデータ処理にはxmlなどの形式も使用されますが、xmlは基的にはコンピュータが処理するための構造ファイル。データ中にタグが入っていて、人が見るためにはタグを解釈して表

    シンプル! カンマタブ区切りテキストを整形して表示『csvViewer』(SimpleStyle第123回) | ライフハッカー・ジャパン
  • 「ソフトウェア設計とは何か?」がすごい - Lism.in * blog - nekoya (id:studio-m)

    結構前のエントリになりますが、cles::blogさんで紹介されている「プログラミングは設計か製造か?」に感銘を受けました。はてブを見ていると、最近になってwebarchiveから発掘されたようです。 ソフトウェア設計とは何か? 原文はこちらで公開されている模様。 What Is Software Design? by Jack W. Reeves - developer.*, Developer Dot Star 全編にわたって非常に示唆に富んだ内容となっています。印象深かったトピックは以下。 ソースコードは設計であり、ドキュメントである ソフトウェア開発における「製造」とはビルドである 製造はコンパイラとリンカの仕事であり、コストは非常に小さい テストやデバッグは設計の検証と洗練のプロセスである 他の工学分野のそれと等価で手を抜くべきでない 「コーディング」「テスト・デバッグ」「(俗に

    「ソフトウェア設計とは何か?」がすごい - Lism.in * blog - nekoya (id:studio-m)
  • 日本のソフトウエア産業、衰退の真因

    ソフトウエア・エンジニアリングのリーダーの一人、エド・ヨードンは1992年に、『Decline and Fall of the American Programmer 』を著し、米国のソフトウエア産業の衰退と挫折を警告した。このを出す少し前まで、彼は「この国が危ない(A Nation at Risk)」というタイトルで講演行脚をしており、同書はそれをまとめたものである。 このの中で、ヨードンは日をソフトウエア開発における優等生の一人として挙げ、インドの飛躍を予見している。が書かれた時点では、インドのIT産業はまだ黎明(れいめい)期にあったが、彼の予想通り、現在は英語圏で質の高いソフトウエア開発力が得られる国として、欧米から頼られる存在になり、IT立国を目指す他のアジア諸国からお手と見なされるまでになった。 「この国が危ない」というヨードンの警告に触発されたのか、米国上院の「米国の

    日本のソフトウエア産業、衰退の真因
  • Life is beautiful: ソフトウェアの仕様書は料理のレシピに似ている

    先日、経済産業省向けの仕事をしている知り合いと事をしたのだが、彼によると経済産業省の今の悩みは、「IT産業の階層化の弊害によっておこる下流のプログラマーの収入の低下」だそうである。「プライムベンダー」と呼ばれる「上流コンサルタント」たちがインドや中国にも仕事を発注できることを理由に、激しく値切り始めたために、今やわずか一人月30万円というケースもあるという。 こんな話を聞くと当に悲しくなる。まず第一に「プログラムを書く」という仕事は簡単な仕事ではない。数学的な頭を持っていないとかなり辛いし、基礎がしっかりと出来ていないとろくなソフトウェアは作れない。物価の安いインドや中国なら許せるが、米国よりも生活費の高い日で一人月30万円とはあまりにも低すぎる。 「彼らは下流のエンジニアで、詳細仕様書に従った通りのプログラムを書くだけの簡単な仕事をしているから給料が安い」という説明を聞いたことがあ

    papiro
    papiro 2011/07/25
    上流→下流の構造で本当に良いのか?プログラムが書けない人が設計出来るのか?大幅なリファクタリングが出来るスキルと志はあるか?