サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Switch 2
takemikami.com
Pythonを使ってAPI経由で、 OneDrive for Businessのファイルを扱いたく、実装方法を調べていたのですが。 難しくは無いものの、 いろいろと混乱してしまい時間がかかったので、メモを残しておこうと思います。 アクセスするサービス・利用するAPIAPIを考える前に、 マイクロソフトが提供しているサービスには、 以下のように「OneDrive for Business」と似たサービスがあります。 OneDrive … 家庭向け、個人のファイルのクラウドストレージOneDrive for Business … 法人向け、個人のファイルのクラウドストレージSharePoint Online … 法人向け、組織での情報共有用のクラウドストレージこれらを別のものと認識しておかないと、情報を調べるときに混乱してしまいます。 特に「OneDrive」「OneDrive for Bus
Macで作業中、照明の明るさを調整したくなった時に、 NatureRemoのスマホアプリやリモコンに持ち替えするのが面倒に思い、 メニューバーあたりからNatureRemoで操作できないかを調べたところ、 簡単にできたのでメモを残しておきます。 完成形は、以下のイメージになります。 Nature Remo Local APIを使います。 NatureRemoのホスト名を調べるまず、NatureRemoのホスト名を調べます。 以下の通りコマンドを入力して、 出力された「Remo-XXXXXX」部分が、NatureRemoのホスト名になります。 % dns-sd -B _remo._tcp Browsing for _remo._tcp DATE: ---Sat 20 Feb 2021--- 3:32:26.968 ...STARTING... Timestamp A/R Flags if D
RubocopというRubyの文法チェッカがありますが、 これをCircleCI等のCIツールで実行してチェックしている人も多いと思います。 Rubocop: https://github.com/bbatsov/rubocop Rubocopに限らずですが、 このような静的チェックツールは、既存のリポジトリに追加しようとすると、 既存コードに対するエラーが存在しているため。 開発を一度止めて全体のリファクタリングとテストを行う、 除外指定をして既存コードを無視して適用するなどの対応が必要になり。 なかなか、導入に踏み切れないこともあると思います。 このエントリでは、 既存プロジェクトに対してスムーズに導入する方法として。 PullRequestの新規or修正箇所でエラーがあった場合のみ、 (既存コードは無視して)CIでエラーとなるようにする方法を提案します。 # ちなみにRubocopに
この記事は、ソフトウェアテストの小ネタ Advent Calendar 2017 の15日目の記事です。 ソフトウェアテストの小ネタ Advent Calendar 2017 https://qiita.com/advent-calendar/2017/software-testing-koneta 『なんとかlint』をCIツールで実行して ソフトウェアの静的テストを実施している人も多いと思いますが。 このエントリでは、 Ruby on Railsで作られたアプリケーションに含まれる自然言語に対するテストを実施してみます。 textlintとはtextlintとは、 ルールに従って文書が記載されているかを自動でチェックする校正ツールです。 textlint https://github.com/textlint/textlint 書籍やブログの執筆を行う際に、自動校正ツールとして使われて
terminal操作に慣れている人がWindows上でデータ分析を際に、 linuxやmacosとなるべく同じような感覚で python, R, atomを使用するための環境を作る手順のメモです。 terminalにはMSYS2, minttyを利用して、 terminalからpython, jupyter, Rを起動できるように、 また、atomをatom ./スタイルで起動できるように設定していきます。 このエントリでは、以下流れで環境をセットアップします。 MSYS2とminttyをセットアップanaconda, atom, R のセットアップterminalからpython, jupyter, Rを起動できるように設定terminalからatomを起動できるように設定その他、設定しておくと便利そうなこと以下の過去エントリとも内容かぶっていますが、 必要に応じて、こちらも参考にしてく
このエントリでは、WebサービスのAPI開発を効率良く進めるために、 aglioとdrakovを使って、API仕様書とMockを生成する手順を整理したいと思います。 aglioはHTMLで仕様書を生成するツール、drakovはMockサーバです。 aglio | github https://github.com/danielgtaylor/aglio drakov | github https://github.com/Aconex/drakov これらのツールは、API Blueprintという 「API description language」(API記述言語って翻訳でよいのかな?)に従ったドキュメントから、 仕様書及びMockサーバを生成します。 API Blueprint https://apiblueprint.org/ 環境の準備ndenvでnode.jsをインストール以下
このエントリは、随筆風にだらだら書きたいと思います。 (なんとなくそういう気分だからです) このブログの過去エントリを翻ってみると、 はじめてAWSに関するエントリを書いたのが2012年11月。 実際に使い始めたのはもっと前からなので、 AWSを扱い始めてから、もう5年以上過ぎていることになります。 AWSの進化は速く、 この5年の間にいろいろなサービスがリリースされました。 ですが、同時に、基本的な考え方は変わってないなとも思っています。 このエントリでは、 私がAWSでシステム構成を考えるときに気をつけていることを、 (その中でも特にずっと変わっていないこと) 改めてまとめてみたいと思います。 消えて困るものはとにかくS3昔から、JAWS-UG (AWS User Group - Japan)で登壇者は、 自分の好きなAWSのサービスを言う習慣がありますが。 私は好きなサービスの一つは
以下のエントリを読んで、同じようなことしてるなぁと思ったので、 私が使っているAWSサービス(S3,DynamoDB,SQS)の互換環境について、 そのdockerイメージとあわせて紹介します。 AWS上で動作するアプリケーションをいかにローカルで開発するか? - たけぞう瀕死ブログ http://takezoe.hatenablog.com/entry/2016/02/12/090152 dockerイメージの使い方は、 RubyでのサンプルとあわせてgithubのReadmeに書いているので、 さらっと、リンクだけ紹介しておきます。 S3 - MinioServerS3の互換環境はMinioServerを利用していました。 MINIO https://www.minio.io/ 私が作ったdockerイメージ https://github.com/takemikami/docker-m
gitbookを使って技術書を書くための環境を構築する手順をまとめたいと思います。 gitbookとは、Node.jsで動く、 チームでドキュメントを作って、オンライン上で公開するためのツールです。 markdownで書いたドキュメントをhtmlやpdfなどに体裁を整えて変換することができます。 このエントリでは、以下の4点について、順を追って手順を示していきます。 gitbookの執筆環境構築textlintによる自動チェックhtml,pdf,epub形式での書籍の出力githubでの執筆環境の管理gitbookの執筆環境構築まずは、gitbookの執筆環境を作ります。 以下の、gitbookのnodeのモジュールをインストールします。 gitbook | npmjs.com https://www.npmjs.com/package/gitbook gitbookのインストール以下コマ
pythonのスクリプトでログを出力しようとして、 色々と調べて、結局どうすればよいのかを自分なりに整理したので、 メモを残しておきます。 このエントリでは、以下の想定要件で、ログ出力を実装してみます。 本番環境では、INFOレベル以上をファイルに出力開発環境では、DEBUGレベル以上を標準エラー出力とファイルに出力ログファイルは日ごとにローテションimportするモジュールのログ出力レベルは、メイン処理とは別に設定ログにはスクリプト名と行数を出力以下の流れで段階を追って、実装してきます。 ファイルにログ出力ログのローテートログのフォーマット変更開発環境向け: 標準エラー出力にログを出力ライブラリ固有のログ出力を設定ファイルにログ出力ファイルにログを出力するように、 メインのスクリプトと、logging.conf(ログ出力の設定)を作成します。 sample.py #! /usr/bin/
この記事は、Microsoft Azure Advent Calendar 2016 の18日目の記事です。 Microsoft Azure Advent Calendar 2016 http://qiita.com/advent-calendar/2016/azure 機械学習を試してみたいと思ったとき、 AzureMLを使うと、マウスをぽちぽちするだけで、 とりあえず出来てしまうので、とてもお手軽です。 AzureMLはただお手軽なだけでなく、 PythonやRに結果を取り込んでさらに分析を行うことも出来ます。 この記事では、そのような連携の第一歩として、 お手軽に作ったロジスティック回帰の結果をRに取り込んで、グラフを書いて見ることにします。 AzureMLへのアクセス以下URLの、AzureMLのサイトにアクセスします。 Machine Learning | Microsoft A
Mac上にhadoop/hiveを入れて、 S3上のファイルをhiveでアクセスするまでの手順のメモを残しておきます。 HadoopとhiveのセットアップS3上のファイルへのアクセス設定S3上のTSVファイルへのクエリ実行S3上にクエリの実行結果を保存Hadoopとhiveのセットアップhomebrewを使ってhadoopとhiveのインストール、 その後必要となる設定を行います。 インストールjdk及びhomebrewはセットアップ済みとして、 以下のコマンドでhadoopとhiveをインストールします。 HADOOP_HOMEの設定環境変数「HADOOP_HOME」「HADOOP_CONF_DIR」を設定しておきます。 hadoop versionの出力結果を見て、以下のように設定します。 以下は私の環境の場合の設定です。 $ hadoop version Hadoop 2.7.2
このエントリでは、Mac上でhdfsにmysqlからデータをロードする手順を記載します。 sqoopを利用する手順とembulkを利用する手順を示します。 Apache Sqoop: http://sqoop.apache.org/ embulk: https://github.com/embulk/embulk この手順の前提として、 homebrew及びjdk, hadoop, hdfsのセットアップは完了し、hdfsのnamendeは起動しているものとします。 hadoopとhdfsのセットアップについては、 以下エントリの「Hadoopとhdfsのセットアップ」を参考にしてください。 Mac上でのhiveセットアップ手順(mysql上にmetastoreを作成): http://takemikami.com/2016/04/20/Machivemysqlmetastore.html
hiveのクエリーの単体テストのやり方を調べてみると、 単体検査用のhive実行環境の立ち上げを含めてまるっとやってくれる、 HiveQLUnitというフレームワークがあったので、試してみました。 このエントリでは、 HiveQLUnitを使って単体テストを実施する手順を説明します。 HiveQLUnit http://finraos.github.io/HiveQLUnit/ 全体の流れは、以下の通りです。 テスト用プロジェクト作成テストコードとテストデータの準備テストの実行 (コマンドラインから)テストの実行 (IntelliJから)jdkとmaven3はセットアップ済みの前提です。 私が使ったバージョンは以下の通り。 JDK 1.8.0_71Apache Maven 3.3.9このエントリで作成したgithubリポジトリ: https://github.com/takemikami/
GitHubのWebhook機能を利用して、 git pushしたら自動でdeployする仕組みを作る方法についてメモをまとめます。 仕組みの全体像このエントリでは以下のような仕組みを作ることにします。 deployサーバは、大きく以下の2つのモジュールで構成します。 Webhookの受け付けイベント管理ファイルをtouchするWebサーバ定期的にイベント管理ファイルを確認しdeployを実行するスクリプト仕組みを作る手順Webサーバの構築deployサーバに、apache/phpがインストールされている前提で、 以下のようなphpスクリプトを配置します。 イベント管理ファイルを配置するディレクトリを作成し、 apacheの実行ユーザに書き込み権限を与えておきます。 (以下の例では「/home/deploy/webhook/event/」ディレクトリ) SECRET_KEYには、パスワード
Mavenを利用すると、開発やビルドの際に、 依存したjarファイルを自動的に解決する事ができます。 開発したバッチをビルドしたマシンで実行している分にはいいのですが、 他のマシンにバッチを持って行って実行する場合には、 別途、依存するjarをコピーする必要があり、配備が面倒です。 調べてみると、Mavenプラグイン「Maven Assembly Plugin」を 利用すると解決できるようなので、手順をまとめておきます。 Maven Assembly Plugin http://maven.apache.org/plugins/maven-assembly-plugin/ ここでは、MacOSXで、 「Eclipse4.3 / Eclipse IDE for Java EE Developers」を、 利用している前提で手順をまとめています。 この記事をまとめる際、次のサイトを参考にさせて
5/30(土)に「Code for 青空文庫」アイデアソン #1 に参加してきました。 ITmediaニュースさんでも取り上げられ、話題になっていたイベントで補欠登録していたのですが、繰り上がりで参加させて頂けることになり、参加してきました。 本が好き(大学の頃は文芸部に所属していたくらい)で、青空文庫さんのテキストを読ませて頂くこともあったので、エンジニアとして何か力になりたいという想いがあったので、こういうイベントに参加できただけでも嬉しかったです。 「Code for 青空文庫」アイデアソン #1 https://atnd.org/events/66230 エンジニアなし、サーバ老朽化――「青空文庫」を支えるためのアイデアソン開催 | ITmediaニュース http://www.itmedia.co.jp/news/articles/1505/14/news140.html イベン
Javaで線形代数の行列演算をする際、 Apache Commonsの「Commons Math」を使うと簡単だったので、 基本的な行列演算をしてみたものをまとめました。 Commons Math: Apache Commons Mathmatics Library http://commons.apache.org/proper/commons-math/ ライブラリは上記サイトからダウンロードしてCLASSPATHを通して下さい。 今回利用したバージョンは3.2、 「commons-math3-3.2.jar」というファイル名のものです。 線形代数関連のクラスは 「org.apache.commons.math3.linear」パッケージに入っています。 リファレンスは以下を参照して下さい。 http://commons.apache.org/proper/commons-math/a
SpreeCommerceというRailsで作られたECサイトのオープンソースパッケージがあったので、インストールして少しだけ設定してみました。 SpreeCommerce https://github.com/spree/spree 空のRailsアプリを作って、そこに認証機能(Devise)をインストール、SpreeCommerce本体をインストール、認証機能との連携、国際化、商品作成、PayPalプラグインを追加という流れでセットアップします。 Railsアプリの作成以下のコマンドのようにして、さらっとRailsアプリの基本を作ります。 $ mkdir sample $ cd sample $ echo "source 'https://rubygems.org'" > Gemfile $ echo "gem 'rails', '4.1.4'" >> Gemfile $ bundle
このエントリでは、 PusherとRubyOnRailsで簡単なチャットアプリを作成する流れを示します。 WebSocketを使うと、Webアプリケーションで、 サーバ・クライアント間でリアルタイムな双方向通信を行うことが出来ます。 Pusherというサービスを使うと、 WebSocketに対応したサーバを自前で用意しなくても、 お手軽にWebSocketを使用する事ができるので、 Railsと組み合わせて、簡単なチャットアプリを作ってみます。 Pusher http://pusher.com このエントリで作成したソースコードはgithubに上げています。 https://github.com/takemikami/chat_rails_pusher_sample 作成するアプリの概要作成するアプリは以下の流れで、 チャットのメッセージを送信し、ページに表示することとします。 ブラウザか
12/16(火)に、Adwaysさんで開かれたjThreeの勉強会にお邪魔してきました。 10名ほどのアットホームな感じの勉強会でいろいろお話が出来て楽しかったです。松田さん、参加された皆さんありがとうございました。 jQueryの記法で学ぶWeb3D勉強会@Adways https://atnd.org/events/60053 38階から新宿の街を見下ろせる素晴らしい眺望の会場でした。せっかくの景色なのに、写真撮ってくるのを忘れてしまった… 勉強会の流れは、以下のwikiのチュートリアルに従って行われました。 http://jthree.jp/wiki それ以外に、立体音響の新機能などを紹介をして頂いたので、ここでその一部の使い方を簡単に紹介させて頂きます。 XYZ軸の補助線表示3Dの世界でカメラを動かしていると、XYZ軸がどこにあるか見失ってしまうので、それをわかりやすくするために補
2. 表②と相関係数行列の積を求めるこれから旅行しようとしている旅行者⑥に、 次の旅先をおすすめするために、 旅行者⑥の過去の渡航情報(表②)と相関係数行列の積を求めます。 {% mathjax %} \begin{eqnarray} \begin{pmatrix} 0 &1 &0 &0 \end{pmatrix} \begin{pmatrix} 1.0 &0.7333587976 &-0.7333587976 &-0.4637130168 \\ 0.7333587976 &1.0 &-0.2647058824 &-0.4900980294 \\ -0.7333587976 &-0.2647058824 &1.0 &0.6651330399 \\ -0.4637130168 &-0.4900980294 &0.6651330399 &1.0 \end{pmatrix} \\= \begin
このエントリでは、RailsアプリのエラーをErrbitで監視する手順の作業ログをまとめています。Errbitではエラーの監視を行うことができます。ErrbitはAirbrakeというサービスのオープンソース版で、この手順ではErrbitをHerokuにセットアップすることにします。 errbit https://github.com/errbit/errbit Airbrake https://airbrake.io ErrBitのセットアップ以下のerrbitのページ「Deploying to Heroku:」という部分に手順が書いてあるので、この通りに実施します。 errbit https://github.com/errbit/errbit PC上での準備PCにruby,bundlerはセットアップされている前提で、errbitのcloneとbundle installを実行します
10/26(日)に【たった5時間でWebGLをマスターするjQueryユーザーのための勉強会】jThree Class Tokyo #1 というイベントに行ってきました。 jThree Class Tokyo #1 http://jthree.doorkeeper.jp/events/16100 会場は、渋谷のmixiさんでした。会場には、モンスト1周年のポスターが貼られていました。 当日の流れは、jThreeで作った作品の紹介、jThreeの使い方の概要、チーム毎に分かれて実際に作品を作ってみるという流れでした。 ちなみに次回は、来月(11/22)に開催予定とのことです。 https://atnd.org/events/58240 jThreeで作った作品の紹介URLメモをとっていたものだけの紹介になってしまいますが、jThreeを使うと、次のような作品がthree.jsよりも簡潔なプロ
BitbucketでFork/PullRequestを用いてチーム開発をすれば、 機能追加・修正の承認フローを簡単にできそうかなと思ったので。 人(チームのメンバ)に説明できるよう整理する意味も兼ねて、 PullRequestを用いた開発の流れを整理してみました。 ※もちろんGitHubでも同じ流れで開発できます。 # fork/pull requestの仕組みは、本来はオープンソースなどで、 # ユーザが作成したパッチを元ソースに取り込んで欲しい場合に、 # メールでやりとりしているとややこしくなるので、 # それをシステム化して効率化するためのものだと思いますが、 # このエントリではチーム開発に利用するイメージで書いています。 PullRequestを用いたチーム開発の全体像今回実施する開発の流れを整理すると、以下のような図になります。 「1.fork」〜「4.pull reques
参加前日までmilkcocoaというものを知らなかったのですが、 10/4(土)にmilkcocoaのイベントに参加してきました。 milkcocoaでWebサービスを作ってみよう! http://bd937566c2d179a9bc480c61b1.doorkeeper.jp/events/14805 会場は、Samurai Startup Islandというスタートアップを支援するためのスペースでの開催でした。 http://samurai-startupisland.asia milkcocoaの紹介milkcocoaとは、JavaScriptでリアルタイム通信が出来るバックエンドを提供するサービスです。が、サイト見たり、サンプル見たりした方がどのような物かはつかみやすいと思います。 https://mlkcca.com milkcocoaのサンプルコード http://qiita.
Chefで、iptablesというCookbookを使用して、 iptableで解放をするTCP/UDPポートを管理するレシピを書いてみたので、 その手順を書き残しておきます。 Chef Cookbook: iptables -Opscode Community http://community.opscode.com/cookbooks/iptables ChefでレシピのレシピでWebサーバやDBサーバをセットアップする場合、 あわせてiptablesでそれぞれのTCP/UDPポートを解放するレシピを書く必要があります。 そこで、 /etc/sysconfig/iptablesファイルをcookbook_fileで配置するアプローチをとると、 本番はWebAP/DBサーバを分けるが、評価用環境でWebAP/DBサーバを共存するような場合などは、 本番・評価で別のiptablesファイル
Chefを使ってCentOSにfluentdをセットアップしてみたので、 手順を書き残しておきます。 Installing Fluentd Using Chef | Fluentd http://docs.fluentd.org/articles/install-by-chef 基本的に上記サイトに記載されている手順に沿いますが、 このエントリでは、 nginxをセットアップし、そのログをS3(AWS)にログを送ってみます。 以下エントリのように、 KnifeSolo+Berkshelfの環境があることを前提に説明します。 Chef(Knife)+Berkshelfを使ってサーバを自動構築する手順 http://takemikami.com/archives/1423 Berkshelfを用いてfluentdのCookbookを取得するBerksfileを以下の用に変更(nginx/ipt
EC2のEBS上で、 大きいgzファイルの一時的な圧縮展開やログファイルの蓄積の影響で、 ディスクを容量を圧迫することがあったので、調べてみると、 そのニーズにあいそうな「Ephemeral Disk」というものがあったので、 使ってみることにしました。 <参考資料> AWS上で使えるストレージ十番勝負 http://www.slideshare.net/c95029/aws-20829943 「Ephemeral Disk」とは、インスタンス停止でデータが消去される、 揮発性のディスクで、 主に、一時ファイルを格納するために使うストレージになります。 インスタンスタイプ毎に利用可否・使用できる数などが異なるので、 以下の参考資料で確認して下さい。 インスタンスタイプによってはSSDも利用可能みたいです。 <参考資料> Amazon EC2 Instance Store http://do
次のページ
このページを最初にブックマークしてみませんか?
『takemikami's note』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く