サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
体力トレーニング
www.sunvisor.net
サーバー上にあるファイルをエクスプローラーで右クリックするとなんか遅い,20秒程度待たされる,という現象が発生しました。あるサーバーではOKだけど,あるサーバーでは発生します。原因は何なのかググってみると,WebClientが原因のようでした。 実は,以前に他の問題でWebClientが原因であると言うことがありました。ログオンに時間がかかるというものです。 Windows XP を実行するコンピュータでドメインにログオンするとき、またはネットワーク リソースに接続するときに、時間がかかる そのときは,ドメインコントローラーにてIISをたてて,Port80へのアクセスにとりあえず返事をさせるという方法で解決をしました。WebClientがWebDAVでの接続を試みてもIISでPort80に対してすぐにレスポンスしてやればいい,という発想です。各クライアントのサービスを停止するのもなぁ,と思
AccessのVBAで時間のかかる処理をすると,画面が更新されなかったり,Windowsから(応答なし)扱いされたりします。それをさけるためには,DoEventsを呼び出すのですが,なにも考えずに呼び出すとパフォーマンスが大幅に低下します。これをなんとかしようという試みです。 まずは「DoEventsをパフォーマンスを下げずに使う方法」というページに紹介されていた手法を使ってみます。 Private Declare Function GetInputState Lib "USER32" () As Long Public Sub CheckEvents() If GetInputState() Then DoEvents End If End Sub これは,GetInputState APIをコールして,待機中のイベントがあればDoEventsをコールするというものです。このCheckE
IT を活用していこうとするときに、ほんの少しの困り事が原因でその先に進めないということが多くあります。 Sunvisor Lab. は、そういったちょっとした困り事を解決するお手伝いをします。 こんなことはコンピュータにさせたら簡単にできるんじゃないだろうか? 毎日この手作業をしているけど、この手間が楽になったら、ずいぶん違うのだが。 事務を自動化できるようなシステムを入れたいけど、どうやったらいいのかわからない。 新しい事務所を作るのに合わせて、パソコンやネットワークを綺麗に構築したい。 このような要望やジレンマは、多くの企業・事業所で抱えられているのではないでしょうか。 また、すでに情報システムを構築している企業でも、 最新のソリューションから自社のシステムがどんどん離れていっている 社内システムをモバイルに対応させたいけど、どうしたらよいのだろう 社内システム Web に以降してい
SQL Server 2005 のサーバー側の関数で,文字列の半角/全角変換をしたいとずっと思っていました。ネットでググると,「SQL Server にはその機能がないので,REPLACE関数を羅列して解決するしかない」という記事(データの全角半角変換、、 - Database Expert - @IT)に当たり,そのコードを実装した記事(SQLServerでの文字列の半角文字から全角文字への変換)に当たりました。確かにT-SQLで実装しようとすると,その方法しかないでしょう。しかし,あまりにあまりな力業(^^; 一方,SQL Server 2005 からはSQLCLRというのが使えるはずです。それを使えばVB.NETで書いた関数を,サーバーサイドの関数にできるはず。AccessのMDBを使っている場合には,クエリの中でAccess VBAの関数を使えるので,StrConv関数を使って簡単
LDAP認証とActive Directory Webアプリを作る上では避けられないのがユーザー認証です。アプリケーションを利用できる人を制限したり,人によって利用できる機能を制限したりするためにはユーザー認証は必須になります。 CakePHP(1.1)のリファレンスガイドの付録Bには 現在のところ私たちは,ユーザ認証システムはアプリケーションごとに仕様が異なると考えて います。あるものはハッシュでパスワードを暗号化,別のものは LDAP 認証などという具合,そしてほぼすべてのアプリケーションの User モデルについて,少しずつ違いがある,といったことがあります。それで今のところは,あなた次第,ということにしておきます。 とあります。そういろいろな仕様があると思います。僕の開発するアプリケーションで必要となる認証方法は,DBにユーザー情報を持っておいて,それ でログインするというものと,
以前,「職場のサイボウズの予定をiPodで持ち歩く」という記事にて,サイボウズとGoogleを連携し,それをiPod touchで持ち歩くということをやってみました。これは,「サイボウズofffice8と同期するツール暫定版」という記事のおかげで実現できたことでした。対象のサイボウズ製品はOffice8でした。これはすごく便利だったのですが.... うちの職場のサイボウズがガルーン2に変わっちまいました。 この連携方法はスクレイピングという手法を使っているため,対象のシステムが変わると当然ながらうまく動きません。ただ,今はサイボウズ謹製のiPhoneアプリであるKunai Lite で予定を参照することはできるので,それを使ってしばらくは,同期をせずに使っていました。でも,やっぱり不便なんですよ。個人的な予定とサイボウズの予定が同じカレンダーに表示されるという以前の環境がとても使いやすかっ
CakePHPでのURLは, site.com/コントローラー名/アクション名/パラメータ1/パラメータ2 という形式だから, ExtJSからデータが欲しいときは,この形式でリクエストする。 それに対して,JSON形式でデータを返すViewでも作れば,CakePHPとExtJSの間でデータのやりとりができそう。 必要なパラメータと一緒にAjax.requestでリクエストする。 ExtJSでは,データストアのHttpProxyでURLを指定してやるとよいらしい。データストアは,ADOでいうDataSetみたいなものか。 cakePHP+ajaxでjsonを扱う - 憂鬱なプログラマの形而上学 CakePHPからJSONやXMLを返す方法は,Webserviceコンポーネントを入れるととても簡単らしい。 [CakePHP]actionの応答をXMLやjsonに切り替える超簡単な方法 |
現在作成中のアプリケーションは,イントラのサーバーに乗っけて,みんなに使ってもらうようになるので,その環境を構築しようと思い,CentOSのサーバーのPHPからOracleが使えるようにする設定をしました。そして,ハマりました。泣きました。できました。泣きました。で,そのときのメモです。 Oracle クライアントのインストール Oracleのクライアントは,Oracle Instant Client というのをインストールします。Oracleのサイト(Instant Client Downloads)から無料ダウンロードできます。(ダウンロードするにはユーザー登録が必要です) 参考サイト Oracle Instant Client for Linux を試してみる サイトから,Instant Client をダウンロードします。参考サイトのアドバイスにより次の三つをダウンロード。 Ins
Ext Designerの操作を学んでいて,結局マニュアルをちゃんと読むべきだという結論に達し,一念発起して英文のマニュアルを読みました。 http://www.sencha.com/products/designer/ のページに, Getting Started Guide (PDF) Working with Layouts (PDF) Working with Components (PDF) Component Oriented Design (PDF) Working with Data (PDF) という5つの文書があり,それぞれに有益なことが書かれています。Designerで作業するための文書ですが,ExtJSの入門書のひとつとしても役立ちます。英文をすらすら読める人間ではないので,辞書やオンライン翻訳などを駆使して読んでいくのですが,読んだそばから忘れます。(^^; で
VBSで設定系のスクリプトをWindows 7などで実行すると,UACにひっかかって Access Denied あたりのエラーがでちゃってうまく動作しません。 これを回避する方法をいろいろ調べたのですが。次のサイトなどにあった情報で解決できました。 VBScriptでVistaのUACの権限昇格を行う方法 Windows VistaでのWSH(VBScript)の管理者権限への昇格方法 これらのサイトで採用している方法は,OSのバージョンなどを調べUACにじゃまされそうだったら,Shell.ApplicationのShellExecuteメソッドで自分自信をrunasオプションをつけて呼び出す。というコードを,スクリプトの先頭に書くという方法です。 Shell.Executeの第4引数に"runas"を渡すと,「管理者として実行」したのと同じことになるみたいです。 では,その方法を使って
サーバー機には2枚のNICがついているのが普通です。2枚目のNICを管理ネットワークとしてUPSとの通信などに使うという使い方をすることがあります。こういうのを裏LANと言ったりします。裏LANは,一般のネットワークからは隔離されている場合が多いと思います。この記事は,そういった裏LANを運用している状態で,Windowsのドメイン コントローラを設置する際に注意すべき点について記します。 ラウンド ロビン Windowsのドメイン コントローラは通常DNSサーバーを兼ねます。 そして同じホスト名のAレコードが複数ある場合には,ラウンドロビンでDNSクエリーを受け取るたびに,違うアドレスを返します。これがラウンド ロビンです。 裏LANを運用する場合,これが悪さをします。DNSサーバーに2枚のNICがありそれぞれにIPアドレスが割り当てられている場合,それらのアドレスは両方ともDNSに登録
Webアプリを作る上では避けられないのがユーザー認証です。アプリケーションを利用できる人を制限したり,人によって利用できる機能を制限したりするためにはユーザー認証は必須になります。 CakePHP(1.1)のリファレンスガイドの付録Bには 現在のところ私たちは,ユーザ認証システムはアプリケーションごとに仕様が異なると考えて います。あるものはハッシュでパスワードを暗号化,別のものは LDAP 認証などという具合,そしてほぼすべてのアプリケーションの User モデルについて,少しずつ違いがある,といったことがあります。それで今のところは,あなた次第,ということにしておきます。 とあります。そういろいろな仕様があると思います。僕の開発するアプリケーションで必要となる認証方法は,DBにユーザー情報を持っておいて,それ でログインするというものと,LDAPサーバー(Windows Server
CakePHPと文字化け CakePHPを入れてこれまでいろいろやってきました。日本語の文字コードについては何も考えずにやってきていたので,これをいろんな所で推奨されているようにUTF-8にしてみようと思い立ちました。 その前に現状はどうなっていたかというと,どうもShift-jisで全部やっていたみたい。(みたいなんです) 最初に文字化けしたのは,layoutを作ってそのファイルをutf-8エンコードで保存したとき。 文字化けの原因には,CakePHPだけじゃなくPHPの設定やMySQLの設定にも関係していますので,どこが原因やらわかりません。何をやっても「また化けた・・・orz」の繰り返しでした。 MySQLのデフォルトをUTF-8にするとよいのか? my.cnfに default-character-set = utf8 を書きまくれという指示があったのでやってみました。 phpMy
Windowsサーバを別名で運用する場合の問題 とあるサーバ,[sv1]のファイル共有を,とある理由で別名[alias1]というサーバ名で接続したい。これは簡単だと思った。DNSにCNAMEレコード[alias1]を作って,ターゲットホストを[sv1.domain]とすればいいと思った。しかし・・・ エクスプローラのアドレス欄に[\\alias1]と入力してみると,「alias1が見つかりません。」とのつれないお言葉・・・ それでは,と,ファイル名を指定して実行から[\\alias1]を入力してみると ネットワークに重複した名前があるため接続されませんでした。コントロールパネルのシステムでコンピュータ名を変更してから再実行してください。 という意味不明(だって重複してないし・・・)なメッセージが出てサーバの共有を表示できません。 解決法 これを解決するには,公開しているファイルサーバ上でレ
職場のサイボウズOfficeのスケジュールをiPod touchにシンクさせて使いたいと思いまして,いろいろとやった結果を記録しておきます。iPod touchにスケジュールを同期させるために間にGoogleカレンダーを挟みます。 Step One: サイボウズとGoogleの連携 サイボウズofffice8と同期するツール暫定版|名古屋ではたらく社長blogだもんで これはすばらしい。このスクリプトを自分のサイトにセットして,Googleカレンダーで「他のカレンダー」として追加してやります。やり方は次の通り。 上記サイトからスクリプトをダウンロードします。 ソースの設定の部分を自分のところの環境に合わせてCYBOZU_URL, LOGIN_ID, LOGIN_PASSを変更します。CYBOZU_URLは,最後の?を入れないようにしましょう(僕は入れてハマりました)。また,僕の場合はスケジ
このトピックはExcelのVBAを利用してActive Directoryのユーザ情報を管理するやり方についての記録です。 Excel VBAの参照設定 Active DS Type Library Microsoft Scription Runtime Microsoft WMI cripting V1.2 Library 上記を追加する Active Directoryユーザ管理のためのモジュール mdlADSI 後のCADSIを使うための構造体TADUserを定義している Type TADUser UserID As String FirstName As String LastName As String Password As String DisplayName As String UserPrincipalName As String Description As Strin
ユーザーの追加 Sub cmdAddUsers_Click() Dim vID As String Dim iCol As Integer Dim iRow As Integer Dim ADSI As CADSI Dim User As TADUser Dim vGroup Set ADSI = New CADSI ADSI.OpenDomain _ "hogeserver.hogedom.local", "dc=hogedom,dc=local", "hogedom\administrator", "password" iRow = 2 vID = Cells(iRow, 3) Do While Len(vID) > 0 'Debug.Print vID User.UserID = vID User.LastName = Cells(iRow, 4) User.FirstName =
転送元から転送先にファイルをコピーします。fileを指定することで転送元のファイルから特定のものだけをコピーするように指定することもできます。 robocopy C:\userdata \\server\userdata /MIR 上記の例では,C:\userdataの内容を \\serverというサーバーにあるuserdataフォルダにミラーリングコピーします。/MIRはミラーリングするときに使うオプションで,サブ フォルダもコピーすることと,転送元にない不要ファイルを転送先から削除することを指定します。 オプションスイッチ オプションスイッチの意味は次の通り。これは robocopy /? で表示されるヘルプを日本語化したもの。(VISTAのrobocopyはこのヘルプも日本語化されていますが,それとは若干表現が違うと思います。) オプションスイッチの実際の利用例はこちらをご覧ください
書籍「CakePHP徹底入門」でもおすすめになっていますが,ER図やSQL文がかけるデータベースツールのA5:SQLと いうのがあります。これはすごい優れものでして,本当に便利に使っています。作者の松さんには毎日感謝しています。このA5:SQLは,Donkeyを 使ってスクリプトを書くことができます。そのスクリプトを使って,A5:SQLのER図にCakePHP仕様のテーブルを追加するスクリプトを書いてみま した。 CakePHP仕様のテーブルとは,IDがオートインクリメントのINTで,createdとmodifiedというDATETIMEのフィールド があるテーブルです。リスト用のnameフィールドもつけた単純なテーブルのエンティティをER図に追加します。 //CakePHPCakePHP仕様のテーブルを追加する var frmER = application.getActiveWindo
この文書は,ネット上で見つけた,Usign ADO with Oracleという文書を翻訳したものです。 この件についてのOracleに関する記述はあるものの、Delphiにはほとんど言及していない。検索サイトを詳しく調べれば、VBから OracleにアクセスするためのADOの使用法については数例出てくる。例えば、Jenny Besaw著の非常に優れた白書「Oracle Provider for OLE DB(2000/11/30)」では、ADOを使用する重要な場面を明示するために、もっぱらVBを使用している。 役に立つリンクはあるが、C++に関する記述はたまにあるものの、Delphiの記述がない。Delphi IDEは市場で最良のものの一つだと思っているのは私だけではないだろう。Oracleは明らかにBorland社のやり方と類似している、結局すべての Javaデベロッパーシステムの基本
SQL Serverにリンクサーバーを設定することで,SQL ServerからOralceにアクセスできるようになります。その手順をまとめてみました。SQL Server は2005です。 サーバーにOracleのクライアントをインストールする SQL Serverが稼働しているサーバーにOracleのクライアントをインストールします。インストール後SQLサーバーを再起動します。 リンクサーバーの作成 SQL Server上にリンクテーブルを作成します。SQL Server Management Studio(以下SSMS)を開きます。 サーバーオブジェクトのリンクサーバーを右クリックして,コンテキストメニューの新しいリンクサーバーを実行します。 全般ページは次のように設定します。 リンクサーバー SQL Server側から指定する際の別名です。 サーバーの種類 その他のデータソースを
SQL Server 2005のデータベースコピーウィザードは,旧サーバから新サーバへデータを移行するときにとても便利そうだったので,これを使って稼働中のSQL Server 2000から,データベースをコピーしてみたが,最初はどうにもこうにもうまく動かなかった。そのときの記録。 各DBサーバへの接続 エラーログの出力先をテキストファイルにしてじっくり見てみると, Windows認証でログインする方法でやっていると,それぞれのデータ ベースにうまくログインできていないようだった。ログインしているユーザ名ではなくコンピュータ名でSQL Serverに接続しようとしているみたいだ。そりゃ繋がらないよと思う。SQLのサービスがローカルシステムアカウントだからこうなるのかな?よくわか らない。どうしたら良いのかわからないので,Windows認証ではなくSQLServer認証に切り替えてsaで接続
DrulapにFCKEditorを入れるととても便利になります。使い方の説明はWeb GO! GO! さんのページにも詳しく説明されています。 適切に設定すれば,FCKEditorツールバーのメニューから画像のアップロードも可能になります。ここではその設定方法について記述します。 対象バージョン/前提条件 Drupal 6.12 FCKEditor本体 2.6.4 DrupalのFCKEditorモジュール 6.x-2.0-beta1 IMCEモジュールがインストール済みであること。 ファイルの入手 DrupalのFCKEditorモジュールは,http://drupal.org/project/fckeditor からダウンロードします。 FCKEditor本体は,http://www.fckeditor.net/download からダウンロードします。 ローカルのPCに解凍
VBAのコードエディタで使用する拙作のアドインを2種紹介します。JavaDoc風のコメントを挿入するアドインと,コードチップを挿入するアドインです。ほんの少しだけVBAのコーディングの助けになります。 コメント挿入アドイン JavaDoc風のコメントを挿入するアドインです。プロシージャ毎/全てのプロシージャ/モジュールに対してコメントの挿入や削除ができます。 インストール こちらから,アドインのインストーラをダウンロードして,解凍した後,setup.exe を実行してください。その後,VBAエディタ画面で,アドイン(A) > アドインマネージャ(A) で,ロード/アンロード と 起動時にロード のチェックを入れて有効にしてください。 使用法 OfficeのVBAエディタ画面で,アドイン(A) > コメント挿入 を選びます。 メニューダイアログが表示されます。 どれかのボタンをクリックしてく
Robocopy のオプションはめちゃくちゃたくさんあります。ここでは,実際に場面でのその組み合わせ例を示します。 ミラーリング robocopy C:\userdata \\server\userdata /MIR ソースパスの内容ととデスティネーションパスを全く同じにしたい場合に使います。/MIR オプションは,/E(空のものも含めてサブフォルダをコピーする) と /PURGE(コピー元にないファイル・フォルダを削除する) を両方指定したのと等価です。 エラーを無視してコピー エクスプローラなどで,フォルダごとコピーしようとすると,長い間待たされたあげくエラーが発生して途中で止まってしまいガッカリという経験はありませんか。「とりあえず,エラーが起きないファイルだけでも全部コピーしてくれればいいのに」 robocopy C:\userdata \\server\userdata /R:
3~6のデータをについてはWMIを使って取得し,FileSystemObjectを使ってテキストファイルに出力します。 'ログオン・ログオフイベントを記録するスクリプト sEvent = "LogOn" 'ログオフ用はここを変更する sFileName = "\\server01\log\logon" & _ Year(Now) * 100 + Month(Now) & ".log" On Error Resume Next Set FSO = CreateObject("Scripting.FileSystemObject") Set wshNetwork = CreateObject("WScript.Network") SearchPC = wshNetwork.ComputerName Set objComputer = GetObject("winmgmts:{impersona
次のページ
このページを最初にブックマークしてみませんか?
『Sunvisor Lab. - Development, Consulting, Education』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く