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

Linux + データベース構築勉強会 全4回が終了しました。

2/4~3/18まで、隔週で4回開催した「Linux + データベース構築勉強会が終了しました。

参加者は、大澤さん、岩崎さん、佐々木さんと私(鈴木)の4名。

f:id:ars_suzuki:20170321210813j:plain

今回の勉強会は、どのようにしてOracleDBを組上げていくのか、実践して感覚を掴んでもらうことが勉強会の趣旨でした。 Oracle Masterを勉強される方には、自分で構築を経験された方もいるかもしれませんね。 OralceDBの試験範囲でいえば「Bronze DBA12c」です。

f:id:ars_suzuki:20170321210918j:plain

構築は、仮想化ソフトにOracle社から無料で提供されている「VirtualBox」を使用し、 その上に、centOS7.3、JDK8、OracleDB12c(EE)を導入して進めました。

ちなみに、参加者のホストマシンは、岩崎さんと佐々木さんは「Mac」。大澤さんと私は「Windows」。

構築手順書は私があらかじめ作成・準備していたので、それに習い進めていきました。 途中、想定外でVirtualBoxの挙動が、MacWindowsで異なる箇所があったりしましたが、 そこは、さすがのエンジニア。チョチョイと解決しています。

f:id:ars_suzuki:20170321210833j:plain

OracleDBの導入にあたっては、多くのパラメータを設定する必要があるのですが、 参加者からは、「OracleDBの導入は簡単にできるものと思っていた。 実際の構築するとこんなに大変なんだなって分かってよかった」という感想も聞いています。

f:id:ars_suzuki:20170321210848p:plain f:id:ars_suzuki:20170321210856p:plain

OracleDB12cからはマルチコンテナアーキテクチャーが導入され、プラガブルデータベース(PDB)という機能が使用できます。 簡単にいえば、データベースを仮想化させ、サービスとして動作させること。 今回の勉強会では、2つのPDBを作成しました。

PDBのうち1つはデータベースの起動時に同時に起動させ、もう一つは停止状態のままにしておく。 そしてデータベースが新たに必要になれば、停止状態のPDBを起動させて使用する。そのような使い方もできます。

PDBを使えば1つのインスタンスで、複数のデータベースを用意することができるので、 サーバリソースを有効に活用することができる機能ともいえます。

ちなみに、鈴木がプライベートで検証に使用しているシステムにもPDBを使用しています。 使用する分には11gまでのデータベースと、特に違いはありません。

PDBの上限:StandardEditionの場合は1個・EnterpriseEditionは252個。

最後に、当初3回の勉強会が、時間が足りなくて4回目を開催することになったのですが、 みなさん、快く快諾して頂いて、本当に感謝します。 すべての回で、誰も欠席せず全員が皆勤賞。 加えて、全員で考えて、意見を出し合う勉強会のスタンスに、 私自身、開催して本当に良かった!と思いました。

f:id:ars_suzuki:20170321210924j:plain

f:id:ars_suzuki:20170321210827j:plain

今回の勉強会開催のきっかけをくれた大澤さん。 福岡からテレビ電話で参加して頂いた岩崎さん。 技術的な部分を補足説明してくださった佐々木さん。 本当にありがとうございました!

東京Node学園祭2016の1日目に参加しました

少し書くのが遅くなりましたが、東京Node学園祭2016の報告をします。

f:id:ars_sasaki:20161228012858j:plain

11月12,13日@渋谷。
http://nodefest.jp/2016/

アルスからの参加メンバーは武澤さん、三上さん、大澤さん、そして私佐々木の4人でした。

会場は大変おしゃれな雰囲気。100人以上の意識高い系が土曜の朝から集まって、やる気満々。Mac率9割。

この学園祭は2つのセッションが同時並行で開催され、どちらかを選んで自由に参加する形でした。
1つはNodeSchool。Node.jsに関する学習(自習)。私はこれに参加しました。
もう1つはNode.jsについてのディスカッション?よくわからないです...。

※Node.js...JavaScript実行環境の1つ。

NodeSchoolはWorkShopperという学習プログラム使って行いました。
このWorkShopperはコマンド一発でダウンロード・インストールすることができ、
コマンドラインから起動することですぐにでも学習を開始することが出来るようになっています。

WorkShopperには様々な種類が存在するようです。
例えば、javascripting、learnyounode、git-itなどなど...。
内容はそれぞれJavaScript入門、Node.js入門、Git入門にあたるようです。

武澤さん、大澤さん、佐々木はlearnyounodeを学習することにしました。
三上さんは少しNodeSchoolをやった後、ディスカッションの方に参加されたようです。

learnyounodeはNode.jsの基礎を学ぶもので、コンソール出力、同期処理、非同期処理、httpサーバの作成など全部で13個の課題が存在します。
課題を選択するとプログラムで実現すべき事項が表示されるので、それをもとにプログラムを組み、検証コマンドを使って作成したプログラムの動作を確認していくスタイルでした。

たった13問ですが、なかなか苦戦しました。非同期?コールバック?(日本語さん!?)
学園祭1日目のほとんどすべてをlearnyounodeの学習に充てましたが、結局全ての問題を完了することはできませんでした。
うーん、修行が足りない。

NodeSchoolのあとは、Nodeに関するライトニングトークがありました。
色々な話題があって、結構面白かったです。
仕事でJavaを使っていて、趣味でNodeをやっているという方が結構いましたね。

あとグッズ?ステッカー?をゲットしました。

f:id:ars_sasaki:20161228014638j:plain

こういったイベントに参加して、収集していくのも面白いかもしれませんね。

最後にWorkShopperを使って学習を開始するまでの手順を紹介します。

  1. まずNode.jsをインストールする。 https://nodejs.org/ja/ にアクセスし、 インストーラーをダウンロードして実行する。
    (これで、nodeコマンドとnpmコマンドが使用可能になります)

  2. 学習したいWorkShopperを探す。 https://nodeschool.io/ja/ にアクセスする。
    ここから目当てのWorkShopperを探し出し、記載されているインストールコマンドを実行する。
    (これで、WorkShopperを起動するコマンドが使用可能になります)

  3. WorkShopperを起動する 2で選んだWorkShopper名をページ上でクリックし、GitHubのページへ飛ぶ。
    WorkShopperの起動方法が記載されているので、それを実行する。

これで、学習を開始することができます。
ちなみにlearnyounodeの「モジュラーにしましょう」という問題ではこんなプログラムを作りました。

var mymodule = require('./mymodule.js');
var directory_name = process.argv[2];
var extention = process.argv[3];

mymodule(directory_name, extention, function(err, data) {
  if(err)
    return console.error("ファイル読み込みエラー", err);
  data.forEach(str => console.log(str));
});


module.exports = function(directory_name, extention, callback) {
  var fs = require('fs');
  fs.readdir(directory_name, function(err, data) {
    if(err)
      return callback(err);
    var path = require('path');
    callback(null, data.filter(str => path.extname(str) === "." + extention));
  });
};

問題内容は、コマンドライン引数で指定されたディレクトリ内のファイル一覧を取得し、 拡張子でフィルタリングして全て出力するというものでした。
モジュール化する部分や非同期処理の使い方など、結構難しかったと思います。

Node学園祭、とても楽しかったです。
Nodeをバリバリ使いこなせるよう、これからも少しずつ触っていこうと思います。
皆さんも是非やってみてくださいね!

第2回データモデリング講習会を開催しました。

9月3日に弊社福岡事務所で第2回のデータモデリング講習会を開催しました。

1回目は非IT系の参加者もいてバタバタしてしまいましたが、今回はIT系の参加者のみで、比較的順調に講習内容を進めることができました。
ベテランの参加者からは返答が難しい鋭い質問も来てこちらが戸惑ってしまいましたが、自分にとっても良い勉強になりました。
講習で使用するデータモデリングツールには「astah Professional」を使用しているのですが、このツールの操作で戸惑って実習に時間がかかってしまうこともあり、この反省点を次回に生かしたいなと思います。 f:id:ars_iwasaki:20160911175340j:plain
講習会後は知人のお店で懇親会を行いました。
f:id:ars_iwasaki:20160911200104j:plain
美味しい料理に夢中で、講習会の話は全く出ませんでしたが(笑)、講習会から懇親会まで、楽しい1日でした。
今後も講習会を続けていきます。

第2回データモデリング入門講座のご案内

第2回データモデリング入門講座を開催します。 場所の広さ及び講師一人で対応できる人数の都合上、少ない定員となっておりますが、ご興味ある方は是非ご参加ください。

講座概要

システム開発の現場で必ず使用するデータベース、実務でSelect文を使ってデータベースの検索はするけれど、自分でデータベースの構造を考えて、ER図を作成する機会は少ないかと思います。 この講座では、身近な事柄を題材にした実習を通じて、データベースを設計してER図を作成する体験をしていただき、データモデリングの基礎を学んでいただきます。 受講後に、実務の中で「だからこのテーブルはこんな構造になっているのか」とか「このテーブルはここが変だから検索しにくいのか」といった気付きを得られれば幸いです。

講座内容

1. はじめに
  • データモデリングとは
  • IDEF1X表記法入門
  • 論理モデルと物理モデル
2. 論理モデリングの基礎
  • エンティティ、インスタンス、属性
  • キー、データアクセスの概念
3. 論理モデリングの応用
  • リレーションシップ、外部キー
  • スーパータイプ、サブタイプ
  • カーディナリティ
  • 再帰型リレーションシップ
  • 一意化
  • ドメインの概念

詳細

  • 日時:2016年9月3日(土)13:30〜18:00
  • 場所:福岡県福岡市博多区堅粕5丁目6-13 ラルジュエル博多1002号
  • 講師;岩崎一彦
  • 受講料:500円 ※お茶菓子準備します
  • 定員:3名(定員オーバーの場合は応相談)
  • 申し込み:岩崎(kazuhiko.iwasaki@arsnv.co.jp)まで参加希望者の名前、メールアドレスをご連絡ください。

実習ではPCを使用します。ノートPCをご持参ください。 ER図の作成ツールとして「astah Professional」の評価版を使用します。 http://members.change-vision.com/files/astah_professional 評価版の使用期間は20日間なので、事前にインストールはしないようにしてください。

講習終了後、懇親会を予定しておりますので、併せてご参加ください。

第1回データモデリング講習会を開催しました。

7月16日に弊社福岡事務所で第1回のデータモデリング講習会を開催しました。 初回ということもあり、主に自分の知人中心に、IT系の人だけでなく、非IT系の人にも参加していただきました。また、東京からも弊社社員1名がSkypeで参加しました。

「データモデルは、システムに詳しい開発担当の人と、システムは分からない企業担当の人が、どんなシステムを作ろうかコミュニケーションを取るための共通言語みたいなものですよ。」という説明に、非IT系の受講者も「それなら自分も分かりそう」と納得してくれたようでした。 IT系の受講者の人も、「データモデルを描くのは新人研修以来」とのことで、楽しんで実習に取り組んでいただけたようでした。

IT系の受講者はパソコンでデータモデルを書いていただいたのですが、非IT系の受講者は紙と付箋紙でデータモデルを作っていただきました。 初の試みだったこともあり、手作業はちょっと時間が掛かってしまいました。非IT系の人には今後も参加していただきたいので、改善が必要な反省点ですね。

次回のデータモデリング講習会は9月開催を計画しています。 f:id:ars_iwasaki:20160728220911j:plain