サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
今年の「#文学」
fyts.hatenadiary.org
「Excel の知っていそうで知らないショートカットキー」シリーズと題して、これからしばらく*1 やっていこうと思います。 今回は、リストの値を選択するためのキーボードショートカットです。 Excel のセルをクリックすると、矢印がでて項目を選べる機能 (入力規則のリスト) があります。マウスで選択することは簡単ですが、数が多いと入力が逆に大変です。 そんなときは、リストのあるセルを選択し、キーボードから「Alt + Down (下矢印)」と入力してください。マウスで矢印をクリックしたとき同じようなリストが表れます。後は、矢印キーで好きな項目を選択し、「Enter」を押すだけです。覚えておくと結構便利に活用できます。 *1:実は明日で終わりかも ^^;
Excel でレコードをランダムに並べ替えるには、 RAND() 関数を使用します。 たとえば以下のようなデータをシャッフルしたいとします。 本来のデータとは別のダミー列 (シャッフル用) を追加し、「=RAND()」を記述します。データがある全レコードの横に乱数が表示されるようにします。 最後に、追加した乱数も含めて表を選択し、メニューから「データ」-「並べ替え」を実行します。ソート対象の列は、追加した乱数の列にします。乱数でソートすることで、レコードがシャッフルされます。 最後に、追加した乱数の列を削除すれば、元からあったデータのみになります。以上で、レコードのシャッフルが完了です。 (ただし、精度はあまり良くない気がします。) Excel は、工夫して使うといろんな使い方ができます。頭の体操だと思って、おもしろい使い方を是非考えてください。 :-)
概要 .NET (C#, VB.NET) で、ジェネリックコレクションに独自の型を格納するときは、 IEquatable や IComparable と GetHashCode() の実装を行います。 GetHashCode() の実装は忘れやすいため、注意が必要です。これらを実装することで、独自の型でキーが同じかどうかを確認できるようになります。 背景 MSDN で Dictionary の解説を見ると、以下のような記述があります。 Dictionary は、キーが同じであるかどうかを確認するための等値比較の実装を必要とします。comparer パラメータを受け付けるコンストラクタを使用して、IEqualityComparer ジェネリック インターフェイスの実装を指定できます。実装を指定しない場合は、既定のジェネリック等値比較演算子である EqualityComparer.Defaul
概要 SQL Server 2005 Express で DB を復元しようとしたとき、以下のようなエラーメッセージが表示される場合があります。 ((復元に失敗しました。 System.Data.SqlClient.SqlError: 'RestoreContainer::ValidateTargetForCreation' を試行中に、オペレーティング システムからエラー '5 (アクセスが拒否されました。)' が返されました。 (Microsoft.SqlServer.Express.Smo))) 解決法*1 解決手順は以下の通りです。 スタートメニューより「構成ツール」-「SQL Server Configuration Manager」を起動 SQL Server のインスタンスを選択し右クリック「プロパティ」 ビルトインアカウントを「ローカルシステム」に変更 念のため SQL S
概要 ViewState は、サーバ側のリソースを利用しないという利点があります。しかし、 GridView (または DataGrid) を使用する ViewState が非常に大きくなる場合があり、ネットワーク帯域が少ない環境でパフォーマンスが悪化します。 この記事では、 ViewState の情報を Session に保存する方法を紹介します。ただし、基本的には ViewState を使用する (そして、 ViewState のサイズを小さく保つ) のをおすすめします。 サイト全体で対応する方法 Web アプリケーションの失敗例: サイトの動きをスムーズに保つために気を付けたい ASP.NET の注意点トップ 10 -- MSDN Magazine, 2006 年 7 月 が参考になります。 基本的なステップは、以下の 2 ステップと非常に簡単です。 カスタムページアダプタを作成 作
SQL Server で改行文字を INSERT (UPDATE) したいなと、調べたときのメモです。 C++ や C# などでよく使うエスケープシーケンス「\n」ではないので、ちょっと忘れやすいですね。 改行文字は、 CR LF のアスキーコード「NCHAR(13) + NCHAR(10)」を使用します。以下は、使用例です。 -- varchar の場合は CHAR() 、 nvarchar の場合は NCHAR() を使用 UPDATE Items SET note = N'1行目' + NCHAR(13) + NCHAR(10) + N'2行目'
よく使うけど忘れてしまいそうになる正規表現の特殊な文字 (メタキャラクタやパターン) をメモしておきます。 「^」: 行頭 「$」: 行末 「\A」: 文字列先頭 「\Z」: 文字列末尾 (末尾が改行ならその改行の直前) 「\z」: 文字列末尾 「\b」: 語の境界 (\w と \W の間) 「\B」: 非語境界 「\G」: 前回マッチした箇所の直後 (初回のみ \A と同じ先頭) ファイルを grep するときに AND 検索 (論理積検索) を行いたい場合、以下のようにします。この例では、同一行内に「東京」と「大阪」、「愛知」が入っている場合にマッチします。 (単純な AND 検索なので、記述順は何でも大丈夫です。) ^(?=.*愛知)(?=.*大阪)(?=.*東京).*$
SQL Server のデータベースを 2000/2005 から 2008 へアップグレードした場合、「DBCC UPDATEUSAGE」を実行した方がいいんですね。知らなかったです。 *1 アップグレードされたデータベースで DBCC UPDATEUSAGE を実行することをお勧めします。 以前のバージョンの SQL Server では、テーブルおよびインデックスの行やページのカウント値が正しくならないことがありました。このため、SQL Server 2005 より前のバージョンで作成したデータベースには誤ったカウントが含まれている場合があります。データベースを SQL Server 2005 にアップグレードした後、DBCC UPDATEUSAGE を実行して無効なカウントを修正することをお勧めします。この DBCC ステートメントを実行すると、テーブルまたはインデックスのパーティショ
今回は、AnkhSVN を使った開発の流れを説明します。基本的な流れは、「開発 -> テスト -> diff -> update -> (必要に応じて test) -> commit」となります。 なお、 AnkhSVN は機能がまだこなれていないため、常用する SVN クライアントとしては不満な点があります。そこで、 Visual Studio からは AnkhSVN を使い、その他エクスプローラからなどは TortoiseSVN を併用することをおすすめします。 AnkhSVN を使った時の開発の流れ ソースコードの修正が完了したら、常に diff を確認 ソースコードの修正やテストが完了して「さぁ、 commit だー」という前に、 diff を確認しましょう。 diff で確認するポイントは、主に 2 つあります。 必要な修正が含まれていることを確認 (ソースコードレビュー) キー
AnkhSVN のアイコン一覧は、公式サイトにもありますが紹介しておきます。 よく見るのは、上から Modified (変更済み) と Unmodified (変更なし)、 Added (追加済み)、 New (新規で追加されていない) などですね。
第2回は、既存のソリューションを AnkhSVN で管理 (いわゆる import) する方法について説明します。なお、 SVN 用のリポジトリがローカルやサーバにない場合は、以後の操作を続ける前に TortoiseSVN (推奨) や「svnadmin create」などを使ってリポジトリを作成しておいてください。*1 Visual Studio のソリューション全体を SVN で管理するには、以下の手順を実行します。 Visual Studio のソリューション エクスプローラから SVN で管理したいソリューションを選択し「右クリック」-「Add Solution to Subversion...」を実行 ダイアログが表示されるので、 Repository Url に SVN リポジトリのパスを入力*2 し、「Add trunk Folder for Project」にチェック*3
概要 Windows XP 環境に Ruby や Redmine をインストールする方法を紹介します。あまり変な方法にならないようにしていますが、タイトルが嘘ならコメントください。改善します。 (安全よりにするため、最小ではないかもしれない ^^;) 準備編 まずは、まっさらな Windows XP (SP3) を用意しましょう。 Windows Server や Vista でも可です。以下をダウンロードして、各パスに配置します。 ActiveScriptRuby (ActiveRuby) インストールする (One-Click Ruby Installer でも可) SQLite sqlitedll-3_x_x.zip (e.g. sqlitedll-3_5_9.zip) をダウンロードし、展開した DLL ファイルを PATH が通ったディレクトリに配置*1 念のためコマンドライン*
少し前の話になりますが、バグトラッキングシステムを刷新する機会があり Trac と Redmine について調べ、両方とも導入してみました。他の人の記述とかぶるため、基本的な部分は以下のサイトをご覧ください。 プロジェクト管理ツール比較表 TracとRedmineの比較 redMineを使ってみた tracとredmine tracの代わりにredMineを使う5つの理由 上記サイトに載っている以外で、 Trac と Redmine を使ってみた感想を簡単にまとめます。 (なお、以下の感想は、 Windows をサーバ環境として利用した場合を想定しています。そのため、構築の容易さなどは、 Linux を使用する場合の評価と異なるためご注意ください。) Trac のメリット インストールが容易 Trac Lightning が非常に便利 プラグインを一括導入できるので、機能も豊富 Trac
初めに AnkhSVN (スクリーンショット) は、 Visual Studio 用の Subversion (SVN) アドインです。 AnkhSVN は英語のソフトですが、バージョン管理システム (CVS, SVN, VSS, etc...) を使った経験がある方なら、問題なく使うことができます。特に TortoiseSVN ユーザの場合、ほとんど違和感なく Visual Studio 上で SVN が使えると思います。 今日からしばらくの間、 AnkhSVN の使い方をメモしていきます。過去の記事でも書いたのですが、かなりバージョンが上がっていますので、もう一度紹介しようと思います。なお、本記事の対象者は、 Subversion の基礎が分かっている方を対象にします。 Subversion 自体の説明は、 TortoiseSVN の日本語ヘルプが非常に詳しいのでお勧めです。 まずはじ
作ろうと思っていたら既にあったのでメモ。TortoiseSVN と Redmine の連携 Plugin です。 TortoiseSVN plugin to visualise the issue list in Commit windows gurtle issue tracker integration for TortoiseSVN svn:bugtraq でも十分な気もしますが、プラグインで連携したほうが使いやすいかもしれないですね。
概要 メインで関与しているプロジェクトは各種ツールを整備しているのですが、昔ながらの管理体制 (全部 Excel) でやっているプロジェクトの話を聞きました。詳しくは書けないですが、ドキュメント共有やバージョン管理などでトラブルが頻発とのことです。 (よく聞く話ですね……) そこで、そのプロジェクトにそれらを少しだけ導入しようと画策してみました。その結果と、各ユーザ (特に一般ユーザ) の反応を記録してみます。 導入の結果 Subversion プログラムなどソースコード系は導入 ドキュメント系は Excel ファイル名変更方式 (V1.0, V1.1, ...) のまま導入できなかった TortoiseSVN の使用法を教える? (できればこっちにしたい) WebDAV で適当に逃げる? あきらめる? (Excel ファイルなので、オートシェープとかの差分が微妙なんですよね……) Red
前回の続きです。 Redmine のチケット数をグラフにしようと、日別チケット数を求めるところまでやりました。次は、完了日ごとのチケット数を求めて最終的なグラフを作ろうと思います。 以下の SQL で日付ごとの完了数が取得できます。単純に最終更新日を参照するのではなく、 journals などからステータスが完了になった日付を取得しています。 1 つめの select で journals に存在するチケット (終了以外のステータスから終了に変化したチケット) を処理し、 2 つめの select で journals に存在しないチケット (いきなり終了ステータスで登録されたチケット) を処理しています。 select strftime('%Y-%m-%d', t.last_updated) as [date] , count(*) as [完了数] from ( select max(
概要 Redmine は、 Wiki の内容を全て単一ファイルでエクスポートすることができます。意外と知られていない機能なので紹介します。 手順 保存したい Wiki を開く 画面右側の「索引(名前順)」を開く *1 画面右下の「他の形式に出力 HTML」をクリック 任意のファイル名を付けて保存 通常、「他の形式に出力 HTML」をクリックすると、今開いているページだけが保存されますが、「索引(名前順)」で同リンクをクリックすると別の機能になるのですね。ちょっとわかりにくい ^^; ただ、これだけだと Wiki に添付・表示していた画像がリンク切れになってしまいます。画像も必要な来夏の手順を行ってください。 Redmine の「files」フォルダから画像を取得 DB の「attachments」テーブルを見ながら画像を元のファイル名に変更 Wiki をエクスポートしたフォルダに保存 終わ
概要 VMware をインストールするといくつかのサービスとプロセスが常駐します。常駐するソフトウェアは好きではないので、調べてみました。*1 常駐を解除する手順 VMware の常駐物をなくす基本的な手順は、以下の 2 項目で可能なようです。 レジストリ (HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run) から以下の exe が実行されている箇所を削除 vmware-tray.exe hqtray.exe VMware に関するサービスを「手動」に設定します。対象は以下のサービスです。*2 *3 VMware Agent Service VMware Authorization Service VMware DHCP Service VMware NAT Service VMware Virtual Mount Manager Ext
昨日、「Redmine 内の Wiki データをエクスポートする方法」を紹介しましたが、以下の点で気に入りませんでした。 Redmine 標準のエクスポート機能 ファイルが単一なのが嫌 レイアウト・スタイルが通常と異なる 画像ファイルなど添付ファイルを取得するのが面倒 既存の巡回ソフト wget ではうまく巡回できなかった (設定による?) 各ページのファイル名に拡張子「.html」を付けたい 画像のファイル名に拡張子「.png」を付けたい 結局、標準のエクスポート機能や、既存の巡回ソフトに満足できなかったので、 Ruby で作ってみました。ライブラリは、「Simple Crawler」を使用しています。 (scRUBYt! や Nokogiri、Hpricot、Mechanize なども検討したのですが、結局一番シンプルな形に落ち着きました。) 以下、ソースです。 Windows 環境で
概要 ASP.NET のユーザコントロールは、既存のコントロールをデザイナから貼り付けるだけで簡単に作成することができます。カスタムコントロールの簡易版として利用されることも多いですが、少し複雑なことを仕様とするとすぐに行き詰まってしまう方が多いようです。 そこで本記事では、ユーザコントロール内部のコントロールに、外部 (.aspx 側など) からイベントを関連づける方法について説明します。サンプルでは、テキストボックスを 1 個持ったユーザコントロールを作成します。そして、追加したテキストボックスにイベントを関連づけられるようにします。 ユーザコントロールの作成 通常の方法でユーザコントロールを作成 *1 します。作成された ascx ファイルにテキストボックスを 1 つ追加します。追加後の ascx ファイルは、以下のようになります。 <%@ Control Language="C#"
最近また Rails を使い始めました。昔は秀丸で Ruby や Rails のプログラムを書いていたのですが、 Visual Studio で C# を核のになれてしまうと補完機能が弱くて使いづらく感じます。そこで、 Ruby on Rails用 統合開発環境(IDE) 比較レポートを参考にしながら Ruby on Rails をサポートした IDE をいろいろと試してみました。評価基準は、以下の通りです。 無料 (日本語情報があればより良い) インテリセンスが使える (*補完機能* 最重要!!) model のプロパティ名も補完できるとうれしい find_by_xxx に対応 ソースコードの切り替え (model, view, controller) が簡単 いきなり調査結果に行きましょう。上からおすすめ順です。 (CodeGear 3rdRail は、有料なので結局調査しませんでした
まだ使い始めてない人は、以下の記事を一気に読んでしまいましょう。 日本語 WPF のための MODEL-VIEW-VIEWMODEL (MVVM) デザイン パターン (matarillo.com: UIパターンも参考になります) 英語 WPF Toolkit - January 2009 Release (各種ライブラリ) Tips & Tricks Windows Presentation Foundation - WindowsClient.net (ポータル) WPF Application Quality Guide WPF Docking Library その他、余力があれば以下のアーキテクチャ系も押さえておきましょう Layered Architecture Sample for .NET Litware HR - A Multitenant sample applicati
概要 この記事では、 GridView (ASP.NET) のセルを結合して表示する方法について説明します。*1 似たような記事として DataGrid コントロールの同一列内のセルを結合するには?が@IT にありますが、こちらはポストバック時に問題が発生する場合があります。そこで、@IT とは違った方法でセルを結合します。 解説 基本的な方針は、結合したいセルを見えなくするだけです。そのため、結合するかどうかの条件にマッチしたセルに対して CSS を適用します。 詳細はソースコードを参照してください。コメントを多めに記述しているため、再利用しやすいと思います。 単純な使用例は、メインソースの example 要素をご覧ください。 ソースコード 結合時に適用する CSS /* 結合されたセル用 */ .GridJoined { display: none; } メインソース using S
概要 C# (.NET) で利用可能なグラフやチャート系ライブラリのまとめです。日本語の情報が少ないので、リストだけ作ってみました。オープンソースをメインに集めていますが、有料・無料などライセンス体系は様々です。 各ライブラリの詳細は、リンク先でスクリーンショットを見たり、サンプルを動かしたりしてください。情報視覚化系ライブラリのサンプルは、見ているだけで楽しいのが多いですね。 Have a fun!! :-) グラフ (ダイアグラム) 系ライブラリ (おすすめ順) Diagramming packages (有料が多いが高機能、各種プログラミング用情報もあり) Graph2 (an enterprise level WPF diagramming framework.) Graphite (a diagramming control with spring embedder layout
C# 用のグラフライブラリのリンク集になりかけたものです。 OpenS-CAD, a simple 2D CAD application Statistical parsing of English sentences QuickGraph: A 100% C# graph library with Graphviz Support C#: A-Star is born A* algorithm implementation in C# QuickGraph が一番良くてたまに使っているけど、もっといいのがほしい。 (Java で書いてもいいんだけど、何となく C# の方が気に入っているんですよね。)
毎回、インデックスの断片化状況を調べる方法を忘れるのでメモしておきます。以下の SQL を実行すれば、一定の割合 (以下では 3 %) 以上断片化したインデックスの名称がわかります。表示する断片化率の閾値を変更するには、 avg_fragmentation_in_percent と比較している値を変更してください。 SELECT a.index_id , name , avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats( DB_ID() , NULL , NULL , NULL , NULL ) AS a JOIN sys.indexes AS b ON a.object_id = b.object_id AND a.index_id = b.index_id WHERE avg_fragmentation_in
Entity Framework (+ LINQ) が主流になってからかなりの期間がたちますが*1、まだまだ 型付き DataSet や DataTable は使われていると思います。そんなときにちょっと役立つ Tips を紹介します。 ASP.NET の GridView を Excel のような形式で編集できるようにしている場合、ユーザが入力した値を DataTable に書き戻すという処理もしているのではないでしょうか。このとき、 DataRow のカラムに元と同じ値を単純に設定すると、 RowState (DataRowState) が Modified になってしまいます。 Unchanged のままにしたいがために、 1 つの列ごとに元の値と比較している人も多いのではないでしょうか。 実は、ちょっとした工夫でシンプルに各方法があります。あらかじめ以下のユーティリティ関数を定義し
この記事では、 ASP.NET 2.0 AJAX Extensions を使用して「JavaScript から WebMethod を呼び出す方法」について説明します。 *1 WebService の作成 まず、 WebService を作成します。 Visual Studio の「新しい項目の追加」から「Web サービス」を選択し、「Sample.asmx」を作成してください。このサンプル記事では、ウィザードによって作成された HelloWorld() を以下のように修正します。 using System; using System.Web.Script.Services; using System.Web.Services; [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = W
次のページ
このページを最初にブックマークしてみませんか?
『アジャイルプログラマの日常』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く