Visual Studio 2019正式版リリース。メモリ使用量が4分の1以下に激減、リモートペアプロ機能のLive Share、AIによる支援機能IntelliCodeも正式機能に。Mac版も同時リリース マイクロソフトは統合開発ツールの「Visual Studio 2019」が正式リリースになったと発表しました。と同時に、AIがコーディングを支援する「IntelliCode」、ペアプログラミングを支援する「Live Share」など、これまで注目されきた機能が正式版となりました。
まえおき 巷では「プログラマーになりたい人に初学者にとって、ポインタという考え方がわけわかめ」という話がよくあります。 そこでいろいろな人が「ポインタは住所だ」とか「変数がハコで」とか手を変え品を変え分かりやすいように説明してくれています。 それでもなお「ポインタがわかりづらい」という人が後を絶ちません。 もういっそのこと、例え話をやめてド直球で攻めたらいいんじゃないでしょうか。 Hello, Worldより簡単に サンプルコード 以下のコードを考えます。 void main() { int a; int b; int c; a = 1; b = 2; c = a + b; } 「#include <stdio.h>」なんていう謎のオマジナイはこの際ナシです。あんなもの無くたってC言語は成り立ちます。 まぁ見ての通り、どこにも何も出力されませんが。 このプログラムは、「c = a + b」
ハードウェアのエラーでメモリの内容が化けてしまうことが稀にある。大抵のDRAMエラーはせいぜいプログラムがクラッシュする結果になるだけだが、データ破壊になることもありえるし、悪意のある使い方をすればセキュリティ破りに使うこともできてしまう。ここではメモリエラーとセキュリティの話をしようと思う。 メモリのエラー率は意外なほど高い。データセンターで大規模なマシン群を対象に実際に観測したところ、1年間に1回以上のエラーが発生したDIMMモジュールは全体の8%にのぼったそうだ。DIMM 1枚に数百億個のメモリセルが実装されているといっても、このエラー率はちょっとびっくりするくらい大きな数字ではないだろうか? サーバでは普通はエラー訂正付きのDIMMを使うので1ビットのエラーは問題にならないが、エラー訂正のないコンシューマ機器ではこれは実際的な問題になりえる。 メモリエラーを利用したセキュリティ破り
自分の中のプログラミングの常識というものは、ときどき現実のハードウェアに合わせて調節しないといけない。ハードウェアが進歩し続けているので、コンピュータで簡単にできることと相対的に難しいことのバランスが変化し続けているからだ。ここでは特にストレージにフォーカスして書こうと思う。 昔はメモリが相対的にとても貴重な資源だったので多くのプログラマがメモリを節約することに血道を上げていた。例えばWindowsの初期の頃に設計されたデータ構造には、メモリをバイト単位ででもいいから節約したいという意図の痕跡がいまでも多く見受けられる。DRAMの次に速い記憶装置はHDDだったので、メモリが足りなくなればHDDにデータを保存せざるを得ないのだが、DRAMとHDDのランダムアクセスの速度差は、机の上の本の開いているページを見るのと、その本をAmazonで注文して到着するのを待つのと同じくらいのスケールで違うの
こんにちは。iOS / Mac 開発担当の金内です。 使って幸せなアプリには、サクサクとした動きが欠かせませんね。自分たちで作っているアプリが「サクサク」でなく「もっさり」と言われてしまうと残念な気持ちになりますが、反面「よし。こうなったら超最適化して超サクサクなハイパフォーマンスアプリを目指す!」と誓いを立てるよい機会でもあります。 そんな誓いを立てたあなたにピッタリのツールが Xcode に付属している Instruments(インストゥルメンツ)です。フェンリルのウェブブラウザ Sleipnir for Mac や Sleipnir Mobile for iPhone / iPad の開発でも大活躍しています。 Instruments は、一般的にはプロファイラという種類のツールにあたります。プロファイラは、どのオブジェクトがどれくらいメモリを消費しているとか、どのメソッドにどれくら
Summary 新リテラル - NSNumberリテラル,Boxed Expression, NSArrayリテラル,NSDictionaryリテラル, 添字アクセス コンパイラがメモリ管理を肩代わり - ARC (Automatic Retain Count) Cでも無名関数 - Blocks マルチスレッドプログラミングを簡単に - GCD (Grand Central Dispatch) Bundlerライクなライブラリ管理 - CocoaPods はじめに Objective-C のプログラミング環境はどんどん良くなってる コーディングを楽に エンバグの軽減 一方、Web上の記事や書籍のコードは古いまま 古い情報に流されないためにも、新しいコンパイラやツールの機能を確認しておこう NSNumberリテラル void main(int argc, const char *argv[]
最近、C言語のポインタは難しいって話をプライベートでして、そのときにした説明をまとめてみた。 コンピュータのメモリがどのようになっているか想像する これはHex Fiendというソフトを使ってあるファイルのHexダンプを見たものだけど、コンピュータのメモリも同じような構造になっているのでこれを使う。類似のソフトはHex Editorなどで検索すれば出てくるだろう。 コンピュータのメモリはこうしたずらずらと数値が記録されたマス目の連続のような構造をしている。Hex Editorなのでこれは16進数で表現されている。1バイトは16進数2桁で表現される。Hex Editorでは普通は1バイトごと、あるいは4バイトごとに区切って表示する。このエディタは一区画ごとに8桁の16進数があるので4バイトごと。 ポインタを使うのに重要なのはたぶん、こうしたメモリの内容を頭の中で思い浮かべることができることだ
iOSアプリを起動する際、ユーザが最後に開いた画面を表示できると利便性は高まります。しかしバックグラウンドに移ったアプリは、メモリが逼迫してくると強制的に終了させられて、最初からやり直しです。この終了状態から、あたかも直前まで動いていたかのように状態を復元するUIStateRestorationがiOS6から導入されました。 追加の実装は必要ですが、自前でやるよりは楽に状態の保存と復元が可能になります。 以下の内容は最新のiOSアプリケーションプログラミングガイド(既に日本語訳出てる!)を参照しながら実装してみたものなので、詳細を知りたければそちらを参照するのがおすすめです。 はじめに この機能で保存、復元されるものは以下の通りです。 ViewControllerとViewController Container UINavigationViewControllerのスタックも復元 Vie
ポインタの裏話 岡﨑 直観 okazaki at ecei.tohoku.ac.jp http://www.chokkan.org/ @chokkanorg ポインタの裏話 プログラミング演習A 1 このような説明を 覚えていますか? 知らなくても全く問題ありません ポインタの裏話 プログラミング演習A 2 int x = 0; &xは変数xの「アドレス」 「番地」「住所」を返す 変数x 0 &x メモリ空間, 記憶空間 変数xのアド レス(住所) ポインタの裏話 プログラミング演習A 3 ____ / \ 何言ってたんだこいつ? / ⌒ ⌒\ 番地 アドレス ぬるぽ / (●) (●) \ \ / | 、“ ゙)(__人__)" ) __________ \ 。` ⌒゚:j´ ,/ j゙~~| | | | __/ \ |__| | | | || / , \n||
SparseMatをつかった超解像処理を行います.このデモンストレーションは下記論文の実装になっています.詳細は以下論文やビデオをご覧ください.また,このサンプルコードはOpenMPを有効化するとコアを有効に使います.メモリは1Gほど使うため実行時には注意してください. Farsiu, S.,Robinson, D., Elad, M., Milanfar, P.”Fast and robust multiframe super resolution,” IEEETrans.ImageProcessing 13 (2004)1327?1344. C++ //Super resolution with Bilateral Total Variation //Implimentation of a paper; //Farsiu, S.,Robinson, D., Elad, M., Mila
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く