LinuxカーネルがCで記述されているというのは誰もが知るところだ。ただ、そのCがかなり昔のC、すなわち1989年の規格である「C89」だという事実については知らない人もいるかもしれない。C89は「ANSI X3.159-1989」、あるいは「ANSI C」としても知られている。Linus Torvalds氏は、そろそろC89に別れを告げる時だと判断し、Linuxカーネルの公式な開発言語を2011年規格の「C11」に移行しようとしている。 これは見かけほど大きな変更ではない。C89は現在でもほぼ普遍的にサポートされている。どのようなCコンパイラーでも以前の規格との後方互換性を備えているため、C89で記述されたプログラムのコンパイルや実行は問題にならない。つまり、C11準拠のコンパイラーでも、C89で記述されたレガシーなコードによって問題が引き起こされることはないはずだ。 Torvalds氏
人月の神話 をひさしぶりに読んでみた。 人月の神話は、フレデリック・ブルックスの超有名古典的エッセイ集で、ソフトウェアエンジニアリングに関する多岐にわたるトピック取り扱っている。その中でもとくに有名で、よく世間で言及されるのは、表題にもなってる「人月の神話」と「銀の弾などない」、それから「セカンドシステム症候群」あたりだろうか。 はじめて読んだのは20年くらい前。社会人になったばかりのころ、満員電車にゆられながら、「へー人を増やしても開発ってうまくいかないのねー」などとわかったような顔をしながら読んでいたのを覚えている。当時は職業プログラマとしての経験を積む前で、本を読んでも鵜呑みにすることしかできなかった。でも、熟練のプログラマとして経験を積んだいま読んだら、またなにか違った洞察を得られたりするかもしれない。読み返してみた動機はそんな感じ。 目次 現代のプログラマにとって有益か やっぱり
ロシアのウクライナ侵攻を受けて、Appleが製品販売を停止したり、YouTubeがロシア系ニュースメディア2社の排除を決めたりと、ロシアに対する制裁措置が行われている一方で、Binanceをはじめとする仮想通貨取引所はロシアのユーザーのアカウント凍結要求を拒否する姿勢を見せています。新たに、開発プラットフォームのGitHubも、ロシアからのアクセスを禁止しない方針を明らかにしました。 Cut Russia from Github due to massive invasion of Ukraine · Discussion #12042 · github/feedback · GitHub https://github.com/github/feedback/discussions/12042 2022年2月24日、GitHubのフォーラムに「ウクライナへの大規模侵攻を理由として、GitH
WindowsやmacOS、Linuxなどのクロスプラットフォーム対応のデスクトップアプリ開発を容易にするフレームワークとして高い人気を持つフレームワークが「Electron」です。 ElectronはChromiumとNode.jsを用いることで、HTML/CSS/JavaScriptのWebテクノロジーによってデスクトップアプリケーションを開発できるのが最大の特徴です。 いまやElectronは、Visual Studio CodeやMicrosoft Teams、Slack、GitHub Desktop、そして最近話題のNotionなど、さまざまなアプリケーションに採用されています。 このElectronの優れた特徴を備えつつ、よりメモリ消費量が小さくファイルサイズもコンパクトで、高いセキュリティを備え、柔軟なライセンスを実現しようと開発されたのが「Tauri」です。 Tauriは、
「サイト」と「地域」は厳密には定義されません。サイトは、ローカルな事柄として、小さな管理単位にさらに分割できます。 アプリケーションは、上記の TTL 以外に初期 TTL を選択できます。たとえば、アプリケーションは、TTL シーケンス 0、1、2、4、8、16、32 を使用し、TTL 0 から開始して応答が得られるまでより大きな TTL のマルチキャスト照会を送ることによってネットワークリソースの「拡張リング検索」が行えます。 マルチキャストルーターは、224.0.0.0 〜 224.0.0.255 の範囲の宛先アドレスを持つマルチキャストデータグラムの転送を、TTL の値にかかわらず拒否します。この範囲のアドレスは、経路指定プロトコルとその他の低レベルトポロジの発見または保守プロトコル (ゲートウェイ発見、グループメンバーシップ報告など) の使用に予約されています。 ホストにマルチキャ
どんなプロダクトなの一言でいうと「製造図面からできる限り多くの情報を抜き取る」プロダクトです。 私が入社する一ヶ月前、現チームのテックリードがこんな記事を書いていました。今取り扱っている図面解析プロダクトの1年前の姿です。 課題のひとつは、図番の自動検出です。(中略)まず外枠や罫線を自動認識し、これを消去した上で OCR に入力する必要があります。(中略)他にも差し替え図面との差分検出など、さまざまな課題に取り組んでいます。 すでにここのプロダクトマネージャーになることが決まっていた当時の私は、この記事をとてもワクワクしながら読んでいました。 1枚~10枚 入って数ヶ月、まずは図面を読めるようにならなければなりません。社内の図面研修を受けたり、猛者が開催していた図面1万本ノックを受けるなどして、ドメイン知識を蓄えていきました。私の友人は「図面は製造へのラブレターだ」と言っていましたが、理解
これまで一番ためになったプログラミングのアドバイスは何ですか? 過去を振り返ると、誰にだって教訓的なエピソードがあるのではないでしょうか。 著名なソフトウェアエンジニアであっても、それは例外ではないようです。Google に勤めるロブ・パイクは、UTF-8 や Go 言語の共同開発者として知られていますが、彼も駆け出しのころに先達から教訓を学んでいました。 ベル研究所に入所して間もないころ、ロブはデバッグするより先にまず頭で考える、という教訓をケン・トンプソンから学びました。これは、まさにプログラミングの極意の一つと言えるものではないでしょうか。 頭で考えることの重要性 ベル研究所で働き始めてからまだ1、2年しか経たないころ、ロブ・パイクはケン・トンプソンとペアプログラミングをしていました。タイピングの速いロブがキーボードを担当。ケン・トンプソンはロブの背後に立っていました。コーディングは
RFIDシステム用プログラム開発の心得 RFIDシステムプログラミングバイブル(1) RFIDシステムに必要なプログラムの実装方法はベンダによってクセがある。代表的なベンダの製品ごとに心得を説く ・メーカーごとにプログラミングのクセがある ・UHF帯RFIDシステムの雄「モトローラ」 ・XR480-JPの基本情報 ・モトローラ機器のプログラミング ・モトローラ機器のモードとアクセスメソッド ・連載に共通なサンプルプログラムの仕様 モトローラ製「XP480-JP」のプログラミングを学ぶ RFIDシステムプログラミングバイブル(2) XP480-JPで動作するリーダ/ライタ用プログラムを開発する。読み取り方法とデータの格納方法を検討しよう ・XP480-JPのプログラミングのクセをおさらい ・サンプルプログラムのフローチャート ・サンプルプログラムの実行結果 ・メインモジュールのソースコードを
Jitsi(ジッチ、ジトシ[5])は自由かつオープンソースで、ウェブプラットフォーム(英語版)、Windows、Linux、macOS、Androidといったクロスプラットフォーム向けの音声(VoIP)、ビデオカンファレンス、インスタントメッセージアプリケーションのコレクションである[6][7][8]。JitsiプロジェクトはJitsi Desktop(旧称:SIP Communicator)の開発から始まった。WebRTCの普及に伴いプロジェクトチームはウェブペースの複数人ビデオ会話を実現するJitsi Video Bridgeの開発に集中するようになった。その後、チームは完全なビデオカンファレンスアプリケーションであるJitsi Meetを追加し、ウェブ、Android、iOSクライアントが利用可能になった。Jitsiは、Jitsi Meetをmeet.jit.siでホストしており、コ
1. Extending Python with C or C++¶ It is quite easy to add new built-in modules to Python, if you know how to program in C. Such extension modules can do two things that can’t be done directly in Python: they can implement new built-in object types, and they can call C library functions and system calls. To support extensions, the Python API (Application Programmers Interface) defines a set of fun
2020年12月9日、CentOS Projectは、2029年5月31日までサポート予定だった「CentOS Linux(CentOS) 8」のサポートを2021年12月31日で終了すると発表しました。CentOS 7は予定通り2024年6月30日までサポートされる一方、CentOS 9はリリースしないとしています。 CentOS Projectは今後「CentOS Stream」というディストリビューションの開発に注力するとしていますが、これまでのCentOSが「Red Hat Enterprise Linux(RHEL)」のダウンストリームだったのに対して、CentOS StreamはRHELのアップストリームに相当するもので、その位置付けは異なります。これまでCentOSがエンタープライズにおいて商用本番OSとして採用されてきたのは、無料、オープンソースでありながら、RHELのダウ
皆様フロントエンドのテストを書いていらっしゃいますでしょうか? フロントエンドのテストを書くときには API コールする処理を全てモックする必要があります。外部の API をコールする処理をテストに含めると API サーバーが落ちているなどの外部の要因によってテストが失敗してしまう可能性がありますし、テストを実行するたびに実際に API をコールしてしまうとサーバーに負荷がかかってしまうなど外部に対しても悪影響を与えてしまいます。 さて、従来のモックする手段としては Jest のモックを利用して axios や fetch などのモジュールをモック化する手法がよく使われていたかと思います。 最近のテスト手法として API コールをモックする際に Jest ではなく Mock Service Worker (以下 msw )を使用する手法が注目されています。実施にどのように使用されているのか
数十年にわたって修正が加えられ、乱雑さという垢が蓄積されたコードをきれいにするというのは気の弱い人がやる作業ではない。しかし、Linuxのカーネル開発における第一人者であるIngo Molnar氏は自らの持てる力を最大限に傾け、オープンソースのLinuxカーネルに秩序を取り戻そうとしている。 Linuxのソースコードは2020年に2780万行に達した。それ以降もその規模は増大する一方だ。Linuxは、30年が経過している他のソフトウェアプロジェクトと同様に、その長い歴史の中でソースコード中にかなりの量の垢をため込んでいる。Linuxカーネルの上級開発者であるMolnar氏はこの問題を根本的なレベルで解決するための初撃となる数カ月におよぶ作業の成果として、「Fast Kernel Headers」(カーネルヘッダー高速化)プロジェクトをリリースした。 その狙いは何だろうか。答えは、Linux
日本マイクロソフトで長く開発技術関連のエバンジェリストとして活動し、現在は米国のMicrosoft Corporationで、グローバル ブラックベルトチーム Azure App Innovation ソリューション スペシャリストを務める井上章氏は「今回の『Visual Studio』のメジャーバージョンアップは、この2年半から3年の間に大きく変化した、開発者を取り巻く環境に対応するためのものだ」と話す。 「『Microsoft Visual Studio 2022』は、コンテナのような新しい技術やクラウドを前提とした新たなアプリケーションアーキテクチャ、さらに、WindowsだけでなくMacやiOS/Androidデバイス、IoT(Internet of Things)デバイスの存在感が増す中でのクロスプラットフォーム対応、チームによる分散開発といったニーズがある中で“開発生産性の向上
思いっきり雑学レベルの話ですみませんが、思い出した今書かないと忘れそうだなと思ったのでw この手法で何が出来るかと言うと、シェルスクリプトを実行するとスクリプトファイルの後ろ(exit で終了されて実行されない領域)に結合されたバイナリ形式の圧縮ファイル部分を抜き出して /tmp 以下に展開してそこに含まれているバイナリ形式の実行ファイルを実行して、一見シェルスクリプトのように見えるのに実はバイナリファイルを実行してるじゃんなどという楽しいことができます。いかにもハックまがいの手法に見えますが、どうやらこの手法は POSIX で考慮されているようです。 これを知ったのは「シバン shebang がないシェルスクリプトはどのシェルで動くかわからない(からちゃんと書いとけ)」の記事を書いている時に見つけた fish の PR 7802 です。fish はシバンがないスクリプトを実行するとエラー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く