並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 336件

新着順 人気順

ソフトウェアの検索結果241 - 280 件 / 336件

  • 設計の知識と技能で駆動するソフトウェア開発

    Object Oriented Conference 2024 登壇の機会をいただいたので、ここ数年、設計について考えていることを、言語化してみました。 はじめに 設計と開発プロセスの関係性 ソフトウェア設計の知識と技能 ① ソフトウェア設計の基礎知識 a. 基本課題 b. 解決のアプローチ c. モジュール化:基本となる4つの技法 ② モジュール化 a. モジュールの分類 b. オブジェクト指向プログラミングのモジュール化 c. ドメイン駆動設計のモジュール化 ③アプリケーションのモジュール構成(参照モデル) コア(中心) ポート(境界) アダプタ(周辺) ④モデル駆動設計 全体 事業活動、要件、アーキテクチャ コア(中央) 業務ロジック、ドメインモデル 業務機能、アプリケーションサービス アダプター(周辺) 記録モデル、データベーススキーマ 連係モデル、プロトコル設計 対話モデル、イン

      設計の知識と技能で駆動するソフトウェア開発
    • Red HatがRHELソースコードの一般公開をやめて顧客限定に、自由ソフトウェアの原則を軸にしてきたLinux関係者たちから猛批判を受ける

      企業向けに「Red Hat Enterprise Linux(RHEL)」というLinuxディストリビューションを提供しているRed Hatが、これまで一般公開してきたRHELのソースコードの配布を顧客限定にすると発表しました。この発表に対して、自由ソフトウェアの理念を持つ開発者たちが批判の声を上げています。 Furthering the evolution of CentOS Stream https://www.redhat.com/en/blog/furthering-evolution-centos-stream 自由ソフトウェアとは下記の4つの「自由」を持つソフトウェアのこと。 ・どんな目的に対しても、プログラムを望むままに実行する自由 ・プログラムがどのように動作しているか研究し、必要に応じて改造する自由 ・ほかの人を助けられるよう、コピーを再配布する自由 ・改変した版を他に配

        Red HatがRHELソースコードの一般公開をやめて顧客限定に、自由ソフトウェアの原則を軸にしてきたLinux関係者たちから猛批判を受ける
      • 競技プログラミング、ソフトウェア・エンジニア、コミュニティ

        なんか言及もされたのでアンサー的に書いてみたけど、アンサーには大してなってないな? ってやつです。一部で言及された、競技プログラミング (競プロ) 関係の話。 その前に、「プログラミングの競技」っていろいろあります。 短時間で問題に解答していく型 (ICPC / 情報オリンピック / AtCoder Regular / TopCoder とか)最適解が容易に求まらない問題のスコアを競う型 (SuperCon / AtCoder Heuristic / ISUCON / ゴルフ / ICFP Programming Contest の一部とか)対戦型 (ICFP Programming Contest の一部とか、最近のはあんまり知らないですが RoboCode / Imagine Cup とか)謎解き型 (ICFP Programming Contest で何回かありましたね。 UMIX

        • 「『自由ソフトウェア』の開発にDiscordを使わないで」という主張

          オープンソースソフトウェアの開発プロジェクトで連絡用プラットフォームとしてDiscordを用いる例が多くあります。しかし、自由ソフトウェア(FOSS)の推進者であるドリュー・デヴォールト氏は「『自由ソフトウェア』の開発プロジェクトにDiscordを使うべきではない」と警鐘を鳴らしています。 Please don't use Discord for FOSS projects https://drewdevault.com/2021/12/28/Dont-use-Discord-for-FOSS.html Discordはユーザーが「○○というゲームについて話し合うサーバー」「○○愛好会のボイスチャット用サーバー」「GIGAZINEの公式サーバー」といったように自由にサーバーを作ることができるコミュニケーションアプリで、各サーバーではテキストや音声で会話できるほか、ファイルをアップロードした

            「『自由ソフトウェア』の開発にDiscordを使わないで」という主張
          • 実践ATDD 〜TDDから更に歩みを進めたソフトウェア開発へ〜 / ATDD by genba example

            ソフトウェア開発において、不確実性にどのように立ち向かっていくかは大きな課題です。 PHPerとしては、開発中にいかにコード品質を上げるかといったことは大きな関心で、その一つの規律のとり方としてTDDを実践されてきた方は多いのではないでしょうか。 トークの表題であるATDDは、Acceptance Test Driven Developmentの略です。TDD Cycleよりももう一つ大きなスコープでのフィードバックループをテストによって駆動します。特にアジャイル開発の文脈で「Agile Testing」という一つのテーマ内で紹介されることが多い手法です。 ユニットテスト・コンポーネントテストをカバーするテストによって開発を駆動するTDDに対して、ATDDはよりビジネスフォーカスの強いテストによって開発を駆動します。ATDDの開発プロセスの実践によって、技術レイヤ横断的な製品全体の回帰テス

              実践ATDD 〜TDDから更に歩みを進めたソフトウェア開発へ〜 / ATDD by genba example
            • [スタパ齋藤の「スタパトロニクスMobile」] Androidで災害対策するならソフトウェアラジオかも!!!

                [スタパ齋藤の「スタパトロニクスMobile」] Androidで災害対策するならソフトウェアラジオかも!!!
              • 1月28日、新刊『Good Code, Bad Code ~持続可能な開発のためのソフトウェアエンジニア的思考』発刊!

                Tom Long氏は、よいコードを書くため「4つのゴール」と「6つのコード品質の柱」を掲げ、「よいコード」と「悪いコード」を比較することで、「なぜ、このコードはよい/悪いのか」を具体的な事例とともに、1つ1つ解説しています。さらに、「よいコード」が正しく動き、「悪いコード」を発見するための「ユニットテスト」についても2章に渡って解説しています。 本書は、11章で構成されており、大きく3つの部に分かれています。最初の第1部では、コードに対するソフトウェアエンジニアとして考えを形作るための理論的な上位の概念について紹介しています。第2部では、いくつかのテーマに分けて、特定の考え方やテクニックを扱います。最後の第3 部では、効果的でメンテナンスできるユニットテストを作るための原則と実践について解説しています。 なお、監訳を務めた山本大祐氏は、次のようなコメントを寄せています。 コードが動くことに

                  1月28日、新刊『Good Code, Bad Code ~持続可能な開発のためのソフトウェアエンジニア的思考』発刊!
                • 軽量で自分のローカル環境上に構築するメモサイトを探しているなら!「memos」 - ソフトウェア開発者のための OSS、まとめてみました!

                  概要 皆さまはメモを取りたいときやタスクを管理したい、アイデアを何かにまとめたいといった場合、どのようなものに頼っていますでしょうか? 非デジタルであればノートだったりメモ帳を使用しているかもしれませんし、デジタルであればメモアプリだったりテキストエディタを利用、もしくはクラウド管理されているアプリを利用してるかと思います。 今回はデジタルで利用するメモアプリの話題について取り上げていきたいと考えていますが、もしデジタルでメモを取っている方はどのようなアプリや Web サイトを利用されていますでしょうか? 有名どころで、メモやタスク管理、ドキュメント管理、データベースなど、仕事で使う様々なツールが 1 つにまとまっているアプリ「Notion」を利用されている方が多いのではないかと考えています。 www.notion.so 私自身も普段からこちらの「Notion」を積極的に利用させていただい

                    軽量で自分のローカル環境上に構築するメモサイトを探しているなら!「memos」 - ソフトウェア開発者のための OSS、まとめてみました!
                  • 【Twitter】非常に複雑なソフトウェアの面倒を見る人を減らして急な機能追加をすると『あちこちから無視できない水漏れが起こる』みたいな壊れ方をする

                    Fumihiko Shiroyama @fushiroyama 父、博士課程 Senior Software Engineer @Microsoft 👨🏻‍💻 / ex-@amazon All opinions are my own. note.com/fushiroyama/ 父 @fushiroyama Twitterがゆっくりとしかし確実に壊れていっていることに残念ながら驚きはないというか、非常に複雑なソフトウェアの面倒を見る人を減らして急な機能追加をすると「分かりやすい大爆発」を起こすのではなくて「あちらこちらから無視できない水漏れが起こる」みたいな壊れ方をするんですよね 2023-02-09 08:56:17 父 @fushiroyama 世界最高峰のTech Giantsが世界最高峰の頭脳を世界最高峰の報酬でかき集めて作られているものは鬼怒川温泉の崖に作られた無理な建て増

                      【Twitter】非常に複雑なソフトウェアの面倒を見る人を減らして急な機能追加をすると『あちこちから無視できない水漏れが起こる』みたいな壊れ方をする
                    • AI を活用したソフトウェア開発のための個人的ガイド - Sun wood AI labs.2

                      https://www.reddit.com/r/LocalLLaMA/comments/1cvw3s5/my_personal_guide_for_developing_software_with_ai/?rdt=40405 はじめに 私は個人プロジェクトでコードを書く際、特に自動化のためのものを書く際には、AI を活用しています。この点について、人によって意見が分かれるようです。同じように AI を使っている人もいれば、AI が良いコードを書くことは不可能だと考える人もいます。私の分野の専門家の間でも同様の考え方に遭遇し、AI の使い方が人によって異なるのかもしれないと気づきました。 私自身のバックグラウンドですが、私は開発マネージャーであり、業界で長年の経験を積み、大学院でもソフトウェア開発を学んできました。ですので、このガイドは素人ではなく、大規模システムの構築と運用に関するかなり

                        AI を活用したソフトウェア開発のための個人的ガイド - Sun wood AI labs.2
                      • ソフトウェアを完成させる - blog.8-p.info

                        Why is building the Ruby environment hard? の、 ソフトウェアは何もしないと壊れる というのは事実ではあるんだけど、それが良いことかというと、どうなのかなあと思う。ほかにも、我々プログラマはつい「ソフトウェアは完成しない」とかいってしまうし、それは雇用のためには良いことなんだろうけど、でも本当に完成しないんだろうか。 Go の logrus の README には、こんな段落がある。 Logrus is in maintenance-mode. We will not be introducing new features. It’s simply too hard to do in a way that won’t break many people’s projects, which is the last thing you want fro

                        • ChatGPTで構成された仮想のソフトウェア会社にシステム開発を行ってもらうChatDevがおもしろい - きしだのHatena

                          ChatGPTによるメンバーで構成された仮想のソフトウェア会社にシステム開発を行ってもらうChatDEVが結構おもしろかった。 ChatDEVは、ChatGPTによってCTOやプログラマー、レビュアー、テスターといった役割をもつエージェントをやりとりさせることでソフトウェア開発を自動化しようという試みの実装です。 https://github.com/OpenBMB/ChatDev アイデアは論文にまとまっていて、こちらで概要が翻訳されています。 [LLM 論文]アプリ全自動開発"ChatDev"の日本語訳|すめらぎ 使い方としては、とりあえずClone git clone https://github.com/OpenBMB/ChatDev.git そして依存モジュールのインストール cd ChatDev pip3 install -r requirements.txt あと、OpenA

                            ChatGPTで構成された仮想のソフトウェア会社にシステム開発を行ってもらうChatDevがおもしろい - きしだのHatena
                          • IPAマンガでわかるソフトウェア開発データ分析38編.pdf

                            マンガでわかる ソフトウェア開発 データ分析 データ分析事始め データ分析FAQ (参考)アジャイルメトリクスFAQ 1 独立行政法人情報処理推進機構 超合本版38編 データ分析事始め 目次 データ分析基礎編 01 データ分析ってなんなの? データ分析 02 信頼幅の線、気になる 信頼幅 03 箱ひげ図のひげ、かわゆくない 箱ひげ図 04 散布図はぜんぜんばらばら 散布図と箱ひげ図 05 どれが本命なの? 中央値と平均値 分析データ観察編 01 生産性は性癖が出る? 生産性 02 バグを愛したソース 信頼性(不具合密度) 03 改修・保守が好き過ぎる 開発プロダクトの種別 04 規模はアンバランスでアンビバレント ソフトウェア規模 05 開発期間は短くて長くて短い 開発期間(工期) 06 ウォーターフォールってつおい? ウォーターフォール型開発 07 ここはツールでしょ 開発ツール 08

                            • 2020年に作ったソフトウェアや開発技術をふりかえる - laiso

                              概要 よくある年末っぽい日記の記事です。 だいだいこれどうりのバランスでソースコードも書いてる 言語はなんでもいい時はNode.jsで書く。移植性が高いので。複数人でメンテしそうな時はTypeScriptを採用し、プライベートの時は型を完全に無視する PHPはほぼLaravel。ビジネスのみの関係 Swiftはそんなに書いた記憶がないけどアプリのメンテをしてたと思う Vueも仕事で使っていたけど最近はReactに傾いてる Objective-Cは書いてない グラフに含まれてない部分だとAndroidアプリでKotlinを使って、データ分析でPythonを書いた このグラフは GitHub Profile Summary Cards っていう便利ツールを使わせてもらって自動生成している。 記録方法 コードを書く時はおもむろに ~/tmp 以下にディレクトリ掘ってIDEを開きはじめるので実質そ

                                2020年に作ったソフトウェアや開発技術をふりかえる - laiso
                              • ソフトウェア設計についてAIと壁打ちしたら良い体験でした(準中級者〜中級者向け) | DevelopersIO

                                こんにちは。AWS事業本部コンサルティング部に所属している今泉(@bun76235104)です。 ソフトウェア設計・クラス設計などの学習捗ってますか? 私は実際にソフトウェア設計に関する本を読んで学習したり、OSSを書いてアウトプットしたりするのですが、なかなかフィードバックをもらえず上達しているのか分かりません。 普段のお仕事も直接的にコードを書くことも少ないので、先輩によるご指導などももらいにくい状況です。 そこで今回、話題のAIとソフトウェア設計の考え方について壁打ちしてもらったところ、非常に良い学習方法だと感じたので、この記事を書いてみました! ちなみに私は以下のようにソフトウェア設計関連の書籍を読んで学習しています。 ちなみに今回は以下ブログ記事で公開しているくらにゃんGPTをベースにしたBotと会話をしています。 ChatGPT API model: gpt-3.5-turbo

                                  ソフトウェア設計についてAIと壁打ちしたら良い体験でした(準中級者〜中級者向け) | DevelopersIO
                                • ソフトウェアエンジニアのライブラリアップデートの向き合い方 - Uzabase for Engineers

                                  こんにちは。ソーシャル経済メディア「NewsPicks」NewsPicks Stage.事業のエンジニアをしています、林です。 業務では Next.js / Rust / Go などを用いて、経済・ビジネス情報に特化した動画配信サービスであるNewsPicks Stage.の開発・運用を行っています。 はじめに 突然ですが、皆さんは自身のソフトウェアのライブラリアップデートは行えていますか? 皆さんはどのようにライブラリアップデートを行なっていますか? 新機能を試したくて? npm iで失敗してから頑張る? Renovate / dependabot が自動Mergeされる環境? もしくは対応担当が特定の日にまとめてMergeする運用? しかし多くの開発者は、アップデートに対して「うまくいっている」と言えないのではないでしょうか?自身も様々なプロダクトを開発してきた経験上、日々の中ではどう

                                    ソフトウェアエンジニアのライブラリアップデートの向き合い方 - Uzabase for Engineers
                                  • 自律型AIソフトウェアエンジニア「Devin」登場。Readmeを読んで環境構築、Print文を使ってデバッグなど

                                    自律型AIソフトウェアエンジニア「Devin」登場。Readmeを読んで環境構築、Print文を使ってデバッグなど AIスタートアップのCognitionが自律型のAIソフトウェアエンジニア「Devin」を発表した。Devinは人間と同様にコードエディタやコンソール、Webブラウザを用いて情報を参照し、コーディングやデバッグ作業を自律的に行える能力を持つようだ。 AIスタートアップのCognitionは、自律型のAIソフトウェアエンジニア「Devin」を発表しました。 Devinは人間が課題を与えると、自律的に情報を参照し、コーディングやデバッグ、デプロイを行い、システム構築を実現するAIソフトウェアエンジニアだと説明されています。 Today we're excited to introduce Devin, the first AI software engineer. Devin i

                                      自律型AIソフトウェアエンジニア「Devin」登場。Readmeを読んで環境構築、Print文を使ってデバッグなど
                                    • プログラミングができることとソフトウェアエンジニアリングができることは違う

                                      最近はプログラミングスクールの跋扈だったり各種YouTubeなどのメディア経由でソフトウェアエンジニアへ転身したいという人が増えてきて、求人媒体などでジュニアレベルの人を見かけることが多いです。 そのため必然的にジュニアレベルのエンジニアを面接することが多いのですが、どうもプログラミングとエンジニアリングを履き違えてるなという感想を抱きます。 というのも、本来的に我々が仕事として行なっているのはソフトウェアのエンジニアリングであり、プログラミングというのはその一端でしかないからです。

                                        プログラミングができることとソフトウェアエンジニアリングができることは違う
                                      • Rustで書かれた、既存のソフトウェアの代替一覧を作った

                                        Rustで既存のソフトウェアを再実装することは「Rewrite It In Rust」と言われたりしますが、 最近はfindの代替である fd やlsの代替である exa などといったUnixコマンドのRust実装がよく見られます。 このようなUnixコマンド以外にも、Goで書かれたコンテナランタイム runc のRust実装である youki や既存のNodeバージョンマネージャーである nvm よりも200倍速い[1]とされている fnm や Lemmy というRustで書かれた reddit の代替などがあります。 また、僕自身もRubyのバージョンマネージャーである rbenv のRust実装である frum を作ったりしています。 作ったもの 今回は、こういったRustで書かれた、既存のソフトウェアの代替の一覧を作ってみました。 RustでOSSを作る際にこういった一覧があると、

                                          Rustで書かれた、既存のソフトウェアの代替一覧を作った
                                        • シニアソフトウェアエンジニアまでの歩み方|gaijineers

                                          お知らせ:noteの更新はこれからしないので同じ内容を読みたい方はThe Pathをご覧ください ジョブレベル呼び方は組織によって違うが一般的にジョブレベルは ジュニア(新卒・インターンなど) ミッド シニア スタッフ -> シニアスタッフなど/マネージャ -> シニアマネージャ のように分けられてます。 実例を見るとwiseはこのようにキャリアマップを作っています wiseエンジニアのキャリアマップシニアに到達するとその次はICのトラック(スタフ、プリンシパル)を続けるかピープルマネジメントトラック(エンジニアリングリード、シニアエンジニアリングリード、ディレクター)に移すか選択できる。もちろんシニアのままにいるのも企業によって可能だったりします。シニアエンジニアは1人前でタスクをこなせたりプロジェクトをリードしたりできると期待されているでしょう。チームメイトのメンターシップも必要があれ

                                            シニアソフトウェアエンジニアまでの歩み方|gaijineers
                                          • Wi-Fi接続の範囲を60m以上も広げる技術が開発される、ソフトウェアアップデートだけで簡単に導入可能

                                            by mohamed hassan ブリガムヤング大学(BYU)の研究グループが、Wi-Fi対応機器の通信可能距離を大幅に延長するソフトウェアベースの技術を開発したと発表しました。実験結果によると、Wi-Fiのアクセスポイントから対応機器を設置できる距離が60m以上延長したとのことです。 BYU-created software could significantly extend Wi-Fi range for smart-home devices https://news.byu.edu/byu-created-software-could-significantly-extend-wi-fi-range-for-smart-home-devices BYU researchers extend WiFi range by 200 feet with a software upgrad

                                              Wi-Fi接続の範囲を60m以上も広げる技術が開発される、ソフトウェアアップデートだけで簡単に導入可能
                                            • 「不安を共有できないチームは、絶対に信頼関係を築けない」 “ソフトウェアエンジニアリング=チーム競技”だからこそ、大事にすべきこと

                                              技育祭は「技術者を育てる」ことを目的としたエンジニアを目指す学生のための日本最大のオンラインカンファレンスです。「技育祭2023【春】」に登壇したのは、株式会社CARTA HOLDINGS・CTOの鈴木健太氏。エンジニアが圧倒的に成長するためのコツを話しました。3回目は「信頼」について。 成長のコツその3 信頼 最後に3つ目のコツを話していこうと思います。最後は、チームの話です。3つ目のコツは、「信頼」です。信頼というのは、文字で書くとシンプルですね。 プログラミングとソフトウェアエンジニアリングは違うよ、という話をしたいと思います。みんなはこのイメージがつきますか? プログラミングというのは、例えば学校の課題の中とか、あるいはみんな今手元で作っているもので短期的に動くものです。 それ自体は楽しいし、すごくすばらしいことだし、僕もすごく好きなんだけど、ソフトウェアエンジニアリングというのは

                                                「不安を共有できないチームは、絶対に信頼関係を築けない」 “ソフトウェアエンジニアリング=チーム競技”だからこそ、大事にすべきこと
                                              • IT系上場企業の平均年収を業種別にみてみた 2022年版[後編] ~ パッケージソフトウェア系、SI/システム開発系、クラウド/キャリア系企業

                                                IT系上場企業の平均年収を業種別にみてみた 2022年版[後編] ~ パッケージソフトウェア系、SI/システム開発系、クラウド/キャリア系企業 IT系企業で平均年収が高いのは、勢いのあるネットベンチャー系企業なのか、それとも伝統的なSIerなのでしょうか。毎年恒例の記事を今年も公開します。 新型コロナウイルスの感染拡大が始まってすでに2年以上が経過しつつあるなかで、この状況に適応しつつ成長できている企業なのかどうか、といった視点が重要になってきているように思います。そうした点で、今年も情報をまとめたこの記事は多少なりとも参考になるのではないでしょうか。 さて、上場企業は毎年「有価証券報告書」の発行を義務づけられており、そこには従業員の人数や平均年齢、平均年収などが掲載されています。この記事では、これら公開情報を基に、Publickeyが独自の判断で主な企業をピックアップして業種を分類。平均

                                                  IT系上場企業の平均年収を業種別にみてみた 2022年版[後編] ~ パッケージソフトウェア系、SI/システム開発系、クラウド/キャリア系企業
                                                • 変数(variable)と値(value) - ソフトウェア設計を考える

                                                  はじめてScalaに触れたとき、変数宣言(var)と値宣言(val)を使い分ける言語仕様に、なるほどなあ、と思った。簡単に言えば、変数(var)は再代入できて、値(val)は再代入できない。 プログラミングのスタイルとして、var宣言は命令的なプログラミング、val宣言は宣言的なプログラミングになる。どちらのプログラミングスタイルで書いているかを、varとvalで明示できるわけだ。 Javaだと言語の基本の仕組みはすべてが変数。final宣言をすることで再代入をコンパイルエラーにすることはできる。Javaは、C言語やC++などの命令的なプログラミングの系譜の言語なのですべて変数(variable)というのは、とうぜんの言語仕様だった。 命令的なスタイルから宣言的なスタイルに 命令的なプログラミングでは変数(variable)を使う。宣言的なプログラミングでは値(value)を使う。 再代入

                                                    変数(variable)と値(value) - ソフトウェア設計を考える
                                                  • ソフトウェアのサポート業務とはどのようなものか - Qiita

                                                    Help us understand the problem. What is going on with this article? はじめに ソフトウェアの世界にはいろいろな仕事があります。何も知らない人から見て一番脚光を浴びがちなのが開発者、とくにプログラマーでしょう。スーパープログラマーを題材とした漫画やアニメ、映画はたくさんあります。しかし、それ以外の仕事は実際やってみないと想像しづらいことより、あまり実情が知られていません。本記事ではそれらの中からサポートエンジニアに注目して、この職種がどういうものなのかについて書きました。対象読者は開発者、とくに自分で作ったものを自分ないし近しい人だけが使うという経験しかしていない駆け出しの開発者です。 サポートエンジニアといっても色々なものがありますが、ここではSI企業において顧客システムでトラブルが起きたときにSEの依頼を受けて問題を解決

                                                      ソフトウェアのサポート業務とはどのようなものか - Qiita
                                                    • オープンソースソフトウェアはOSIに認められたオープンソースライセンスで配布されるソフトウェアのことであり、それ以上でもそれ以下でもない

                                                      藤枝和宏 @kfujieda オープンソースソフトウェアはOSIに認められたオープンソースライセンスで配布されるソフトウェアのことであり、それ以上でもそれ以下でもない。先人が苦労してまとめた定義に変な意味を後付けしてはいけない。違う意味で使いたいなら違う言葉を使うべき。 2020-09-03 23:18:57 2020-09-08 09:06追記 オープンソースになっている新型コロナウイルス接触確認アプリ(COCOA)の開発体制が、ぜんぜんオープンでないことを咎める際に「オープンソースなのに」という言う人が多かった。 そこで、オープンソースライセンスを付けてさえいればオープンソースなので「それ以上」を求めるべきではないという問題提起をした。もちろんオープンソースライセンスを付けていない「それ以下」をオープンソースと呼んではいけないのは当然のこととして。 ところが我々が当前だと思っていたこと

                                                        オープンソースソフトウェアはOSIに認められたオープンソースライセンスで配布されるソフトウェアのことであり、それ以上でもそれ以下でもない
                                                      • ソフトウェア設計のトレードオフと誤りを出版しました | フューチャー技術ブログ

                                                        すでに多くの方々にお手に取っていただいておりますが、オライリージャパンから「ソフトウェア設計のトレードオフと誤り」の翻訳をフューチャーのメンバーと一緒に出版いたしました。好評なようで、発売一カ月ほどで増刷も決定いたしました。みなさまご購入いただき、ありがとうございます。初版をお買い求めになられたい方は今すぐ書店にダッシュ! トレードオフこそが設計である良い設計とか読みやすいコードみたいな話題はツイッターではバズりやすい話題です。 読みやすいコードの話題ではいろいろなレイヤーの話が出てくるのですが、因数分解すると、だいたいいくつかのカテゴリーに分かれるように思います。 命名規則とか書き方のルール 従うべきクラス構造、アーキテクチャ構成の導入 サービスの境界をどこに引くか、どのようなときに設計手法を選ぶか、どのアルゴリズムを選ぶか 名前や命名規則の統一とか書き方の統一とかは用語のリストを作って

                                                          ソフトウェア設計のトレードオフと誤りを出版しました | フューチャー技術ブログ
                                                        • もっと成長したいソフトウェアエンジニアへ、出会いと経験で自分を変える「キャリアの螺旋」の歩み方 - Findy Engineer Lab

                                                          こんにちは。曽根壮大(@soudai1025)です。 私は今、業務委託をメインにした合同会社HaveFunTechを一人で経営し、予防医療テックを提供する株式会社リンケージのCTOも兼任。 プレイヤーとマネージャーの二足のわらじを履いています。 もう少し私の職歴をご紹介すると、今回でCTO就任は3度目となっており、Webアプリケーションエンジニア→最初のCTO→CRE→2度目のCTO→独立→3度目のCTOと、プレイヤーとマネージャーを交互に経験するようなキャリアを歩んでいます。 CTOを通じたマネージャー経験は3回とも規模が違いますが、「強くてニューゲーム」できるというメリットがあり、回数を重ねるごとに違った経験と成長があります。 同じようにプレイヤーとマネージャーを行ったり来たりして、キャリアは一見、「振り子」のように見えますが、同じ場所には戻っておらず、実は「螺旋」のようにつながってい

                                                            もっと成長したいソフトウェアエンジニアへ、出会いと経験で自分を変える「キャリアの螺旋」の歩み方 - Findy Engineer Lab
                                                          • マイクロソフトのオープンソースソフトウェアを整理する (1/2)

                                                            21世紀に入ってから、マイクロソフトはオープンソースソフトウェア(以下、OSS)に関わりを始めている。以前は距離を置いていたが、最近ではWindowsに標準搭載されるアプリケーションにもオープンソースで開発されたものが含まれるようになった。たとえば、Windows 11なら、「電卓」や「ターミナル」がオープンソースのプロジェクトで開発されたものだ。 マイクロソフトのOSSは現在ではかなりの数になる。すべてではないが、主要なものはマイクロソフトのサイト(https://opensource.microsoft.com/)に記事があるほか、多くのOSSがGitHub(https://github.com/)にある。GitHubは2018年にマイクロソフトに買収された。 GitHubの各プロジェクトのページにRelasesページがある場合、実行可能なパッケージファイルを直接ダウンロードできる。確

                                                              マイクロソフトのオープンソースソフトウェアを整理する (1/2)
                                                            • プリニー店長 on Twitter: "【日本一ソフトウェアのゲームを実況したい個人勢の方へ】 個別にお問い合わせをいただいても、一部タイトルを除いて基本は承諾しかねますッス。 皆様の想いは尊重したくとも、現状は「yesかno」と訊かれたら「no」としか言えませんッ… https://t.co/0pN3F9cErG"

                                                              【日本一ソフトウェアのゲームを実況したい個人勢の方へ】 個別にお問い合わせをいただいても、一部タイトルを除いて基本は承諾しかねますッス。 皆様の想いは尊重したくとも、現状は「yesかno」と訊かれたら「no」としか言えませんッ… https://t.co/0pN3F9cErG

                                                                プリニー店長 on Twitter: "【日本一ソフトウェアのゲームを実況したい個人勢の方へ】 個別にお問い合わせをいただいても、一部タイトルを除いて基本は承諾しかねますッス。 皆様の想いは尊重したくとも、現状は「yesかno」と訊かれたら「no」としか言えませんッ… https://t.co/0pN3F9cErG"
                                                              • 人間中心設計からAI中心設計へ ~AIエージェントによって変わるソフトウェアのパラダイム | gihyo.jp

                                                                チャット型ソフトウェアからAIアシスタント型ソフトウェアへの変化 OpenAIが発表したChatGPTの登場から、一年以上が経とうとしています。ChatGPT API公開後の初期段階では、人間とAI(特にここでは大規模言語モデル)との単純な対話を提供するソフトウェアが中心でした。しかし今では、OpenAI GPTs(以下GPTs)やMicrosoft Copilot(以下Copilot)を代表とする、AIによる外部データへのアクセスやAPI通信によって人間を支援する「AIアシスタント型」のソフトウェアが台頭してきています。 GPTsは、ユーザー自身が好みのAIアシスタントを制作できる仕組みです。ChatGPTは汎用的な仕組みのため、特定の業務を行わせようとすると、役割や前提を含んだ長々としたプロンプトを入力する必要がありました。その点でGPTsは、AIに対する指示だけでなく、AIが参照可能

                                                                  人間中心設計からAI中心設計へ ~AIエージェントによって変わるソフトウェアのパラダイム | gihyo.jp
                                                                • フルスタックエンジニアから「フルサイクルエンジニア」へ。和田卓人氏による「組織に自動テストを根付かせる戦略」(その3)。ソフトウェア品質シンポジウム2022

                                                                  フルスタックエンジニアから「フルサイクルエンジニア」へ。和田卓人氏による「組織に自動テストを根付かせる戦略」(その3)。ソフトウェア品質シンポジウム2022 9月22日と23日の2日間、一般財団法人日本科学技術連盟主催のイベント「ソフトウェア品質シンポジウム2022」がオンラインで開催され、その企画セッションとして行われた和田卓人氏による講演「組織に自動テストを書く文化を根付かせる戦略(2022秋版)が行われました。 講演で、企業の業績はソフトウェアの開発能力に左右されるようになってきていること、その開発能力を高める上で重要なのがコードの「テスト容易性」や「デプロイ独立性」であると和田氏は指摘。その上で、それを実現させるような「自動テストを書く文化」をどうすれば組織に根付かせることができるのか、講演の後半ではこの本質的な議論へと踏み込みます。 本記事は、2時間におよぶこの講演をダイジェスト

                                                                    フルスタックエンジニアから「フルサイクルエンジニア」へ。和田卓人氏による「組織に自動テストを根付かせる戦略」(その3)。ソフトウェア品質シンポジウム2022
                                                                  • ゲーム開発もAIで完全自動化。ChatGPTが働く仮想のソフトウェア開発企業「ChatDev」

                                                                    ゲーム開発もAIで完全自動化。ChatGPTが働く仮想のソフトウェア開発企業「ChatDev」 2023年12月11日 ITジャーナリスト 牧野 武文(まきの たけふみ) 生活とテクノロジー、ビジネスの関係を考えるITジャーナリスト、中国テックウォッチャー。著書に「Googleの正体」(マイコミ新書)、「任天堂ノスタルジー・横井軍平とその時代」(角川新書)など。 ChatGPTが「働く」ソフトウェア開発企業「ChatDev」が設立された。このChatDevの「CEO」に、どのようなソフトウェアが欲しいかを発注すると、ChatGPTが演じるCEO、CTO、CPO、プログラマー、デザイナー、テスターなどが議論をしあって、実際の開発手順に沿って設計し、ソースコードを生成、テストを実施、ドキュメントまでまとめてくれるというものだ。すでにGitHubには、いくつもの開発されたソフトウェアが共有されて

                                                                      ゲーム開発もAIで完全自動化。ChatGPTが働く仮想のソフトウェア開発企業「ChatDev」
                                                                    • 品質を犠牲にすることでソフトウェア開発のスピードは上がるのか? 和田卓人氏による 「質とスピード」(後編)。デブサミ2020

                                                                      品質を犠牲にすることでソフトウェア開発のスピードは上がるのか? 和田卓人氏による 「質とスピード」(後編)。デブサミ2020 ソフトウェア開発のプロジェクトにおいて、リリースに間に合わせるために開発スピードを優先させ、ひとまず質には目をつぶろう、という判断がしばしば行われることがあります。 はたしてその判断は正しいのでしょうか。2020年2月13日と14日の2日間、都内で行われたイベント「Developers Summit 2020」(デブサミ2020)」の和田卓人氏のセッション「質とスピード」は、これを深く考察したものでした。 本記事は前編と後編に分かれています。いまお読みの記事は後編です。 品質とコストのトレードオフ関係も一概 ここでちょっと視点を変えて、Philip Crosbyさんの「Quality is Free」を見てみたいと思います。 というのも、今日のテーマでは品質と開発ス

                                                                        品質を犠牲にすることでソフトウェア開発のスピードは上がるのか? 和田卓人氏による 「質とスピード」(後編)。デブサミ2020
                                                                      • ソフトウェア開発の「品質vs.スピード」、本当は何を犠牲にしているのか【デブサミ2020】

                                                                        デブサミ2020の1日目、「質とスピード」というセッションが人気を集めた。2019年10月に開催されたEngineering Organization Festival 2019で評価の高かったセッションをアップデートして再演したものだ。登壇したのは、テスト駆動開発者として有名な、タワーズ・クエストの和田卓人氏。ライオンのアスキーアートといっしょに紹介されることが多いという。プロジェクトマネジメントにはQCD(Quality:品質、Cost:コスト、Delivery:納期)という概念があり、トレードオフの関係になると言われている。確かに開発の現場でも、「いまは大事な時期だから、品質を犠牲にしてスピードを優先しよう」といった判断が行われることは少なくない。しかし、和田氏は、ソフトウェア開発の文脈において、逆の効果をもたらすことを、多くの資料を引用して再構築してみせた。 タワーズ・クエスト株式

                                                                          ソフトウェア開発の「品質vs.スピード」、本当は何を犠牲にしているのか【デブサミ2020】
                                                                        • 今も開発が継続しているオープンソースのWikiソフトウェアは何があるか - YAMDAS現更新履歴

                                                                          少し前に仕事場のローカルに立てている、今や主力でなくなったウェブサーバに久しぶりにアクセスしたら、Wiki が PukiWiki なのに懐かしくなってこれまた久しぶりに公式サイトを見てみた。すると、今年バージョン1.5.4がリリースされており、開発は継続しているのに少し感動した。 かつてはそれこそ雨後の筍のごとく開発されていた Wiki ソフトウェア(エンジン、クローン)だが、Wiki が広義の開発環境の一つに統合されているのもあり、単体のソフトウェアとして今も開発が続いているところはだいぶ少なくなった印象がある。 果たして今も開発が継続しているオープンソースの Wiki ソフトウェアに何があるか、ざっと調べてみた。 具体的には、Wikipedia の Comparison of wiki software に名前があるもので(それくらいの知名度があり)、オープンソース、なおかつ安定最新版

                                                                            今も開発が継続しているオープンソースのWikiソフトウェアは何があるか - YAMDAS現更新履歴
                                                                          • 難解なソフトウェアをデザインする人にこそお勧めしたいOOUI(オブジェクト指向UI)

                                                                            みなさまこんにちは。ヤフーでデータソリューション事業のUI/UXデザインを担当している、横内です。 2022年11月に弊社が運用するデータ可視化ソフトウェアのDS.INSIGHTで人流データを分析できるPlace機能を大幅アップデートしました。その際使用したOOUIという設計手法から得られた学びをプロジェクトの実例を交えながらご紹介します。 OOUIとは そもそもOOUIとは何者でしょうか。OOUIとは、Object Oriented User Interfaceの略語で、通称オブジェクト指向UIと呼ばれています。 オブジェクトとはその名の通り「役割を持ったモノ」を指す言葉です。例えばお店で買うクロワッサンや、ECサイトでカゴに入れる衣服など、その場の実体あるなしにかかわらず、私たちがモノとして認識できる対象のことを指しています。 この、ユーザーが認識できるモノ(オブジェクト)を起点にUI

                                                                              難解なソフトウェアをデザインする人にこそお勧めしたいOOUI(オブジェクト指向UI)
                                                                            • 転職してソフトウェアエンジニアをやっている - ogijun's blog

                                                                              ひさしぶりにblog記事書きます 本エントリはカケハシ Advent Calendar 2023 Part 2の 15日目の記事に入れてもらってます。カケハシ Advent Calendar Part 1 もあり、様々な職種の方が記事を書いているので、ぜひご覧ください。といってもそもそもこのblogでは初出であるカケハシってなんだ?という話からしなければなりません。このAdventが書くきっかけになったのですが、そのあたりの近況報告も兼ねて最近こんなことをやっているというアップデート記事です。 転職していました 実際に新しい所属になったのは今年の10月1日からで、もう2ヶ月半くらい経っているのですが、本当にあっという間でした。Twitterではいろいろ投稿していたので見ていた方はご存知かも知れません。現在は株式会社カケハシというところで、ソフトウェアエンジニアとして新しい事業ドメインを起ち

                                                                                転職してソフトウェアエンジニアをやっている - ogijun's blog
                                                                              • IT系上場企業の平均年収を業種別にみてみた 2021年版[後編] ~ パッケージソフトウェア系、SI/システム開発系、クラウド/キャリア系企業

                                                                                IT系上場企業の平均年収を業種別にみてみた 2021年版[後編] ~ パッケージソフトウェア系、SI/システム開発系、クラウド/キャリア系企業 IT系企業で平均年収が高いのは、勢いのあるネットベンチャー系企業なのか、それとも伝統的なSIerなのでしょうか。毎年恒例の記事を今年も公開します。 上場企業は毎年「有価証券報告書」の発行を義務づけられており、そこには従業員の人数や平均年齢、平均年収などが掲載されています。この記事では、これら公開情報を基に、Publickeyが独自の判断で主な企業をピックアップして業種を分類。平均給与が高い順に並べてみたものです。 ただし、持ち株会社など現場の社員の給与を反映していないと思われる企業は基本的にこの調査からは外してあります(例えばコナミホールディングスなど)。日本で上場していない企業(例えば日本マイクロソフトやGoogle日本法人など)も当然ながら含ま

                                                                                  IT系上場企業の平均年収を業種別にみてみた 2021年版[後編] ~ パッケージソフトウェア系、SI/システム開発系、クラウド/キャリア系企業
                                                                                • 継続的なソフトウェア・アップデートのためのDevOpsベストプラクティス・アンチパターン / DevOps Patterns and Antipatterns for Continuous Software Updates

                                                                                  Cloud Native Days Tokyo 2020

                                                                                    継続的なソフトウェア・アップデートのためのDevOpsベストプラクティス・アンチパターン / DevOps Patterns and Antipatterns for Continuous Software Updates