タグ

ブックマーク / enakai00.hatenablog.com (29)

  • プレゼンが上達するために心がけていること - めもめも

    仕事柄かどうか分かりませんが、なぜか人前で話す事が多い人生を歩んできたので、「どうやったらプレゼンがうまくなりますかー?」と聞かれることが時々あります。 当にプレゼンがうまいかどうかの評価は別にして、それなりに上達する努力はしているつもりなので、私なりの上達法を紹介しておきます。どこの会社でも若手教育の一貫として、こういう話はでると思いますが(実は私の会社も!)、いろいろとオープンな会社なので、こんな事もオープンに晒しておこうかなと思った次第です。 練習する 30分のプレゼンなら、リアルに30分時間を計ってリハーサルを繰り返します。最初は、自分の言いたいことが明確でないので、いろいろしゃべろうとして長くなりますが、バカみたいに10回ぐらい同じプレゼンを繰り返すと、自分でも内容に飽きてきて、大切なポイントだけを選んでしゃべるようになるので、コンパクトで要点の分かりやすいプレゼンができるよう

    プレゼンが上達するために心がけていること - めもめも
  • Google App Engine (Standard Environment, 2nd Generation) で Golang の Web Application を作る方法 - めもめも

    これは何? Google App Engine (Standard Environment) は 2nd Generation にアップグレードして、GAE 専用の実行モジュール(各言語で用意された GAE 対応の専用ライブラリ等)が不要になり、一般的なライブラリやフレームワークが比較的自由に使えるようになりました。 cloud.google.com ここでは、Go 1.13 と軽量 Web Framework の Echo を用いて、GAE 上で Web Application を作る方法(主要なポイント)をまとめて紹介します。 echo.labstack.com 大事な宣伝 ここで利用するサンプルコードは、下記の書籍のサンプルアプリ(Python + Flask)を Golang で書き直したものです。GAE そのものの説明や今風な Web Application の作り方については、

    Google App Engine (Standard Environment, 2nd Generation) で Golang の Web Application を作る方法 - めもめも
  • データサイエンスに関する初心者向けの参考書 - めもめも

    筆者が実際に読んだ(書いた)書籍の中で初心者向けのものを紹介しています。 ※英語の書籍については、日語版は読んでいないので、翻訳のクオリティなどは未確認です。 データサイエンスとは? 「そもそもデータサイエンスって何?」という事を理解するのに役立つ書籍です。 Data Science for Business: What You Need to Know about Data Mining and Data-Analytic Thinking 作者:Provost, Foster,Fawcett, TomO'Reilly MediaAmazon Doing Data Science: Straight Talk from the Frontline 作者:O'Neil, Cathy,Schutt, RachelO'Reilly MediaAmazon語版はこちらになります。 戦略的

    データサイエンスに関する初心者向けの参考書 - めもめも
  • 分散学習用TensorFlowコードの書き方 - めもめも

    何の話かというと Google Cloud MLを利用して、TensorFlowの分散学習を行う方法です。取り急ぎ、自分用のメモとして公開しておきます。 分散学習にはいくつかのパターンがありますが、最もシンプルな「データ分散」の場合を説明します。各ノードは同じモデルに対して、個別に学習データを適用して、Variableを修正する勾配ベクトルを計算します。それぞれで計算した勾配ベクトルを用いて、共通のVariableを修正していきます。 前提知識 TensorFlowの分散学習処理を行う際は、3種類のノードを使用します。 ・Parameter Server:Workerが計算した勾配ベクトルを用いて、Variableのアップデートを行います。 ・Worker:教師データから勾配ベクトルを計算します。 ・Master:Workerと同様の処理に加えて、学習済みモデルの保存やテストセットに対する

    分散学習用TensorFlowコードの書き方 - めもめも
  • Jupyter演習環境の準備手順 - めもめも

    この手順では、メモリが4GB以上、CPUが4コア以上の環境を前提としています。 macOSを使用する場合 macOS用のDockerが対応しているのは、Yosemite以降のバージョンです。ここで紹介する手順は、El Captitanで動作確認をしています。 はじめに、Dockerの公式Webサイトから、macOS用のDockerをダウンロードします。「Getting Started with Docker」のリンクからダウンロードページを開いて、「Download Docker for Mac」をクリックすると、インストーラーファイル Docker.dmgがダウンロードできます。インストーラーを開いて、DockerアイコンをApplicationsフォルダーにコピーした後、ApplicationsフォルダーからDockerを起動します。初回の起動時は、インストール処理のポップアップが表示

    Jupyter演習環境の準備手順 - めもめも
  • 数学を学ぶ動機に関するポエム - めもめも

    最近ある技術書の筆者の方が書籍紹介のブログ記事の中で「俺は数学が嫌いだ」と言い放たれていて、ひどくショックを受けたので、心の傷を癒やすために、なぜ僕はこんなにも数学が気になって、数学を勉強したくなるか、頭の中を整理してみました。 ちなみに僕がどのぐらい数学が気になるかというと、もし宝くじで5兆円ぐらい手に入ったら、個人で数学の研究機関を設立して、優秀な数学者を囲い込んで、僕が興味のあることだけを研究させて、毎日、僕のためだけに講義をさせるとか、そんなことをやってみたいぐらい、数学が気になります。 なお、以下の内容は、時系列っぽく書かれていますが、実際に僕がこのような順番で数学に興味を持って理解していったわけではありません。ただ、振り返ってみると、こういった要素が折り重なって、数学に対する興味が構成されていると気づいたというような内容です。 第一段階(みんなが同じルールに従っていることを確認

  • Jupyterノートブック上でJavaScriptからカーネルのコードを実行する方法 - めもめも

    qiita.com これは、jupyter notebook Advent Calendar 2016の10日目の記事です。 何の話かというと IPython.displayモジュールのHTML関数を使うと、次のように、Jupyterノートブック上でJavaScriptを実行することができます。 from IPython.display import HTML javascript = ''' <script type="text/javascript"> alert("HOGE") </script> ''' HTML(javascript) # ポップアップウィンドウを表示 この時さらに、JavaScriptからノートブックを実行中のカーネルを呼び出して、任意のコードを実行することが可能です。また、JavaScript側でコードの実行結果を受け取ることもできます。具体的には、次のように

    Jupyterノートブック上でJavaScriptからカーネルのコードを実行する方法 - めもめも
  • JupyterでTensorFlowが使えるDockerイメージ - めもめも

    Jupyterとは? まず、Jupyterの紹介をすると、これは、Python(IPython)による対話的なデータ分析処理をWebブラウザ上の「ノートブック」で実施するツールです。下記のように、Markdownで記述した文章とコード、そして、その実行結果が記録されていきます。 作成したノートブックは、JSON形式でエクスポートしてGitHubで共有することができます。GitHubのWebサイトでは、自動的にノートブック形式にレンダリングして表示されるようになっています。現在は、Tex形式の数式がうまく表示されない問題があるようですが、下記のような感じになります。 ・ロジスティック回帰による二項分類器の作成 また、受け取ったノートブックは、自由にコードを修正して再実行することができますので、データ分析のコードとその説明をノートブックにまとめておけば、「実行できる教科書」が実現することになり

    JupyterでTensorFlowが使えるDockerイメージ - めもめも
  • GRUB2で知っておくとよいこと - めもめも

    何の話かというと RHEL7/CentOS7でGRUB2に変わりましたよね。。。 起動メニューを編集しようと思って、/etc/grub2.cfg(もしくは /boot/grub2/grub.cfg)を開いてのけぞりますよね。。。。 そんな貴方へのメッセージです。。。。 起動メニューは自動生成 起動メニューは、/boot以下のファイルを見て自動生成するようになっているので、設定ファイルを直接編集するのはあきらめましょう。 自由にいじれるのは、全般的な設定を指定する /etc/default/grub と独自のエントリーを追加する /etc/grub.d/40_custom です。 /etc/default/grub の内容はこんな感じです。 GRUB_TIMEOUT=5 GRUB_DEFAULT=saved GRUB_DISABLE_SUBMENU=true GRUB_TERMINAL_OU

    GRUB2で知っておくとよいこと - めもめも
  • HeskellのMonadを圏論のMonad/Kleisli Tripleと対比する - めもめも

    圏論の歩き方 作者: 圏論の歩き方委員会出版社/メーカー: 日評論社発売日: 2015/09/09メディア: 単行この商品を含むブログを見る オフィスの机の上に新たな挑戦状(上記の)が置いてあったので読んでみると、Kleisli tripleとMonadの関係が説明されていて、「そういえば、Kleisli tripleとMonadの同値性って、ちゃんと証明したことなかったなー」と思って書き始めたのがこのエントリーです。 いったい何の寝言を言ってるのかと思われそうですが・・・ HaskellのMonadを圏論の言葉に置き換えて理解する際に、圏論における「Kleisli triple」に対応させる方法と、圏論における「Monad」に対応させる方法があります。圏論の世界で「Kleisli triple」と「Monad」は互いに変換可能なので、どちらを用いても理論的には同じなのですが、Has

    HeskellのMonadを圏論のMonad/Kleisli Tripleと対比する - めもめも
  • 「Rプログラミング入門」をPythonで書き直す - めもめも

    何の話かというと RStudioではじめるRプログラミング入門 作者: Garrett Grolemund,大橋真也,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/03/25メディア: 大型この商品を含むブログを見る 某編集長から上記の書籍が送られてきて、「これは、次はRのを書けという指示か????」と勘ぐってみたものの、筆者はPython派なので、「これと同じことは全部Pythonでもできるんだよー」と言いたくなって、このエントリーを書き始めた次第です。ちなみに、この、Rの入門書としてはよくできているので、これのPython版ができたら、それはそれで役に立つ気もします。 なお、このエントリーでは、あくまでコードの部分だけを書き直して、RとPythonの差異についての説明だけを行ないます。コードそのものの説明については、上記の書籍をご購入ください。 環境準備 IP

    「Rプログラミング入門」をPythonで書き直す - めもめも
  • Dockerコンテナー内のbashからアプリケーション停止処理を実施するTIPS - めもめも

    Dockerのコンテナーでアプリケーションを起動する場合、専用の起動スクリプトからアプリケーションを起動して、最後に(後からdocker attachできるように)bashを起動しておくことがあります。 次は、httpdサービスを起動するコンテナーを作成する簡単なDockerfileですが、コンテナー起動時にスクリプト「init.sh」を実行するようにしています。 Dockerfile FROM centos:centos6 MAINTAINER enakai RUN yum -y install httpd ADD src /var/www/html RUN chmod -R 644 /var/www/html/* ADD init.sh /usr/local/bin/init.sh RUN chmod u+x /usr/local/bin/init.sh CMD ["/usr/loca

    Dockerコンテナー内のbashからアプリケーション停止処理を実施するTIPS - めもめも
  • Dockerイメージのレイヤー構造について - めもめも

    何の話かというと Dockerイメージは複数のレイヤーが重なった形になっています。このあたりを内部構造とあわせて解説します。前提の環境は、CentOS7です。(つまり、ローカルのイメージ管理は、dm-thinが前提。) # rpm -q docker docker-0.11.1-22.el7.centos.x86_64 ローカルにイメージをpullする時の動作 まず、ローカルのイメージをすべて消してキレイな体にしておきます。 # systemctl stop docker.service # rm -rf /var/lib/docker/* # systemctl start docker.serviceCentOSの公式イメージをpullします。この時、4つのイメージ(b1bd49907d55、b157b77b1a65、511136ea3c5a、34e94e67e63a)がダウンロードさ

    Dockerイメージのレイヤー構造について - めもめも
  • RHEL7/CentOS7でipコマンドをマスター - めもめも

    何の話かというと RHEL7/CentOS7では最小構成でインストールすると、ifconfig、route、netstat、arpなどのネットワーク関連のコマンドが使えません。これは、次のコマンドで「net-tools」パッケージを導入すると解決します。 # yum -y install net-tools しかしながら! RHEL7/CentOS7では、net-toolsを「deprecated(廃止予定)」としており、今後は、iproute2パッケージに含まれる「ip」「ss」などのコマンドを使用することが推奨されています。 ・お客さんのRHEL7サーバーのメンテを頼まれたらnet-toolsが入ってなかった! ・「えー。まだifconfigつかってんのー。」と若い同僚に冷たい目で見られた! ・などなど といった事態に備えて、RHEL7/CentOS7を導入した際には、iproute2

    RHEL7/CentOS7でipコマンドをマスター - めもめも
  • Dockerにおけるコンテナのライフサイクル - めもめも

    docker run/stop/start/rm/commit」の各コマンドの役割を整理しておきます。全体像はこんな感じ。 前提環境はこちらです。 # cat /etc/redhat-release Fedora release 20 (Heisenbug) # uname -a Linux fedora20 3.14.6-200.fc20.x86_64 #1 SMP Sun Jun 8 01:21:56 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux # rpm -q docker-io docker-io-1.0.0-1.fc20.x86_64まず、「docker run」で新たなコンテナを起動します。「--name」オプションで名前「web01」を付けておきます。「docker ps」は起動中のコンテナを表示します。 # docker run -it

    Dockerにおけるコンテナのライフサイクル - めもめも
  • RHEL7のDockerとsystemdとcgroups - めもめも

    Dockerでコンテナを起動する際に、次のようにcpu-sharesとmemory-limitを指定することができます。 # docker run -c 256 -m 512m hogehogeこれは内部的にはcgroupsを使っていますが、RHEL7のDockerでは、systemdと連携してcgroupsの制御を行っています。この辺りの解説です。cgroupsそのもの説明は下記を参照下さい。 ・Control Groups (cgroups) コンテナから生成されるUnit まず、テスト用にContOS6のコンテナを起動して、中でtopコマンドでも実行しておきます。 # docker run -it -c 256 -m 512m centos /bin/bash bash-4.1# top別の端末からログインして、コンテナIDを確認します。 # docker ps CONTAINER

    RHEL7のDockerとsystemdとcgroups - めもめも
  • Dockerのネットワーク管理とnetnsの関係 - めもめも

    RHEL7RC+EPEL版Dockerの前提で解説します。RHEL7RCを最小構成で入れて、次の手順でDockerを導入します。 # yum -y install bridge-utils net-tools # yum -y install http://download.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.1.noarch.rpm # yum -y install docker-io # systemctl enable docker.serviceDockerが設定するiptablesの内容を見るために(見やすくするために)、firewalldを停止した上でdockerサービスを起動します。 # systemctl stop firewalld.service # systemctl mask firew

    Dockerのネットワーク管理とnetnsの関係 - めもめも
  • RHEL7におけるDockerのディスクイメージ管理方式 - めもめも

    変更履歴 2014/04/20 公開 2014/04/27 構成情報ファイルの説明追加 2014/06/15 dm-thinprovisiongのデバイスメタデータファイル変更 背景 先だって、「Linuxコンテナ(LXC)の基礎をまとめ直す」というコラムに、「来るべきDockerの波に向けて、まずは、コンテナの基礎を理解しましょう!」的な話を書きました。この中で、比較的に原始的なコンテナ利用法として、「RHEL6.2のlibvirtからLinuxコンテナを利用」という記事を紹介しています。 この記事では、busyboxを使った簡易httpサーバのコンテナを起動していますが、この手順に従うと(気づく人は)容易に気づくのが、コンテナに見せるファイルシステムの準備がいかに面倒か、という事実です。コンテナから見えるルートファイルシステムは、基的には、ホスト上の特定のディレクトリにchrootし

    RHEL7におけるDockerのディスクイメージ管理方式 - めもめも
  • OpenStackクラウド基盤構築・ハンズオンセミナー講義資料 - めもめも

    2014年3月3日〜4日にかけて、NPO法人トップエスイー教育センターによる表題のセミナーで使用する資料です。セミナーの詳細と申し込みについては、下記を参照ください。 ・【トップエスイー特別講義】OpenStackクラウド基盤構築・ハンズオンセミナー それぞれの資料は、二段組両面で印刷するときれいな冊子になるように空白ページが入っています。 第1日 講義No.1 OpenStackの概要と基機能 ハンズオンNo.1 All-in-one構成での環境構築 講義No.2 仮想マシン構築自動化技術 ハンズオンNo.2 仮想マシン構築自動化演習 第2日 講義No.1 OpenStackの内部構造 ハンズオンNo.1 複数ノード構成での環境構築 講義No.2 Neutronの内部構造とSDN

    OpenStackクラウド基盤構築・ハンズオンセミナー講義資料 - めもめも
  • 最短手順でRDO(Grizzly)のデモ環境を構築 - めもめも

    構築するデモ環境の全体像 物理NICを2個持つサーバーを用意して、両方のNICを同一のパブリックネットワークに接続します。 em1にはIPアドレスを割り当てて、外部から管理接続する際に使用します。SSHでログインしたり、WebブラウザでHorizonを使用する際のIPアドレスです。em2にはIPアドレスを割り当てません。これは、VMインスタンスがパブリックネットワークと通信する際のNICとして使用します。ネットワーク環境(IPアドレス)については、下記の情報を事前に決定してください。 項目 値の例 サブネット 192.168.199.0/24 ゲートウェイ 192.168.199.1 DNSサーバ 8.8.8.8 IPアドレスプール 192.168.199.100〜192.168.199.199 サーバのIPアドレス 192.168.199.99 「IPアドレスプール」は、Floating

    最短手順でRDO(Grizzly)のデモ環境を構築 - めもめも