サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
掃除・片付け
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を起動できるように設定 その他、設定しておくと便利そうなこと 以下の過去エントリとも内容かぶっていますが、 必要に応じて、こちらも参
MySQL(RDS)で運用していたシステムを、 AWSのAuroraに移行してエラーになった点があったのでノートを残しておきます。 ECサイトなどで、商品マスタなどを日次バッチ処理で切り替える時。 実体のテーブルは日ごとのテーブルを用意して、 サイト側のクエリにはviewを参照させることはよくあると思います。 SQLで書くと以下のような感じ。 2月13日のテーブル切り替え: create table products_20160213(id integer, name varchar(255)); create or replace view products as select * from products_20160213; drop table products_20160213; create table products_20160214(id integer, name va
このエントリでは、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 - MinioServer S3の互換環境はMinioServerを利用していました。 MINIO https://www.minio.io/ 私が作ったdockerイメージ https://github.com/takemikami/docker-
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 #
この記事は、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
Mac上にhadoop/hiveを入れて、 S3上のファイルをhiveでアクセスするまでの手順のメモを残しておきます。 Hadoopとhiveのセットアップ S3上のファイルへのアクセス設定 S3上のTSVファイルへのクエリ実行 S3上にクエリの実行結果を保存 Hadoopとhiveのセットアップ homebrewを使ってhadoopとhiveのインストール、 その後必要となる設定を行います。 インストール jdk及びhomebrewはセットアップ済みとして、 以下のコマンドでhadoopとhiveをインストールします。
このエントリでは、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_71 Apache Maven 3.3.9 このエントリで作成したgithubリポジトリ: https://github.com/takem
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
ユーザ認証が存在するWebアプリのアクセスログを有効に分析するためには、 ・Webサーバからアクセスログを集める ・Webアプリのユーザとアクセスログを紐付ける の2つを行う必要があります。 この記事では、 ・Webサーバ: nginx ・開発フレームワーク: Ruby on Rails (認証プラグインとしてdevise) ・ログ集約: fluentd ・ログの格納先: Amazon S3 という構成のWebアプリケーションで、 「アクセスログの収集と蓄積」を行う流れについて説明します。 サーバOSは、CentOSを利用します。 アクセスログの収集から蓄積までは以下の図の流れになります。 アクセスログの出力: ①ユーザの訪問 ②アプリから会員ID情報を送信 →RailsアプリからHTTPヘッダに会員IDを付加して返却 付加したヘッダはnginxでログ出力後に削除(ユーザに付加した情報は見
世間のWebサービスの裏側(システムのインフラ)の解説を 雑誌や書籍で見るようになったが、 「どれぐらいのサービス規模でサーバが何台」 というような数字の情報は あまり整理されていないような気がしたので調べてみた。 『facebook』 (2008年4月頃) アクティブユーザ:7,000万人 サーバ台数:13,000台程度 ・Webサーバ台数…1万台 ・memcachedサーバ台数…805台 ・MySQLサーバ台数…1,800台 情報ソース: ・Facebookのデータセンターに見るMySQL活用事例 - MySQLカンファレンス | マイナビニュース (http://news.mynavi.jp/articles/2008/04/28/mysql/001.html) →『アクティブユーザー数…7,000万人』『Webサーバ台数…1万台、memcachedサーバ台数…805台、MySQLサ
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 $ bundl
このエントリでは、 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軸がどこにあるか見失ってしまうので、それをわかりやすくするために
計算の流れは、次の通りです。 1. 表①のデータから旅先同士の相関係数行列を算出 2. 表②と相関係数行列の積を求める 表①のデータから旅先同士の相関係数行列を算出 まず、「過去の旅行者の旅先情報」を元に、 相関がある旅先(=「この旅先に行った人はこの旅先にも行っています」) の対応情報を作ります。 ここでは、ピアソンの偏差積率相関係数を使って相関係数行列を算出します。 ピアソンの積率相関係数は、 \( {s_{xy}} \)はxとyの共分散、\(s^2_x, s^2_y\)はx, yの分散、\(\bar x, \bar y\)はx, yの平均として 以下の式で定義されます。 \begin{eqnarray} r &= &\frac{s_{xy}}{s_x s_y} \\ &= &\frac{\frac{1}{n} \sum_{i=1}^n ( x_i - \bar x ) ( y_i -
このエントリでは、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 reque
参加前日まで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
次のページ
このページを最初にブックマークしてみませんか?
『takemikami's note』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く