スポンサーリンク

プログラミング

Windowsで,簡単にファイルを「ごみ箱」に送るバッチのサンプルコード。削除処理に「シェル名前空間」を使う仕組みの解説

バッチのまとめTOPへ Windowsで,ファイルをゴミ箱の中に移動するWSHバッチ。完全に削除せず,ごみ箱に送るだけなので,安心して実行できる。 gomi1.js(ごみ箱に送る際に確認なし。ダブルクリックするだけ) // 削除したいファイル var file_path = "C:\\te…

迷路をウネウネと生成する,ライフゲーム的なJavaScript (アスキーアートで反復描画アニメーション)

「迷路をウネウネと生成する,ライフゲーム的なJavaScript」ができた。 ボタンを押すと,迷路が生成されてゆく途中経過を見れる。(ポコポコッ・・・ワサワサッ…) 巨大な迷路がアスキーアートで描画される。"┤┐├"みたいな罫線AAと,"■"によるブロックAAの2…

Windows XP等の,IE脆弱性の攻撃方法「ヒープ・スプレー」と「Use After Free」を,HTMLサンプルコードで理解しよう

HTMLとJavaScriptで,IEの脆弱性を攻撃できる。 (※具体的なサンプルコードも本記事に掲載) それが「Use After Free」および「ヒープスプレー」。 ちょうど2014年4月にWindows XPのサポート終了後すぐ,この脆弱性を攻撃するウィルスが発見され,大騒…

HTML5の「Web Workers API」を,別ファイルを使わずページ単体で利用するサンプル (createObjectURLがあれば,1ファイルでマルチスレッドのJSコーディングが可能)

JavaScriptプログラミングのTOPへ HTML5の「Web Workers API」(非同期処理の仕組み)を,外部スクリプトを使わずに,1ファイルだけで実行するサンプルコード。 ワンライナーで(たった1行で)Workerスレッドを起動できる。簡単に書くとこんな感じ。 // ス…

あなたが正規表現の中級者か判別する10問テスト (文字列処理の必須知識)

スキルチェックの目次へ あなたが,正規表現を扱うプログラマーとして,中級以上の実力を持っているかどうか判定します。 下記に,正規表現に関する10問の質問があります。いずれも,「文字列を処理する実用的なプログラム」を書く上で必要な知識です。 こ…

開発に役立つ,BATファイルの書き方・パターン集 (コマンドプロンプトの定石を体系的に学び,バッチ中級者になろう)

バッチのまとめTOPへ Windows上の処理を自動化するプログラムが,BATファイルである。「コマンドプロンプト」上での手作業を省略し,自動実行できる。 Windowsが存続する限り,BATファイルはなくならないだろう。バッチ・プログラミングの需要は,何があろう…

「ラムダ計算」を独学で学習するための,講義ノートやPDFのリンク集 (復習用の問題付き)

講義ノートの目次へ ラムダ計算は,コンピュータ・サイエンスの重要な1分野。 「λ」を使って各種の関数を記述し,λどうしの計算方法を習得すれば・・・ HaskellやF#などの関数型言語を習得するために役立つ。 プログラミングにおいて,関数についての理解を…

Javaで,匿名クラス内で定義したpublicメソッドの警告が消せず困った話 (静的なJavaと,動的なJavaScriptを連携させるDSLを作りたい)

重要なお知らせ:この記事で公開した情報は,AndroidのMVCフレームワーク「Android-MVC」の機能の一部として取り込まれました。より正確な設計情報や,動作可能な全ソースコードを閲覧したい場合,「Android-MVC」の公式ページより技術情報を参照してくださ…

AndroidやiOSの「ハイブリッドアプリ」で,JavaScriptとネイティブ・コードが連携する仕組みを図解 (おまけ:HTML側で施すべき,クロスプラットフォーム対策)

AndroidプログラミングのTOPへ HTMLやJavaScript等のWeb技術を使って,AndroidやiPhoneなどモバイル環境のネイティブ・アプリを作成する事ができる。そういうアプリの事をハイブリッド・アプリと呼ぶ。 AndroidとiOSでは,ハイブリッド・アプリを実現するた…

あなたが理解できない,たった一行のRubyのコード (動的言語に対する静的解析の限界)

あなたは,下記のコードを理解できない。 p f /g+h/i これはRubyのコードである。「p」は,コンソールに出力する関数である。 問: だいたい,何をやっているコードですか? ※例えば,四則演算など。 構文をおおまかに説明して下さい。 どれが変数で,どれが…

Javaのジェネリクスで,T.class や new T() ができず悩んだ話 (型パラメータのインスタンス化に関し、フレームワーク設計からケーススタディ)

Javaのジェネリクスで,型パラメータ T のインスタンスが欲しくなったことはあるだろうか? 昨今のオブジェクト指向プログラミングにおいて,ジェネリクスは必須の基本文法だ。 扱う対象のクラスが抽象化されて汎用的になりつつ,なおかつ型安全性が確保され…

GoFの23のデザインパターンを,Javaで活用するための一覧表 (パターンごとの要約コメント付き)

GoFデザインパターンの一覧表と,活用のためのコメント,および入門者が独学するためのリンク集(サンプルコード付き)。入門者の独学を支援するために,このページのURLを提示して熟読させ,各パターンを短時間で効率よく学んでもらう。 デザインパターンは…

「バリデーション」APIと「単体テスト」APIの類似性,およびそのスタイルが時代と共に洗練される過程の概観

「テスト」と「バリデーション」は,互いに酷似している。 単体テスト:開発者が,システムの入出力の振る舞いを検証すること。 バリデーション:システムが,ユーザの入力値を検証すること。 ユニットテストとバリデーションは本質的に同類の処理であり,そ…

AndroidアプリにStrutsのようなコントローラを導入し,画面制御させるサンプルコード (の試作品。バリデーションやビジネスロジックの骨組み)

AndroidプログラミングのTOPへ 重要なお知らせ:この記事で公開した情報は,AndroidのMVCフレームワーク「Android-MVC」の機能の一部として取り込まれました。より正確な設計情報や,動作可能な全ソースコードを閲覧したい場合,「Android-MVC」の公式ページ…

Androidアプリの画面レイアウトを,まるでjQueryのようなコードで動的構築できるライブラリ (の試作品。UIコーディングのためのDSL)

AndroidプログラミングのTOPへ 重要なお知らせ:この記事で公開した情報は,AndroidのMVCフレームワーク「Android-MVC」の機能の一部として取り込まれました。より正確な設計情報や,動作可能な全ソースコードを閲覧したい場合,「Android-MVC」の公式ページ…

制御しやすい「デバッグ用ロガー」を自作して,サクサク開発 (Javaで,メソッド名を含めログ出力する方法のサンプル)

重要なお知らせ:この記事で公開した情報は,AndroidのMVCフレームワーク「Android-MVC」の機能の一部として取り込まれました。より正確な設計情報や,動作可能な全ソースコードを閲覧したい場合,「Android-MVC」の公式ページより技術情報を参照してくださ…

Javaの非同期処理を,シングルスレッドのようにシンプルにコーディングするための設計パターン (並列処理を逐次処理にする)

重要なお知らせ:この記事で公開した情報は,AndroidのMVCフレームワーク「Android-MVC」の機能の一部として取り込まれました。より正確な設計情報や,動作可能な全ソースコードを閲覧したい場合,「Android-MVC」の公式ページより技術情報を参照してくださ…

開発用のフォルダ構成を,自動的に生成してくれるバッチ (プロジェクト用のリポジトリ立ち上げに便利。ついでに,用が済んだら自動消滅!)

ソフトウェア開発のためのフォルダ構造を,自動的に生成するバッチ。 例えばSVNリポジトリの立ち上げ時などに,ワンクリックで,チームで作業可能な開発プロジェクトのひな型を生成することができる。毎回同じようなフォルダ構造を手動で作るのは面倒なので…

bat中でforループをネストし,サブルーチンを呼び出して,条件付きファイル検索の結果を一斉コピーしよう (ファイル名の重複防止機能付き)

バッチのまとめTOPへ 下記のような要望がある。 特定のフォルダツリーの中から,batファイルで,Excelファイルを抽出したい。 サブディレクトリのフォルダ名は,スペースを含む場合がある。 抽出対象のExcelファイルは,ファイル名の先頭に特定の「先頭ID」…

プログラミング・コーディングのTips集

プログラミングに特化した記事の一覧。下流工程・実装工程で役立つ情報を集約。 バッチやマクロ作成に関連した記事はこちらを参照。 JavaScriptのエラー集はこちらを参照。 Android開発はこちらを参照。 開発の一般的なTips集はこちらを参照。 目次: (1)…

Androidアプリで,レイアウト用XMLの名前をいちいち指定せずに,自動的に画面を描画させよう (Rails風のCoCなレンダリング)

AndroidプログラミングのTOPへ 重要なお知らせ:この記事で公開した情報は,AndroidのMVCフレームワーク「Android-MVC」の機能の一部として取り込まれました。より正確な設計情報や,動作可能な全ソースコードを閲覧したい場合,「Android-MVC」の公式ページ…

バッチ職人になろう (WindowsとLinux上での開発業務を自動化するノウハウ集)

なぜバッチ職人になる必要があるのか Windows コマンドプロンプト WSH / JScript VBA UWSC PowerShell Linux Bash クロスプラットフォーム OpenOfficeマクロ 補足 ※↑ もくじジェネレータ で自動生成 なぜバッチ職人になる必要があるのか あなたは,自分の作…

Linux上でシェルが実行される仕組みを,体系的に理解しよう (bash 中級者への道)

バッチのまとめTOPへ bash 初級者は,簡単なコマンドが並んだだけの小さなスクリプトを書くことができる。しかしシェルの動作原理をよく理解しておらず,一歩進んだことをやろうとするとつまずく。 シェルスクリプトの中級者になるためには,Linux上でシェル…

Javaで,private変数・privateメソッド・privateコンストラクタを,外部から呼び出そう (リフレクションの方法)

Javaでは,クラス内でprivate宣言されたメンバは,普通は外部からは呼び出せない。しかし,リフレクションを使えば,それも可能。 本エントリでは,以下のサンプルコードを示す。 (1) privateなインスタンス変数の呼び出し方法 privateなクラス変数の呼び…

JavaScriptでの例外設計 (throw,try-catch-finally構文のイメージと利用パターン)

JavaScriptプログラミングのTOPへ JavaScriptの例外(throw, try-catch-finally構文)の使い方について,以下の点を論じる。 (A)breakとreturnとthrowの比較 (B)throwを利用した設計のイメージ (C)throwの使いどころ (D)例外処理のサンプルコー…

JavaScriptで,クラスを継承する方法 (複数のサブクラスから共通クラスのプロトタイプを参照する)

JavaScriptプログラミングのTOPへ JavaScriptのコーディングでオブジェクトを扱う際,「インスタンスがちょっとずつ異なっている」という場合は,その自由度に見合ったクラス(=プロトタイプ)を1つだけ定義してやれば事足りる。 しかし,それに加えて「ク…

JavaScriptで,オブジェクトやクラスの初歩を理解しているか,実力を確かめるための7つの質問 (サンプルコード付き)

スキルチェックの目次へ JavaScriptはオブジェクト指向のスクリプト言語。オブジェクトやクラスの扱い方の基礎を理解していない場合,開発の戦力にならない。 JavaScriptの業務スキルレベル 判別表 (5段階) http://language-and-engineering.hatenablog.j…

Ruby on RailsのModel内に記述するメソッドの分類表

Ruby on Railsで,子モデルクラスに記述すべきメソッドの,分類済み一覧表。 「子モデル」とは, DBにアクセスするクラス。 そのクラスのインスタンスオブジェクトがアプリ全体で持ち回され,単一のレコードを扱う上で便利な働きをする。 これに対し,「親モ…

コマンドプロンプトから,Win32 APIや任意のDLLを呼び出して実行しよう (コマンドプロンプトから画面キャプチャする方法の仕組みを理解)

バッチのまとめTOPへ Windowsのコマンドプロンプト上で,Win32 APIなどのDLLを呼び出して実行する。例えば,コマンドプロンプトだけで,任意のキー操作イベントをエミュレートできる。 サンプルコマンド:コマンドプロンプトから,画面をキャプチャする。(P…

今から3分で,IE 上で .NET のDLLを動かそう (ブラウザ上で C# のコードを動かす方法)

今から3分で,Webページ上で,Microsoft .NET のコードを動かそう。JavaScriptにできない事も,.NETなら可能になる。 今回は,Windowsアプリ用のUI部品(カレンダー)を,Webページ上で使ってみる。 メモ帳さえあればよい。 Visual Studioは不要。 .NETの詳…