投稿

4月, 2011の投稿を表示しています

[xyzzy]Task barに表示されるTitleを変更(File Pathを表示)

Task barに表示される名称を変更できることに気づいた。下記Siteを参考に。 xyzzy - 各種設定 html/OChangeLog.htmlにも詳しく記載されている。 .xyzzyに追記。 (setq-default title-bar-format "%#f - %p") ;;タイトルバー(タスクバー)の表示 これはFile Pathとプログラム名を表示する設定

Windows7 SP1のInstallが失敗 >> 成功せず

イメージ
会社PC(HP Pavilion P6000 Series)のWindows 7 Home EditionがService Pack 1のInstallで失敗する。 Detailsをクリックすると こちらのSite に飛ばされて、「システム更新準備ツール」を使えと表示される。 x64 ベース システム用 Windows 7 のシステム更新準備ツール (KB947821) [2011 年 2 月] 300MBのFileをDownload >> Install >> SP1 適用 してもまた失敗。この後は ここ を参考にWindows Updateを停止。 C:\Windows\SoftwareDistribution\Download C:\Windows\SoftwareDistribution\DataStore にある一時Fileを削除 Norton Internet SecurityのAntivirus Auto-Protectを6時間停止。 Windows Updateから[Check for updates](20分ぐらい) SP1だけ選択してInstall これでも失敗。 KB2510531を先にInstallしてみる。 Norton Internet SecurityのControl Panelからいろいろな監視機能を停止。 IE9をInstallしてみる。 Norton Internet SecurityをまるっとUninstall これだけやっても出来なかった。Windows Updateで行うと毎回Downloadから始まるので、下記からDownloadしておくと時間短縮できる。 Windows 7 および Windows Server 2008 R2 Service Pack 1 (KB976932)   関係ないけど、Windows7(英語版)にIE9(日本語版)をInstallしようと思ったけど出来なかった。

imode.netがIE9に対応してくれないのでIETesterを使う

Singaporeに来てからは、 imode.net を使って日本の友人や親と連絡を取るようになった。でもimode.netはIE9に対応してくれてない(2011年4月26日現在)ので、UpdateしてしまうとLogin出来ない・・・。 Webpage error details User Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; HPDTDF; .NET4.0C; InfoPath.1) Timestamp: Wed, 27 Apr 2011 03:22:46 UTC Message: Unable to get value of the property 'kana': object is null or undefined Line: 1 Char: 35774 Code: 0 URI: https://imode.net/imail/oexaf/ajs/common1.js ふと思い立って、開発で使っている IETester を使ってみると・・・普通に使えた! これで心置きなくWindows Update出来る。 IE9は無視できないと思うので、そのうち対応すると思う。   < Related Posts > 海外生活で日本の携帯はどうする?Docomo F-01Cに機種変   < 2011/05/04 Modified > でも遅いし、crashするので、おとなしくモバイルモードで使っている。 < 2011/05/14 Modified > Mobile Modeだと添付Fileが閲覧できない。しょうがなくVMware上のWindowsで使うようになったけど、一般の人はそんな環境もないので困るんじゃないかな?(そもそも一般の人はimode.netを使わない?)。これ有料Serviceだよね?

Google AccountとGoogle Apps Accountを切り替えて使う

Google Appsと@gmail.comのAccountをSeamlessに切り替えたくて調査したMemo. 最近Google AppsのAccountとGmail Accountが統合された(同じCookieを使う)ので、(同じBrowserで)切り替えるためにはLogoutするか、Multi Loginを利用する必要がある。 基本情報とスタート ガイド: 複数のアカウントを同時に使用する Multi Loginは思うように動かなかったので使うのを止めた。今まではIEを@gmail.com専用で使っていたけど、もっとSmartな方法はないものかと検索。 スタート ガイド: 複数アカウントを使用するその他の方法 試したのがここに書いてある。 Google Chromeで複数のプロフィールを使う方法 が良さそう。 Profileを保存するfolderを選択する( SugarSync で同期すると便利) Desktopにshortcutを作成 ChromeのThemeを変更して一目で分かるように ついでにIconも変更( ここら辺 からico fileをdownload) 本当は完全に結びついてほしいけど、google先生が対応してくれるまではこれで我慢。

[Blogger]Google Webmasterのsitemapが無効になっていた

イメージ
何となく Google Webmaster を見ていたらBloggerのSitemap Statusが無効になっているのに気づいた。 検索してみると下記Blogで説明されていることかと思ったら違うみたい。 Blogger beta と Google Webmaster Tools (Google Sitemaps) 私の場合はBloggerのFeedを FeedBurner を使って管理しているので、そこにRedirectするのが原因みたい。下記Blogを参考にRedirectしないparameterを追加して登録し直したら解決。 Submit Your Blogger Sitemap to Google Webmaster Tools!

Bloggerの記事にFacebook, Twitterのshare linkを表示

前に見つけたscrollしてもついてくるjQuery Plugin を使って、Bloggerの記事にFacebookの like button とTwitterの tweet button を埋め込んだときのMemo. jquery-scroll-follow はjQueryとjquery UI Coreが必要なので、Google Libraries APIを使う。 困ったのがBloggerにJavaScript Fileを添付する機能がないので、どこか外部Serverに置いて参照しなければならない。これはGoogle Sitesに置くことにした。 前の記事 を参考に。 あとは実際にBloggerの管理画面の「HTMLの編集」で「ウィジェットのテンプレートを展開」にcheckしてScriptを埋め込む。 head tag内に以下を埋め込む <!-- Start Share Links Script and CSS--> <b:if cond='data:blog.pageType == &quot;item&quot;'>   <script src='https://www.google.com/jsapi?key=google-api-key' type='text/javascript'/>   <script type='text/javascript'>     google.load(&quot;jquery&quot;, &quot;1&quot;);     google.load(&quot;jqueryui&quot;, &quot;1&quot;);   </script>   <script src='https://sites.google.com/site/hoge/jquery.scrollfollow.js?attredicts=0' type='text/javascript'/>

[CentOS]Xampp for LinuxのProFTPDを設定

外部からAccessする人のために設定したときのMemo. 環境はCentOS 5, Xampp for Linux(Lampp) 1.6.8a 通常はlinux userを使ってhome directoryにAccessする使い方だけど、/optの下で公開用のdirectoryを管理しているので、ここに別々のuserで別々のdirectoryにloginさせたい。 参考にしたのは 公式siteのExample configurations . # /etc/rc.d/init.d/lampp security をやっている前提。loginさせるhoge1, hoge2をLinux userとして追加する(home directoryは作らない)。passwordも設定する。 # useradd -M hoge1 # passwd hoge1 # useradd -M hoge2 # passwd hoge2 ProFTPDの設定fileに以下を追記。 # vi /opt/lampp/etc/proftpd.conf <VirtualHost ftp.hoge.com>     ServerName       "FTP Server"     DefaultRoot      /opt     AllowOverwrite   yes     #まずは全てを隠す     <Directory /opt/*>         <Limit ALL>             DenyAll         </Limit>     </Directory>     #hoge1に見せるdirectory     <Directory /opt/dir1>         <Limit ALL>             AllowUser hoge1             DenyAll         </Limit>

Singaporeで郵便番号(zip/postal code)を調べる

最近引越しした所の郵便番号(zip/postal code)を調べたMemo. こちらのSiteでkeywordを入力すると検索してくれる。zip codeから住所を検索できるので確かめるのにも使える。 http://www.streetdirectory.com/

[CentOS]lessから起動するEditorをnanoからviに変更

CentOSのDefaultのEditorをviに変更したときのMemo. VPS(Virtual Private Server)を最小構成で借りて、設定Fileを編集しようとするとnanoが起動する。viに慣れているので使いかってが違い過ぎて嫌。 lessを使って参照してから[v]でEditorを起動するやり方をしているので、その変更方法。lessのmanualを見ると # man less 環境変数のVISUAL or EDITORを使うみたいなので # vi ~/.bashrc EDITOR=vi VISUAL=vi export EDITOR export VISUAL 反映させる。 # source ~/.bashrc 環境変数を確認するときは # printenv

Bloggerにfacebook用のOpen Graphを設置

このBlogにfacebookのlike buttonを設置したので、Facebook用の Open Graph Tagを設置したときのMemo. Open GraphはSocial Graphを作成するときに利用されるProtocol(規約、約束事)。Facebook, MixiなどのSNSから「like」or「イイネ」されてSocial化されたときにsiteの要約をSNS側に通知することができる。 詳しくは下記。 [IT戦記]フェイスブック、ミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か Bloggerへの設置方法は下記siteにあるcode をdashboard → design → edit html からheader tagに挿入して保存。 Facebook Open Graph protocol For Blogger 確認は Facebook Tools URL Linter で。 ちなみにSocial Graphの記述方法は Xhtml Friends Network(XFN) というのもある。最近wordpressのthemeにrel属性があるのは、これを表現しているからみたい(?)。 これはまた今度調べる。   < 2011/12/03 Modified > 各記事をLikeしたときに表示される画像を このService を使って表示させるように設定した。 Debugger でWarningがでるので、og:localeも追記 <meta content='ja_JP' property='og:locale'/>   < Related Posts > Bloggerの記事にFacebook, Twitterのshare linkを表示 Bloggerにfaviconを設定してみた

[jQuery]z-indexを使わずに特定の要素を前面に表示する

Design重視のweb siteの場合に、HTMLの構造を無視してTitleだけ全ての要素より前面に表示したい場合がある。 z-indexをゴニョゴニョすることで解決する場合もあるけど、なぜか前面に出てくれなかったので無理やり前面にするやり方。 追記: 出来なかったのは親要素をoverflow: hiddenにしてたから。 考えた末に jQuery UI でも使っているようなbodyタグにappendして、positionを設定する方法にした。jQuery UI 1.8から position というUtilityが追加されているので、これを使うとサクっと実現できる。 Sample Script jQuery(function(){     var jSelect = jQuery("#tag-id");     var jParent = jSelect.parent();     jQuery("body").append(jSelect);     jSelect.position({       my: "left top", at: "left top", of: jParent, offset: "-20 -10"     }); }); tag-idのタグを一度bodyタグの直下に移動させてから親要素だった位置に戻す。offsetで少しだけ左上に移動させている。   <追記> この方法timingによって、表示されなかったり安定しない。setTimeoutも使ってみたけど、2つ以上要素があるとfirefox以外ではズレる。cssのpositionを使った方が安全。 まぁ、こんな方法もあるという感じで。

PHPのframeworkとCMS(wordpress or joomla or drupal)の人気

イメージ
今後開発していく上でどのframeworkやCMSを使っていくべきか調べたmemo. 世界中でどれくらい人気があるかは Google Trends を使うと分かりやすい。 CakePHP, Symfony, Zend Framework, CodeIgniterの比較 表示速度、開発のしやすさ、Communityの活発さなど全てを考慮したRankingだと思っていいと思う。 最近は CodeIgniter がいい感じらしい。 ちなみに前は guesswork を使っていたけど、これは開発が止まっているみたい。   今度はCMSで調べてみる Wordpress, Joomla, Drupalの比較 wordpressの人気が顕著。joomlaとdrupalも使ってみたいけど、しばらくはwordpressでいこうと思う。

[Wordpress]適用されるfilterとactionを表示する

wordpressはfilterとactionをいろんなtimingで実行できる仕組みを用意しているけど、debugするときにどのfilterやactionが適用されているのか分からなくて困る。 filterとactionの一覧を表示するには$wp_filterというglobal変数を表示すると分かる global $wp_filter; var_dump($wp_filter); 詳しくはwp-includes/plugin.phpに書いてある。   <Related Posts> Wordpress 開発リファレンスのリンク集 【PHP】オブジェクトと連想配列。相互変換する

[jQuery]Scrollしても位置を固定のままにしてくれるPlugin

イメージ
Mashable のように記事の横にtweetとfacebookのlike buttonを表示する方法を探してたときのMemo. jQuery Scroll Follow を使うと良さそう。特定の範囲だけscrollするように設定することができる。導入するには sample を見てcssも設定する必要あり。 こんな感じで実装。

[Change Log][Blogger]BlogのLayoutを変更

イメージ
Change Log BloggerのPage機能を使ってネコ写Gadgetをそっちに Home Pageに表示する記事数を3に Sidebarのfacebook, twitterのgadget(share link)は削除 詳細記事を表示したときだけshare linkを表示するようにCustomize Google Webmaster のSite Performanceがどう変化するか楽しみ。 ↓今のところはこんな感じ。 < Related Posts > ブログ(Blogger)のテーマ(デザイン)を変更してみた

WordPressのTheme画面から(Loginせずに)Ajaxで通信

Wordpressのpluginを作っていて、Ajax通信をするときにハマったMemo。 環境: WordPress 3.1.4 まずは参考Siteから AJAX in Plugins - WordPress Codex 日本語版 AJAX - WordPress Codex(公式サイト) AJAX in Plugins | WordPress Codex   < 2013/01/02 Modified > WordPress 3.5にUpgradeしたらwp-load.phpをtargetにするとhookしてくれなくなった。 公式Site にあるように admin_url('admin-ajax.php'); へRequestする必要がある。 hookするには add_action('wp_ajax_my_action', 'my_action_callback'); add_action('wp_ajax_nopriv_my_action', 'my_action_callback'); "_nopriv"はLoginしていない場合。 ajax通信の場合は"DOING_AJAX"が定義されるので、これを内部で使って分岐することも出来る。詳しくはamin-ajax.phpを参照。     loginしている(管理画面)前提ならadmin-ajax.phpに向けてaction parameterを付けてPOSTすれば、wp_ajax_(action名)にhookできるので簡単。 loginしていない状態からはhome_url('/wp-load.php')をtarget先にしてajax通信をする。あとはplugin側でinitとかにhookすれば出来る。 function hoge_custom_function() {     if (!empty($_POST['action']) ){         if ($_POST['action&

IEのAjax通信をDebugするときにPOST情報を表示「Fiddler2」

イメージ
Wordpressの開発をしているときにIEのAjaxだけ失敗するので調査したMemo。 jQuery を使ってAjax通信を行うときにfirefoxでは firebug を使えばPOSTされる内容を簡単に確認できる。 IE(Internet Explorer)ではDeveloper Toolsを使えば出来る?と思ったけど、それらしい項目がない。しょうがないので「 Fiddler 」というApplicationをInstall。 このSoftはHTTP通信を監視してくれる。 Browserに関係なく全てのHTTP通信が表示されるので、どんなSoftがどんな情報を送信しているかも分かる。 Process Filterを使えばIEのProcessだけ監視とかも簡単にできる。 結局、wp-ajax.phpに対してloginせずPOSTしていたのが原因だったのだけれど・・・。 下記記事も参考に。 [Wordpress Codex]AJAX in Plugins

Windows Live MailからThunderbirdに乗り換えた

前の会社ではGoogle Appsを導入していたので、Mailを全てcloudで管理していた。SingaporeではMail環境をどうしようか迷ったときのMemo。 OSはWindows7。結局 POP3 server → Gmail(Tagを付けてServerにMessageを残す) POP3 server → Thunderbird(1日前のMessageは削除) → 返信(BCCに自動でGmailのaddressを追加) という感じにした。ちなみにGmailは独自DomainのGoogle Apps。SMTPの設定をしておけば外出先からでもGmailを使って返信が出来る。 最初は Windows Live Mail を使っていたけど、 Thunderbird の方が圧倒的に使いやすかった。理由は下記。 WL Mailは自動でBCCに特定のAddressを設定することが出来ない WL Mailは新着MailをPopupで通知する機能がない( New Mail Attention がオススメ) Thunderbirdの Google Contacts addonを使えばGmail(Google Apps)のAddress張と同期できて幸せ Display Mail User Agent Extension も相手のMail Clientが分かって面白い。   <関連記事> Thunderbirdのアドレス帳をGoogle Apps(Gmail)の連絡先に移行 【メモ】Thunderbirdアドオン

Xampp for Linuxを別Portで起動する設定

すでにいろいろなServiceが動いているServerに一時的に切り分けた環境を構築したくて設定したMemo。 環境はCentOS Xampp for Linuxは 公式site からDownload。まずはそれぞれのconfig fileを編集してportを変更する。 [apache] lampp/etc/httpd.conf Listen 80 ServerName localhost:80 [apache] lampp/etc/extra/httpd-ssl.conf 「443」で検索して適当なport noにする。 [mysql] lampp/etc/my.cnf(2箇所) port            = 3306 [proftp] lampp/etc/proftpd.conf Port                            21 lamppの起動Scriptを編集。 # cp /opt/lampp/lampp /etc/rc.d/init.d/ # vi /etc/rc.d/init.d/lampp 80, 443, 3306, 21で検索してそれぞれ置き換える。その他Xampp for Linuxの基本的なinstallは 前の記事 も参考に。起動してみる。 # /etc/rc.d/init.d/lampp start # /etc/rc.d/init.d/lampp security phpMyAdminもportを変更。 # vi /opt/lampp/phpmyadmin/config.inc.php $cfg['Server'][$i]['host'] = '127.0.0.1'; $cfg['Server'][$i]['port'] = '3307'; これを追記。 Firewallの設定も忘れずに。 FTPの場合はpassive modeを使えない(既に別のFTP serverがいるから)ので、FileZillaでaccessする場合は、転送設定 → activeにして接続しないと認証は通るけど、fi

XAMPP for Linux(lampp)でphp4の環境を整える

お客様の環境がPHP4なので、PHP4の環境をInstall、設定したときのMemo。 環境はCentOS5 XAMPP for Linux を使うと早い。 前の環境はMySQLのDatabaseだけexportしておいて、renameするだけでよい。version1.7からphp4が削除されているので、 こちら から1.6.8aをdownloadする。 あとは普通のXAMPPと同じ。一応commandをMemo。 # /etc/rc.d/init.d/lampp stop # cd /opt/ # mv lampp lampp-1.7.1 # rm -f /etc/rc.d/init.d/lampp # tar xzvf xampp-linux-1.6.8a.tar.gz # rm -f xampp-linux-1.6.8a.tar.gz # cp lampp/lampp /etc/rc.d/init.d/ # /etc/rc.d/init.d/lampp start # /etc/rc.d/init.d/lampp stopssl # /etc/rc.d/init.d/lampp stopftp # /etc/rc.d/init.d/lampp php4 # /etc/rc.d/init.d/lampp security # cp -r /opt/lampp-1.7.1/etc/conf.d/ /opt/lampp/etc/ # vi lampp/etc/http.conf User apache Group apache # conf.d Include etc/conf.d/*.conf # /etc/rc.d/init.d/lampp restart xamppのStart Pageにaccessして確認。権限でErrorになる場合は # chown apache. /opt/lampp/htdocs/xampp/*.tmp # chown apache. /opt/lampp/phpmyadmin/config.inc.php   <関連記事> Xampp Fo

Subversionの認証にMac ServerのOpen Directoryを使う

前の記事 ではOpen Directoryの設定まで。次は実際にUserを追加してOpen Directory + Apache + Subversionを連携させる(誰がcommitしたのか分かるようにする)。 Mac OS X Server 10.6.6 Snow Leopard(Mac mini) Userを追加するのは下記記事を参考にした。 Leopard ServerのPodcast Producer--WebサービスとXgridを設定しちゃおう Workgroup Managerを起動して、右上の鍵MarkをClick。rootの権限でlogin。Userを追加するのは直感的に出来ると思う。 User or Groupを追加したら、Subversionの設定。基本的にOpenLDAPを使う場合と変わらない・・・と思って設定してたらハマった。 Open Directoryを使う場合は Digest認証 というのを使うらしい。Server Admin → Web → Setting → Modulesから、 auth_digest_apple_moduleを有効にして、apple_digest_moduleを無効にする 。 ここ に一緒に使ってはダメと書いてあったので。 ※apple_digest_moduleだけ有効でOK Web → Sites → (siteを選択) → RealmsからWorkgroup Managerで追加したUser or Groupを選択。Permissionの設定をしておく。これでSave。 次はTerminalから直接apacheの設定を変更。下の例では「DeveloperGroup」がSubversionにAccess可能なUserGroup。 $ sudo less /etc/apache2/sites/0002_any_8080_.conf subversionのために追記したDirectiveに次のように追加。 <Location "/svn">     DAV svn     SVNListParentPath On     SVNParentPath "/svnroot/Repos