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

OSSのLMS:Moodleをインストールしてみる。

OSSのLMSであるMoodleがどのようなものなのか、好奇心に駆られたので自分のPCへインストールしてみる。今回インストールするPCはMicrosoft Surface Pro3(Windows10)

インストール

1. ダウンロード前に

  • moodleをインストールする要件(Moodleをインストールする - MoodleDocsによると)

    • ハードウェア要件

      • ディスク容量:160[MB](最小)+5G(教材をULするための容量)
        • 楽勝!まだ80[GB]ある!

      • バックアップ容量:ディスク容量と同程度

      • メモリ:256[MB](最小)
        • いける!わが子は8[GB]もあるのです。ただ一点気になったのが、同時接続数。あくまでログインしているユーザーではなく接続しているユーザーとのこと。1000名同時に接続しても大丈夫なようにするためにはRAMが50[GB]ないとだめなのね。(今回はそれは想定していないからいいけど。)
          Moodleは1GのRAMごとに20名の「同時接続」ユーザーをサポートします。
    • ソフトウェア要件

      • OS:Linux,Windowsが一般的(素晴らしいサポートも利用できるとのこと)だけど、Linuxがお勧めらしい。(Windows XP/2000/2003, Solaris 10 (Sparc and x64), Mac OS X, Netware 6もサポートされている)
        • うちの子はWindows10だけど大丈夫かしら??

      • ウェブサーバー:ApacheまたはIISPHPファイルが処理できるようにサーバーが正しく設定されている必要があります。
        • サーバーの理解が壊滅的な牧野にとっては正直この辺がよくわからない。Apacheをインストールする必要があるってこと??

      • PHP:最小バージョンが5.3.2とのこと(2017/03/25時点)
        • PHPは触ったことないが言語だよね?おそらくインストールはいろんなところで情報が拾えると信じている。

      • 開発用DB:MySQL,PostgreSQLOracleMSSQLは完全なサポートはないものの一応使える模様。(サポートやドキュメントが不十分な様子)。PHPの拡張ライブラリに応じたバージョンが必要。
        • この辺りは全く分からないので、おとなしくMySQLを使う想定。。。

      • Moodleにアクセスするためのブラウザ:Firefox 4, Internet Explorer 8, Safari 5, Google Chrome 11, Opera 9以降
        • 特に問題なし。

2.サーバーのセットアップ

  • 今回はWindowsのノートPCを使うので、サーバーソフトウェアのインストールをする必要があるようです。こちらを参考に必要なソフトをダウンロードとインストールします。

  • なお、調べてみたところ、XAMPというMoodleを使うために必要なApache, MySQL, PHP, Perlなどを一括してインストールできるパッケージがあるようなので、今回はこちらを利用します。(ローカルホストでのみ使用できるという制限があるようなので評価目的という感じのようです。具体的にはMoodle Packagesに含まれるXAMPPでは、phpMyAdminやXAMPPの管理画面が利用できないとのこと。外部からアクセスしてみたいという方はパッケージではないものを使ってください。)こちらを参考にしました。

3. XAMPパッケージのダウンロード

こちらからMoodleの最新バージョンを取得します。
今回はMOODLE_32_STABLEを選択。
f:id:makimakimakino:20170325192811p:plain


適当なフォルダに解凍する。(今回は"C:\Moodle\"内に解凍した。)
中身が次のようになっていればオッケーです。(なんとも簡単!)
f:id:makimakimakino:20170325195347p:plain


4. Moodleを起動

インストールが終わったら早速起動してみます。
解凍したフォルダ内の[Start Moodle.exe]をクリック。

cmd.exeが立ち上がり、「Windowsファイアウォールでブロックされています」という警告画面が表示される場合、「アクセスを許可する」ボタンをクリックします。 ブラウザを起動し、アドレスバーに"http://localhost"を入力します。(今回はMicrosoft Edge 38.14393.0.0を使用)

初回の起動時にはインストール作業をする必要があります。次の手順に従ってインストール作業を開始してください。
ページが表示され、言語の選択画面が現れるので、日本語(ja)を選択して、[次へ]を押下します。

f:id:makimakimakino:20170326174814p:plain

パスの確認画面になるので設定します。今回はそのまま[次へ]を押下します。

f:id:makimakimakino:20170326175043p:plain

パスワードを入力して[次へ]を押下します。

f:id:makimakimakino:20170326175335p:plain

著作権の確認画面が表示されるので一読して[次へ]を押下する。

f:id:makimakimakino:20170326175503p:plain

サーバー環境の必要条件の確認情報が表示されます[続ける]を押下します。

f:id:makimakimakino:20170326175733p:plain

その後インストールが開始されますのでしばらく待ちます。[続ける]ボタンが表示されたら押下します。

f:id:makimakimakino:20170326180028p:plain

最高管理者のアカウント設定画面が表示されるので必須項目を入力します。

f:id:makimakimakino:20170326181103p:plain

そのままスクロールを行い、[プロファイルを更新する]を押下する。

f:id:makimakimakino:20170326180737p:plain

あれ??

f:id:makimakimakino:20170326182146p:plain

windwos Edgeだとまずかったかしら。それとも設定ミスったのか。。。。

とりあえず今回はここまでにします。原因を特定して、またアップデートしたいと思います。

追記:Google Chrome(バージョン 56.0.2924.87 (64-bit))で試したところ次の設定ができるようになりました。Moodleはフォルダごと削除して、また解凍すれば環境が新しくなるようです。
入力項目(長いサイト名とサイト省略名)を設定して[変更を保存する]を押下します。
f:id:makimakimakino:20170326224639p:plain
f:id:makimakimakino:20170326224828p:plain

すべての設定を終えると管理者画面へ遷移します。
f:id:makimakimakino:20170326225244p:plain

これでMoodleを触れるようになりました。次回以降は実際にユーザーの登録から、研修コースの登録、受講申し込みやアンケートやテストの作成割り当てなどができたらいいなと思います。



5. Moodleのサーバーをストップするには[Stop Moodle.exe]を押下します。

f:id:makimakimakino:20170326182628p:plain

GitHubを使ってみる1

最近、書いたコードの保存方法やバージョン管理、他人とのコードの共有について必要性を感じてきたため、最近よく耳にする(と勝手に思っている) GitHubを使ってみようと思います。今回はGitHubとは何か、利用する方法についてまとめます。(間違っているところ等ございましたらご指摘いただけますと幸いです。)

Git,GitHubとは?

Git

  • Gitはバージョン管理を行うためのツールのことです。バージョン管理ができるということは、複数名で開発を行う場合に、修正履歴や、機能追加時に更新するファイルが簡単に特定できるなどのメリットがあります。
  • GitはもともとはLinuxカーネルのコードの管理をするために開発されたました。
  • Gitでのバージョン管理の流れ
    Gitが一般的にどのように使われているかを説明します。


1. クローンする。
対象のソースコード(共有リポジトリ)を自分のPC上(ローカルリポジトリ)にコピーします。

git init
  • クローンの作成
git clone xxxx

2. ソースコードを編集する。
プログラム開発はクローンしたローカルリポジトリソースコードを編集します。

3. コミットする。
コードの編集が終わったら、ローカルリポジトリにソースを保存します。

  • ローカルで行った変更はコミットしますが、その前にインデックスに登録しておく必要があります。下記のコマンドを実行して、該当するファイルを登録します。
git add xxxx
  • 変更のあったファイルを一式まとめて登録する場合は
git add *
  • コミットします。
git commit -m "コメント入力"

4. プッシュする。
ローカルのコードをおおもとの共有リポジトリにマージします。

git push origin master


以上の流れを繰り返し行い、Gitを使った開発を進めていきます。

GitHub

Gitのリモートリポジトリ(共有リポジトリ)を提供しているwebサービスです。
利用には登録が必要です。サービスの利用料は容量に応じた料金がかかります。無料でも使えますが、原則すべて公開(パブリック)、有料で非公開(プライベートリポジトリ)となります。GitHubを利用していて、他人に見られたくないコードがある場合は有料プランでプライベートリポジトリを使用するほうがいいですね。

GitHub≠Gitであり、リモートリポジトリを提供しているサービスはほかにもあるようです。例えばBitbucket,GitLabなど。

ほかのバージョン管理ツールとの違い

SVNなどに比べて、高速で、作業時にサーバーへ接続する必要がないようです。下記が参考になります。
qiita.com

GitHubの利用

早速GitHubを使ってみたいと思いますが、その前に利用登録を行います。
1. アカウントの作成(利用登録)
GitHubのトップページにアクセス。

  • ユーザー名とメールアドレス、パスワードを入力してサインアップします。

f:id:makimakimakino:20170320225428p:plain

  • 料金プランの選択

今回は無料プランを利用しますのでFreeの[Chosen]を押下して、[Finish sign up]で登録します。
f:id:makimakimakino:20170320225615p:plain

  • 登録メールアドレスに認証メールが届きます。メールの内容に従って認証を続けてください。

以上が利用登録となります。

2. リポジトリの作成
GitHubにログイン後、[New repository]を押下します。
f:id:makimakimakino:20170320230515p:plain
必要な項目を入力して[Create repository]を押下します。
f:id:makimakimakino:20170320230746p:plain

これでリポジトリの作成は完了です。作成したリポジトリのURLはあとで使いますので、すぐに参照できるようにしておくことをお勧めします。

次回はこのリポジトリをローカルで利用できるようにしていきたいと思います。GitHub for Windowsのお話です。

Anaconda+Pycharmでdjangoの開発環境を整える。

今回Anacondaの仮想環境にフレームワークdjangoをインストールする方法についてまとめる。

IDEはPycharmを使用している。
AnacondaがインストールされているPCにてPycharmを起動する。
[File]>[New Project]から
歯車を押下
f:id:makimakimakino:20170316020849p:plain

[Create Conda Env]を押下して仮想環境を作成f:id:makimakimakino:20170316021108p:plain

NameとPython Versionを選択して[OK]を押下
f:id:makimakimakino:20170316021224p:plain

[Create]を押下
f:id:makimakimakino:20170316021513p:plain

新しい仮想環境は別のウィンドウで開くか確認される。今回は現在のウィンドウを選択した。
f:id:makimakimakino:20170316021526p:plain

仮想環境の構築が終わる。
正しくできているかを確認するために左下の[Teraminal]を押下
f:id:makimakimakino:20170316021533p:plain

Terminalの現在のパスの前に先ほど作った(仮想環境)名が入っていれば成功
f:id:makimakimakino:20170316021537p:plain

続いてdjangoをインストール
GUIで次のところで設定できるが[File]>[Setting][Project xxxx]>[Project Interpreter]

今回はコマンドから直接たたいたほうが早いので次の通りにする。
開いているTerminalで

pip install django

と入力する。f:id:makimakimakino:20170316022541p:plain

インストールが始まり、しばらくたってTerminalにSuccessfullyが表示されればdjangoを使った開発の準備は完了になる。
f:id:makimakimakino:20170316022628p:plain

Google Apps Script:1.GASとは

今回はGoogle Apps Script 、通称GASについてできることをまとめてみます。まずは「GASとはなんぞや」というところと「GASを使ってできそうなこと」、それから「簡単にメールを送る方法」なんかも記述していこうかと思います。簡単に使えるって聞いて来たのに細々した説明はいらないんじゃー!早く使わせろー!という方はスクロールを下の方までどうぞ。

Google Apps Scriptとは?

Google Apps Script(GAS)とは、Googleが提供するサーバーサイド・スクリプト環境です。GASGoogleが提供するあらゆるサービス(GmailのみならずGoogle Appsとか)を統合処理できます。Google Apps ScriptJavaScriptに、Googleのサービスを利用するためのさまざまなオブジェクトを追加したものであり、「Google Apps Script」という独自のスクリプト言語があるというわけではありません。ですのでJavaScriptを書ける人は抵抗がなく実装できると思います。JavaScript自体がわからない人は、いろいろな入門サイトがぐぐれば出てくると思うのでそちらで勉強することをお勧めします。

※ここではほとんどJavaScriptに触れることはないです。(というよりまきのはJavaScriptを書いたことがないので細かいことはわからないのです。 笑)

このGASのいいところは、なんとGoogleのアカウントさえ持っていれば使えるという素晴らしいシロモノ!もちろんPCとブラウザは必要 笑

GASでできること

GASでできることとしてはGoogleのアカウントと連動して、

  • Gmail系の操作
    • Gmailを送ることができる
    • Gmailで受け取った内容を取得できる
  • GoogleDocument系の操作
    • GoogleSpreadsheetやGoogleDocsなどを編集できる
  • GoogleDriveの操作
    • Googledriveのドキュメントにアクセスできる。
    • ドライブ内のフォルダ管理やドキュメントの更新なんかも管理できる。
  • Jobの実行ができる
    • 書いたスクリプトを特定のトリガーや日時でバッチ実行を行える。(サーバーを構築せずに!)
  • JavaScriptでできることはだいたいできる。
    • doGetやdoPostでリクエストを受け取ったり、リクエストを投げたりできる。外部のAPIを叩いて、結果を受け取ったりなんてことも。
  • 自作のWebアプリケーションを作ってAPIを公開もできる!

などができます。すごい!特にジョブ実行と自作のAPIはサーバーを構築しなくても簡単に使えるという所が素晴らしい!サーバー立てたことないまきのにとっては神ツール!おまけにGoogleアカウントと連動できるので外部から難しいライブラリを引っ張ってこなくてもアカウントに紐づいている色んな情報が簡単に利用できるんですね。

GASの機能を組み合わせて

GASの機能を組み合わせたら簡単に便利なことができるのではないかと思うのです。具体的には。。。

  • 自動で定期メールを送る。週次や、月次となっている報告資料を作成したら自動でメールが飛ぶ。
  • リマインドメールを定期的に送信する。
  • メールの自動応答ができる。
  • エクセルの集計マクロが組める。
  • 集計結果をメールで業務担当者に自動で送信、通知ができる。
  • 外部のサイトslackやlineなどのSNSに、メールの内容を送信したり、chatbotが作れる。
  • 電車の遅延状況を案内してくれるメールを飛ばせる
  • メールの中からクライアントとのやりとりなど特定の情報のみ抜き出して、課題管理表を自動で作成する。
  • 勤怠を自動で入力、サブミットできる。
  • カレンダーの場所から交通費を自動で清算できる。
  • カレンダーの予約や、空き情報の確認ができる。
  • 複数人の予定の中から空いている日程をサジェストする

などなど使いこなせれば業務でもプライベートなどでも色々と捗りそうな予感。

メールを送ってみよう!

色々と夢が広がリングというとこでまずは簡単なところから始めて見ましょう!
今回紹介する手順は以下になります。

  1. Googleアカウントの作成
  2. Google Apps ScriptをGoogle Appsに追加
  3. プロジェクトの作成・環境準備
  4. 実装
  5. 実行

1.Googleアカウントの作成

メールを送る前に準備をします。
まずはgoogleアカウントの作成とログイン。
こちらを参考に作成してみてください。
support.google.com

2.Google Apps ScriptをGoogle Appsに追加

続いてgoogle apps scriptのエディターを立ち上げる。
googleアカウントでログインしたブラウザで
アドレスバーにwww.google.comを打ち込む
[Google Apps]>[ドライブ] を押下
f:id:makimakimakino:20170315234646p:plain
Google Driveが開く。

初期状態では、Google AppsにScriptが追加されていない。
Goolge AppsへScriptに追加するためには
[新規]>[その他]>[アプリ追加]
f:id:makimakimakino:20170315234807p:plain
検索ボックスに「google apps script」と入力し、検索する。
出てきたGoogle Apps Scriptの[+接続]を押下
f:id:makimakimakino:20170315235020p:plain
接続された旨が表示されれば大丈夫、[OK]を押下する。
f:id:makimakimakino:20170315235529p:plain

3.プロジェクトの作成準備

Scriptを作成する。

[新規]>[その他]>[Google Apps Script]を押下
f:id:makimakimakino:20170315235639p:plain
エディターが立ち上がる。
f:id:makimakimakino:20170315235748p:plain

プロジェクト名を編集

[無題のプロジェクト]をダブルクリック。
プロジェクト名を入力して[OK]を押下
今回はプロジェクト名を「MailSender」にした。
f:id:makimakimakino:20170315235913p:plain

Script名を変更

左側の.gsの横の[▼]を押下して[名前の変更]を選択
f:id:makimakimakino:20170316000100p:plain
今回は「main」としている。
f:id:makimakimakino:20170316000229p:plain
f:id:makimakimakino:20170316000329p:plain

4.実装

これでコードを書く準備は整ったので。
いよいよScriptにコードを記述してメールを送ってみます。

ちなみにGASのドキュメントはこちら

main.gs
//mailを飛ばすだけの関数
function mailSender() {
  var mailTo = "to_address@example.com";//送信先
  var mailFrom = "from_address@example.com";//返信先
  var mailSubject = "[mailSender test]subject";//件名
  var mailBody = "mailSender test";//本文

  MailApp.sendEmail(mailTo,mailFrom,mailSubject,mailBody);//mailの送信
}

たったこれだけ!
ちなみに躓くポイントとしては、mailFromを任意の値にしてしまうこと。
ここで設定できる値は、自分のgmailアドレスか、エイリアスとして登録しているアドレスになる。エイリアスを登録するには↓が参考になる
support.google.com

まきのはちきんなので自分のメールに飛ばしてみる。。。

5.実行

実行は関数を選択して
f:id:makimakimakino:20170316000440p:plain
[▶]実行を押下する。
f:id:makimakimakino:20170316000454p:plain
Google Apps Scriptがアクセスするための認証が求められるので[許可を確認]を押下
f:id:makimakimakino:20170316000509p:plain
リクエストに対して[許可]を押下
f:id:makimakimakino:20170316000537p:plain

自身のメールを確認してみると。
やったね!メールが飛んだよ!
f:id:makimakimakino:20170316000857p:plain

python使ってGoogle api叩くよりはるかにらくちんです。

こんな感じでgasを使えばメールサーバーを気にせず楽にメールが飛ばせちゃうのです!
次回は定期的にメールを送る方法を説明したいと思います。

戦略人事のビジョン~制度で縛るな、ストーリーを語れ

 

戦略人事のビジョン 制度で縛るな、ストーリーを語れ (光文社新書)

戦略人事のビジョン 制度で縛るな、ストーリーを語れ (光文社新書)

 
  • 総合お勧め度:★★★★☆
  • 実務向き:★★☆☆☆
  • 読んだ後の納得感:★★★★☆

  • 読書の対象者
     人事部門やリーダーシップに関心のある人

  • 本書の主張
    企業の人事部によりよい役割を果たしてほしい。よい役割を果たすために、
    人事部門やマネジメントは
    継続性のマネジメント(今までこうだったからわが社ではこうする物)
     ↓
    戦略性のマネジメント(本当に会社が良くなるには現在の在り方は正しいのかを問い続ける)
    が重要ではないか。

  • お勧め理由
    人事部門の重要性についてだけでなく企業で働く社員が自分の会社を
    もっと素敵にするためにはといったエッセンスがちりばめられている。

  • 著者紹介
    創業130年、グループ従業員30万人の「世界で最も尊敬される企業」「最強企業」
    と称されるGEのDNAを受け継いだ八木さん唯一の著書である。本書では、GEに
    おける八木さん自らの経験によって確立された考えを人事の実務者の視点から
    分かりやすいことばで説明されているとともに、日本企業のこれからの人事の
    あり方や人材育成の方向性に多くの示唆を与える内容となっている。

     

  • 内容の参考
  1. 人事は何のためにあるのか
    ・目的を持った制度を作るべき。
     社員にどんな働き方をしてもらい、会社をどうしようとしているのかが
     考えられているかを理解する。
     →職能資格制度は人事の欺瞞
     →年功序列は日本人の罪
     →通勤手当は距離に比例して多くもらうのは本当に正しいのか。
    ・社員のやる気を最大化し、生産性をあげる。
     会社の戦略をこうやって勝つというふうに話の筋が通っていてふつうの人が
     聞いて納得できるストーリーなっていること。困っている人の話に耳を傾け、
     何らかの言葉を放つことで崖っぷちから救い出すことができる、「言葉の魔術
     師」であること。

  2. 組織の力を最大限に高める
    ・まずは組織の勝ちを定義し、進むべき方向を決める。
     →GEの勝ちはグロース(成長)とリターン(利益)
    ・戦略をシンプルに話の筋が通っていなければいけない。
     →社員が強みや戦略を「そうだよな」と腑に落ちる内容でなければ
      とるべき行動が正しいかを判断することができない。
    ・グローバル人財の育て方
     →GEではGEのことを好きになり、GEが会社として何をしようとしているのか
      が見えてくれば、各国のGEに足りない部分が見えてきてGEがGEらしくなる
      ために何をどう変えていけばいいのかがわかる。

  3. 改革の旗を振る
    ・賛成する人を増やすより、反対する人を減らす。
     →変革を急激に推し進める際には、反対者を多く生み出す。
      じわじわと、反対者が多く出ないように気をつけながら進めるべき。
    ・やる気のない社員をやめさせる
     →日本の企業ではやる気のない社員を簡単にクビにできない。
      一生懸命頑張っている社員の一方で、やる気のない社員がいる状況は
      許されない。そんなことを許す人事担当者がいたとしたら、
      その人事担当者こそ必要ない。
      訴訟を起こされたら人事部門長が責任をもって引き受ける。

  4. リーダーを育てる
    ・リーダーは希少な存在で突然変異的に出現する。
     コントロールできないが、出現する確率はあげることができる。
     だから育てる。
    戦略人事における最大の課題はマネージャーやリーダーの育成。
     この仕事には会社の命運がかかっている。
    リーダーの定義

     ビジョンを描き、コミュニケーションによって人々を巻き込み、
     その人たち(フォロワー)とともに、ビジョンの達成にむけて
     様々なことを実行できる人。

     「リーダーが責任をもって、進むべき道を指し示すには、
      例え自信がなくとも後ろに下がらないという姿勢が大事」
     →リーダーとして選ばれている人は優秀なのだから、謙虚さは必要ない。
      胸を張って腹の底から声を出し、ふつうの人が理解できる言葉で
      話す。 

    ・刺激を与え、持続させる。
     →リーダー育成プログラムを受講させフォローアップを徹底する。
      リーダーシップとは何か、何が必要なのか、といった質問を
      次々に繰り出し、受講者をあえて悩ませることで刺激を与える。

  5. 強くてよい会社を人事が作る
    ・「俺の会社」と言い切れるような強いこだわりを持つ
  •  まとめ
    すべてについてこの場では紹介しきれないほど、八木さんは実務を通して、
    多くの施策を推進している。そのどれもが勝ちにこだわり強い会社であるため、
    戦略的なマネジメントを進めるためという軸に沿って行われている。
    さらに、人事と社員であるという以前に人対人の対話として向き合っている
    出来事が多いように感じた。本書で使われている言葉にも八木さん語録が
    ふんだんに盛り込まれていて、まさに言葉の魔術師であると感じた。また、
    本書の主とするところではないが、紹介されているジャック・ウェルチ
    リーダーに求められる4つのEというキーワードが気になったので書き留めて
    おく。リーダーでなくてもチームで活動する際に意識したいと考える。

     Energy:自らが活力に溢れていること

     Energize:目標に向かう周りの人を元気づけること

     Edge:タフな問題に対しても決断できること

     Execute:言ったことをとことんまで実行していくこと