2017年7月28日金曜日

C#7.0の新機能を使ってみた 第1回

こんにちは!


C#7.0で新しい機能が増えたので、早速使ってみました。
何回かに分けて、少しずつ紹介していきたいと思います。


out変数


out変数を使用する際、呼び出す前に、変数宣言をする必要がありました。





しかし、C#7.0では変数宣言と呼び出しが同時にできるようになりました。




地味に嬉しい機能です!



ローカル関数


下図のように、ある関数で、その中でしか使わない関数を定義し、呼び出すことができます。
  









もちろんこの書き方でもOKです。

書ける場所は限られますが、普通の関数と同じ感覚で使えるので使いやすいと思います。

2017年7月21日金曜日

Webアプリ初心者が学ぶRuby

みなさん、初めまして。
ひっくと申します。

まずは簡単に私の自己紹介から。

普段主にC#を使用して開発しています。Webアプリに関しては実はほぼ初心者。

でも以前からWebアプリの作成に興味があったということ、もりもりさんみたいに他の言語も勉強してみようということで
今回Rubyを学ぶことにしました。

さて、まずは開発環境からですね!

さっそく用意していきましょう。

今回はCloud9という、クラウドIDEを使用します。

Cloud9とは



https://c9.io/

Webブラウザから使える統合開発環境です。
Rubyだけでなく、GoやPython等多数の言語に対応しており
登録さえすればすぐに使えます!便利!
(ただ、動作は少し遅い...)

登録するための方法は、調べたら結構出てきますので
今回は割愛します。

Workspaceを作成する


登録が終わると、以下のような画面が表示されます。

画面中央の「+」を押下すると、画面が遷移します。
いくつか入力、選択して作成(「Create workspace」ボタンを押下)!

今回は次のようにしてみました。


コードを実行する


開発環境が整ったので、早速コードを実行してみようと思います。

左に表示されたフォルダ上で右クリック。
「New File」を選択し、ファイルを作成します。(ファイルの拡張子は「.rb」)

作成したファイルをダブルクリックすると、画面中央でタブが表示されます。
以下を入力します。

puts "hoge"


「Runボタン」を押下して実行!


「hoge」が表示されましたね。

Command入力欄に表示されているファイルが、実行対象になるようです。

Runnerでは、実行言語を変更できるみたいです。
失敗するのは明白ですが、RunnerをC言語に変更して、再度「Runボタン」を押下!


やっぱり失敗しました。
Runnerの選択候補に「Ruby1.9」と「Ruby2.1」が存在したので、
バージョン違いのコード動作確認とかもできるような気がします…

何はともあれ、環境は整ったのでこれから色々触ってみようと思います!

とりあえずのところ、今回はここまで。
ではまた!

2017年7月15日土曜日

アプリのUIデザインに参考になるサイト!


お久しぶりです。ありかわです。

今回は僕がアプリ開発でUIをデザインするときに、参考にしているサイトを紹介したいと思います。


MOBILE PATTERNS


海外のサイトですが、カテゴリ毎に色々なアプリのUIを見ることができます。


http://www.mobile-patterns.com


pttrns


こちらも海外のサイトでカテゴリ毎に色々なUIを見ることができます。
さらにiPad, Apple Watch等ハード毎にも分かれているので参考にしやすいです。



https://www.pttrns.com


色彩センスのいらない配色講座


このスライドすごく参考になりました。
配色って大事です。
https://www.slideshare.net/marippe/ss-9003317


それじゃまた。

2017年7月7日金曜日

Visual Studio で複数プロジェクトの対象フレームワークを一括で変更したい

はじめまして。初投稿です。ざわです。
先日、Visual Studio の対象フレームワークを[4.5.2]から[4.6.2]に変更したのですが、
ソリューション内にプロジェクトが30個ほどあり、
プロジェクトのプロパティを1つ1つ開いて変更するのはなかなか手間だなと思い
一括で変更してくれる機能はないものかとしらべてみました。











まず、標準機能では存在しないんですね。

次に見つけたのがVisual Studio の Marketplace にある「Target Framework Migrator」というツール。
しかし、ユーザーレビューをみると、ほんとうによいツールだ!という人もいればエラーがでたとか、プロジェクトが壊れたとのコメントも、、、😓

他にはPowerShellなどで自作スクリプトつくっている人もいましたが、
要は、対象フレームワークの情報はcsprojファイルに書き込まれているので

ソリューションの全csprojファイルを検索して<TargetFrameworkVersion>タグのバージョン部分を置換するというものでした。

であれば、Grep置換機能のあるテキストエディタを使って一括で置換するのが
一番簡単な方法なのでしょう。

ということで、サクラエディタの「Grep置換」を使って試してみました。
(サクラエディタのGrep置換はバージョン2.2.0.0以降から使える機能のようです)














こんなかんじで設定して置換すれば終わり。
  ①置換前
    "<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>"
  ②置換後
    "<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>"
  ③ファイル(※)
    "*.csproj"
  ④ソリューションのパスを指定
  ⑤[置換]実行

  ※ここではcsprojファイルをサンプルに載せていますが、
  対象フレームワークの情報は app.configなどにも設定されているので
  同様に変更が必要になると思います。

2017年7月4日火曜日

エンベデッドシステムスペシャリスト試験 合格

おはようございます。ふじかー です。

資格取得を目指す社員を応援する「資格キャンペーン」について
以前どこかで書いてましたが、今年度も社内イベントとしてやっています。
(グループ戦で、勝ちチームは合格時の報奨金アップ!というもの)

別に資格じゃなくても、何かしら能力向上の努力ができるなら評価はされるんですが
身についたことが分かりやすく、手っ取り早いですよね、資格取得。
持ってたからといって仕事ができる訳じゃないですが、勉強して基本を押さえた証明にはなります。

自分も昔から何度も受けては取りこぼしていた「エンベデッドシステムスペシャリスト」だったんですが、
もう組み込み業界で仕事して10年、そろそろ取っておきたいと思って再受験し、ようやく合格できました。

割とギリギリw

あまり他の人には役立たないかも知れませんが、体験記として書いておこうかと思います。

エンベデッドシステムスペシャリストとは


情報処理技術者試験のうち、スキルレベル4(1~4まで)の高度試験で
「組み込み開発」に特化させた資格。詳しくはIPAのサイトで。
https://www.jitec.ipa.go.jp/1_11seido/es.html


対策

午前Ⅰ

以前別の高度試験を受けて午前Ⅰに合格していたので、今回は免除。

午前Ⅱ

4択問題が全25問。これを40分で解く。15問以上正解で合格。
 
午前の試験は過去問からの再出率が高く、今回も約半数の12問が過去問。
それさえ押さえておけば、残り3問正解すれば合格。楽勝です。
 
ということで試験勉強としては、ひたすら過去問を解きます。
 
以下のサイトから過去問と解答を拝借し
平成21年から28年までの8回分の問題・解答内容をExcelにまとめて繰り返しテスト。
 http://itsiken.com/
 
→ 10回ほど繰り返し、ほぼ全問正解までもっていきます。
  まとめ方は、こんな感じ。

午後Ⅰ、Ⅱ

午後の試験については、特に対策は行っていません。
後にも記載するとおり、「勉強した内容が出る」というもんでは無いからです。

しいて言うなら、試験の慣れという意味で
過去問を何回分か解き、時間や出題の感覚をつかむのは良いと思います。

思うところ

高度試験はどれも割とそうかもしれませんが
特に午後は「試験勉強したら何とかなる」というものではなく
実務での経験や考え方、何かあったときの対処方法など、経験がモノをいう所が多いので
業務で普段から使っていないと中々難しいんじゃないかと思いました。

逆に携わっている人にとっては、午後の問題に面白さを感じるんじゃないでしょうか。
「実際にこんな案件してみたい」というような例題が出てきます。

今回の試験も、Pepper君みたいなロボットを制御する問題が出てきました。
「ロボットの近くに人がいる場合、センサで方向を確認して、モーターでロボットを人のほうに振り向かせ、
 情報サーバから受信した案内情報を画面に表示、スピーカから音声を喋らせる」

そんな「ちょっと面白そうやん」というような開発の触りの部分が試験問題となります。
まぁ実際こんな案件は業務では来ませんが。

また、受験者数を見てみると
※表の見方
 応募者数|前年比率
 受験者数|受験率
 合格者数|合格率



3400人くらいしか受験していません。私の受けた試験会場も、この試験は1教室だけでした。
ただでさえ他のIT資格に比べちょっと地味な印象のある「情報処理技術者試験」の中で、
さらにマイナーな試験といえます。

わが社の開発部でも「組込み屋」のほうが比率としては少なく、
すぐ人不足に陥ったり、技術者を探してもお爺ちゃんしか出てこなかったり。

このように地味・マイナーなエンベデッドシステムスペシャリストですが
IoT時代においては無くてはならない、花形資格でもあるようです。
身の回りの物にマイコンを組み込んで、ネットにつなぐ訳ですもんね。

人の少ないところを押さえる意味でも、目指してみるのもアリかも知れませんよ?