SE(たぶん)の雑感記

一応SEやっている筆者の思ったことを書き連ねます。会計学もやってたので、両方を生かした記事を書きたいと考えています。 でもテーマが定まってない感がすごい。

C#

C#の復習 - C#7.1編

C#

また前回記事の続きです。C#は5.0,6.0 みたいに1ずつバージョンが上がっていたのですが、なぜか7系だけ7.1, 7.2, 7.3みたいな上がり方をしています。なので記事を分けました。 今回はC# 7.1を見ていきます。下記ページを見ながら書いていきます。 docs.micro…

C#の復習 - C#7.0編

C#

前回記事の続きです。 hiroronn.hatenablog.jp 今回は、C#7.0を見ていきます。前回と同じく、下記ページを見ながら書いていきます。 docs.microsoft.com C# バージョン 7.0 この辺りから、関数型言語の影響受けたのかな?という機能がすごく増えたように思い…

C#の復習 - C#6.0編

C#

私事ですが、今後C#やることになっておりまして。以前以下の記事を書いたのですが、だいたいでC#5.0あたりで知識は途絶えています。 hiroronn.hatenablog.jp この記事3年前か… 最近C#やってないなーということで、どういう風に変わったのか追ってみようと思…

ScalaのOption[T]をC#で真似する - クエリ式で使う

前回、この記事を書きまして。 hiroronn.hatenablog.jp とりあえず、ScalaのOptionを実装できました。ただ、Scalaにはforという便利な構文がありまして。 val someOpt: Option[String] = Some("aaa") val noneOpt: Option[String] = None val concat: Option…

ScalaのOption[T]をC#で真似したら、ScalaのNothingがすげぇってなった話

Scalaへの理解を深めるために、 C#でOption相当のクラスを実装してみよう と思い立ちました。 Optionそのものの定義 Optionの各種メソッド SomeとNoneの定義 Scalaの実装 唐突に答えが分かる そもそもの勘違い 自分の常識を疑うことも大事 (もはや余談)C#…

学習のためにAzureを使い始めた

こんにちは。 以前からやりたくてもできていなかったことの一つに、アプリ(サイト?)開発があります。また、現在の業務ではAWSとかDockerとかいっぱい使います。 ある程度自動化されている部分はあるものの、仕組みを知っておく必要はありますし、そもそも…

『Scalaにおける最適なDependency Injectionの方法を考察する』を試す

DI(Dependency Injection)関連のお話です。以前以下の記事を書いたように、C#ならある程度理解できていました。 hiroronn.hatenablog.jp Scalaだとよくわからなくて…試したらだいぶすっきりした、という記事です。 いきさつ 最近Scalaで業務やっていて、テス…

(小話)他言語と比べたScalaの楽しいところ

最近、Scalaを仕事で使っているのは、以前の記事で述べたとおりです。 それとはちょっと離れますが、Scala学習の一環として社内でプログラミングの問題を解こうという催し?が行われています。私は解くのは義務ではないのですが、解けないと示しがつかないの…

ジェネリクスを活用して、FluentなインターフェイスをC#で実装してみた

C#

当記事は、Qiita Advent Calendar 2018、「C# その2」の21日目記事になります。 qiita.com 久々にC#を触ったので、拙い部分あると思いますが、ご意見ご指摘をコメント等いただけると、とてもうれしいです。 それではお付き合いください。 Fluentなインターフ…

CodeKataで遊ぶ Kata07: How'd I Do?

CodeKataやってみた記事、第七弾です。 今回は、Kata07: How'd I Do?をやっていきます。 codekata.com 概要 1年前程度、昔書いたソースを読む。 500~1000行程度あると望ましい。 と書くとあっさりしていますが、自分が書いたソースを批判的に読むことが求…

昔つくったツール(のソース)を公開する

C#

当ブログでやっているCodeKataやってみた記事の第七回は、以前自分が書いたソースを読むというものです。 それの公開に先駆けて、その対象にしたツールのソースをGitHubに公開しました。 github.com ツールの中身の一部は、以前紹介しています。 hiroronn.ha…

C#erがPythonを勉強したので、違いについて比較しながら述べてみる その3 型とか

はい。その2を書いたのが250日前、という感じですが、唐突にその3が始まります。 hiroronn.hatenablog.jp hiroronn.hatenablog.jp Twitterで、 Pythonの型について、C#等との比較で知りたい というお話があったので、経験した中で書いていきます。 間違っ…

『Adaptive Code』所感(おすすめ理由を述べてみる)

本書ですが、以下のイベントに申し込み、監訳者の長沢様より本をいただきました。 まずお礼を申し上げたいです。ありがとうございました。 connpass.com 本を受け取ったのが2018年3月10日。読み終わりましたので、所感を書きます。 なお、本書の第一版『C#実…

『C#実践開発手法』の感想を書く(第2版『Adaptive Code』の発売を受けて)

この記事は 以下のツイートを見つけました。 C#実践開発手法の第2版『Adaptive Code』の発売日が決まりました。2月24日です。今後は、耳寄りな情報もお伝えしていきます。 pic.twitter.com/hTFhlCIn2m— Adaptive Code (C# 実践開発手法 第2版) bot (@Agile…

糖衣構文について

C#

今回は、コーディングする上では知らなくても大事には至りにくい、言語仕様に近い話です。 糖衣構文、ご存知でしょうか? 例えば、C#のforeach文は、糖衣構文です。 await文*1も、糖衣構文です。 C#でキーワード*2として指定されているものの多くは、糖衣構…

『.NETのエンタープライズアプリケーションアーキテクチャ 第2版』を読んだ(DDD、CQRS、イベントソーシング)

今回は、こちらの本を読み終わったので、感想等を書いてみます。 honto.jp 副題は、『NETを例にしたアプリケーション設計原則 (マイクロソフト公式解説書)』となっていることから、基本的には.NET(というかC#)のお話です。 なのですが、この本は、C#…

ここが辛いよExcelVBA

ただの感想というか…そういうネタです。 仕事柄、不本意ながらVBAを触る機会*1があります。 VBA…自分でメンテナンスできないなら最初から使うな、とは言いたいところですが、来てしまうので対応しています。 まあ…所詮はOfficeのおまけなので、機能は少ない…

async、awaitそしてTaskについて(非同期とは何なのか)

C#

業務ではC#をやっていないのですが、とある日、C#を使った業務をやっている同僚から、 asyncとかawaitとか、よく分からない。なんでメソッド名にAsync付けるんだよ。Taskってなに。 というような、呪詛のような言葉を聞きました。 その辺詳しいですか?と言…

C#erが、じゃばしる(Java 8 Silver:Java SE 8 Programmer Ⅰ)に合格したので、C#と比較する

Java SilverはSE界隈では人気の資格だと聞きます。 特に、将来Javaを使う人、現在Javaを使っている人にとっては、実力を示す資格になると思います。 そんなJava Silverを、C#を専門にやってきた人間が受けるとどうなるか、実践したのでお話しします。 あと、…

UWP悪戦苦闘記 その5 HamburgerMenuでナビゲーションに苦労してみる

すごく久々の、UWPネタです。*1 2017年7月当初と、少し前のニュースになりますが、 codezine.jp こんなのがありました。*2 MS公式のGitHubはこちら。 github.com これを見て、使ってみよう!というのが、今回の記事です。 紹介記事 最新のアプリ - UWP Commu…

単体テスト自動化に向けてDBアクセスを抽象化する

最近、RPAについて調べる機会がありました。 RPA:Robotic Process Automation(ロボットによる業務自動化) 「デジタルレイバー(Digital Labor)」や「仮想知的労働者」とも言い換えられるようです。 要するに、ホワイトカラー(事務等)の業務を自動化し…

C#erがPythonを勉強したので、違いについて比較しながら述べてみる その2 名前空間、クラス

前回、Pythonについて、構文レベルの話を書きました。 hiroronn.hatenablog.jp 今回は、名前空間や、クラスについて述べていきます。 名前空間 名前空間とは 名前空間とは、いろいろ説明がありますが、クラスをわかりやすく整理するためのもの、と考えてよい…

C#erがPythonを勉強したので、違いについて比較しながら述べてみる その1 構文

こんにちは。 これまでの記事見ていただければわかりますが、私はC#大好き人間です。 仕事では、最近はSQLやらVBAやらばっかりですが… そんな人間が、突然Pythonの勉強を始めました。 機械学習に強い点、いろんな環境で動く点、様々な利点があることから、学…

オブジェクトとインスタンス、そしてガベージコレクションについて

オブジェクト指向の言語を使ってプログラミングしていると、ふと思うのが、このインスタンスはいつ消えるの…?という疑問です。*1 まあ、C#等のガベージコレクション(Garbage Collection)を持っている言語を使う場合、ほとんど気にする必要はないのですが、…

昔書いたクソコードが見つかったので晒してみる

こんばんは。 ちょっとフォルダの整理をしていたら、4、5年ぐらい前に作ったツールのソースがありました。 興味本位で見ていたら、中身がなかなかのクソだったので、晒してしまおう、と思いました。 ツール概要 データベースをちょっと便利に扱うツール。 …

UWP挑戦記 その4 Bindingを使ったソースをx:Bindに変更してみた

今回は、UWP関連の話です。 UWPでも、WPFと同様MVVMモデルの考え方を踏襲しています。 WPFのデータバインドで書く、{Binding Path=xxxx}のような記法は、UWPでもそのまま使えます。 それはそうと、Windows10では、{x:Bind Path=xxxx}のような記法が、新たに…

C#(.NET)の主要なインターフェイス(interface)について

C#

UWPのネタも書きたいところですが、今回はもっと前段階の話で、interfaceについて書きます。 公開されているライブラリを見ると、今や、当たり前のように使われていますし、私が書く記事でも、当たり前のように使っています。 復習を兼ねて、まとめを書いて…

UWP挑戦記 その3 DIとDIコンテナについて

現在、UWPの勉強の一環で、アプリを作成しています。 二つ浮かんで、一つは本当にしょうもないのですが、まぁ練習ですし。 エラーチェック等は入れたいので、Prismを使っています。 そんな中、DIとDIコンテナについてまとめてみます。 なんだか、どんどんUWP…

UWP挑戦記 その2 用語とかを解説してみる

前回の記事で、 UWPはPrismが無いとマゾい という内容を書きました。 hiroronn.hatenablog.jp 別に反響とかなかったですけど、現在、記事にも書いた通り、Prismの勉強をしています。 ただ、そう考えると、WPFもやったことがない人にとって、UWPを始めるまで…

UWP悪戦苦闘日記 その1 WPFにあってUWPに無いものがある

こいついつも悪戦苦闘してんな まず余談 さて、前回書いた通り、UWPの勉強始めました。 hiroronn.hatenablog.jp そしたら、ここ何日かの間に、こんなニュースもありました。 pc.watch.impress.co.jp 記事の一文に、 Microsoftは先日、Windowsストアアプリの…