読者です 読者をやめる 読者になる 読者になる

ぺぷしのーげん

アプリケーションエンジニア(C#er)による雑記ブログ

エンジニア立ち居振舞い:コードを憎んで人を憎まず|個人攻撃にならないよう気を付けよう

エンジニアの立ち振る舞いというお題が出たので書いてみることに。これは分かっていても自分でもやらかしてしまうことがあるので、反省の念も込めて。

オブジェクト指向と命名規則を遵守すればコメントはほとんど書く必要はない[コメント不要論][C#][Java][Swift]

学生の時にコメント至上主義者だった僕は、とにかくコメントを書いていました。しかし、就職してインド人と触れ合ったり、オブジェクト指向の理解を深めていくにあたりコメント不要論者となっていきました。今回はその理由について書いていきたいと思います。

人工知能(AI)が奪う仕事と奪えない仕事をまとめました

人工知能によって様々な職業がヒトから取って代わるというのは分かるのですが、あまりにもそれは無理じゃない?というのも中にはあるような。今回は個人的にすぐ置き換わりそうな職業と、それは無理でしょーっていうのをまとめてみました。

UWP(.Net Core)でHTTPS通信ができない!HttpClient.GetStringAsyncで文字化けして使えない!

UWPでHTTPS通信を使ったアプリを作ってみようと思ったんですが、いかんせん情報が少なすぎます。HTTP通信は結構出てくるのですが、HTTPSは全然ありません。需要ないんですかね?そんな馬鹿な。

Staticクラスやシングルトン(Singleton)の正しい使い方と間違った使い方、生じる不具合や問題点について

データの持ち方や渡し方に悩むことって結構ありますよね。特に今はWPFでNavigationWindowを使ってアプリケーションを作っているので大変です。今回はその件について。

みずほ銀行の次期勘定系開発が予定通り総合テスト入りしたそうだけど死亡フラグが満載な件について|オンスケジュールなんて言葉は信じちゃダメですよ??

「全てのプロジェクトが予定通り総合テスト入り」、みずほ銀行の次期勘定系開発が大詰め:ITpro みずほ銀行の次期勘定系開発が暗礁に乗り上げているという報道が先日ありましたが、今回は予定通り総合テスト入りという報道がなされました。ITproの記事を読ん…

抽象クラス(Abstract)とインターフェース(Interface)の違いと使い分けについて|オブジェクト指向のススメ[C#][Java]

オブジェクト指向型言語に出てくる抽象クラスとインターフェースという概念。教科書ではほとんど同じにしか見えない両者ですが、今回はその違いと使い分けについて書いてみます。

ポケモンGOがフリーズしたりアプリクラッシュ、落ちる原因をエンジニアが想像してみた

【公式】『Pokémon GO』 初公開映像 - YouTube ポケモンブームは本当にすごいですね。田舎でもポケストップにはポケモンしてる人がいて、本当に日本中でプレイされているんだなと実感します。しかし、僕は最近ポケモンがフリーズしたり落ちたりしまくりで苦…

はてなブログのフォトライフにアップロードした画像を一括ダウンロードするWPFアプリケーションを開発しました

はてなブログにはブログのバックアップサービスがありますが、残念ながら画像ファイルのバックアップはできません。アップロードした画像はフォトライフというサービスで管理されているのですが、ブログと違うサービスのせいなのか、連動してバックアップを…

みずほ銀行の次期大規模システムの開発大炎上について思うこと|終わらないデスマーチ

みずほ銀行の次期システム開発が大炎上中のようです。数年前からカオスなことになっていると言われていましたが、何の対策も打てなかったのでしょうね、ついに4000億円まで投資額が膨れ上がってきたようです。

WPFのチャートグラフコントロールSparrowChartで折れ線グラフを描く方法

4月に紹介したWPFの無料チャートライブラリSparrowChart。今後使い方を説明すると言って早2ヵ月。てめーいつ更新するんだという勢いで記事のPVも増えてきたので、重い腰を上げて今回は折れ線グラフの描き方を説明します!w

Viewで触れるとWPFのバインディングが解除されてしまう

WPFのバインディングが途中で動作しなくなる事案が発生しました。最初は動作していたのに、特定のタイミングだけ動作しないのです。まさかと思って調べて試してみたら動作しました。そうです、バインディングはとある動作で解除されてしまうのです。。。

C#と.NETを使ってJsonWebTokenをRS256で署名して作成する方法

JSONのHTTPによるセキュアなやり取りにJson Web Token(JWT)という規格があるそうです。今回、Windowsタブレットのアプリとサーバーとのやり取りをJSONとJWTを使ってやろうという話になったのですが、ちょっと待って、そんな規格知らないし、たぶん.NETにそん…

WPFのWindowやPageをクラスライブラリ化する方法とその問題点について

こんにちは、自称ソフトウェアアーキテクトのKeitaです。プログラミングよりもマクロな世界であるソフトウェア設計やアーキテクチャ、フレームワーク設計、リファクタリングを得意としています。そんな中、WPFアプリケーションを構造化させようと思い、WPFア…

DELLのXPS13をタッチパネルWindowsタブレット端末向けの開発マシン・PCとして採用しました

InfinityEdgeディスプレイ搭載XPS 13ハイパフォーマンスノートパソコン | Dell 日本 仕事でWindowsタブレット端末向けのアプリケーション開発を行っているのですが、当初困ったのが開発PCの選定。通常のデスクトップアプリケーションとは勝手が違うのですが…

エンジニアへの頼み事や相談は弁護士や医者に相談するのと同じなんだよ

エンジニアが軽視されているとは思わないけど、技術を金銭的な価値として見ることができる日本人って少ないと思う。昔も話題になったけど、今になっても変わらない。ものづくり大国だと言ってる人は多いけど、エンジニアでそう言ってる人は少ないし、言って…

ソフトウェア設計とは何か?設計にプログラミング経験は必要不可欠だ

「ソフトウェア 設計」でググると、トップに出てくるブログ記事に「開発プロセス」も「UML」が1度も出てきません。あり得ない。この国のソフトウェア開発の7割は失敗していると言われていますが、これもそれを表しているようです。今回はこの記事に対して…

WPFにチャートやグラフコントロールがなくて困ったのでSparrowToolkitを使ってみた

WPFにチャートやグラフコントロールが標準で存在しないなんて知りませんでした。調べてみたところ、無料のライブラリを見つけたので、それを使ってみることに。

小中学生にプログラミングの必修化は必要なのか?

安倍政権の成長戦略として小中学生にプログラミングの授業を必修とする方針が固められました。今後の経済におけるITの重要度は増していく中で、中初等教育でのプログラミング教育は必要で機能するんでしょうかね?

WPFのWrapPanelがScrollViewerの中で動かない!を解決しました

WPFのWrapPanelがScrollViewerの中で動かなくて泣きそうになったので、書き残しておきます。WPFやってる人少ないので情報が全然入らなかったのです。WrapPanelについては結構あるんですけどねえ…。たまにはエンジニアっぽい記事も投稿しておかないとね。

C#のImage.FromFileがファイルをロックする問題について|FromStreamとFileStreamを使え!

Image.FromFileがファイルをロックしてしまう問題について。FromStreamを使いましょう。

WPFのTabControlでタブを複製する方法

WPFのTabControlに同じタブを複製する方法についてメモ書き。

Windowsはダサくなければ時代遅れでもない。MacやiOSに勝る部分もある!

開発者目線だとWindowsって結構いいですよね。AndroidやiOSなんてやってらんないですよ。

なぜテストコードを書くとコードの再利用性が上がるのか?

テストコードを書くと再利用性が高まるなと実感したので、記録として記しておきます!

Facebook SDKをSwiftで使う方法|Graph APIでメンバー一覧取得してみた

Facebook SDKとSwiftを使ってGraph APIからFacebookグループのメンバー一覧を取得してみました。

例外発生を防ぐためにTryParseを使おう!←ん?本当にそれでいいのか?

TryParseは例外発生しないから使うと良いよ!という説明には違和感を感じる今日このごろ。

今日も僕は糞コードと会社で戯れている。

今日も糞コード公開するよー!

C#でもvarを使う時代になった|MSDNでも使用推奨

varは決してネガティブな型ではありません。C#でも積極的に使っていきましょー。

C#にもSwiftのオプショナル型に相当する概念ありました|すみません

C#にもSwiftのオプショナル型に相当する概念ありました。申し訳ありません orz

SwiftのGmail APIがXcode7ではビルドできない|無事死亡

Gmail APIがXcode7でビルドできません。はやくGoogleさまサポートしてくれー!!

「IT部門は素人集団」という事実を知らない社長の大問題|日経コンピュータ

「IT部門は素人集団」というメッセージは強烈だが、決して客寄せパンダの言葉でもありません。

Facebookが裏で無音を再生してiOSでバックグラウンド処理を実行していた!

先日iOSでは定期的にバックグラウンド処理を走らせることが不可能という記事を書きました。そしたらタイムリーにFacebookがやらかしてました。

挫折。iOSでは定期的にバックグラウンド処理を実行できない|Swiftプログラミング

iOSで定期的にバックグラウンド処理を走らせようとしたのですが、挫折しました。。。

Gmail APIのUsers.Messages.getのDateのフォーマットが違う!?|Gmail/API/Swift

Gmail APIで取得したメールのDateに複数のフォーマットがあるんだけど。。。なぜだー。

SwiftからNSTimeInterval型が消えてる?|timeIntervalSinceNowも見つからず

NSTimeIntervalがビルドできません。なんでだろー。どっかミスってるのか??

SwiftのisEmptyはnilを返すこともある|最悪の場合は例外発生

isEmptyでnilが返ってきて混乱したのでメモ書き。書いていくと頭が整理されて別に普通の振る舞いだと気づいた。うーん奥が深い。

VWに見る日独メーカーのIT音痴|フォルクスワーゲン不正排ガス規制逃れ

VWの不正排ガス規制逃れをみて、日独のIT音痴・軽視を垣間見た気がします。日独は米国にはなれないのか。

C#からオプショナル型を考える|Swift勉強録

C#に慣れてるとSwiftで困ることは多々あります。今回はオプショナル型についてメモがてら簡単に書きました。

職場で出会った悲しいテスト仕様書たち|書き方の反面教師

どんな天才プログラマーを集めても、テスト仕様書がゴミだったらそのソフトウェアはゴミになります。今回は職場で出会った残念なテスト仕様書を集めてみました。

おいおい画像処理は魔法の呪文じゃないんだぞ!

画像処理は魔法の呪文ではありません。繰り返します。画像処理は魔法の呪文ではありません。

NRIハッカソン@CEATEC JAPAN2015に参加してみた

野村総合研究所主催のハッカソンに参加してみた。初めてのハッカソン。日記がてらその内容を書きました。

あなたはHELLO WORLD!でときめくことができるか? / プログラミング特性を図る簡単な方法

Hello World!って人によって反応が違うことに最近気が付きました。実はこれってその後のプログラミング言語習得と大きく関係しているのでは?

どうしてこうなった。エクセルで作られた悲しい書類たち

会社で出張申請などの書類を準備してると残念な気分になります。今回はそんなエクセルで作られた残念な書類たちをまとめてみました。

誰も信じてくれない嘘のような本当のエラーメッセージ

大学でプログラミング演習のアシスタントをしていたときのお話。これ実話ですよ。

思わず叫びたくなってしまった3つのソースコードたち

ついつい会社で叫びそうになってしまったソースコードたちをブログに書きなぐってみました。

会社でユニットテストを書いてみて分かった3つのこと

ちゃんとユニットテスト書いてますか?僕はようやく書く機会があったので、そのときに思ったことを忘れないうちに書いておきます。

オフショア開発は本当に安上がりなのか?本当に全体最適化できているのか?

会社でオフショア開発やってますが、全く安さを実感していません。聞こえてくるのは「人手不足」の声ばかり。でも日本人増やしたらオフショアの意味ないでしょ?

SwiftでGmail APIを利用する方法 / Gmail API iOS Quickstart

SwiftでGmail APIを使う方法をまとめました。とりあえず認証画面の表示まで。

アプリ開発を外注さんにお願いしても上手くいかない理由

アプリ開発を外注さんにお願いして失敗したーって話があります。こういうのって何故起きるんでしょう?

こんなソースコードばかりで疲れ果ててしまったんですけど

最近他人が書いたコードのメンテや不具合修正で疲れ果てています。弊社でしか働いたことがないので、これが業界全体の問題なのか弊社の問題なのか分かりません。