タグ

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

  • Redisよ安らかに眠れ: Garantia Dataが引き起こしたオープンソースの歴史上最大の強盗とは

    Khawaja Shams Tony Valderrama Erika Tharp TL;DR 2024年3月20日Redis社は、これまでオープンソースとして開発してきたRedis 7.4ソースコードのライセンスを、Redis Source Available License (RSALv2)とServer Side Public License (SSPLv1)のデュアルライセンスに変更すると発表しました。この変更によりRedis社の許可なくRedisを用いたマネージドサービスなどを提供することができなくなります。 2009年1人の情熱的なエンジニアAntirezが作り出したRedisですが、2013年のGarantia Data社の介入により様々なドラマが勃発し2020年にAntirezはIPそしてトレードマークを同社に譲渡します。その後、Redisのコアコミュニティメンバーを中心に

    Redisよ安らかに眠れ: Garantia Dataが引き起こしたオープンソースの歴史上最大の強盗とは
  • きれいなコードを書けという話について - Software Transactional Memo

    前回のブログから90日以上経ってしまったので広告が載ってしまったから短文でもアウトプットしておく。 プログラマとして仕事をしているとコードと向き合っている時間の9割以上は既存のコードを読んでいる、だから読みやすさは重要である、という言説は耳にタコができるほど誰もが言っている。 仕事で書かれるコードが誰のレビューも通ること無くマージされている現場は凄惨だが、自分より明らかに経験を積んだ人たちが何度もレビューを重ねたコードが読みやすいかというとそうとは限らない。良いコードが守るべきルールをすべて守っていても不可解なコードはあるし、どんなに読みやすいコードでも数千行の規模になってくるとやはり脳内からこぼれて一度に覚えておける範囲からはみ出る。 変数名や関数名をわかりやすくするとか不必要な技巧を凝らさないとかわかりやすい設計にするとか主観的な事を偉そうに語るは山ほどあり、それらのを崇める事は悪

    きれいなコードを書けという話について - Software Transactional Memo
  • ソフトウェアに関わる人が知っておくといいかもしれない法則10個

    「チームトポロジー」や「エンジニアリングマネージャーのしごと」「スクラム実践者が知るべき97のこと」の著者や翻訳者などで知られる吉羽龍太郎氏が、「ソフトウェアに関わる人が知っておくといいかもしれない法則10個(勝手セレクション)」という興味深いポストをX(旧Twitter)で公開しています。 ソフトウェアに関わる人が知っておくといいかもしれない法則10個(勝手セレクション) コンウェイの法則 パレートの法則 グッドハートの法則 パーキンソンの法則 ブルックスの法則 リトルの法則 ピーターの法則 ハインリッヒの法則 ピーク・エンドの法則 ホフスタッターの法則 — Ryutaro YOSHIBA (@ryuzee) January 23, 2024 これらの法則の多くは経験則だったりもしますが、いずれにせよ知っておくと上司の説得に役立ったり、ソフトウェアの開発現場でチームの運営に役立ったり、物

    ソフトウェアに関わる人が知っておくといいかもしれない法則10個
    wata88
    wata88 2024/01/24
    ハイラムの法則を足したい
  • メンテのいらないソフトウェア - 誰かの役に立てばいいブログ

    ソフトウェアエンジニアとして働き始めて 20 年以上になります。 元々ソフトウェアでいろいろ作りたくて就いた職業なので、結構な数のプロダクトを開発してきました。 私がメインで開発したもので OSS として出ているものでは、 yrmcds: memcached クローンで、レプリケーション機能などを持つ usocksd: SOCKS4/5 サーバー & ライブラリ transocks: アプリのネットワーク通信を透過的に SOCKS サーバーにプロキシする透過プロキシ coil v2: Kubernetes の CNI ネットワークドライバ moco: MySQL を自動運用する Kubernetes オペレーター accurate: Kubernetes 上で namespace ベースのソフトマルチテナンシーを実現するためのソフトウェア などがあります。これらのソフトウェアの多くは、現役

    メンテのいらないソフトウェア - 誰かの役に立てばいいブログ
  • 羽生先生の発言は何が開発者の反発を招いたのか? | やねうら王 公式サイト

    2つ前の投稿で羽生先生のインタビュー記事の発言を取り上げたらプチ炎上しました。私は特に炎上を狙ってやっているわけではなく、羽生先生の発言が将棋AI界隈に悪い影響が残り兼ねないので書いたのですが、開発関係者からは一定の同意が得られたものの、将棋ファンからは殺害予告やら、こんなツイートやらが届く始末です。 まあ、一線を越えているものに関しては関係各所と連携しつつ、粛々と対応させていただく次第です。(念のために言っておきますと、将棋ファンのすべてがこういう人たちばかりだとは私は思っていません。極一部にちょっとややこしい人がいらっしゃるという認識です。) この記事は大変長くなるので、「最新版のやねうら王が(お金を出してでも)欲しい!」と言う方や、「やねうら王の開発に支援してやる!」と言う方は、とりあえず、この記事の末尾のリンクから御支援くださいませ。 今回は、前回の羽生先生の発言を再度取り上げ、何

    wata88
    wata88 2024/01/01
    わざわざ対立したいように見える
  • あるソフトウェア工学者の失敗 日本のITは何故弱いか

  • 昨日よりいいコードを書こう | Marginalia

    いわゆる「技術的負債」、あるいは単純に「古いコード」は悪者にされやすい。特に、それを書いたのが現在の開発者とは別人であるなら。(すでに会社にいないなら尚更に) 確かに、古いコードはソフトウェアの品質を上げにくくする。だがそれはコードが古いことが原因ではない。コードの質が悪いからだ。そのコードの可読性が低く、テストが不十分で、変更容易でない、そんな状態のまま古くなったからだ。 一度書いたコードの質があとからよくなることはない。どんな一片のコードでも、書き直される以外に質が上がることはない。(当然下がることもある) 常にいいコードを書けるように励もう。どんなコードも時間とともに老化する。老いに対抗できるのは、絶えずよりよいコードに書き換えていく新陳代謝だけだ。 今日は昨日よりいいコードを書こう。 Tweet misskeyshare donshare

    昨日よりいいコードを書こう | Marginalia
  • システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers

    Uzabase Saas Product Divisionフェローの矢野です。 この記事は、Rich Hickey(プログラミング言語Clojure作者)のプレゼンテーションSimple Made Easyへと繋がっていく、Ben MoseleyとPeter Marksによる「Out of the tar pit」というシステム設計について論じた論文の内容について説明したもので、ユーザベースのSaas Productでのテック発表の一つとしてプレゼンしたものを、ブログとして再度まとめたものです。プレゼン自体は25分くらいでしたので、おそらくこの記事の方がプレゼンよりも詳しいと思います。 ソフトウェア危機 ソフトウェアは質的に複雑 ソフトウェアの複雑さはどこから来るのか? 複雑さは、別の複雑さを産む 複雑さを分類する 当に必要な複雑さと、そうでないものがある どうやって複雑さを扱うのか

    システムの複雑さはどこから来るのか – Out of the tar pitを読む - Uzabase for Engineers
  • フロム・ソフトウェアが語るデバッグメニュー最適化テクニック。ネットワークを活用し、ロード待ちが13秒→15ミリ秒以下に【CEDEC2023】

    国内最大規模のゲーム業界カンファレンス「CEDEC2023」が、2023年8月23日(水)から8月25日(金)までの日程で開催されました。初日となる8月23日には、フロム・ソフトウェア R&Dセクション チーフプログラマー 清水 俊宏氏が登壇。「ゲームの外から操作する柔軟なデバッグメニューシステム」と題する講演が行われました。 デバッグメニューの概要から、従来の自社デバッグメニューの問題点に対するアプローチまで解説された講演をレポートします。 TEXT / wvigler EDIT / 神谷 優斗

    フロム・ソフトウェアが語るデバッグメニュー最適化テクニック。ネットワークを活用し、ロード待ちが13秒→15ミリ秒以下に【CEDEC2023】
  • リファクタリングの価値の考察 - プログラマーの脳みそ

    リファクタリングには価値がある、とプログラマは確信していることだろう。しかし、その価値が何であるか?を上手く説明できるかというと難しいのではないだろうか。稿ではリファクタリングの価値をテーマに筆者の説を提示していく。 品質特性の側面から 補足 品質特性の相互作用 リファクタリングの価値 障害対応 機能追加 システムの製品寿命 まとめ 品質特性の側面から ソフトウェアの品質特性としてISO/IEC 9126が一般的に用いられている。大きく6つの特性と細分化された副特性からなり、ISO/IEC 9126 - Wikipedia から引用すると 機能性(functionality) - 機能とその特性に影響する特性群 信頼性(reliability) - ある状況がある時間続いたときにソフトウェアがどの程度機能するかに影響する特性群 使用性(usability) - 利用するのにかかる手間、個

    リファクタリングの価値の考察 - プログラマーの脳みそ
  • コード品質はやはりビジネスに影響を与える - mtx2s’s blog

    私たちソフトウェアエンジニアは、コード品質についてしばしば論ずるけれども、ではコード品質の良し悪しがどれほどビジネスに影響するのかと問われると、回答に窮する。只々、「コード品質が悪いと変更により多くの時間がかかります」だとか、「欠陥の修正に追われて開発時間が奪われます」だとか、個人の経験やエンジニア的一般論に頼った定性的な説明に終始するしかない。ソフトウェアを繰り返し変更する頻度が高いほど、コード品質が開発時間に影響を与えるのは確かにそのとおりだと思えるが、はたしてそれは、どれほどのインパクトなのだろうか。 2022年の研究論文 "Code Red: The Business Impact of Code Quality – A Quantitative Study of 39 Proprietary Production Codebases" では、コード品質がビジネスに与えるインパクト

    コード品質はやはりビジネスに影響を与える - mtx2s’s blog
  • CTO から見た,なぜスタートアップ
初期のソフトウェア設計は壊れがちなのか - Speaker Deck

    Speaker Deck This deck requires a password Password

    wata88
    wata88 2023/01/26
    だからこそ最初期のコードはクソだが偉大なコード
  • Dropbox Businessは非常に危険です | 江口某の不如意研究室

    (この記事は、Dropbox社に対してフェアじゃないものになっています。続きの「Dropbox Businessは馬鹿が使うと非常に危険なことを検証しました」も読んでください) 最近、非常に重大な事故を起こしてしまったので報告します。実際の被害は、最高が7だとすると3か4ぐらい、しかし潜在的な危険度からいうと7段階で7、ってくらい重大。Dropboxでファイルを大量に失なってしまったばかりか、個人情報流出の危険をおかしてしまいました。(実際には流出といえるものはありませんでしたが) Dropbox Businessチームに招待され参加して「アカウントを統合」すると、自分では抜けられない状態になる それだけでなく、それまで自分がもっていたファイルもすべてチームのものになる 個人用の契約が勝手に解除されてしまう 私のアカウントを削除すると、管理者は私のファイルを自分のものにすることができる 管

  • AWS、オープンソースベンダのライセンス変更による商用サービスの制限は「顧客を見ていない」と反論

    RedisやMongoDB、Kafka、Elasticsearchなどのオープンソースソフトウェアの開発元企業が、AWSなど大手クラウドベンダがそのオープンソースを用いたマネージドサービスを提供して大きな利益を上げていることに反発して、ライセンスを変更するなどで商用サービス化を制限する動きがあることは、今年の1月の記事で紹介しました。 Redis、MongoDB、Kafkaらが相次いで商用サービスを制限するライセンス変更。AWSなどクラウドベンダによる「オープンソースのいいとこ取り」に反発 この動きに対してGoogleは4月、Google Cloudにオープンソースベンダによるマネージドサービスを統合すると発表し、彼らとの戦略的提携という姿勢を打ち出しました。 [速報]Google、大手クラウドに不満を表明していたMongoDB、RedisらOSSベンダと戦略的提携。Google Clou

    AWS、オープンソースベンダのライセンス変更による商用サービスの制限は「顧客を見ていない」と反論
  • 設計=スタミナ仮説 - Martin Fowler's Bliki (ja)

    http://martinfowler.com/bliki/DesignStaminaHypothesis.html ソフトウェアをきちんと設計するのは、その労力に見合うことなのか? 「ソフトウェアをきちんと設計することって、そんなに大切なことなの?」という問題について、遠回しなやりとりをすることが時々ある。 あえて「遠回しなやりとり」と言ったのは、はっきりと「ソフトウェアの設計なんて無意味だ」と言う人を見たことがないからだ。 そういう考えの人は、たいていこんな言い回しをする。 「立ち止まっている暇なんてない。とにかく前に進まないと来年の目標を達成できないんだ。 だから、≪設計に関する何かの作業≫は省略するよ」 そこにあるのは、設計と素早い開発の間には何らかのトレードオフがあるという思い込みだ。 実際、「設計に時間を掛けると開発の速度は落ちるけど、プログラマーはそれを補って余りあるだけのメ

  • 他人の書いたソフトウェアのバグへの対処例 - Qiita

    はじめに 記事は、他人の書いたソフトウェアのバグに遭遇したときにどうするかという流れを、実例を基にして、ストーリー仕立てでなるべく具体的に書きました。このようなときの対処に不慣れな人に、実際のデバッグ、バグレポート、および修正案の提出までの流れを掴んでもらうことが目的です。 バグに遭遇 筆者も参加していたLinux Advent Calendar 2016に、ある日シェルスクリプト(Bash)で作るTwitterクライアントという記事が投稿されました。twitter APIの認証に使われているOAuth1.0aとshell芸に興味があったことより、この記事を読んでみることにしました。 そこで紹介されているtweet.shというbash製twitterクライアントを試そうとしたところ、出力は次のようになりました。 いきなり何かがおかしいです。自分のtwitterアカウントに関するJSON形

    他人の書いたソフトウェアのバグへの対処例 - Qiita
  • 趣味で作ったソフトウェアが海外企業に買われるまでの話 - knqyf263's blog

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

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

    ソフトウェアのパッケージ販売に携わってもう 10 年以上になるが、どうもこのビジネスってずるすぎないか?ってずーっと思いながらやっているのだが、 ajiyoshi が商売の脆弱性という、うまい表現を使っていたのでパクることにして、ブログを書いてみることにした。タイトル重要。 前提自分はミドルウェアという分野のソフトウェアパッケージ製品を専門にしている開発者(あと経営者)という立場。会社を持つ前も同じ分野を担当していた。 ここでのソフトウェアのパッケージ販売というのはミドルウェア製品のパッケージ製品のサブスクリプションライセンス販売を指している。 ソフトウェアのパッケージ販売在庫が不要ほんとこれ。なんだよそれって思う。うちの例だとダウンロード URL とライセンスファイルをメールで送ってそれで納品完了。 在庫がないのに物が売れるって当に意味がわからない。ダウンロード URL から製品をダウ

  • ソフトウェアと

    2013: はじめに 約5年前にソフトウェアエンジニアになりたくて前の会社を辞めた。当時3人の会社の4人目として入社。Web系のソフトウェアエンジニアの親しい友人はいない。その時からソフトウェアエンジニアコミュニティというものが存在していることは知ってたんだけど、どうしても好きになれくてその中に積極的に入っていこうという思いもあまりない。いわゆるスタートアップと呼ばれる会社だったけど、当時スタートアップ野郎には全く良い印象がなく、身内ノリがキモすぎてあまり関わりたくなかったので距離を取っていた。 会社で一日中設計してコードを書いて家に帰ってDjangoやfluent-agent-hydraやpaho-mqtt、気になったソフトウェアを写経して土日は自分が感じる不便を解決するOSSを書く。写経は脳を大きく動かさなくてもとにかく開始できるという一点において便利な練習で、その頃はよくやっていた。

  • 次世代Webカンファレンス 2019 振り返り

    nwc.md 次世代Webカンファレンス 2019 振り返り この文章に関しても所属組織とは関係のない個人の見解です 所感など 当に全く打ち合わせをしていないので、話題が分散しがちだったかもしれない。 せっかくの所属組織とは無関係のレギュレーションなので、具体名を上げてガンガン治安の悪いことを言うつもりだったのだけど、直前に「具体的な企業名は避けましょう」と言われて若干遠慮した。 マズいことをガンガンしゃべる覚悟で来たので、防刃ベストを着ているが、特に出番は無かった。トイレにも行った。 当は話す予定だったトピックについて、いくつかは、別途private gistに書く。 話した話題の参考情報 CDN設定の話、request collapsing という名前の機能 https://tech.mercari.com/entry/2017/06/22/204500 http://www.it

    次世代Webカンファレンス 2019 振り返り