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
定期的にオブジェクト指向disを書いてしまってるのだけど。 とりあえずオブジェクト指向の話をすると定義が人によって違いすぎるので、改めてここでの定義を書いておくと 、基本的にはOMTの「データ構造と振る舞いが一体となったオブジェクトの集まりとしてソフトウェアを組織化すること」 に従うのですが 「1990年に流行りソフトウェア開発のすべてを飲み込み、いまとなっては人それぞれ定義が違って技術的議論に使えなくなった、主にオブジェクトを基本単位としてプログラムを整理するやりかたを指すマーケティング用語」 という感じです。 ほとんどの場合で人によってオブジェクト指向の指す範囲が違いすぎて、技術的知見の共有には使えなくなっています。でも、いずれの定義にしろオブジェクトを基本単位にするというのは重要ではないかと。 ソフトウェアの組織化の単位としてオブジェクトを使うというのが大事で、データの搬送に構造体代
まえがき開発中のソフトウェアのライセンスを策定するため、現時点でのベストプラクティスについて探っていたところ、ここ数年の OSS ライセンスの動向が面白かったので復習も兼ねてまとめました。 特に、Umbrel が採用したという PolyForm という新しいライセンス形態が面白かったので、これについて詳しく述べます。 なぜ今ライセンスについてまとめるのか私はソフトウェアやサービスをマネタイズする方法について興味があり、特にビットコインの応用について調べたりしています。 ビットコイン (Lightning Network) を HTTP で利用することで、Web API の課金方法の可能性は大きく広がることは間違いないのですが、これはあくまで単なる支払いの手法であって、広く使われる事を前提としたソフトウェアの開発を支える手法にすることは(それだけでは)難しいという問題があります。 ソフトウェ
TL;DR 並行処理を実装する人のこれからのスタンダードになる一冊。買い。 並行プログラミング入門 ―Rust、C、アセンブリによる実装からのアプローチ 作者:高野 祐輝 オライリージャパン Amazon 買ったら思いの外早く届いたのでパラパラと読み始めたら一気に読み終えてしまった。 総評 敢えて雑な喩え方をするなら The Art of Multiprocessor Programming (通称TAoMP本) の内容を薄めてRustやアセンブラや計算モデルを足したような本だった。 日本語の書籍としてはかなり珍しくWait-Free, Lock-Free, Obstruction-Freeの違いなどを適切に論じており、TTAS Lock, MCS Lock, TL2といった日本語では希少な情報が書かれているレアな本である。これらに付いて論じている日本語の本は知る限り (TAoMP本と昔僕
2年前の2019年8月に以下のブログを書きました。 knqyf263.hatenablog.com 今回はその続きです。前回のブログは多くの人に読んでもらうことを意識して書きましたが、今回はそうではないです。特に得た学びを書くわけでもなく何で作り始めたのか?とかどんなことがあったのか?とか思い出話を書いているだけなので、言ってしまえば自己満足の記事です。それで構わない人や前回の記事を見てその後どうなったか気になった人だけが読んでもらえますと幸いです。 誰かのためになるわけでもない過去の出来事について語るのは老人感が強くて基本的に好きではないのですが、自分の中で一番大きかった目標を達成したので節目として書いています。 英語版の記事も会社のブログから公開しています。英語版のほうが簡潔で良い可能性もあります。日本語版は誤った解釈をされると嫌だからもう少し詳細に書こう、を繰り返していつも長くなりす
日本のソフトウェア開発はなぜ落伍したのか。中国のエンジニアの間でも話題になることが増えている。未来樹Aは、その理由をエンジニアの視点で解説をしている。委託開発が多い。システム開発の目的がイノベーションではなく、生産性の効率向上に留まっている。政府、地方自治体の案件が上位企業に集中するため、ベンチャーが育たないという理由を挙げている。 中国でも話題になっているCOCOAの件 日本でも話題になっているが、中国でも接触確認アプリ「COCOA」の件が、エンジニアの間で話題になっている。中国では、位置情報とQRコードを活用した健康コードが、2020年2月11日という早い段階で、アリババと杭州市によって開発され、1月ほどで他都市にも広まった。感染リスクが高いと判定されると赤になり、公共交通や店舗の利用ができなくなる。不便は強いられるが、それでも、生鮮ECやフードデリバリーが発達をしているため、生活はな
ソフトウェアの開発プロジェクトにはさまざまな経歴や役職を持つ人が関与するので、我が強い人や性格に難がある人が問題になることもしばしば発生します。ソフトウェア業界のよもやま話を語るブロガーのニール・グリーン氏が、ソフトウェア開発プロジェクトの中で問題になりがちな人をタイプごとにまとめつつ、それぞれのタイプの特徴と管理職向けの解決策を解説しました。 How to Deal with Difficult People on Software Projects https://www.howtodeal.dev/ 上記のサイトにアクセスしたのが以下。上から「プロダクトマネージャー」「デザイナー」「プロジェクトマネージャー」「開発マネージャー」「開発者」「品質保証(QA)」の6カテゴリに分かれていて、それぞれの役職の中によくいる「問題のある人」のタイプが動物のアイコンで示されています。例えば、「プロ
接触確認アプリ「COCOA」について以前ツイートしました。 繰り返しになるけど、COCOAのAndroid版をネイティブで作り直したいので、誰か知ってる人につないで欲しい。 — ARIYAMA Keiji (@keiji_ariyama) February 3, 2021 ツイートした後もGitHubのCOCOAのリポジトリにコメントしたり、知り合いに「COCOAやりたい」「COCOAやりたい」と言い続けたりした結果、このたび厚生労働省の技術参与として正式にCOCOAに携わることになりました。 すること オープンソースコミュニティとの関わりについては、すでに政府CIO補佐官の東さんと関さんが取り組みを始めています。ぼくは二人を手伝いつつ、Issueとして報告があった内容の再現確認をしたり、Pull RequestでExposure Notification APIを使ったテストが必要なとこ
元ネタが投稿されたのは1年ほど前のようだが、「なぜ日本はハードウェアの時代と同じようにソフトウェアに秀でることができない?」(Why doesn’t Japan excel in software as they did in hardware?) というQuora記事の翻訳が話題になっていたので共有したい(Quoraの英語記事, Qiitaの翻訳)。 この記事では複数の仮説が挙げられているが、要約すると 1. 「日本人の職人気質や完璧主義が、ソフトウェア開発のパレートの法則やアジャイル文化と合っていない」 2. 「ソフトウェア開発職を他の技術職と同じように新卒一括採用や専門軽視で採用している」 3. 「英語が話せず、海外では古くなった技術や開発スタイルが今も跋扈している」 4. 「国際標準との互換性を軽視する」 となっている。 日本の中から見ていると分かる部分分からない部分もあるだろうが
Kubernetesを自動車に載せる、デンソーが「Misaki」を発表。年内にもオープンソースとして公開 自動車部品大手のデンソーは、自動車向けにKubernetesを実行するためのソフトウェア「Misaki」を、6月13日に行われたオンラインイベント「KubeFest Tokyo 2020」で発表しました。 自動車は現在スマート化やネットワーク化が急速に進んでいます。自動運転を目指した自動車の進化を見るまでもなく、今後多くのコンピュータリソースが自動車に搭載されるようになり、そこで実行されるアプリケーションの重要性が高まっていくことは間違いありません。 デンソーが発表した「Misaki」は、このようなアプリケーション実行環境としての自動車をクラウドを中心としたネットワーク化された分散アプリケーション環境のエッジと位置づけ、その基盤をKuberenetesで実現するためのソフトウェアです。
状態遷移図も変更しておきます。 しかしながら、複数のデータリソースを操作する際には、必ずしも全てが成功するとは限りません。何らかの(内的・外的)要因により一部のデータリソースの操作に失敗する場合があるでしょう。 その場合、処理の途中でAbortすることになるため、データリソースの操作を一度実行前まで戻す必要があります。関係のあるデータリソースへの操作を打ち消し、処理途中の中途半端な状態を維持せず、操作前の状態へ自動的に復元させます。つまり 関係するすべてのデータリソースは、操作が正常に行われすべて操作の結果が反映される 関係するすべてのデータリソースは、操作が中断され、すべて操作の結果が反映されていない のいずれか のみ であることが求められます。 TLA+で仕様を記述する TLA+でTransaction Commitの仕様を記述します。モジュール名は TCommit です。 変数・定数
まさかソフトウェアエンジニアの自分が本業で家を建てる仕事をするとは思っても見ませんでした。2年前、DeployGateの米国オフィスを自分で施工した事をきっかけに声をかけてもらい、以来、技術アドバイザーとして携わらせて頂いていた米国の建築スタートアップ「HOMMA」に本格的に参加し、ソフトウェア・アーキテクトとしてアメリカでスマートハウスをソフトウェア面から設計して家を建てる仕事をはじめました。趣味の電子工作から初まり、深センでの独自設計ハードの少量生産、アメリカでのオフィスの施工と来て、次はまさかの本物の建売住宅の開発です。プログラミングの傍ら取り組んできた物理的な「ものづくり」のサイズがどんどん大きくなってきて楽しい限りです。制御用のファームウェアやアプリ、Webシステムを書きながら、ヘルメットを被って建設現場で大工職人さんへ施工の指示出しをしたり、信号線や電力系統の配線を設計して建築
SF ベイエリアで働く1人のソフトウェアエンジニアとして、楽しくエンジニアリングをやっていくために日頃からぼんやりと心がけている3つのポイントについて今回は書いてみたい。 インフラを作る側にいるソフトウェアエンジニアとして普通の Software Engineer から Senior Software Engineer、Staff Software Engineer とだんだん昇進していくにしたがって、より大きな成果を出すことを期待される。Staff レベルにはチームをまたいだ成果を出すことが求められる。そのためには多くの場所で使われるようなサービスやライブラリを作るのが一番成果としてわかりやすい。 会社とプロダクトが初期段階から成長していく過程で、最初は1つしかなかったエンジニアリングチームが大きくなるにしたがってインフラ側とプロダクト側に分割されていく。そのときにかならずインフラ側に属
7月、セブン&アイ・ホールディングス傘下のバーコード決済サービス「7pay(セブン・ペイ)」が、サービス開始直後から不正利用される事態が発生した。7月31日現在、808人のユーザーが被害に遭い、被害総額は合計3800万円あまり。「7pay」はすでにサービスの利用を停止し、9月末で廃止する。 直接の原因は、不正アクセスへの防御機能がなかったことなどが挙げられている。しかし、IT業界が抱える構造的な問題が、今回の事態を招いたとも報道されている。 1000人以上のエンジニアを抱え、自社製品の開発や技術者派遣を行っているセントラルエンジニアリング(本社・横浜市)の甲賀和生社長は、IT業界の多重下請け構造が「7pay」問題の背景にあると指摘。さらに、この体質が改まらないために、深刻な人材不足を招いているという。 このままでは日本の将来にも影響しかねない、IT業界の多重下請け構造の問題点を、甲賀社長に
Redis、MongoDB、Kafkaらが相次いで商用サービスを制限するライセンス変更。AWSなどクラウドベンダによる「オープンソースのいいとこ取り」に反発 オープンソースソフトウェアの開発元がクラウドベンダへの不満を表明し、商用サービス化を制限するライセンス変更を行う例が続いています。 高速なインメモリデータストアを実現するオープンソースソフトウェアとして知られる「Redis」の開発元「Redis Labs」は、2018年8月に同社が開発したRedis拡張モジュールに関するライセンスの変更を発表しました(Redis本体のライセンスはBSDライセンスのまま)。拡張モジュールには、全文検索を行うRediSearchなどが含まれています。 変更後のライセンスでは、クラウドベンダによる商用サービスでの利用を制限するものとなっています。 ライセンス変更を発表した記事「Redis’ License
提携内容は、SAPのソフトウェアをGoogleのクラウドで利用できるようにするというのが骨子だ。これにより、オンプレミスで使われているSAPのソフトウェアをクラウドへ移行したいというユーザーニーズに応える。 大きなポイントは、GoogleのIaaS「Google Cloud Platform(GCP)」でSAPのインメモリデータ処理プラットフォーム「SAP HANA」が認定されたことにある。これにより、エンタープライズソフトウェア市場で広く使われているSAPのERPをはじめとした業務アプリケーションがHANAベースへ移行するのに伴い、GCPの利用を促進していく構えだ。 また、両社は双方の業務アプリケーションの連携を深めたソリューションを展開していくとしている。例えば、Googleのメールサービス「Gmail」とSAPのCRMサービス「SAP Cloud for Customer」、もしくは
by torbakhopper @flickr 全産業のソフトウェア化 いま世界は、全産業がソフトウェア化していく過程にある。差別化要因がハードからソフトに移行する中で、高付加価値なソフトを開発する力のない企業は廃れていくという現象が今後たくさんの業界で起こっていくと考えられている。問題はそれがどれくらいのスピードで起こるかだが、私の読みは10-15年、というところ。(そう思う理由はまた別途書きます。) 2011年に、Marc AndreessenがWall Street JournalにWhy Software Is Eating The Worldという文章を寄稿した。この”software eats the world”という表現のインパクトもあって、未だに語り継がれる記事になっているが、その中でAndreessenはこう言っている。 we are in the middle of
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く