タグ

Programmingとprogrammingに関するpukumanのブックマーク (258)

  • thisるぜ、超thisるぜ - プログラマーの脳みそ

    ともくんコードのお話 - プログラミングお勉強きろくのブコメで勝手にthisつけるつけない議論が繰り広げられてたのだけど、自分の意見を少々。*1 自分が新人や、オブジェクト指向慣れしていない人に教える際はthisをつけるところは全てつけるように教えている。これは可読性の話とはちょっと視点が違う。現代のIDEは構文解析した上でのシンタックスハイライトが当たり前だから、thisの有無でstaticなものとインスタンスのものを見分ける必要性がない。というか、インスタンスのメンバへのアクセス全てにthisをつけろと言う方がそもそもヒューマンエラーが起きやすいわけで、信頼できない。 可読性の話じゃないとすれば何か、ということなのだけど、オブジェクト指向慣れさせるためにthisをつけさせている。 このメソッド、あるいはフィールドへのアクセスは、どのオブジェクトに対するものなのか?それを意識させる効果が

    thisるぜ、超thisるぜ - プログラマーの脳みそ
  • VBAの行き詰まり

    VBA(Visual Basic for Applications)はおそらく,マイクロソフトが想定していた以上に,広く使われてしまったのではないだろうか。そのためマイクロソフトは,VBAのベースであるVB(Visual Basic)をVB 6からVB .NETへと大幅バージョンアップをした際にも,“VBA .NET”とはできずに旧態依然の仕様のまま取り残す格好になってしまった。 VBAはマイクロソフトのオフィス・ソフトが備えているプログラミング言語である。1993年にExcelで初めて搭載された。オフィス・ソフトで手作業で行っていた作業を自動化したり,オフィス・ソフトをフロントエンドとするようなアプリケーションを開発したりカスタマイズしたりするのに使われている。 VBAはWordやPowerPointなどでも利用できるが,最も多く使われているのはExcelにおいてである。すべてのケースで

    VBAの行き詰まり
  • Efficient data transfer through zero copy

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Efficient data transfer through zero copy
  • 【西川和久の不定期コラム】 iPhone Appを作ってみた! 「PhotoCooker」開発記

  • JavaScript正規表現メモ。 (JavaScriptでよく使う書き方。) - こせきの技術日記

    タイトル変えました。旧タイトル「JavaScriptでよく使う書き方」。よく使うけど毎回忘れる。 正規表現にマッチするかどうか。 RegExp#testを使う。 /abc/.test("abcdefg") // => true String#searchはマッチした位置を返す。マッチしない場合は-1。先頭にマッチすると0でfalseなので注意。真偽値が欲しい場合はString#searchを使わない。 "abcdefg".search(/xxx/) // => -1 "abcdefg".search(/def/) // => 3 "abcdefg".search(/abc/) == false // => true 正規表現の部分マッチを得る。 部分マッチを得るには、RegExp#execかString#matchを使う。execとmatchの速度は大して変わらない。 正規表現のベンチマー

    JavaScript正規表現メモ。 (JavaScriptでよく使う書き方。) - こせきの技術日記
  • .NETのコードを理解するための基礎知識 - 簡単!Visual Studio 2008入門(1/3) - @IT

    フレッシュマン企画 連載 簡単!Visual Studio 2008入門 第3回 .NETのコードを理解するための基礎知識 デジタルアドバンテージ 一色 政彦 2009/05/27 前回は、Visual Studio 2008(以降、VS 2008)の画面内容と、プロジェクトの構成内容について解説した。今回と次回は引き続き、第1回のプロジェクトの新規作成で生成されたWindowsアプリケーションのソース・コードの内容について理解を深める。 ソース・コードを理解するには、フォーム・デザイナでの多くのデザイン(=自動コーディング)作業により自動生成されるコードが大量かつ複雑になってから行うよりも、コード量が最も少ない最初(=ひな型)のWindowsフォームのときに行う方が楽である。 前々回(第1回)で生成したファイルはソリューション・エクスプローラで確認できる。これを見ると、Windowsフォ

  • バグを生まないコーディング法、10個の規則でソフト開発を効率化(1/3) ― EE Times Japan

    ソフトウエア開発にはバグがつきものだ。ただし、バグの発生を最小限にい止める方法がある。コーディング規則を適用してコードを記述することだ。バグが発生してからそれを発見し、修正するという通常の開発手順に比べて、簡単に、しかもコストをかけずにバグをつぶせる。 ここでは、ZigBeeを利用したセキュリティ・システムから医療機器にわたる筆者の組み込みソフトウエア開発の経験から得た、バグをなるべく発生させないコーディング規則を紹介する。 なぜコーディング規則が必要か コーディング規則は、ソフトウエア開発者に対して、コードを記述する上での規則をまとめたものである。英語のライティング教として著名な「The Elements of Style」(William Strunk Jr.、E. B. White著)の、プログラミング言語版のようなものだ。 組み込みソフトウエアにも、きれいで、正しく、簡

  • Windows プログラマなら読んでおきたい「Windowsデバッグの極意」 - てっく煮ブログ

    bookちょろちょろと色んなところで紹介されていた Windowsデバッグの極意 ツールを使いこなして、バグハント! を軽く読んでみたが、このWindows 開発をやってる人なら一読したほうがよさそうだ。Windowsデバッグの極意 ツールを使いこなして、バグハント!作者: Mario Hewardt, Daniel Pravat, 長尾高弘出版社/メーカー: アスキー・メディアワークス発売日: 2009/04/28メディア: 大型前書きの売り文句前書きには次のような逸話が紹介されている。MS のエンジニアが4〜5日に1回クラッシュする問題を数週間かかっても解決できなかったが、gflags の使い方に詳しい人に教えてもらってから再現させると、そこから1時間で原因が分かった。どこの通販番組だよ、と思ってしまったが、1章を読んでみて確かにこのはすごいと思った。オススメのデバッグツール

  • 「うごけ!道案内」で地図プログラミング

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。LatLongLabの大野です。 今回はLatLongLabのβサービスの一つである「うごけ!道案内」をご紹介したいと思います。 みなさんはこのサービスをご覧になって、どんなことができるサービスだとお感じになりましたか? "道案内を作って投稿できるサービスだよね"と思ったそこのアナタ! それは大きな間違いです!! 「うごけ!道案内」は、MS-DOSのバッチファイル風にコマンドを並べるだけで地図を思い通りに動かせるプログラミングツールなのです。 プログラミングをはじめてみよう! 「うごけ!道案内」でプログラミングをはじめるには、道案内作成ページを開き、左上の「→アドバンスモードに変更」というリンクをクリックする必要があり

    「うごけ!道案内」で地図プログラミング
  • MacRubyでGUIアプリ開発、デモンストレーション | エンタープライズ | マイコミジャーナル

    MacRuby Geoffrey Grosenbach氏がRubyFest向けにおこなったMacRubyに関するスクリーンキャストのデータがMacRuby Presentation from RubyFestにおいて公開された。MacRubyMac OS X向けに実装されたRuby実行環境。きわめて高速に動作するという特徴があるほか、Mac OS XのAPIを活用したアプリケーションの構築が可能という特徴がある。 公開されたスクリーンキャストではMacRubyCocoa、Objective Cの説明をおこなったあとで、実際にXcodeとMacRubyを使ってMac OS Xでネイティブに動作するGUIアプリケーションを開発するデモンストレーションが掲載されている。Xcodeのインタフェースビルダを使いながらRubyGUIアプリの開発が実施されている様子が興味深い。 開発されているGU

  • Java/.NET開発者のための「ここが変だよ、COBOL」

    Java/.NET開発者のための「ここが変だよ、COBOL」:COBOL - Getting Started(1)(1/2 ページ) 50年前に事務処理用に開発されたCOBOLは、いまでも多くの企業で使われ続けている。基盤部分が近代化してもCOBOLは生き残るかもしれない(編集部) さあ、COBOLを始めてみようか マイクロフォーカスの小林純一です。今回、COBOL言語入門の連載をCoding Edgeで書かせていただくことになりました。最後までよろしくお願いします。 企業活動の迅速性とコスト削減を目指したITモダナイゼーションの潮流の中で、メインフレーム中心の情報システムの見直しが進んでいます。Java EE(Java Platform, Enterprise Edition)や.NETフレームワークを基盤としながらも、COBOLで書かれたコアとなる計算ロジックをサービスとして活用する手

    Java/.NET開発者のための「ここが変だよ、COBOL」
  • PowerShellの基本(前編)

    PowerShellの基(前編):Windows PowerShellコマンド&スクリプティング入門(1/5 ページ) 対話型シェルとスクリプティング実行環境とを完全に統合した、次世代Windowsシェル、PowerShellを管理者として活用するための第一歩。 連載目次 Windowsというプラットフォームの第一の特徴は、何をおいても、その充実したGUIだろう。グラフィカルなユーザー・インターフェイスを介することで、ユーザーは複雑なコマンドなどを習得することなく、直感的にツールを利用することができる。比較的知識の浅いシステム管理者でも、それなりにWindows OSを管理できてしまうのは、まさにこのこなれたGUIの存在ゆえであるといってもよいだろう。 もっとも、GUI環境がもたらすのはメリットばかりではない。というのも、日常的に行われるルーチンワークを行うに際しては、往々にして煩雑な作

    PowerShellの基本(前編)
  • Cocoaプログラミングメモ

    マウスイベントの処理を行うプログラムを作成する。 プロジェクトの作成 Xcodeで「MouseEx」という名前のCocoa Applicationプロジェクトを作成。 「HelloWorld」と同様に「MouseView.h/MouseView.m」を作成。 「HelloWorld」と同様にインターフェイスの作成。 ソースコードの記述 MouseView.h #import <Cocoa/Cocoa.h> //MouseEx(View) @interface MouseView : NSView { NSPoint _mousePos; //マウス位置 BOOL _mouseDown; //マウスダウン NSTrackingRectTag _tag;//トラッキングタグ } //文字列の描画 - (void)drawString:(NSString*)string x:(float)

  • Rubyソースコード完全解説 / 青木峰郎

    $Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第

  • 勉強が苦手な人向けの「遅延評価勉強法」 : ロケスタ社長日記

    はじめに 遅延評価勉強法という言葉があります。 これはamachangというjavascrpitを書く人で有名な技術者の方が、ブログで言ってた言葉です。該当するエントリは以下。 遅延評価的勉強法 - IT戦記 - これは、おいらが考える「効率のいい勉強法」に近いものがあるので、少しまとめてみました。 あくまで主観的に「いい」と思っている勉強法ですが、参考になれば、、 遅延評価勉強法って? まず、以下のサイトがすごくまとまってるので引用してみます。 「遅延評価」という言葉を調べてみると、「ある式を、その結果が当に必要になる時点までは評価しないでおくテクニック」とあります。そのメリットは、「条件次第で捨ててしまうような値を事前に準備することは非効率的である。このような場合遅延評価を行うと必要なときだけ値が計算されるので計算量を低減できる」とありました。 ここから遅延評価勉強法とは、「その知識

    勉強が苦手な人向けの「遅延評価勉強法」 : ロケスタ社長日記
  • コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ

    誰に教えられたのでもないのですが、ぼくは冬眠前のリスのようにコード片を溜め込んでいます。 コード片とは、ライブラリにするほどまとまった大きさではない、数行〜十数行のコードのことで、溜め込んだコード片は、アプリケーションやツールを作るときに使っています。 例えば「Perlでメール送るのどう書くんだっけかな」とか「Pythonでファイル開いて全部読むのどう書くんだっけかな」とかというときに、溜め込んだ中からコード片をさっと取り出してコピペした後、なじむようにちょっと修正して使っています。 コードポケット コードを溜め込んでいるディレクトリをぼくは「コードポケット」と名付けていて、コード片を取り出すことを「ポケットからコードを取り出す」と呼んでいます。先日、知り合いが似たようなことを実践していて、その人は「コードスケッチ」と呼んでました。いい名前ですね。 ぼくの場合、コードポケットは ~/lan

    コードポケット - アプリケーションをささっと作るコツ - (ひ)メモ
  • JavaScript で x86 アセンブラ (32 bit) を書いてみた - moriyoshiの日記

    4/22追記: Mach-O builder も実装したので Intel Mac でも遊べる。 JQuery っぽい文法で、ブックマークレットとして簡単に遊べるアセンブラが欲しいと思って勢いで書いてみた (デモ)。とりあえず以下のサンプルが動くくらいにしか実装してない。 var buf = new Buffer(); with (new Assembler(buf)) { call($('get_addr')); $$('get_addr'); pop(ecx); add($('str - get_addr'), ecx); mov($('sizeof(str)'), edx); xor(ebx, ebx); mov(4, eax); // write(2) int(0x80); mov(1, eax); int(0x80); // _exit(2) $$('str'); $string(

    JavaScript で x86 アセンブラ (32 bit) を書いてみた - moriyoshiの日記
  • プログラムを動かす環境の本 2009-03-25 - きしだのはてな

    プログラムをどう動かすというか、どうやって命令を発行するかというを挙げて、プログラムをどう書くかというもあげた。 これで、Seasarカンファレンスでの話でのの紹介は終わりなのだけど、ブログのエントリとしては、どうやって実際にプログラムが動くかを理解できるようながないと完結しない。 ということで、プログラムを動かす環境のを挙げることにする。 まだ読んでないがほとんどなので、こういった分野の勉強も必要だという程度の意味でしかないけど。長いことプログラマやってれば、なんとなく知ってる分野ばっかりになってるはずだけど、系統的に勉強しなおすのもいいと思う。 このあたりの分野は「タネンバウム読んどけ」でだいたい大丈夫みたいなんだけど、いきなり読むのはつらいので、そこにたどりつくまでのを。 コンピュータの仕組み まず、プログラムを動かす中心となるCPUとか周辺ハードウェアの。パイプライ

    プログラムを動かす環境の本 2009-03-25 - きしだのはてな
  • トップページ - iPhone 3G DevWiki

    Captcha security check sohaya.com is for sale Please prove you're not a robot View Price Processing

    トップページ - iPhone 3G DevWiki
  • ウノウラボ Unoh Labs: Gearsはウェブの未来を変えたか

    このうちオフラインサポートで主に利用するのは初期からあるLocalServerとDatabaseだと思いますが(もちろんDatabaseはオフラインサポートだけに用途が限定されるわけではありませんが)、以降に追加された機能は、いずれもオフラインサポートに直接関わるものではありません。 また、Gears Wikiには今後予定されている/検討中のAPIがリストされており、Canvas、Notification、Audio、Camera、Database2などが挙げられていますが、その名称からも知れる通り、多くはやはりオフラインサポートとは無縁のものです。 これらのAPI群は一見それぞれバラバラな機能の寄せ集めのようですが、共通しているのは、オフラインサポートはもちろん、WorkerPoolによるバックグラウンド処理にしても、もっとわかりやすい例では、Desktop APIのopenFilesに