1987年にTV放送の副音声に載せて配信されたプログラムの正体を確かめようとデータを復元して動かしてみました。この動画は前作の続きです。前作をご覧になってない方は先にこちらをご覧ください。【前作】パソコンサンデー副音声のプログラムデータを復元してみた:sm9298582【素材】パソコンサンデー:sm8690869 研究材料を提供してくれたうp主に感謝。/【BGM】sm3505467、sm3613540【ニコニコ技術部自作動画】mylist/24951901
上記のうちRingBuffer0,1,2,3の実装をしました。 RingBuffer0,1は特に実装の違いはありません。 RingBuffer2はマルチスレッド化のためProducerとConsumerの構造体を追加しています。 RingBuffer3はアライン調整のために_paddingフィールドを追加しました。 MultiThreadはもとのコードはcpuset(0,1)決め打ちだったので、それに合わせたものとcore idが違う(0,2)も実施しました。 実行結果 リファレンス(AMD Ryzen 7735HS) リファレンスとなるkumagiさんのコードをg++ -O2でビルドしました。 RingBuffer0_single: 1000000000 ops in 939 ms 1064962.726 ops/ms RingBuffer1_single: 1000000000 ops
若手向けに開催した勉強会の資料です。 一般的なアプリケーション開発をターゲットに、主要言語と歴史を解説しています。
「ガベージコレクション(略してGC)」は、メモリ管理の大技である。主として Lisp インタプリタで利用したセルを再利用するために使われて来たが、最近のオブジェクト指向言語でも、Smalltalk-80 に始まり、Java や Eiffel でプログラマが作成したインスタンスについて、明示的にデストラクタを起動しなくても済むように利用されている。このようにプログラミング言語とその環境にとって、大変重要な機能なのだが、別に自分が書くアプリケーションで使っていけないわけではない。また、一度自分で実装してみると、ガベージコレクタを備えた言語を使う場合でも、その動作に対する洞察が効くというものである。ここでは、メモリ管理の技との関連でガベージコレクタについて考察してみよう。 realloc モデル 改良された malloc & free モデル 汎用的な malloc & free モデル 参照カ
Microsoftが「Rust」言語を導入、安全性以外の理由あり(続報):性能や安全性以外にも評価あり Microsoft Security Response Center(MSRC)は、C/C++に代わるシステムプログラミング言語の最有力の選択肢として「Rust」を挙げ、その理由を解説した。合わせてMicrosoftのような大規模なコードベースを持つ企業にとっての課題も示した。 なぜメモリ安全性と性能の両方が必要なのか MSRCによると、メモリ安全性を備え、Microsoft社内外で広く使われている言語は数多い。「C#」や「F#」のような.NETに対応した言語の他、「Swift」「Go」「Python」、Rustなどがある。 だが、システムプログラミング言語はOSカーネルなど、他のソフトウェアの動作基盤となるシステムの作成に使うものだ。CやC++が提供するような速度と予測可能なパフォーマ
このドキュメントは、Y.ROMIさんが発行された同人CD「PC88ゲームの世界」 CD-ROM向けに、2000年6月に執筆、脱稿したものです。 その版をもとに記述ミスなどを修正したものを、ここに掲載します。 はじめに 筆者は、PC-88史上に残る名作である(株)日本ファルコムのARPG、「ソーサリアン」をシャープ製パーソナルワークステーションX680x0シリーズへ移植した経験をもつ。この移植は全くのアンオフィシャルなものであり、あくまで個人の範囲内で独自に行ったものであることを予めお断りしておく。 さて、この移植にあたり、筆者らはバイナリレベルで60KBにもおよぶPC-8801mkIISR版「ソーサリアン」のほぼ全プログラムを解析するという作業を行った。この結果、今まで知られていなかった事実や、またソーサリアンのメインプログラマーである木屋 善夫氏(現在、日本アプリケーション(株)に在籍)
Twitterで有名な「岡三マン(@okasanman)」は複数人執筆説があります。 twitter.com そこで、本稿では統計解析環境「R」を用いて岡三マンが何人で執筆されているのか分析してみました。 今回は 2018/03/08 から 2018/03/18 までの 796tweet を分析対象とします。 分析にはRのライブラリ「RMeCab」を用いました。 この中の docMatrix()関数を用いるのですが、デフォルトでは名詞、動詞、形容詞のみを抽出するようになっています。 しかしながらtweetは短いので同じ名詞が出てくる可能性は極めて低く、あまり役に立ちません。 そこで今回は、本人判別でよく用いられる「助詞」「助動詞」と、句読点にも着目して「記号」を抽出することにしました。 library(RMeCab) res <- docMatrix("okasand", pos = c(
Visual Basic Advent Calendar 2016 18日目の記事です。 ※当初は ポエム Advent Calendar 2016 18日目の記事として投稿するつもりの記事でしたが、そっちには別の記事を書きました。つまり本記事にはポエム要素があります。昔話をします。 Visual Basic はプログラミング初学者にとって最強の教材だったと思う 時は 199X年、僕が生まれて初めて触ったプログラミング言語は Visual Basic 5 (体験版) だった。入門書(名前は忘れたが絵本っぽい雰囲気でかわいい本だった)に付属していた CD-ROM でインストール。 インストールがめちゃくちゃ楽だった PC に CD-ROM を差し込んで起動するインストーラのボタンをポチポチするだけ。 なるほどこんなものか、と思ったが、20年の時を経て思い返すと「なんでもないようなことが幸せだ
この記事には参考文献や外部リンクの一覧が含まれていますが、脚注によって参照されておらず、情報源が不明瞭です。脚注を導入して、記事の信頼性向上にご協力ください。(2021年4月) 『銀の弾などない— ソフトウェアエンジニアリングの本質と偶有的事項』(ぎんのたまなどない ソフトウェアエンジニアリングのほんしつとぐうゆうてきじこう、英: No Silver Bullet - essence and accidents of software engineering)とは、フレデリック・ブルックスが1986年に著した、ソフトウェア工学の広く知られた論文である。 論文概要[編集] 原論文は英語である。日本語では『銀の弾丸はない』と、翻訳されることもある。ブルックスは、「銀の弾丸」(Silver Bullet)として、魔法のように、すぐに役に立ちプログラマの生産性を倍増させるような技術や実践 (特効薬
「いまどき使う?」の感もありますが、WindowsXP上でDPMI(DOS Protected Mode Interfaceを使ったDOSプログラムを作成・アセンブル・実行してみます。DOS上で手軽に32ビットプロテクトモードのプログラムを実行できることがわかります。 (本記事の初稿は2004年です。64ビットCPUが普及した現在でも有用な内容と思われるので、そのままの内容で公開します。) なお本稿ではMS-DOS用のアセンブラーとリンカーが必要になります。ここではBorland社製のTurbo Assembler(TASM)とTurbo Link(TLINK)を使います。もしもこれらを持っていない場合は、フリーウェアのアセンブラー・リンカーを入手してください。 ■DPMIとは DPMI(DOS Protected Mode Interface)とは、16ビット(リアルモードもしくは仮想8
はい。 ああ、近所の通り魔は捕まったそうです。これで背後を警戒しなくてよくなりますね(尚、実際は数日で忘れて背後なんか見なくなってた) さて、なぜかヨーロッパの人達はレトロゲームが大好きなようでTwitter等でよく反応をもらう(日本人より多い)のですが、その中で Mode 7 使わないの?使ってよ、と言われて、せっかくなので全機能制覇を目指してテストプログラムを作ってみました。 Mode 7 というのはF-ZEROやパイロットウィングスみたいな……と言えばもう伝わったかと思いますが、巨大な一枚絵をグリグリ回すスーファミ独特の疑似3Dのことを指しています。(尚、下に書きましたが技術的には「画面モード7」の応用例として疑似3Dがあるだけで、疑似3DのことをMode 7と呼ぶのは俗称です) ↓結果としてはこんな感じに 実は「画面モード7」自体には3D機能は無く平面の変形機能を提供するだけで、遠
UNDOCUMENTED 9801/9821 Vol.2 - メモリ・I/Oポート編 序文 「UNDOCUMENTED 9801/9821」は、98プログラマの試行錯誤を減らし、 快適なプログラミングを支援することを目的として執筆にあたった。 「Vol.1 BIOS・割り込み編」の出版からもう既に3年が経とうとして今になり、 ようやくVol.2の発表となったことをまずおわびしたい。 この3年の間にPC-9800シリーズを取り巻く環境は大きく変わった。短期間に多くの機種・モデルが発表されるようになり、 新機種が発表されるたびに調査を行うことは難しくなった。そしてなにより、もはやBIOSやI/Oポートを操作してプログラミングを行うことは少なくなりつつある。 このような状況でVol.2を書籍として刊行することは現実的ではなくなっていた。 しかしながら、Vol.2の原稿として用意していた原稿をこの
先週、動画変換ファイルアプリ HandBrake のMac版によってマルウェアに感染との報道がありました。(日本語記事参考: 動画変換ソフト「HandBrake」Mac版にマルウェア感染の危険性 | CNET Japan)2つの配信サーバのうちの片方で、感染したHandBrakeアプリが3日間公開された状態になっており、ダウンロードして起動するとそのコンピュータは攻撃者による遠隔操作が可能な状態になる、というものです。 運が悪く、さらにコンピュータ運にも恵まれず、公開されていた3日の間に感染したHandBrakeをダウンロード、起動したためにプログラマのMacが感染してしまいました。 その結果、どこかの、誰かに、私たちのアプリのソースコードが盗まれました。 続けて、以下の大切な3つについてお知らせします: ・今回の攻撃者がユーザ情報にアクセスした兆候はまったくありませんでした。 ・さらに、
本記事はWebAssemblyに関するシリーズの第5回目で、今回のテーマはWebAssemblyが高速な理由です。前の記事をお読みでない方は、 初めから目を通される (訳注:原文リンク)ことをお勧めします。 前回の記事 (訳注:原文リンク)では、プログラミングに WebAssembly あるいはJavaScriptを使うかは二者択一の選択ではないことを説明しました。私たちは、WebAssemblyのみのコードベースを書く開発者が膨大な数になるとは思っていません。 ですので、アプリケーションにWebAssemblyとJavaScriptのどちらを使うか選ぶ必要はありません。しかし私たちとしては、開発者がJavaScriptコードの一部をWebAssemblyに置き換えることを期待しています。 例えば、Reactで開発しているチームは、リコンサイラコード(言い換えれば仮想DOM)をWebAss
まじな話をすると、N予備校のプログラミング入門コースやるのがオススメ。 https://www.nnn.ed.nico 一日8時間勉強時間があるなら、だいたい一ヶ月で終わる内容。 月額1000円だけどしっかり勉強すれば一ヶ月の無料期間中に終わると思う。 もともとN高等学校のノンプログラマーの生徒をWebエンジニアとして就職させるために作られたカリキュラムで講師曰く去年はこれで二人エンジニア就職を決めたらしい。 内容も相当親切に説明していて、プログラミングで何か作るだけじゃなくて、就職に必要な環境構築やセキュリティまでみっちりやる。 http://qiita.com/sifue/items/7e7c7867b64ce9742aee#%E3%82%B3%E3%83%B3%E3%82%BB%E3%83%97%E3%83%88%E3%82%92%E3%82%82%E3%81%A8%E3%81%AB
Web API: The Good Parts 作者: 水野貴明出版社/メーカー: オライリージャパン発売日: 2014/11/21メディア: 大型本この商品を含むブログ (6件) を見る 同僚から借りて読みました。 全体としては Web API の設計に少しでも携わる人間ならとりあえず読んでおいたらいいんじゃないかなーという感じです。 薄いし。 本書を読んだからと言って最高の Web API の設計ができるようになるとは思わないですが、Web API の設計をする際に知っておくべきことが一通りまとまっていて良い感じだと思いました。 学びメモ 知らなかったことや、なんとなく知ってたけど改めて調べたことなどまとめておきます。 RFC 5861 での Cache-Control ヘッダの拡張 RFC 5861 にて、Cache-Control ヘッダの 2 つの拡張が定義されています。 sta
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く