主に IT 技術を整理するためにメモ的に書き溜めています。少しだけフリーソフトもあるよ。コメントを残すには、 facebook を使ってください。

.NET で UserControl に Custom Event を追加する

.NET でカスタムイベントを UserControl に追加する方法を何度か調べている気がしたので、まとめておく。
たしか .NET 2003 のときは結構面倒くさかった気がしたけど、今はクラスに event handler 定義するだけでプロパティパネルにも簡単に表示させることができるんだね。

とりあえず環境
VisualStudio 2005 C# .NET


もっと読む

Plesk で open_basedir とか safe_mode の回避

Plesk で php 関連の作業していると、必ずといっていいほど毎回 open_basedir とか safe_mode のエラーではまり、その度に解決策を探しているので、とりあえずメモっておく。

今回の Plesk 環境は以下の通り。
Fedora Core 6
PSA-3.2.0


もっと読む

Auto Scaled Font with JavaScript

任意のテキストを、指定した幅に改行無しで一行に表示させたい時に、 JavaScript でフォントのサイズを変化させて実現する例。

HTML

<span id="scaled" style = "white-space: pre;">ここに動的に変化するテキスト</span>

JavaScript

Prototype.js 使ってます。

function fitFont()
{
    var fs = 40; // 標準フォント
    var fw = 300; // max width
    Element.setStyle($("scaled"), {"font-size": fs + "px"});

    while( true )
    {
        if( Element.getWidth($("scaled")) > fw && fs > 1)
        {
            fs -= 1;
            Element.setStyle($("scaled"), {"font-size": fs + "px"});
        }
        else
        {
            return;
        }
    }
}

ASP .NET C# で DB を Excel にエクスポート

GridView を使用してやる方法です。
GridView を使って Excel にエクスポートすると、どんな形式のクエリでも書式でもうまいことできるのでとても便利。

とりあえず環境
VisualStudio 2005
ASP .NET C#

簡単な手順
1) GridView と SqlDataSource を追加する
2) Select したいクエリを SqlDataSource に指定する
3) GridView の Columns を適切に追加したり書式とか整理したりする
4) GridView の RenderControl で出力してやる
これ見ても分からんのでコードを見るのがいいと思う。


もっと読む

Flash と JavaScript の連携

Flash から JavaScript の関数を呼んだり、 JavaScript から Flash の関数を呼んだりしたいことがかなりあって、どんな方法があるのか調べたときのメモ。
ただ単に呼び出す方法が分かっても、JavaScript と Flash のロードし終わるタイミングなんかもあって色々と厄介だったのでその辺の回避方法もついでに書いておく。


もっと読む

Flex で TitleWindow を resize 可能にする

Flex で何かと使える TitleWindow をマウスで普通のウインドウみたいにリサイズを可能にしてみた。
そもそもなぜこのコントロールはこんなに中途半端なんだろう。クローズボタンはあるのに。

基本 MouseEvent を拾ってるだけ。
その時のソース。


もっと読む

Flex で DataGrid に XML データをロードするには

単純に Web 上にある XML データをロードしたい場合は、 mx:HTTPService と mx:DeataGrid の dataProvider 属性を使って以下のように簡単にできる。

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
  creationComplete="xmldata.send()" layout="absolute">

  <mx:HTTPService
    id="xmldata"
    url="http://blog.enjoitech.jp/upload/33_datagrid.xml"
    useProxy="false"/>

  <mx:Panel title="xml data">
    <mx:DataGrid id="dgUser" dataProvider="{xmldata.lastResult.users.user}">
      <mx:columns>
        <mx:DataGridColumn headerText="Name" dataField="name" />
        <mx:DataGridColumn headerText="Gender" dataField="gender" />
      </mx:columns>
    </mx:DataGrid>
  </mx:Panel>
    
</mx:Application>

もし POST データを渡して動的に変化する値を取得するには。


もっと読む

HTML で画像サイズの比率固定したまま高さ幅制限


動的な HTML で様々なイメージサイズが想定されるイメージの width と height の比率は固定したまま、一定の高さと幅のスペースに収めたいときがある。
例えば AxB サイズの画像の幅と高さを固定したまま、 300x200 のスペースに収めたいという感じ。
高さが幅より高いときもあれば幅が高さより広い場合もある。
そんな時は css の max-width と max-height を使うと便利。


ただこれは IE6 では対応していないので、じゃーどうしようか。


もっと読む

Flex で HTML からパラメータを渡すには

Actionscript から Application.application.parameters クラスが使える。
まず HTML

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
	id="myflash" width="100%" height="100%"
	codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
	<param name="movie" value="myflash.swf" />
	<param name="quality" value="high" />
	<param name="bgcolor" value="#869ca7" />
	<param name="allowScriptAccess" value="sameDomain" />
	<param name="flashvars" value='my_param=hello'>
	<embed src="myflash.swf?my_param=hello" quality="high" bgcolor="#869ca7"
		flashvars='my_param=hello'
		width="100%" height="100%" name="myflash" align="middle"
		play="true"
		loop="false"
		quality="high"
		allowScriptAccess="sameDomain"
		type="application/x-shockwave-flash"
		pluginspage="http://www.adobe.com/go/getflashplayer">
	</embed>
</object>

このコードからパラメータ my_param を取得するスクリプトが以下

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="initVars()">
	<mx:Script>

		<![CDATA[
			import mx.controls.Alert;
			[Bindable]
			private var param:String;

			private function initVars():void
			{
				Alert.show(Application.application.parameters.my_param);
			}
		]]>
	</mx:Script>

Flex で swf 自身のパスを取得するには

Actionscript で以下のように参照できる。
Alert.show(mx.core.Application.application.url);
ドメイン名だけを取得したければ、
Alert.show(URLUtil.getServerName(mx.core.Application.application.url));

Facebook Application の作り方

最近個人的にはまってる Facebook アプリケーションを開発したときのメモ。
まだそんなに日本では有名じゃないけど、こういう形の Web アプリは個人的に好きだし、こういうアイデアを知っておくととても面白いと思う。
しかも Facebook アプリの作成は比較的簡単にできる。
とりあえず今回の環境は以下の通り。

CentOS-4.4
PHP-5
App URL: http://www.enjoitech.jp/facebook_dev/

実際は php 以外の言語でも非公式ながらそこそこライブラリがそろってる。


もっと読む

Flash Player の z-index

Flash Player の上に css の z-index で何かをかぶせたいときは、 Flash Player に param タグで wmode っていうパラメータを指定してやらないと駄目らしい。

<object type="application/x-shockwave-flash" data="hoge.swf">
<param name="movie" value="hoge.swf" />
<param name="wmode" value="transparent">
</object>

あとは z-index で調整する。

古い php mysql lib から 新しい mysqld にアクセスする

古いバージョンの php から新しいバージョンの mysql にアクセスした際に、こんなエラーをくらうことがある。

Warning: mysql_connect(): Client does not support authentication protocol requested by server;
consider upgrading MySQL client in *.php on line *
couldn't connect: Client does not support authentication protocol requested by server;
consider upgrading MySQL client

MySQL のパスワード認証方法が 4.0 から 4.1 でちょっと変わった事が原因。
サーバ側で php が新しくなるまで old password を使うように設定してやればいい。

# vi /etc/my.cnf
...
[mysqld]
old_passwords=1
...

もしくは、 mysql のユーザのパスワードを古い形式に変更してやる。

$ mysql
mysql> SET PASSWORD FOR user_name = OLD_PASSWORD('user_password');

Zend Framework + QuickForm + Smarty

今まで mojavi 、 symfony と php のフレームワークを使ってきたわけだけど、今回 Zend Frameworkを使ってみて明らかに一番使い易かった(入りやすかった)ので、ちょっとそれについてまとめておこうかなと。
# Cake はソースコードを見た時点で使う気うせた。。

まあ zend がやってるってことで、少くてもやっておいて損は無いかと。とりあえず QuickForm と Smarty は手放せないので、その当たりを交えてうまいこと C-MVC を構築する方法のメモ。

環境
CentOS-5
php-5.1.6
Zend Framework-1.0.1
QuickForm2-1.4
Smarty-2.6.18


もっと読む

Smarty で変数の数を取得する

例えば
$myarr = array(1, 2, 3);
$smarty->assign("myarr", $myarr);
と php 側でやった場合、
{$myarr|@count}
で取得できる。

Ruby on Rails on CentOS 5

新しくアプリケーションのネタが浮かんだので、せっかくだから ruby on Rails でやってみようと思いとりあえずセットアップまでしてみた。
今回は CentOS 5 だけど、サーバは 4 なので、そちらもセットアップしたら違いを追記する予定。
とりあえず、 RPM パッケージでセットアップできるものは以下のとおり。

ruby
ruby-devel
rdoc
mysql
mysql-server
mysql-devel
and dependencies.
もっと読む

QuickForm で複数項目を必要とする custom validation rule の作成

HTML_QuickForm_Rule クラスを継承したクラスを定義し、その validate 関数を加工してやればできます。
よく使う年月日を別々のテキストボックスで入力させてチェックさせたい場合などを例にします。

class IsDateExist extends HTML_QuickForm_Rule {
	function validate($value) {

		for ($i = 0; $i <= 2; $i++) {
			if (! ereg ("^[0-9]+$", $value[$i])) {
				return false;
			}
		}
		return ( checkdate($value[1], $value[2], $value[0]) );
	}
}

PHP Smarty で文字列の連結をするには

|cat: を使ってやります。
例えば $str1 と $str2 をくっつけて間に "_" をいれて $str3 を連結したい場合を例にすると。

value = {$str1|cat:$str2|cat:"_"|cat:$str3}

.NET で Exe 形式のファイルを出力する Exe を作る

zip ファイルなどを圧縮した際に、自己解凍形式のファイルを出力するソフトとかあるじゃないですか。
あんな感じで exe ファイルを生成するソフトの .NET 版を作ってみたいなと思い、色々リサーチしてみたので、その時のメモ。
実は .NET には CSharpCodeProvider というとんでもないクラスが存在しているので、これを使ってみました。
今回開発した EnjoiCrypto にもこのテクは使っています。
一応環境。

.NET Framework 1.1/Mono 1.2

もっと読む

.NET C# File/Directory tips

.NET C# のファイル、ディレクトリ操作関連のチップスです。
もっと読む
ページ: | 1 | 2 | 3 | 4 | 5 |
フリーソフトウエア
EnjoiFLV
EnjoiPacket
EnjoiCrypto
ランキング
rank2, rank3, rank7, rank10, rank11
todo メモ
facebook 対応
ページ処理
RSS feed
検索機能
認証いる?
更新日表示
実はカテゴリ機能
多言語
実はユーザ機能
ソースその内公開
動作環境メモ
php-5.1.6 with PDO
SQLite-3.3
IE6
FireFox-1.5
RSS
非認証

検索
Google