Rのつく財団入り口

ITエンジニア関連の様々な話題を書いているはずのブログです。

【雑記】アクセス御礼と9月開始

アクセス御礼

 9月開始です。1ヶ月の間にアクセスが1000PVを超えるとはてなから通知が来るんですね。8月中にめでたく通知が来ました。はてなブログに移行したのが7/23、こちらも経過1か月を待たずに1000PVを越えて順調な滑り出しです。だいたい1日20-30アクセスあると1月で1000PVでしょうか、別にアフィで稼ぐとかそういうのもまったくないので、十分だと思っています。
 おかげさまで読者数も30を超えました。相互に読者登録して頂いた方、記事に★を付けてくれた方、RTして頂いた方などなど、そして来訪して頂いた方もありがとうございます。
 グループも幾つか入ったりあちこち見て回ったり読者登録したので、引き続き見て回ろうと思います。感想としてはひじょーに月並みですが、はてなブログコミュニティ界隈でも、年齢や立場、学校や仕事や家庭、日々の生活、考え方、話題、実に様々な方の様々なブログがあるなあと改めて思いました。
 はてなブログの機能の発見としては最近、予約投稿が便利だというのに気づきました。(遅!)

続きを読む

【感想】オブジェクト指向でなぜつくるのか 第2版

「なぜ」シリーズの定番本の第2版

 本屋でもよく見かける「なぜ」シリーズはよい本が多いのですがその中のベストセラーの名著の一つ。初版は2004年に出ましたがその後の歴史的変遷や内容の改善を踏まえ、全面的に書き直した2版が2011年に出ました。
 350ページ強とけっこう分厚いのですがフォントも比較的大きく、左右に空白もあり、そして図表も豊富で文章も平易なので読みやすい本です。サンプルコードはほぼJavaですが、だいたいメンバ変数と標準出力をするメソッドを持つ簡単なクラス程度から始まるので、最低限のJava文法が分かれば読み進められます。

オブジェクト指向でなぜつくるのか 第2版

オブジェクト指向でなぜつくるのか 第2版

  • 作者:平澤 章
  • 発売日: 2011/04/07
  • メディア: 単行本

 ターゲットは仕事で開発をする人ならだいたい新人~業界数年目の若手、あるいは非オブジェクト指向の世界から来た方なら何年目でも、そしてプログラミング自体の学習と一緒にオブジェクト指向を勉強したい方、でしょうか。
 他の言語の最近のOOP本で言うとRubyの『オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方』はもりもり設計やコーディングしている中級者向けでそれよりはもっと初心者向け、『アジャイル時代のオブジェクト脳のつくり方 Rubyで学ぶ究極の基礎講座』と同じぐらい?ではと思います。
オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方

アジャイル時代のオブジェクト脳のつくり方 Rubyで学ぶ究極の基礎講座

 著者の方によるサポートページもあります。

続きを読む

【感想】オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方

Rubyで学ぶオブジェクト指向

 モダンな設計・実装に欠かせない重要要素で企業の新人研修にも出てくるし、その反面知らない人にはピンとこなくてけっこう難しかったり、クラス・メソッド構成のレベルでいうと唯一の正解がなかったり別に多少沿ってなくてもシステムは動いたりでなかなか厄介な、オブジェクト指向の考え方。
Object OrientedでOO、プログラミング技術についてはObject Oriented ProgrammingでOOPと呼んだりもします。
 オブジェクト指向の有名本というとサンプルコードは大抵は静的型付け言語、Javaだったりするのですが、RubyでOOが学べる良書です。

 作者のSandyさんは大学でコードを書いたりアプリケーションを作ったりしているそうですが、序盤から文章も親しみやすく、訳もそんなに不自然ではないので割とそんなり読めます。網羅本というよりは読み物系です。

  • 設計は芸術で、コード構成の芸術だと述べているあたり美しい。
  • サンプルコードは当然Rubyですが、自転車を作ったり売ったりしようという話で出てくるクラスは最初はBicycleとかGearとかWheelとかそういうのです。大して難しくないので言語としてRubyを知らない人でも読んでいけると思います。
    (後半は、クラスの数が増えてシーケンスが複雑になったりしてきます)
  • インターフェースの意識の話が。JavaC#だと親のインターフェースのメソッドをインプリメントしてないとその時点でエラーが出るので感覚的にも何となく分かるのですが、RubyだとそれがないのでOOをこれから学ぶ人は苦しんだりするのかなーと思います。
  • オブジェクトよりオブジェクト間のメッセージが重要なという説明はなるほどと思いました。
  • 欠かせない継承やコンポジションの話。継承を深くするな、継承よりはコンポジションの方が良いという話もなるほどと思いました。
  • 依存関係の方向は、自身より変更されないものに依存されなさい、も深い。
  • 子クラスでinitializeをオーバーライドしてsuperしながら再実装ではなく、親に空のpost_initializeを置いてそっちをオーバーライドするという話は、こういう手もあったか!とけっこう驚き。
  • Ruby特有の機能としてはmix-inの話。
  • テストの話も色々。こういうクラス実装時にテストクラスも一緒に作ってテストしやすくしたりスタブを工夫したりする考え方・文化・仕組みが言語やフレームワークに最初からあるのは良いなあと思います。

 詳しくは本編を読もうという感じですが、紙の本はそれほど分厚くなく、挫折せずに読めます。オブジェクト指向について得るところは大きいので若手の人にもオススメです。勉強会の題材なんかにも向いてそうですね。

続きを読む

【感想】Ruby on Rails 5アプリケーションプログラミング

最新のRails5をまるっと網羅した最新リファレンス本

 Ruby界隈で名高いRailsの解説本。Rails4版が2014年刊行、Rails5版の本書が2017/4月刊行でおそらく事実上最新の本、電子書籍版もあります。
 環境構築からMVC各層のコマンド、応用まで、主要機能が一式まるごと載っていてリファレンス本として使えます。VIEW部分の描画に使うビューヘルパー各種メソッドやActiveRecordの各種メソッドなどなど、オプションまでかなり丁寧に解説してある印象です。

Ruby on Rails 5アプリケーションプログラミング

Ruby on Rails 5アプリケーションプログラミング

 同時期に出たRails5の本ですと2016年12月の『Ruby on Rails 5 超入門』もあります。こちらはよりプログラム未経験の人にもフォーカスしてカラーページや画面キャプチャを多くして分かりやすそうですが、コード例などが一部Ruby/Railsのお作法に従っていなかったり不適切だという話をよくネットで見るので、開発経験者レベルの人には本書の方がお勧めのような。

Ruby on Rails 5 超入門

Ruby on Rails 5 超入門

2016年11月の『はじめての「Ruby on Rails」5』もありますがより初心者向けのようなので、経験者が選ぶなら本書か超入門でしょう。

 Rails5が上記3冊、Rails4に戻ると、『パーフェクト Ruby on Rails』や『実践Ruby on Rails 4 現場のプロから学ぶ本格Webプログラミング』など、おすすめ本によく名が上がる本がいろいろ出てきます。

 僕は幾つかの本やネットの情報に触発されてちょっと触りつつ、Rubyを普段使う機会はまだないので概要や動静の把握のため、他言語のフレームワークとの比較の為に読んだのですが、他言語開発者からみるとこの本でもう十分な内容でした。

続きを読む

【PHP】PHPでActive Directoryを検索してみるサンプル

今度はPHPでAD連携してみよう

MarkDown記法を使って今度はPHPのコードを載せてみるテスト。前回の【C#】C#でActive Directoryを検索してみるサンプルの続きということで、今度はPHPでもAD連携をしてみます。
 PHPではPHP自体の設定ファイルphp.ini の以下の場所のコメントを外すと、 最初から入っている組込みのLDAP関数群が使えるようになります。

;extension=php_ldap.dll

PHP: LDAP 関数

 全て関数名の最初がldap* で始まるので分かりやすいのですが、使い方はC#とまったく違って独特です。
 以下、PHP 5.6 で確認しています。最新のPHP7ではないです。

続きを読む

【C#】C#でActive Directoryを検索してみるサンプル

前回のごあいさつ記事御礼

 ご挨拶記事にて、はてなを始めてからたぶん最高値のスター・読者登録などありがとうございました!(`・ω・)ゞビッ
 おかげさまであと数日で合計アクセスが1000を超えそうです。

C#でAD連携してみよう

Microsoftが作ったディレクトリ・サービス・システムであるActive Directory。よくWindowsサーバ内に構築し、ユーザやコンピュータを管理したりしています。ビジネスの世界ではよく「AD連携」と呼ばれたりします。
 通常他のマシンで動いてるアプリケーションからネットワークを介して繋ぎに行ったりもするのですが、設定や繋ぎ方や扱いがけっこう独特です。そういえばどうやるんだっけ?となってぐぐってみると、同じようにあれこれ調べて正解にたどり着いた方のコードがあちこち見つかります。
 実際に作ってみたものがあるので、MarkDown記法を使ってみるテストも兼ねて載せてみます。はてな上は```で囲えばいいので簡単ですね。C#を表すファイルタイプはcsでした。
 以下、NET Framework4.6なのでC# 6 で確認しています。

続きを読む

【ご挨拶】はてなブログに移行しました

ごあいさつ/このブログについて

 みなさんこんにちは。id:iwasiman のいわしまんといいます。
 ご挨拶記事が後になってしまいましたが、2017/7/23をもってこのブログはURLも変わってはてなブログに移行完了しました。
 かつては、架空世界でストーリーやキャラクターを創って遊ぶアナログゲームの1ジャンル、「テーブルトークRPG」(TRPG)の話題を扱う個人Webサイトの入り口として更新情報等などを掲載、メインコンテンツとして移行したあとはTRPGセッションのプレイ記録や映画や本の感想などなど、諸々の記事を載せていたブログです。
 はてなブログの公式グループですと ゲーム>テーブルゲーム あたりにTRPG系の記事を書いている方もいますね。

続きを読む