Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

2014-01-01から1年間の記事一覧

第3回 生成に関するパターン Abstract Factory

Design Patterns 第3回 生成に関するパターン Abstract Factory 前回のリンク 生成に関するパターン Abstract Factory Abstract Factoryパターンを使うことで、それぞれの具体的なクラスを特定することなく共通のテーマを持った個々のファクトリをカプセル化…

Windows上でLinuxを使おう CentOS 6.5 on VMware Player

たまたまここを見てしまった人。興味ないよという人! これをやればあなたの好きなMacのOSX的なOS(Pear OS ナシOS)も 気軽にインストールできますよ! ただし今回はRHELクローンのCentOSですが。 超細かく解説していきますので、これであなたもLinuxユーザに…

第2回 生成に関するパターン Factory

Design Patterns 第2回 生成に関するパターン Factory 前回のリンク gup.monster 生成に関するパターン Factory 単一の派生クラス群からインスタンスを生成するユーティリティクラス ファクトリーデザインパターンは共通の基本型から派生しているたくさんの…

第1回 生成に関するパターン Builder

2020-07-30 Design Patterns 第1回 生成に関するパターン Builderデザインパターンの本を買いましたが、 コードが断片化して書かれているためか理解できず……。 そんなとき、WikiBooks(CC-BY-SA 3.0)でいいサンプルを見つけたので、 翻訳して、ソースコードを…

Javaのファイル読込みの定型パターンは?

Javaを使い始めて日が浅い僕ですが、Javaのファイル読込みのエラー処理の仕方ってサイトを見るとみんな微妙に違うんですよね。 ぼくはこうするのがいいんじゃない?と思ってるんですが、世間のJavanese(Javaを使う人)はどうしてるんでしょ。ちなみにJavaづか…

C++の名前空間と前方宣言について

最初にざっくり説明すると、C++の名前空間はC#にある名前空間と同じ概念です。Javaでいうとpackageに近い概念です。 前方宣言(forward declaration)はC++特有のものだとおもわれます。 前方宣言について あるクラスで包含(コンポジション: Composition)をし…

STL入門 第3回 ~list編~

過去のSTLの記事はこちら↓ 入門記事というよりただの自分の勉強記録になり下がってるのは仕様です。listはSTLコンテナでvectorに似ています。シーケンシャルアクセスをサポートしています。前からも後ろからも。ただし、vectorのようなランダムアクセスはサ…

STL入門 第2回 ~vector編~

第1回目はこちら↓ ってかこっちのほうが第1回っぽいのは気にしないでください。STLにはコンテナというテンプレートクラスでできているオブジェクトの入れ物があります。 大きく分けて、シーケンスコンテナ(Sequence Container)、連想コンテナ(Assosiative Co…

プログラムからBitmap画像を扱う(VC++) 1回目

今回使う画像です。使う画像は背景をキャプチャして切り取ってビットマップ(Bitmap)として保存したものです。ここからDLしたものを使わせていただきました。 何回かに分けてビットマップ画像を扱う特集をやろうと思います。Windowsな話です。 扱いが簡単なビ…

TopCoderはじめてみました SRM516 Div2 Easy NetworkXZeroOne

TopCoderっていう競技プログラミング的なものがあるんですが、 僕はアルゴリズムってか考える力が少し弱いと思ったので、気が向いたら今後もやろうと思います。 競技プログラミングと聞くとすごい敷居が高いように感じられますが(もちろん上級向けの問題は…

C#で日本語ソースコードを避ける方法 ~メニュー&データセット/データテーブル~

備忘録を兼ねて書きます。C#でFormを日本語で作っていると、 C#の自動生成コードがそのままで日本語になってしまうので、 それらを使う側のコードも日本語を使うことになり、 実害はないんだけれどもこれは精神衛生上よろしくない… なんて思いの方は多いかと…

C++11が便利すぎる 正規表現 ~regex編~

C++11になってから複雑怪奇さをより増した一方で、 実はめちゃくちゃ使いやすく便利になっていることに最近気づき始めました。 ここで紹介するコードはC++11に対応しているものでないと実行できません。 Visual Studioだと2013以降です。 g++だと -std=c++11…

C/C++で行数を数えるときの注意とwcコマンド

C/C++を使っているとファイルを読んで、メモリ上にデータを格納したいときに メモリをどのくらい確保する必要があるか調べるのに行数を数えることが多いかと思います。 だいたいは以下の様なコードを書かれたことが多いのではないのでしょうか? 私はよほど…

STL入門 第1回 ~algorithm編~

2020-10-13 C++使うなら最低限STLくらいは知らないといけないだろうということで勉強中です。 STLくらいっていうけど結構ここから険しい道の入口なんですけどね…。 他の言語に比べて気持ち悪いシンタックスが増えるし、 どういうわけか覚えにくい……なんでだ…

Javaからメールを送信 ~迷惑メール業者を駆逐してやる~

サブタイトルは冗談です。 本当にこの手法を使ってものすごい勢いでメールボムを作ると法律に抵触します。ある程度細かく説明していますが、一定の知識がない人にはできないと思われるため、 まぁ小学生みたいのには悪用されないだろうと思い、 書きます(凄…

Javaを使ってBOM付きUTF-8でハマる

Javaのサーバアプリにクライアント側からPOSTで文字列でXMLを送りつけたらXMLの解析時にパースエラーになって1時間ほどハマった時の話。 結論を先に言いますと、BOM付きのまま文字列としてサーバに送信してしまったのでJAXBでコケた。ということです。対策と…

.vimrcのシンプル設定

テキストエディタVimの設定です。僕の.vimrcを晒します。 拘る人はめちゃくちゃ書くんでしょうけど、しょっちゅう違う環境で設定をやるハメになるので、なるべくシンプルに……。 ちなみに僕は最近どんな環境でもVimを入れてしまう一種の病気になっています。 …

C++でファイル読込み パターン別まとめ

C++

2020-07-30 C++でのファイルの読み込み方法のまとめです。 よく使われるCでもできる方法以外の 標準C++ライブラリを使ったファイル読込み方法です。 Visual C++ 2013とg++で確認しました 4パターン用意しました。 1. char *型に一行ずつ読込む 2. string型…

コマンドプロンプトの%~dp0について

コマンドプロンプト使ってて不便すぎる あぁ… なんて普段シェルを使っている人は思っていますよね。 いちおういまのコマンドプロンプトは結構便利です。 拡張構文というのを使えば、 実行ファイルのディレクトリなどが簡単に調べられます。たとえば pwd.bat …

プロジェクトテンプレートの作成

少し暖かくなってきましたね。 今日はVisual C++プロジェクトテンプレートの作り方です。 あれ~また、同じものを書いてるよー。 WinMainを何回も何回も書いてるしーうわー。とかね。そんなのを解消するために プロジェクトテンプレートがあります(Cスタイル…

AndroidからiPhone 5sに連絡帳データの移行

AndroidからiPhone5sに移行しました。一括ゼロ円に目が眩んで長年使っていたauにおさらばしてキャリアを移動してSoftBankにしました。これから2年おきに渡り鳥みたいな使い方をするでしょう……。 で、困ったのが、あっ、連絡帳どうやって移行すんだべ?って…

Direct2DとWindows Imaging Component(WIC)で透過PNGを表示

Direct2Dを使ってPNG画像を表示するいい方法はないか模索していたところ、 Windows Imaging Component(WIC)というのを見つけましたが、しばらくこれどうやって使うの? 状態が続いており、いろんなサイトを読んでみるも挫折…… と思ったところ神!!!といえ…

デフォルトで用意されているプロジェクトのコード修正 Visual Studio

Win32 プロジェクトのInitInstance内のインデントがおかしい……。 どのバージョンで同様のことがおこっているかわかりませんが Visual Studio 2013では 新規作成でのウィザードからWin32 プロジェクトを作ると自動で作られるひな形の BOOL InitInstance(HINST…

可変長引数(va_list, va_start, va_arg, va_end)を扱ってみた。

他の人のソースコードをみて、va_listを使っているのがあって、そういえば、自分では使ったことがなかったなと思い、可変長引数を受けとって処理するva_list, va_start, va_arg, va_endを使ってみました。 おおまかな使い方は行かな感じ。 void hoge(const c…

いまさらながら Apache Struts 1.3.10 + Eclipse 環境構築

いまさらながらStrutsの開発環境を構築しよう!っていうお話です。 さて、どうしよう……。Javaといえばeclipseですね。そうですね。 別にメモ帳で書いてもいいんだけどさ。いや、やだ。 以下、とりあえず動かすのに最低限の記述を。とっかかりって大事ですよ…

MSXML 6.0を使ってみた

Microsoft謹製のMSXML 6.0っていうXMLパーサを使ってみましたよ。 っていうかこれマジモンのCOMじゃないすか。かかわりたくない。COM…。 BSTRとかVARIANTとか出てくるのでびみょーな感じです。回避方法あるのかもしれないですが。調べようと思ったけど英語の…

DirectX(DirectX 9)とWindows SDKについて

Windows8(Windows7も含む)DirectXを使おうとしてちょっとあれれってなったので記事を書きます。 DirectXで開発するためにはDirectX SDKが別途必要です。当然ランタイムだけではダメです。 しかし、Windows7以降はWindows SDKと統合されているので、Visual St…

Win32++を使ってみた

毎回自分でWIN32APIのひな形だったり めちゃくちゃ薄いラッパー書くのめんどくさいですよね。 …WIN32APIのひな形だけならVC++が自動で作ってくれるけどもC言語の構造化プログラム丸出しで あぁ…って感じのしか作れないから……。 かといってATLやMFC使うまでも…

通知領域アイコンのゴミ掃除

タスクバーに表示されているアイコンと通知のところでカスタマイズって選ぶと、 通知領域アイコンのウィンドウが開いて、 タスクバーに表示するアイコンと通知の選択って書いているところに アイコンと動作設定が一覧で表示されますが、 よくここに消したは…

Visual Studio Tools for Git

Visual Studio 2013にアップグレードして、 お、なんだこりゃ?と目に留まったのが、 チームエクスプローラーにあった Visual Studio Tools for Git これは無料版のExpressにも2013から標準装備だそうな。 なんかGit使えないやつはタヒね!!みたいなあれで…