ブックマーク / softantenna.com (10)
-
Red HatやDebianを含むLinuxディストリビューションで広く使用されている圧縮ツール﹁xz﹂の最新版に悪意のあるバックドアが含まれていた事がわかりました(Ars Technica)。 発見した開発者のAndres Freund氏は、xz version 5.6.0と5.6.1に悪意のあるコードが含まれていることが分かったと指摘しています。幸い、このバージョンは主要なLinuxディストリビューションの製品リリースでは使用されていませんが、Fedora 40やFedora Rawhide、Debian testing/unstable/experimentalなどのベータ版リリースには含まれていたそうです。 macOSのHomebrewでは、複数のアプリがxz 5.6.1に依存している事が判明し、現在xz 5.4.6へのロールバックが行われています。 悪意のある変更は難読化され、バ
-
Dockerは7月28日(現地時間)、Docker for MacおよびDocker for Windowsの正式版をリリースしました。ベータがとれた初のバージョンで製品開発に利用できる安定版と位置づけられています。 Docker for Mac/Windowsのゴールは、開発環境上で容易にDockerを実行可能とすること。正式版の改良点として以下のポイントがリストアップされています。 高速かつ高信頼性: ハイパーバイザー上に構築されたネイティブな開発環境(VirtualBox不要) Docker tools統合の改善: 開発に必要な全てのDocker toolsがアプリにバンドル 開発フローの改善: Volumeマウントや開発中のコンテナに簡単にアクセスできる昨日。サポートされたIDEによるコンテナ内デバッグも可能に エンタープライズネットワークサポート: Docker for Mac/
-
Perl 6 Advent Calendar Day 24日にて﹁Perl6﹂の正式版リリースに関するアナウンスが行われ話題となっています(Phoronix)。 もともと今年10月に﹁Perl6﹂の正式版を2015年のクリスマスにリリースする計画が発表されており、25日にリリースされるするとこの計画通りということになります(ただし記事執筆時ではまだ、公式サイトからPerl6正式版の実行系はダウンロードできないようです)。 Perl6は2000年にPerlのメジャーバージョンアップ版として設計が始められたプログラミング言語で、Perl5とは互換性がなく、言語仕様と処理系が別になっているのも特徴です(Wikipedia)。 Perl 6: 言語仕様 Rakudo: Perl6コンパイラ Rakudo Star: Rakudoコンパイラやモジュールを含む配布物 Perl6正式版にそ
-
プログラマの素養を確認するための簡単な問題として有名な﹁FizzBuz﹂問題。ただしこれだけ有名になってしまうと、プログラムの能力を試験するための新たな問題が必要とされているかもしれません。 経験豊富なソフトウェア開発者、Santiago L. Valdarrama氏が、﹁ソフトウェアエンジニアならば1時間以内に解けなければいけない5つの問題﹂を出題し、Redditなどで話題となっています。 その5つの問題は以下の通りです。 問題1 forループ、whileループ、および再帰を使用して、リスト内の数字の合計を計算する3つの関数を記述せよ。 問題2交互に要素を取ることで、2つのリストを結合する関数を記述せよ。例えば [a, b, c]と[1, 2, 3]という2つのリストを与えると、関数は [a, 1, b, 2, c, 3]を返す。 問題3最初の100個のフィボナッチ数のリストを計算す
-
一見Emailアドレスにマッチする正規表現を組み立てるのは簡単そうに思えますが、RFC 5322に厳密に準拠した正規表現を創りだそうとするととんでも無い努力が必要となるようです。 ﹁Email Address Regular Expression That 99.9% Works﹂は、様々なプログラミング言語ごとに、Emailアドレスに99%マッチする正規表現を掲載したサイトで、例えばPerl 5.10より前のバージョンのPerl用として、掲載されている長大な正規表現を見れば、その難易度の高さを確認することができます。 正規表現にはなんの解説もなくどのような意図をもって作られたのか説明はありません(よって99%マッチするかどうかは本当のところは不明)。ちなみに日本語で読める貴重な情報﹁Perlメモ﹂では、﹁perl5.6.0以前の perl ではメールアドレスの正規表現を正確に記述すること
-
UNIXの基本をなすプロセスやシグナルなどを分かりやすく解説した技術ドキュメント﹁Process Book﹂がGitHubにて公開されています。 同ドキュメントは、プロセスの生成、プロセスとファイル入出力、ファイルディスクリプタ、preforkサーバーの作り方、ゾンビプロセスと孤児プロセス、シグナルとkill、プロセスグループとフォアグランドプロセスといった話題を解説するドキュメントで、GitHubのreleasesディレクトリにはPDF、epub形式のファイルも格納されています。 UNIX環境でプログラムを開発する際に役立つだけではなく、普通のユーザーとしてターミナルを使ってコマンド操作を行う際にも役に立ちそうな内容だと思います。
-
-
Cコンパイラといえばとてつもなく複雑なプログラムというイメージがあります。ところが、このCコンパイラを(サブセットとはいえ)わずか500行ほどのCのソースコードで実現した﹁CC500﹂名付けられたプログラムが公開されています。 ソースコードは可読性を維持するためにつけられた空行やコメントを含めると、実際は750行ほどになるそうですが、それでもこれだけコンパクトなソースコードで実行可能なELFバイナリ(Linux用のバイナリ)を生成できるのは興味深いのではないでしょうか。 以下実際にLinuxでコンパイルしてみました。 自己コンパイルできる このコンパイラはC言語のサブセットで、自分自身のソースコードをコンパイルできるところがおもしろいところです。まず﹁cc500_1﹂という実行ファイルを生成します。 gcc cc500.c -o cc500_1 生成された実行ファイル﹁cc500_1﹂を使
-
※2014/11/18更新:﹁OS X 10.10.1﹂でこの不具合は修正されました。 Mac App Storeでアプリを購入している人ならば、アプリを削除するためにLaunchpadのアプリアンインストール機能を使ったことがあるかもしれません。 iOSと同様にアプリを長押しするだけでアプリをアンインストールすることができる便利な機能ですが、この機能に﹁~/Library/Application Support以下を全消去してしまう﹂超弩級の不具合が見つかりました(Togetter)。 ﹁~/Library/Application Support﹂以下にはアプリの設定情報など大切な情報がたくさん保存されています。これがごっそり削除されるのはかなりヤバイ事態です。 現象 この不具合は、Launchpadで特定のアプリを削除すると﹁~/Library/Application Supportに
-
革命的に速いとされるRuby用の新しいアプリケーション・サーバー﹁Raptor﹂のサイトが公開され期待を煽っています(Hacker News)。 公式サイトによると、RaptorはRailsやSinatraなどを動かすための新しいアプリケーション・サーバー。最適化されたHTTPエンジンにより従来のアプリケーションサーバーと比較して高速に動作し、Unicornの最大4倍、PumaとTorqueboxの最大2倍の速度で動作するとのこと。 現在まだ何もダウンロードできるものは公開されたおらず、パブリックベータ版のリリース日は2014年11月25日に設定されています。メールアドレスを登録しておくと、状態が更新されるか、あるいは第三者のレビューが公開されたときなどにメールで連絡してくれるようなので気になった方は登録してみてはいかがでしょうか。 ちなみに誰が開発されているかということに関しても﹁We
-
1