modest violet

modest violet

開発者としてのあれこれや、日々の雑記など

your future hasn't written yet. no one's has.
by Emmett Lathrop "Doc" Brown

Dev

【de:code2017】「変わらない開発現場」を変えていくと決めた瞬間

Dev

今年もMicrosoft de:codeに参加しました! de:code(デ・コード)とは マイクロソフト テクノロジのビジョンと、「クラウド」「モバイル」を最大限に活かせる最新テクノロジをすべてのITエンジニアの皆様にご紹介するイベント 『変わらない開発現場』はツボ…

Visual Studioを使用中に「SQL Serverは動作を停止しました」が頻繁に発生する場合の対処法

特定の環境でVisual Studio 2015 または 2017 を使用していると、「sqlservr.exeは動作を停止しました」というメッセージボックスが頻繁に発生します。現に私もこの現象に悩まされていました。一回一回のメッセージ表示は何ともないのですが、定期的に絶えず…

AutoMapper6でのプロファイル設定とユニットテスト

AutoMapperという自動マッピングライブラリーが便利なのです。ただ、少しばかり使い方を誤っていたようで、下記のサイトを参考に再勉強させて頂きました。iyemon018.hatenablog.comこの記事のお陰で、今までの自分があまりにも恩恵を受けない無駄な記載をい…

【Azure】Microsoft Cognitive ServicesのFace APIを検証したキロク

2017.03.28 大幅加筆しました。Microsoft AzureにはCognitive Services(コグニティブサービス)といって、視覚や聴覚などAI技術を利用して認識を行う超絶便利なサービスがあります。今回はその中で顔認識「Face API」を利用し、公式ドキュメントの曖昧な…

Microsoft Azure の読み方・発音はどれが正しいの?

Microsoft Azureとは、マイクロソフト一押しのクラウドサービスの総称です。azure.microsoft.com ここ数年で、私自身も本格的に利用するようになり、その便利さにすっかり虜になりつつあります。さて、そんな「Azure」ですが、結構読み方で個人差が出てきま…

Microsoft Access の復権

Azure SQLデータベースを利用している時に、「オンプレミス側のSQL Serverと結合してビューを表示したいなぁ」と思うことがありました。ただ、SQL Server Management Studio では出来ません。C#ならEntity Framework なりで値を取ってきて、LINQで結合という…

【ASP.NET MVC】【Azure】デプロイ後に「The system cannot find the file specified」エラーが表示される

Azureへデプロイ後、やたらと「The system cannot find the file specified」エラーが頻出して少々困ったのでメモ書きです。 原因が判ればたいした話では無かったんですが・・・。 環境 ASP.NET MVC5 + Azure Web Apps + Azure SQL Server + Entity Framewor…

【Azure】.ToUniversalTime の罠に見事にはまった話

Azure上における時間は基本的に協定世界時間 (UTC) です。こんな記事を書いておきながら、未だに慣れない場面も。きっと開発環境がJISだから悪いんだろうけど・・・。 shin21.hatenablog.com ToUniversalTime で UTCに変換 .NET FrameworkにはUTCに変換する …

【SQL Server】 テーブル毎のカラム数を調べる

SQL Serverでテーブル毎のカラム数を調べる機会*1があったので、備忘録を兼ねてメモ データベースなのでクエリで一発 下記のクエリー一発でOKです SELECT O.name As TableName, Count(C.name) As ColumnCount FROM sys.objects O INNER JOIN sys.columns C O…

アイコンフォントで他のページと差をつけよう!レッツ「はてなブログ」のカスタマイズ

Webアイコンフォントってご存じですか?昔は文字ではないアイコンは画像ファイルで表示するのが当たり前でした。それを画像ではなく、あくまでもテキストベースで表示できるというものなのです。 Webアイコンフォントは何が出来る? 例えば、「」。このコー…

小学生のプログラミング必修化によりプログラマーという職種は無くなるのか

2017.01.12:更新しました!政府が2020年度から小学校でのコンピュータープログラミング教育の必修化を検討しているようです。 毎日新聞2016年12月30日 東京朝刊 http://mainichi.jp/articles/20161230/ddm/013/100/013000c プログラマーはいなくなる? …

ASP.NET MVC5におけるカスタムエラーページのまとめとチルダ

ASP.NET MVCのカスタムエラーページで、ドツボにハマったのでメモがてら記事におこしました。 カスタムエラーはIIS側に統一させる blog.shibayan.jp試行錯誤の結果、しばやんさんが紹介して頂いている「IIS側に統一」する形が一番良いのだと実感しました。当…

Visual Studio for Mac発表!これで世界が平和になる!!

米Microsoftが「Visual Studio for Mac」を発表しました!www.visualstudio.com 「Visual Studio 」というのは、Windows上で動くプログラムを開発する為の統合開発プラットフォームでした。Xamarinと呼ばれるiOS/Androidのアプリを開発できるようになり、Mac…

小難しいことは抜きにして10分で理解する単体テスト

Dev

2017.01.16:更新しました! 業務システムで単体テストを書いた事がない場合、どうやって書けば良いのか最初は全く分からないんですよね。特にVB6を始めとした企業向けのエンタープライズ系エンジニアは顕著です。例えばサンプルとかを参考にしてみても、サン…

【ASP.NET MVC】BundleConfigを3点ほど勘違いしていたのでまとめ

ASP.NET MVCには「BundleConfig」という便利な機能があります。これは「バンドル&ミニフィケーション」といってCSSやJavaScriptなど複数に分かれているファイルを一つのファイルにまとめてくれる機能(バンドル)と空白や不要な文字を削除してファイルサイ…

ごめんVB。もう君には戻れない・・・。

Visual Basic・・・。君がフロッピー3枚でインストール出来た時代から知っている。あの頃は僕もまだ若かった。とても自分では使いこなせないな、と思ったりもしていた。月日が流れて社会人になり、VB6となった君と再開して・・・。まさか何年も共にするとは…

共感はすべてに優先するぜ!~ウォーターフォールvsアジャイル記事を受けて~

ジョジョの名言で「納得はすべてに優先する」というのがありますが、『共感はすべてに優先する』と提言します。 スティール・ボール・ラン 第8巻 P.171 先週、ウォーターフォールとアジャイルに関するエントリーが相次ぎ、システム屋界隈では話題騒然となり…

零細企業の視点から考えるウォーターフォールのメリット・デメリット

マイクロソフトエバンジェリスト牛尾さんのエントリーを読んで。simplearchitect.hatenablog.com確かにウォーターフォールのメリット・デメリットって無いのかもしれない。こと「自社内開発」においては。 社外のエンドユーザーが絡むと少し違った視点になる…

Xamarinクロスプラットフォームで、UWPが「パラメータ"targetPlatformVersion" を null にすることはできません」となる未解決物語

MicrosoftのXamarin社買収により、徐々にXamarin界隈が賑やかになってきました。C#でクロスプラットフォーム開発が可能になるので、dotNET技術者にはとても嬉しい代物です。早速、iOS/Android/UWPのクロスプラットフォームを試してみようと新規プロジェクト…

2016年に読んだプログラミング系書籍の振り返り!

2017/01/10:更新しましたde:code 2016熱が冷めやらぬ日々です。MSの方たちからツイートしてもらったお陰で記事も多くの方に読んで頂けたようで嬉しい限りです。拙い文章でお恥ずかしい限りですが・・・。素晴らしいエンタープライズ系の方のエントリです。…

(de:code2016を終えて)エンプラ系技術者の僕がOSS系技術者に劣等感を抱いて変革を試みた4ヶ月の内容

先日の記事で書いたのですが、de:code2016に初参加しました。 shin21.hatenablog.com 『de:codeでは最新技術に触れながら、明日現場に戻れば旧態依然の開発現場が待っている・・・。』 セッション「拝啓 『変わらない開発現場』を嘆く皆様へ ~エンプラ系 SI…

de:code 2016 の感想

5/24、25とプリンス パークタワー東京で開催されたマイクロソフトのイベント「de:code 2016」に初参加して来ました。マイクロソフトの有料イベントは今回初参加でしたが、とにかく熱気がすごかったです。受講した各セッションの振り返りはひとまず置いておい…

C#でモダンなプログラム開発を学ぶ!【書評】チーム開発の教科書

2017.01.26:更新しました! 転載:SHIN-ICHI の技術ブログ | Programming tips and tutorials blogASP.NET MVCをメインに開発し始めて、早半年。WindowsFormメインだった自分にとって、本当に覚えきれないほどの新しい技術や考え方が次から次に襲ってくるイ…

VB2008のSQL周りでDapperを使用するまとめ

ここの所、Dapperの虜になっています。Dapper-dot-net GitHub - StackExchange/dapper-dot-net: Dapper - a simple object mapper for .Net Dapper(ダッパー)とは データベースの操作を簡単にしてくれるORマッパーの一種。非常に軽量で、高速な動作が実現…

【技術メモ】DapperとContextTransaction 解決編

一晩寝てスッキリしたら、あっさり解決した。こういう所は昔っから変わらないのかも。shin21.hatenablog.com 解決した方法 先に解決した方法を記載します。Database.UseTransaction メソッド を使用すればオーケーのようです。 // ConnectionがOpenしていな…

【技術メモ】DapperとContextTransaction

Dev

前々から気になっていたDapperをEntity Frameworkと併用してみました。SqlClientで書くより簡単で、コレはいーねーとか思ってたんですが、トランザクション部分でハマった。。。IDbTransactionしか渡せないじゃないですか。さて、どうしようっかなー。 あま…

【技術メモ】Entity Frameworkの保有情報が更新されない

EntityFrameworkに関して、何も考えずにDataTableとかと同じように考えて使用していたら、ドツボにはまった反省です。 似て非なるというのはこういうことなのかな・・・。違うか。 テンプレートに従う ASP.NET MVCでスキャフォールディングを使用して作成し…

ASP.NET MVCで静的HTMLにアクセス制限をかけようと四苦八苦した失敗談まとめ

ASP.NET MVCは、まだまだ初心者の域をウロウロしている状態です。ずっとWinForms畑だったので、Webはからきしです。 さて、ASP.NETでは認証の仕組みとして、ASP.NET Identityという便利な認証機能が備わっています。これを使用しながらMVCでページを作ってい…

DataGridViewで行にデータがあるのに、「インデックス -1に値がありません。」というエラーが発生する件の解決法

久々にVB.NETのDataGridViewでハマりました・・・。グリッドには正しくDataSourceで渡した結果が表示されているのですが、表示された行をクリックしようとすると インデックス -1に値がありません。 と不可思議なIndexOutOfRangeExceptionエラーが発生します…

LINQ to SQLで複合キーのExists句を書く

単一のExists句を表す場合はContainsを使用していましたが、複数のキーでExistsを実現させねばならない状況に陥ったので、勉強がてらにまとめました。 単一キーのExistsの場合 基となるSQL SELECT * FROM table_A as A WHERE EXISTS ( SELECT * FROM table_B…

プログラム初心者に必ずアドバイスするプログラムセンスを磨く3つの基本的項目

プログラミングを人に教える際に、言語によって教える内容は千差万別ですが、必ずと言っていい程どの言語でも徹底させている事があります。昔から良く言われている内容ですが、僕自身も人に教える際は口を酸っぱくして必ず教える項目がいくつかあります。意…

ボタン一発でVBのコードをC#に簡単に変換する方法

Dev

2017/01/10:更新しました最近はVB案件とC#案件を掛け持ちしているので、脳内がゴチャゴチャしています。似て非なるものとはよく言ったものですね~。C#に慣れてきたら、「やっぱりVBって少し冗長的な書き方するよなぁ~」と感じるようになってきました。If …

今だから話せる!今なら絶対にしないソフトウェアの仕様(3)

今回はヘンテコ仕様に巻き込まれた側の視点です。ぺーぺーの駆け出しの頃って、やっぱり上司の方には反論出来ませんよね!? お話は大体2006年くらいの出来事だったと思います。 とあるバーコードチケットを印刷する機能をDLL化するという内容です。プロ…

VBでList Of のクラスを簡単にDictionaryに変換する方法

いやー、LINQは本当に便利。使えば使うほど魅力的です。List(Of T)のリストを簡単にDictionaryに変換する方法です。

ConnectionStringsを複数プロジェクトで共有する

Dev

今更というか、長年凄い勘違いをしていた事に気づいてしまいました。今までの開発ではずっと、メインプロジェクトとデータアクセス用のプロジェクトを分けた環境で開発をしていました。この際のアーキテクチャは自分ではなかったのであまり細かい点までは気…

C#でIF文を1行で書く

C#でIF文を1行で書く方法が分からなかったので備忘録。。。すいません、VBユーザーだったもので。。。

今だから話せる!今なら絶対にしないソフトウェアの仕様(2)

たまにですが、本当に足し算レベルの失敗というのをしてしまう事があります。ベテラン管理者の方と一緒にお仕事をしていた時のお話です。実施したい内容は至極簡単で、各クライアント端末で作業したログを上位サーバに転送するだけ。ただ、制約として海外の…

今だから話せる!今なら絶対にしないソフトウェアの仕様(1)

かれこれ10年以上ソフトウェア開発に携わっていますので、お客様には申し訳ないのですが、おかしな仕様で作ってしまった案件というものは・・・正直たくさんあります。特に新人時代から少し経験を積んだ2年目、3年目でその傾向が顕著だったと思います。中…

僕は小馬鹿にされがちなVisualBasicを肯定する

Visual Basic(以下、VB)は結構な頻度で「軽く見られがち」であり、「小馬鹿にした」感想を目にします。確かに昔々はVBランタイムが必要だとかメモリ管理がイケていないとか色々とありましたが、今では全て過去のお話だと断言出来ます。世間が抱いているイ…

単体テスト≠ユニットテストなんだという事

近年のソフトウェア開発では単体テストの自動化が当たり前になってきています。 「いや、とっくに当たり前だよ!」というお言葉も多いと思いますが、現実的にまだまだ取り入れていない企業も多いのです。現に僕自身も取り入れていなかった1人な訳でして。 簡…

Joinを多用するとLINQ to SQLは遅い?

LINQ to SQLが便利すぎてDataAdapterとかCommandには戻りたくない今日この頃です。ようやくメソッド形式にも慣れてきて、メソッド形式になっていないときもちわるいかも!という風に思えるようになって来ました。でも、1つ困った事に、書き方によってはレス…

VB6が好きだった。今はASP.NET MVCが好きです。

Visual Basic 6が好きでした。今から10年前くらいの話しです。初めて真剣に取り組んだ言語だからという思い入れもあるのでしょう。 当時は既に.NETが台頭してきており、後の主流になるFramework2.0系のVisual Studioも発売されていた頃だと思います。 発売…

EntityFrameworkでconfigファイル内の接続文字列をプログラム内で動的に変更させる方法

データベースを利用する際、App.config または web.config に接続文字列が記載されます。でも、パスワードまでプレーンな状態で記載されるので、あまり好ましくありません。 .NET Frameworkのaspnet_regiis.exeを利用した暗号化は、開発中には向いていない方…

Active Reportの用紙サイズが戻ってしまう現象で四苦八苦したので回避策

GrapeCity社のActive Reportで久々に嵌まったので備忘録。印刷ダイアログで指定した用紙サイズによって、動的にレイアウトを変更したかったので、レポートをRunする前に、印刷ダイアログで用紙サイズ等を取得する処理を書きました。※ざっくり書いていますが…