タグ

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

  • ソフトウェアの内部品質に生じる様々な問題は組織設計にその原因があることも多い / Internal Quality Issues Caused by Organizational Design

    2023-11-21 技術的負債に向き合う Online Conference https://findy.connpass.com/event/297813/

    ソフトウェアの内部品質に生じる様々な問題は組織設計にその原因があることも多い / Internal Quality Issues Caused by Organizational Design
    nharuki
    nharuki 2023/11/22
    スライドが進むにつれて涙なしには直視できないようなパターンがたくさん
  • OSSで世界と戦うために - ゆーすけべー日記

    「日人」を理由にしたくないし、「コードは全世界共通語」なのは分かっているけど、自分が日人で日語を母国語としていることはOSSにおいて不利になる。 この2年間のHonoの開発をしてきた経験で分かったことだ。 そこに目を瞑ってはいけないし、自覚することで世界と戦えるかもしれない。今回はそのことについて書こうと思う。 8k 現在、HonoのGitHubスター数は8,000を超えた。 これはとんでもない数字なんだけど、もっと伸びるべきで、早く1万を超えなくはいけない。 npmのダウンロード数は週間「46,000」とこれは相対的に低く、こちらも伸びるべきである。 数字が全てではないが、こうした数字は昨今のOSSにとって「一番の」指標であることは確かだ。 だから戦うことはこの数字を伸ばすことである。 なぜ「戦う」のか なんで「戦う」というおっかない言葉を使い、そして戦わなくてはいけないのか。 ま

    OSSで世界と戦うために - ゆーすけべー日記
  • 『ソフトウェア設計のトレードオフと誤り』を読んで、”日付や時刻”を扱うことの難しさについて考えた - Magnolia Tech

    ソフトウェア設計のトレードオフと誤り ―プログラミングの際により良い選択をするには 作者:Tomasz Lelek,Jon SkeetオライリージャパンAmazon ソフトウェア開発経験の最初の段階で「一つの機能には複数の選択肢が有って、メリット・デメリットがそれぞれ有り、それらはトレードオフの関係に有り、容易には決めることができない」という事実を教えてもらえる機会に遭遇できていれば、その人はとても幸運だと思う。 先輩や上司が一方的に、「一つの確かな方法」をただ伝える、みたいな場面(それが必ずしも一般的にはそうとは言えない方法であったとしても)も多いのではないでしょうか。 どんなに設計上の意思決定ができている人でも、その頭の中では「色々な選択肢の中で悩んで、ベストではないかもしれないけど、前の前の課題に対してよりベターな方法」を選んでいる。でもその思考の過程を見せてくれる人はとても少ない。

    『ソフトウェア設計のトレードオフと誤り』を読んで、”日付や時刻”を扱うことの難しさについて考えた - Magnolia Tech
    nharuki
    nharuki 2023/07/18
    原理主義者なので時刻データは「保持は(可能ならミリ秒以下単位の)Unix時刻」「表示はISO8601形式」で統一しろ!っていっつも思ってる。なおタイムゾーン&サマータイムは(文字数
  • オープンソースビジネスの挑戦と現実|Rui Ueyama

    いい感じのオープンソース・ソフトウェアを書いて、それを元に起業することを考えてみたことがある人は結構いるようだ。実際に僕はここ1年半ほど、自作のオープンソース・ソフトウェアを元にビジネスを立ち上げようと試行錯誤してきた。その経験についてここでシェアしてみようと思う。 あらすじ薄々予期していたことではあったけれど、結論から言うと、そんなにはうまくいかなかった話ということになる。要点をまとめると次の通りだ。 「moldリンカ」というオープンソースのツールを開発して、それを元にビジネスを行おうとしていた そこそこ稼ぐことはできたものの、大きなリターンを得るのは難しかった ほとんどの企業はオープンソースを大々的に活用していても「無料のソフトウェア」にはお金を払うつもりはないし、払いたくても社内制度上できない 大きなリターンを得たいのならば、自作のオープンソース・ソフトウェアを元にサービスを立ち上げ

    オープンソースビジネスの挑戦と現実|Rui Ueyama
  • 初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ - Qiita

    なんだろう、嘘つくのやめてもらっていいですか? 大学も技術者認定機関も、いつまで古いまたは間違ったシェルとカーネルの概念を説明し続けるのでしょうか? シェルはカーネルの言葉をユーザーの言葉に翻訳したり、出力結果をユーザーに中継したり、カーネルを防御したりする層ではありません。指定したコマンドを実行するだけのプログラムです。勉強中の学生か代理執筆業者が適当な文献を調べて書いたとしか思えません。そして他人の説明を自分の言葉に置き換えるのが上手い人がおかしな説明をさらに広めています。個人サイトやオンライン学習サイト程度であれば適当なことを書いていても気にも留めませんが、大学や技術者認定機関のような正しいことを書いているに違いないと思えるような所までもが間違ったことを書いているから困ったものです。 みなさんは大学や技術者認定機関が言っていることなら正しいと思いこんでいないでしょうか? そんなことあ

    初学者のための正しいシェルとカーネルの概念 ~ 大学も技術者認定機関も間違いだらけ - Qiita
  • 米国でソフトウェアエンジニアになる方法

    1on1やメールでご相談を受ける最頻出の話題が 「どうすればアメリカでソフトウェアエンジニアになれるでしょうか?」 というものです。これは後述しますが、いくつかの点で中々ひと言では回答の難しい質問です。ただし、当にアメリカでソフトウェアエンジニアになりたいなら、そのための確度を大幅に上げる方法はいくつか思い当たります。 筆者について実際に米国で2年ほどではありますがソフトウェアエンジニアをしていました。現在も米系企業の日法人でソフトウェアエンジニアとして働いています。留学経験もなく、3流大の文系出身で、30代になってから「正攻法で」米国に渡りました。そういう点で非常に現実的な経験をシェアできると思います。筆者について詳しいことは次のnoteにまとめました。もしご興味のある方はお読みいただければ幸いです。 当に米国に行きたいですか?冒頭の質問に対して僕がまずお聞きするのは 「当に米国

    米国でソフトウェアエンジニアになる方法
  • André Staltz - Time Till Open Source Alternative

    Open source is coming for your business. It is just a matter of time before there exists a compelling open source alternative to your software. It won’t happen overnight, it will start out as a poor alternative, but slowly growing to become the robust and cheap (in fact, free!) solution that everyone uses. In this blog post, I’ll prove this to you with data. I present a measurement I call “Time Ti

    nharuki
    nharuki 2022/08/29
    ある有償ソフトウェアの代替版がOSSで作られるまで平均約7年、という調査結果
  • 【翻訳】Googleのエンジニアがソフトウェア開発する時に必ず書くドキュメント「Design Docs at Google」 - BppLOG

    Googleでの「Design Docs」とは 2007年の Google Developer Day Tokyo での鵜飼氏のプレゼンによると「Google で必ず書くことになっているドキュメント」であり、「プロジェクト立ち上げ時の 1~2週間をかけて書く」ものです。 今回は Google のソフトウェアエンジニアである @cramforce 氏が自身のブログで「Googleでの Design Docs」について解説している記事を公開されていたため、氏の許可を得て翻訳しています。 原文: www.industrialempathy.com 関連書籍: Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術文化、プロセス オライリージャパンAmazon 読了目安:11分 (目次) デザインドキュメント の解剖学 文脈と範囲 目標と非目標 実際のデザイン システ

    【翻訳】Googleのエンジニアがソフトウェア開発する時に必ず書くドキュメント「Design Docs at Google」 - BppLOG
  • オープンソースソフトウェアいろいろ

    オープンソースソフトウェア(以下OSS)にはいろんなものがあることについて書きます。さんざ語りつくされてきたことですけど、自分でもう一度整理したくなったので書きます。 オープンソースなソフトウェアとそうでないものの区別 オープンソースは「俺がオープンソースと言ったらオープンソース」とか「人によっていろいろな考え方があるよね」とかではなく、明確な定義があります。 以下Open Source Initiativeによる定義です。 八田さんによる邦訳。 これ以降は邦訳のほうを使って説明します。 OSSについてのよくある勘違いに「ソースが公開されていればOSSでしょ」というものがありますです。これはたとえば「3. 派生ソフトウェア」を見れば、違っていることがわかります。 ライセンスは、ソフトウェアの変更と派生ソフトウェアの作成、並びに派生ソフトウェアを元のソフトウェアと同じライセンスの下で頒布する

    オープンソースソフトウェアいろいろ
  • 脚光は浴びないが重要なオープンソースソフトウェアを維持する開発者に報酬を分配する「OpenFare」とは?

    世の中には多種多様なオープンソースソフトウェアやライブラリが存在し、その多くが無償のボランティアによって開発・維持されています。オープンソースソフトウェアは社会に多大な影響を及ぼす一方で、開発者に対する利益の還元がないことはさまざまな問題を引き起こしています。この問題を解決するため、オープンソースソフトウェアの開発者に対して適切な報酬を分配するためのツール「OpenFare」が公開されました。 GitHub - openfare/openfare: Micropayment funded software. https://github.com/openfare/openfare Funding the Next Million Public Software Contributors | HackerNoon https://hackernoon.com/funding-the-next

    脚光は浴びないが重要なオープンソースソフトウェアを維持する開発者に報酬を分配する「OpenFare」とは?
  • Log4J問題で明るみになった「ボランティア頼み」の危うさ

    世界中で広く使われているオープンソースのログ収集ソフト「Log4J」の深刻な脆弱性をめぐって、開発者が対応に追われている。インターネットの運用を支えるほど重要な存在であるにもかかわらず、オープンソース・ソフトウェアは無報酬の労働にほとんど頼っている状況だ。 by Patrick Howell O'Neill2021.12.21 133 45 8 ヴォルカン・ヤズジュは今、1日22時間タダ働きをしている。 ヤズジュは、さまざまなタイプのソフトウェア内部のアクティビティを記録するオープンソース・ツール「Log4Jプロジェクトのメンバーの1人だ。Log4Jは、アイクラウド(iCloud)からツイッターに至るまでさまざまなアプリケーション、つまりインターネットを構成するかなりの部分を機能させるのに使われている。ヤズジュと彼の同僚は現在、数十億台のマシンを危険にさらしている極めて深刻な脆弱性に対処

    Log4J問題で明るみになった「ボランティア頼み」の危うさ
  • 保守性の高いソフトウェア開発のTips集

    保守性の高いソフトウェアの開発に役立つ様々なTipsを書いた。 特定の言語にとらわれずあらゆる場面で役立つことを集めた。

    保守性の高いソフトウェア開発のTips集
  • タイムゾーン呪いの書 (知識編)

    「タイムゾーン呪いの書」は、もともと 2018年に Qiita に投稿した記事でしたが、大幅な改訂を 2021年におこない、同時にこちらの Zenn に引っ越すことにしました。 この改訂では Software Design 誌の 2018年 12月号に特集の一章として寄稿した内容も取り込みつつ、夏時間をめぐって各地で起きつつある変化について 2021年 6月現在の状況なども追加しました。そんな追記もしていたら記事全体が長大になってしまったため、この「知識編」と、「実装編」・「Java 編」に記事を分けました。「知識編」は、導入にあたる第一部です。 Qiita のほうは、引っ越した旨とこの引っ越し先へのリンクだけ追記して、しばらくそのまま残すつもりです。 はじめに タイムゾーンという概念のことは、ほとんどの人が聞いたことがあると思います。ソフトウェア・エンジニアでも多くの方が、時刻やタイムゾ

    タイムゾーン呪いの書 (知識編)
    nharuki
    nharuki 2021/07/05
    闇深みが深い・・・
  • コードが読めるソフトウェア開発者 - As a Futurist...

    僕はコードを読むのは得意な方だけど、それが過ぎてコードを書かなくてもシニアソフトウェア開発者になってしまった。実はコードをちゃんと読めるソフトウェア開発者って希少価値が高いのではないか、と思ったので自分がどんな感じでシニアになったのかをまとめてみた。似た様な人の参考になれば幸いだ。 同意。僕は未だ書く方はほとんど機会なく成果もないけど、コードを読み尽くして、負荷試験や番で挙動を把握し続け、メトリクスでとことん確かめていった結果、Sr. Engineer になれた。 https://t.co/KXtMdEaRr8 — Ryosuke Iwanaga (@riywo) April 16, 2021 コードを書かなくてもシニアソフトウェア開発者になれた 僕は今 Amazon の Sr. Systems Development Engineer という職種で働いている。いわゆるソフトウェア開発職

    コードが読めるソフトウェア開発者 - As a Futurist...
  • mimalloc のメモリ管理 - Qiita

    Microsoft の mimalloc は面白い割り切り方で、小さいソースコードで高速なアロケータを実装しています。 確保するメモリブロックのサイズを、 Small (~8KiB), Large (~512KiB), Huge (512KiB~) の3つに分類し、 Small と Large は同じアルゴリズムで管理し、 Huge は OS 任せにして、 Small と Large は同じアルゴリズムをうまく利用しています。 基礎 OSはpage (x86では基 4KiB) ごとにメモリをプロセスに割り当てています。 しかしアプリケーションではずっと小さいメモリブロックが必要になることが多くあります。また、必要になるたびに毎回OSからメモリを割り当ててもらうのはパフォーマンスも悪いです。 mimalloc やその他の malloc 実装 (以降 malloc と呼びます) は OS か

    mimalloc のメモリ管理 - Qiita
  • 【翻訳】技術的負債という概念の生みの親 Ward Cunningham 自身による説明 - t-wadaのブログ

    システム開発の世界において「技術的負債Technical Debt)」は繰り返し話題になり、しばしば炎上しています。 技術的負債という概念の生みの親は Ward Cunningham (ウォード・カニンガム)です。彼は 1992 年にオブジェクト指向プログラミングの国際カンファレンス OOPSLA '92 の Experience Report でコードの初回リリースを負債に例えました("Shipping first time code is like going into debt")。 Ward Cunningham はソフトウェアの世界に多くの貢献を果たしてきました。Wiki の発明者であり、XP と TDD の父 Kent Beck の師匠のような存在であり、建築の世界の「パタン・ランゲージ」を Kent Beck と共にソフトウェアに輸入した人であり、「アジャイルソフトウェア開

    【翻訳】技術的負債という概念の生みの親 Ward Cunningham 自身による説明 - t-wadaのブログ
    nharuki
    nharuki 2021/03/22
    “Ward の言う負債の悪影響とは開発と共に得られていく知識や理解と目の前のシステムとの乖離が引き起こす生産性低下”
  • フルタイムでオープンソース・ソフトウェアを開発すると開発者にはどういう変化が訪れるか(個人の感想レベル)

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    フルタイムでオープンソース・ソフトウェアを開発すると開発者にはどういう変化が訪れるか(個人の感想レベル)
  • 批判の文化が日本を技術後進国にしているかもしれないという話 - メソッド屋のブログ

    先日、接触確認アプリがリリースされました。これは正直日のソフトウェアの進歩に画期的なことだったと思います。私も衝撃を受けました。 www.mhlw.go.jp その後起こったことに関して正直は私の感想はこの通りです。 日で起こっている地獄を見て、アプリ開発者は海外に流出してしまうわって思う。あの流れは最低最悪。みんな自分が気持ちよくなるためだけに、自分の国の未来を破壊してるんやで。— TsuyoshiUshio (@sandayuu) June 21, 2020 このような展開は、私が今住んでいるアメリカでは発生しない事案だと思います。じゃあ、日米でどういう違いがあって、日人の自分が小さな一歩を踏み出して、日がよりよい国になるようにできるとしたらどんなことだろうということを考えてみましたので、あまりソフトウェアの専門用語を使わない形で書いてみようと思います。 接触確認アプリが生まれ

    批判の文化が日本を技術後進国にしているかもしれないという話 - メソッド屋のブログ
  • IT産業はタダ働きのエンジニアに依存しすぎている

    By Pressmaster 「フリーソフトウェア」「無料アプリ」の中には便利なものがたくさんあります。しかし、有料のソフトウェアの中にも「無料のコード」が多数内在しています。さまざまなプロトコルを用いてデータを転送するライブラリ「libcurl」とファイルを送受信用コマンドラインツール「cURL」を開発し無料で提供しているダニエル・ステンバーグさんが「オープンソースプロジェクトを公開すること」にまつわる自身のエピソードを語っています。 The Internet Relies on People Working for Free - OneZero https://onezero.medium.com/the-internet-relies-on-people-working-for-free-a79104a68bcc iPhoneのような多数のコードによって動いている製品の価格には、その

    IT産業はタダ働きのエンジニアに依存しすぎている
  • 趣味で作ったソフトウェアが海外企業に買われるまでの話 - knqyf263's blog

    今回はソフトウェアエンジニアじゃない人や学生にも、ソフトウェアエンジニアという職業には夢があるかもしれないと思ってもらうために書いています。そのため既に詳しい方からすると回りくどい説明も多いと思いますがご容赦下さい。 基的に記事とかには技術的なことしか書かないスタンスでやってきましたが、今回の件はさすがに誰かに伝えておくべきだろうということで長々と垂れ流しました。 概要 GW中に趣味で開発したソフトウェアを無料で公開したところAqua Securityという海外企業(アメリカとイスラエルが社)から買収の申し出を受け、最終的に譲渡したという話です。さらに譲渡するだけでなく、Aqua Securityの社員として雇われて自分のソフトウェア開発を続けることになっています。つまり趣味でやっていたことを仕事として続けるということになります。 少なくとも自分の知る限り一個人で開発していたソフトウェ

    趣味で作ったソフトウェアが海外企業に買われるまでの話 - knqyf263's blog