タグ

2016年12月7日のブックマーク (60件)

  • MySQL-5.6のMRRにデッドロック回避の夢を見る - ichirin2501's diary

    この記事は、はてなエンジニアアドベントカレンダー2016の7日目の記事です。 昨日は id:haya14busa さんのSum/Union/Variant Type in Go and Static Check Tool of switch-case handlingでした。 こんにちは、ドラゴンボールのヤムチャ状態になってるichirin2501です。 技術ネタとして何を書こうかと考えたのですが、 またMySQLでロックの話をする運びとなってしまいました。 技術ネタついでに今年最後の記事になると思われるので、 この1年のアウトプットを振り返ってみますと、 はてな・ペパポ技術大会 〜インフラ技術基盤〜 計算量と僕とWeb開発 / computational complexity and I and Web // Speaker Deck Haten Engineering Seminar

    MySQL-5.6のMRRにデッドロック回避の夢を見る - ichirin2501's diary
  • MySQLのログについて確認する - Qiita

    出力はMySQLの設定ファイルの1my.cnfで指定できる。 エラーログ 5.2.2 エラーログ 以下引用 エラーログには mysqld が開始および停止された時期を示す情報と、サーバーが実行中に発生したあらゆるクリティカルエラーが格納されます。自動的にチェックまたは修復することが必要なテーブルが mysqld で検出された場合、エラーログに警告メッセージが書き込まれます。 エラーログなので、起動時にこのログが出力された場合には監視した方が良さそうです。 出力先は設定ファイルで以下のように設定します。

    MySQLのログについて確認する - Qiita
  • MySQL binlog の読み方

    概要 こちらのページでも紹介した MySQL binlog の読み方を紹介します。検証用 MySQL のバージョンは 5.5 です。 準備 $ sudo service mysqld stop $ sudo vi /etc/my.cnf 設定例 [mysqld] user=mysql datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock server-id=000001 log-bin=mysql-bin binlog_format=2 # row-based logging [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid サービスの起動 $ sudo service mysqld start binlog に追記されるこ

    MySQL binlog の読み方
  • spark mlで分類器に関するTips - Qiita

    この記事は、Machine Learning Advent Calendar 2016 8日目の記事です。 spark mlの分類器をお試しする上でのTipsを4つご紹介します! 1. お試しに便利なlibsvmデータセット 機械学習を試す上で、データセットを用意する必要があります。 よく知られているものとして、 UCI http://archive.ics.uci.edu/ml/index.html kaggle https://www.kaggle.com/datasets MovieLens http://grouplens.org/datasets/movielens/ などを利用することが多いと思います。 ただ、クラス数、特徴量の数、データ量など、適切なものを探すのは大変です。 LIBSVMでは、UCI等で取得できる分類や回帰に利用できるデータが、それぞれのクラス数、特徴量数、デ

    spark mlで分類器に関するTips - Qiita
  • ドメイン駆動設計と関数プログラミングをScalaで - Qiita

    はじめに この記事は Scala Advent Calendar 2016 - Qiita の 7 日目の記事です。 私事で恐縮ですが、今年の個人的なハイライトは、遅まきながらドメイン駆動設計と関数プログラミングを学べたことでして、その中でも、"Functional and Reactive Domain Modeling" (Debasish Ghosh 著) (以下、FRDM) を読んで、ふたつのコンセプトが自分の中で繋がったことが最も大きなものでした。 Manning | Functional and Reactive Domain Modeling この記事では、書の紹介も兼ねて、ドメイン駆動設計がどのように関数プログラミングと結びつくのか、非常にざっくりではありますが、Scala で表現してみたいと思います (ちなみに、私の Scala 歴は3ヶ月ほどですので、サンプルコード

    ドメイン駆動設計と関数プログラミングをScalaで - Qiita
  • Spring系の2016年の現行プロジェクトをまとめてみる - Qiita

    Java EE Advent Calendar 2016 の7日目の記事です。 Springほにゃららってたくさんあって把握しきれてないので、この機会にまとめてみました。 Springのプロジェクト一覧はこちら。 https://spring.io/projects GitHubはこちら。 https://github.com/spring-io/ https://github.com/spring-projects/ Mavenリポジトリのグループはこちら。サブグループも複数あります。 https://mvnrepository.com/artifact/org.springframework まとめた時点での情報なので、プロジェクトの統廃合などで変化することがあります。 よくアップデートされているもの Spring IO platform (Spring Core) アーティフ

    Spring系の2016年の現行プロジェクトをまとめてみる - Qiita
  • vscode-glideというglideのvscode extensionがあった - tehepero note(・ω<)

    2016 - 12 - 07 vscode-glideというglideのvscode extensionがあった vscode Go glide この記事は Visual Studio Code Advent Calendar 2016の7日目の記事です。にわかvscoderなのでたいした内容じゃないのであしからず。 qiita.com わたしと Visual Studio Code 以前はGoを IntelliJ IDEAの go-lang-idea-plugin で書いてたけど、vscodeはなかなか軽快に動くし、 vscode-go も出来が良いので乗り換えたのが今年一番のトピックかもしれません。 vscode関連のエントリもたまにしてます。 blog.stormcat.io blog.stormcat.io Goとvendoring Goでは1.6系から正式vendoringをサポ

    vscode-glideというglideのvscode extensionがあった - tehepero note(・ω<)
  • Go言語の忘れがちなtime fomatの話 - ○△□ - yudppp techblog

    この記事はGo Advent Calendar 2016 - Qiitaの7日目の記事です。 apexの話でもしようと思ったのですが時間がなく別の記事を書くことにしました。 Golang仕事で書き始めて、もう丸2年になりますが、未だに必要になると毎回ググって調べてから利用するものがあります。 その一つがtimeパッケージのフォーマットです。 GolangではいわゆるYYYYMMDDのような形式ではなく20060102といった特定の日時をベースにした文字列で表す必要があります。 123の順で振られていること、2006年なこと等なんとなくは覚えてきているのですが、確認をしないと不安で仕方なくなります。 この2年間で最低でも10回以上はgolang time formatでググり、その度にmattnさんの記事に辿り着いていました。 同じ記事を何度も見るのは自分に負けた気になるので悲しいです。

  • Goで真面目にコレクション操作ライブラリを作ってみた - Qiita

    はじめに この記事はGo Advent Calendar 2016 の7日目の記事です。 アローラ!azihsoynです。会社でQiita Teamを使ってますがQiitaの方に投稿するのは初だったりします。 今回はgoでコレクション操作をするライブラリ gollectionを作ったのでGoでライブラリを公開までの流れとTipsなどを交えて紹介しようと思います。 gollectionとは こういうことができるようになるライブラリです func main() { arr := []int{1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10} res, _ := gollection.New(arr). Distinct(). Filter(func(v int) bool { return v%2 == 0 }). Sor

    Goで真面目にコレクション操作ライブラリを作ってみた - Qiita
  • golangでテストをする - PartyIX

    最近golangを結構書いています. コンパイルも割と速いし,実行速度は言うまでもなく速い. クラスがないとか,例外がないとか,色々と言いたいことはあるでしょう.思想的には結構独特ですが,なれると普通に書けます. 今日はそんな中でテストの話をしようと思う. やっぱりBDDがいい golangにはテストをするための,testingというパッケージがある. golang.jp 使い方はこの辺の記事が参考になるでしょう. qiita.com assertがないというのが,結構主題かもしれない. ただ,使い方を見てみればわかる通り,これはExampleのテストでしかない. 個人的な意見なのだけれど,やっぱりパターンが複雑になればなるほど,分岐が多くなり,前準備が複雑になる. どうしてもBDDを導入したかったので,ginkgoを入れてみた. github.com matcherにはgomegaという

    golangでテストをする - PartyIX
  • 物理サーバを選定する際のポイント – Eureka Engineering – Medium

    Eureka EngineeringLearn about Eureka’s engineering efforts, product developments and more.

    物理サーバを選定する際のポイント – Eureka Engineering – Medium
  • go-swaggerを使う — そこはかとなく書くよん。 ドキュメント

    go-swaggerを使う¶ この記事は Go (その2) Advent Calendar 2016 の7日目の記事です。 APIからのコード自動生成ツールとして、swaggerが最近流行ってます(異論は認めます)。 この分野では、 goa が有名ですが、goaはあくまでGoのDSLから生成するという方式です。 swagger定義がすでにある場合には使えません。 swagger定義ありきの場合、今回説明する go-swagger を使うと便利です。 なお、この内容は https://github.com/shirou/swagger_sample にて公開しています。 go-swaggerとは¶ go-swaggerは、swagger定義からgoのサーバーおよびクライアントを生成してくれるツールです。 インストールはgo getでインストールしてもよいのですが、goの環境がない場合は do

  • reselectでReact Reduxにvalidationの仕組みを実装する 1/2 - Qiita

    ※ 2019/06/12追記: React Hooksのなかった時代の投稿です。2019/06/12 現在のスタンダードが他にないかよく調べてから読んでください。 記事はSupership株式会社 Advent Calendar 2016の7日目の記事になります。 株式会社Socketの @notsunohito です。 株式会社SocketはSupership株式会社と同じSyn.グループのメンバーであり Web接客と呼ばれるサービスのひとつであるFlipdeskを展開しています。 今回はFlipdeskの管理画面の一部をReact Reduxで書き直したときに validationを実装するのに利用したライブラリreselect について日7日目と8日目を2回にわけて書きます。 TL;DR reselectでvalidationを作ってみたら割りと良かった。 記事で扱うサンプル全

    reselectでReact Reduxにvalidationの仕組みを実装する 1/2 - Qiita
  • ReactでSSR(サーバサイドレンダリング)している話 - Qiita

    この記事はAkatsuki Advent Calendar 2016の7日目の記事です。 こんにちは、 @shimpeiws です。 アカツキのライブエクスペリエンス事業部で、Webエンジニアをしています。 今日は最近開発しているプロダクト、Wowful(現在β公開中)のアーキテクチャについて書きます。 ※ 今回の記事は以前発表した 2つのスライドの増補改訂版のポジションです。 サーバサイドレンダリング、してますか? BFFにかける期待 Wowfulのサービス面の特徴と技術的な要求 Wowfulはサービスとして以下のような特徴を持っており、 これらの要求を解決できる技術・アーキテクチャの選定を行う必要がありました。 まずはWeb主導で展開する BtoCのサービス 利用ユーザはスマートフォンが多数になる予想 検索からの流入を主な導線として想定 トラフィックが多いページのユーザインタラクション

    ReactでSSR(サーバサイドレンダリング)している話 - Qiita
  • react-router v4 でFlux アプリケーションをHot Module Replacement する - Qiita

    この記事は React Advent Calendar 2016 の6日目の記事です。 (アドベントカレンダーに紐づけるの忘れたまま日付超えてしまいました……ごめんなさい!) react-router v4 が良さそうという話を聞き、flux/utils で作られたアプリケーションを書き換えたので、特徴を簡単に説明します。 TL;DR react-router v4 はだいぶわかりやすい感じにはなっているものの、資料はまだ少ない react-router で Hot Module Replacement する場合は構成を意識する必要あり 実装したサンプルはこちら yutaszk/flux-react-router-v4-hmr-example 1. はじめに react をある程度知っている人向けになります。ごめんなさい! react-router / flux については少し知っていれば

    react-router v4 でFlux アプリケーションをHot Module Replacement する - Qiita
  • DeNA Engineering - DeNAエンジニアのポータルサイト

    技術を活かし、新しい価値を創造する DeNAのエンジニアは、想像を超えるDelightを届けるために何ができるかを考え、技術力と発想力で新しい価値を生み出しています。 多様な専門性を持ったエンジニアが切磋琢磨し、互いに刺激し合える環境や制度がさらなる成長へとつなげます。

    DeNA Engineering - DeNAエンジニアのポータルサイト
  • ブラウザだけでできるReact・Reduxチュートリアル - Qiita

    はじめに 「React」はFacebookが公開している、ユーザーインタフェース(以下、UI)を効率的に構築することを目的としたJavaScriptライブラリです。 従来の一般的なWebアプリケーションだと、JavaScriptはJQueryなどのライブラリを使ってUIを生成していました。 ところが、従来のJavaScriptのライブラリで書かれたコードはJSのコードが大規模になるにつれてメンテナンスが難しくなるという欠点を持っていました。 それに対してReactは JS内にHTMLタグを埋め込むような記述ができ、「アプリケーションがどのように見えるか」を単純に表現できる データに変更があるときには更新の必要があるコンポーネントだけ更新する コンポーネントという単位でUIを管理することで複雑なUIでもUIを再利用したりテストしやすくする といった特徴を持つことで、複雑なUIを作成するときで

    ブラウザだけでできるReact・Reduxチュートリアル - Qiita
  • Apache Hadoopのユニットテストを回す - Qiita

    -Pnative: ネイティブライブラリをビルドし、それが必要なテストを実行する -Pshelltest: シェルスクリプトのテストを実行する このコマンドを実行すると全てのmoduleでテストしてくれるのですが、テストが失敗したmoduleで止まってしまい、全てのmoduleでテストを回すことができません。Apache Hadoopでは時々失敗するテストがいくつかあり、それが完全には修正されていないため、大抵はhadoop-hdfs moduleで落ちてしまい、それ以降のテストは実行されないということになります。各moduleのルートディレクトリに移動してテストをすればいいのですが、module自体が大量にあるので若干面倒です。 全moduleでテストを回す 全moduleでテストを回すには、qbt(quality build tool)というツールを使うのが楽だと思います。Apache

    Apache Hadoopのユニットテストを回す - Qiita
  • Hive入門 | Hadoop Advent Calendar 2016 #06 | DevelopersIO

    こんにちは、小澤です。 この記事はHadoop Advent Calendar 6日目のものとなります。 1人でHadoopの話をする Advent Calendar 2016 - Qiita Hadoop Advent Calendar 2016 | シリーズ | Developers.IO 前回はSQL on Hadoopを実現するHiveがどのような仕組みで成り立っているのかを説明するために全体の構成を紹介しました。 今回は実際にHiveを利用してテーブルの作成からSELECT文の発行までの流れを追いたいと思います。 利用環境の準備 HiveはHadoopとMetaStore用のRDBに依存しているため、コマンド一発のような簡単な方法で利用を始めることができません。 Macであればhomebrewにhiveがありますが、別途Hadoopを入れて設定を書き換えたり、MySqlやJDBC

    Hive入門 | Hadoop Advent Calendar 2016 #06 | DevelopersIO
  • サーバーレスアーキテクチャなエラートラッキングツール faultline - Copy/Cut/Paste/Hatena

    エントリーは Serverless Advent Calendar 2016 - Qiita と Fusic Advent Calendar 2016 - Qiita の7日目の記事です。 今日は AWS re:Invent 2016 Serverless Follow Up がありますね。うらやましい。 サーバーレスアーキテクチャなエラートラッキングツール faultline を作っています。 これは何 AWSのマネージドサービスのみで構築しているサーバーレスアーキテクチャなエラートラッキングツールです。 近いツールとしては、Rollbar、Airbrake、Bugsnag、errbit などがあります。 エラートラッキングのためのAPIバックエンドを提供する faultline と、そのAPIを利用するWeb UIのサンプル実装の faultline-webui があります。 git

    サーバーレスアーキテクチャなエラートラッキングツール faultline - Copy/Cut/Paste/Hatena
  • 【小ネタ】AWS CLIのサンプルJSON出力オプションで上手にJMESPathしよう | DevelopersIO

    西澤です。みんな大好きAWS CLIに、知っておくとちょっと便利なオプションが追加されていたので、ご紹介します。 サンプルJSON出力オプションとは? 下記リリースにある通り、バージョンは1.11.23以上である必要がありますので、まずAWS CLIのバージョンを確認しておきましょう。 1.11.23 feature:--generate-cli-skeleton output: Add support for generating sample output for command aws-cli/CHANGELOG.rst at develop · aws/aws-cli $ aws --version aws-cli/1.11.26 Python/2.7.10 Darwin/15.6.0 botocore/1.4.83 --generate-cli-skeletonオプションを使った

    【小ネタ】AWS CLIのサンプルJSON出力オプションで上手にJMESPathしよう | DevelopersIO
  • AWS Toolkit for Eclipse で Serverless Applicationを作成する | DevelopersIO

    はじめに AWS Toolkit for EclipseでAPI Gateway + LambdaのServerless Applicationが作成できるようになったので試してみました。JavaでServerless Applicationを作成しようと考えている方にとっては1つの選択肢になるのではないかと思います。 AWS Toolkit for Eclipse: Serverless Applicationsを参考にしたのですが、注意すべきポイントもあったので、それらも加えて書いていきます。 作成手順 作業の流れとしては以下となります。 AWS Toolkit for Eclipseのインストール プロジェクト作成 serverless.templateの確認 デプロイ AWS Toolkit for Eclipseのインストール EclipseにAWS Toolkit for Ec

    AWS Toolkit for Eclipse で Serverless Applicationを作成する | DevelopersIO
  • Dockerコンテナの分割は開発時はプロセス毎にしたほうがいい。 - Qiita

    tl; dr 背景 一つのプロジェクトには、いろんなミドルウェアが入ってくる事があります。例えば、PHPの場合、よく言われるのはLAMPというものですが、これは Linux Apache Mysql PHP を一つにまとめた略称であり、これらがあることによって、PHPのWebアプリケーションが実行可能な状況になります。(もちろんMysqlなくてもPHPは動きますが、DataStoreが無いWebアプリケーションはそんなに無いと思われるので、この中に入れているのでしょう。) Dockerを初めて使うときは、上記をすべてインストールした一つのimageに固め、一つのコンテナで動作させようと思うかもしれないですが、そうしてしまうと、一つのミドルウェアのバージョンだけを上げたいと思っても、再度すべてビルドし直さなければなりません。 もしyum install -y mysqlコマンドのようにバージ

    Dockerコンテナの分割は開発時はプロセス毎にしたほうがいい。 - Qiita
  • AWS Elastic Beanstalk に Docker マルチコンテナで複数アプリケーションをデプロイ - Qiita

    この記事は CureApp Advent Calendar 2016 7日の記事です。 今日は Elastic Beanstalk に Docker (ECS) で複数アプリをデプロイする話です。 目的 ひとつの Elastic Beanstalk に複数のアプリケーションを入れたら、 インスタンスの節約になったりするかも。 という動機のもとで、以下のような構成を検討しました。 前提条件 aws アカウント node, docker, docker-compose インストール (ローカル確認用なので必須ではないです) 手順 1. テスト用アプリケーション作成 node で表示するだけのアプリケーションを作成。 { "name": "node-app1", "version": "1.0.0", "description": "sample node app 1", "main": "se

    AWS Elastic Beanstalk に Docker マルチコンテナで複数アプリケーションをデプロイ - Qiita
  • プラグインインストール済のJenkins Dockerイメージを作成する - 理系学生日記

    Jenkins には Docker 公式のイメージ があったりして、セットアップが非常に容易になっています。 で、いざ docker run して立ち上げてみたら、いきなり Plugin をインストールしろやみたいな画面になるし、仕方ないなぁお勧めプラグインでもインストールしてやるかみたいな感じでボタン押したら、大量のプラグインのインストールが走ってずいぶん時間待たされることになりました。 こんなのは全然軽量じゃない、もっと迅速に Jenkins と遊びたいんや!! というわけで、お勧めプラグインをインストール済のイメージを作りましょう。 お勧めプラグイン一覧の作成 お勧めプラグインをインストールしておくためにはお勧めプラグイン一覧が必要なわけですが、これは Jenkins の Jenkins Script Console で以下のような Groovy スクリプトを書いて実行すれば良いです

    プラグインインストール済のJenkins Dockerイメージを作成する - 理系学生日記
  • 【DockerSwarm】30分でDockerクラスターを構築してみる - Qiita

    なにこれ ChefSoloでDockerホストをガンガン立てて、DockerSwarmでクラスタリングして 一つのリソースプールにするお話し。趣味で使う数値計算の分散基盤に使う予定。 ※chef-soloを使っていますが、今のご時世、chef-localmodeを使うことを推奨します。 参考: https://blog.isao.co.jp/graduated_from_chef-solo/ ※Dockerがセットアップできれば、Ansibleでもなんでも大丈夫です。 注意 決してProduction環境等では使わないでください(セキュリティ対策無しです) 前提条件 わりと真っ白なところから。 1台1台手塩をかけてプロビジョニングしたくないのでchef soloを利用する。 DockerSwarmによるコンテナオーケストレーションを実施 オーケストレーション部分は手動で行う(後日、レシピ

    【DockerSwarm】30分でDockerクラスターを構築してみる - Qiita
  • Pythonista+スクレイピング で Advent Calendar 管理 - 僕とコードとブルーハワイ

    Python Advent Calendar 2016 その2 の7日目の記事です。 qiita.com ★ はじめに Advent Calendarのサービスの有名所と言えば「Qiita Advent Calendar」と「Adventar」がありますね。 私は両サービスとも利用しているのですが、どちらのサービスに、いつ、どんなカレンダーに参加しているのかたまに忘れてしまうことがあるので、それらがひと目で分かるように、参加登録しているカレンダー情報を一箇所にまとめるiOSアプリをPythonistaで作成しました。 今日はどんな風に作ったのか?というのをつらつら書いていきます。 特に目新しい技術・トリッキーなアルゴリズム等は使ってないのであしからず。 「各サービスのカレンダーをこまめにチェックするなりGoogleカレンダーに登録しておけば良いのでは?」みたいな話はひとまず置いておいて下さ

    Pythonista+スクレイピング で Advent Calendar 管理 - 僕とコードとブルーハワイ
  • Re:dashでHTMLをスクレイプしてグラフ表示 | WriteIfElse

    iPhoneで Grafanaの グラフを 参照できる アプリ Grafanizerを 作ってます。 詳しくは こちらへ。 スクレイプする目的 先日からRe:dashをいじっててようやくOracleとの接続もクリアしたので、経営層向けの自作ダッシュボードから移行すべくこれが出来ないと移行ができないというものを攻略してみた。 それが外部URLのテーブルからデータをぶっこ抜いてグラフ表示させる機能で、具体的にはアメリカのエネルギー情報局(EIA)のページにある1983年からの原油価格である。 http://tonto.eia.doe.gov/dnav/pet/hist/LeafHandler.ashx?n=PET&s=RCLC3&f=W このページを知ってから約3年位はスクレイピングさせてもらってるんだけど、HTMLの構造は変わらないし大変ありがたい。 Pythonをデータソースにするには R

  • DjangoでNetwork機器のダッシュボードを作ろう! - Qiita

    NetOpsCoding Advent Clender 7日目の記事になります。 記事ではDjangoを用いて、ネットワーク機器の情報を取得し、 Webアプリケーションとして、状態をまとめて確認できるダッシュボードの作成方法について共有します。 (情報取得をする対象として、主にスイッチではなくルータを対象としています) 今回作成するダッシュボードは下記gitにアップロードしてあります。Qiitaでは細かなところまでは解説してないので、より詳細は現物を御覧ください https://github.com/Mabuchin/netboard はじめに ネットワーク機器の状態を取得するツールは、古来より今に至るまで、様々なツールが開発されています。Cacti,MRTG,Zabbix,Munin等々... 勿論、これらのツールはうまく使えばネットワーク状態を確認するために非常に有益なツールであり、

    DjangoでNetwork機器のダッシュボードを作ろう! - Qiita
  • 【Python入門】format関数で文字列の書き方 - Qiita

    ※こちらの記事は、プロスタ編集部が現在大変人気の高いPythonの文法記事を公開することで、皆様の学習にお役に立ちたい意図で投稿しております。 参考サイト:【Python入門】format関数で文字列の書き方 Pythonで変数を文字列に埋め込むには%演算子を使った%記法が長く用いられてきましたが、Python2.6以降はそれに代わる新しい方式が登場しました。それが「format関数」を使って変数を文字列中に埋め込む方法です。今回は「format関数」の使い方について説明します。 目次 [非表示] 1 format関数とは? 2 format関数の構文 2.1 複数の引数を与える 2.2 リストやタプルを埋め込む 3 format関数の書式指定 3.1 書式指定のやり方 3.2 数値表現 3.3 幅 format関数とは? format関数は、Pyhonで変数の文字列への埋め込みに使われま

    【Python入門】format関数で文字列の書き方 - Qiita
  • Python: freezegun で時刻のテストを楽に書く - CUBE SUGAR CONTAINER

    時刻周りの処理はバグが混入しやすい上にテストが書きづらくて面倒くさい。 今回は、そんな面倒な時刻のテストを楽に書けるようになる freezegun というパッケージを使ってみる。 この freezegun というパッケージを使うと Python の標準ライブラリの datetime から得られる現在時刻を指定したものに差し替えることができる。 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G1108 $ python --version Python 3.5.2 時刻をテストするときの面倒くささ 時刻周りの処理をテストをするときは、当然ながら色々な時刻を使ってテストがしたい。 とはいえ、そのためだけにシステムの時刻を変更しながらテストを走らせるわけにもいかないだろう。

    Python: freezegun で時刻のテストを楽に書く - CUBE SUGAR CONTAINER
  • Pythonの値渡しと参照渡し - amacbee's blog

    これはPython Advent Calendar 2016 7日目の記事です. アドベントカレンダーの日程を勘違いしてしまっていたので,社内向けに作ったPython資料を使いまわすことでお茶を濁します。。。 Pythonの値渡しと参照渡しについてまとめてみます. Pythonでは,変数や関数に値を渡す場合すべて参照渡しで渡されています.例えば挙動だけ見れば値渡しに見えるint型でも,値が変更されるまでは元の値と同一のオブジェクトを参照しています. 例を見てみましょう. >>> def foo(a): ... print(a, id(a)) ... a += 1 ... print(a, id(a)) ... >>> b = 0 >>> print(b, id(b)) 0 4297514880 # 'b' 用の領域が確保されている >>> foo(b) 0 4297514880 # ここま

    Pythonの値渡しと参照渡し - amacbee's blog
  • CとGolangの境界 - Qiita

    C言語 Advent Calendar 2016を書く人が少ないので、、 C言語を触っていたころを思い出して書いてみようと思いました。 ここから 前回、マルチプラットフォーム対応したライブラリGolangを紹介しましたが、 実際のところ、どの程度c-sharedしたライブラリを利用する機会があるのでしょうか。 GocgoというC/C++のライブラリと連携する機能をサポートしており、 手軽にGoからC/C++APIを呼び出せます。 しかしC/C++からGoを呼び出す機能は、使いみちが結構限られており、 主な使いみちは、Goで実装された機能を 他言語から利用したい場合に限られるのではないかと推測します。 もうちょっと具体的にいうと、 Goで開発された機能を他言語にポーティングするのが面倒だから、 c-sharedでライブラリ化して他言語から呼び出しちゃおうっていうことです。 c-share

    CとGolangの境界 - Qiita
  • 2016年反響が大きかったフロントエンド技術記事まとめ - Qiita

    こんにちは、株式会社ICSインタラクションデザイナー/Schoo講師の鹿野といいます。 記事では、この1年で執筆したフロントエンド関連の技術記事の中で、PV数・SNSのシェア数の観点からとく反響が大きかったものをご紹介します。 CSS3 - Flexbox Webデザイナー初心者でも始められるFlexbox入門 - ICS MEDIA floatプロパティよりも簡潔なコードでボックスの豊富なレイアウトが可能になる「Flexbox」が注目を集めています。この記事ではWebページの作成を通してFlexboxの特徴と使い方について解説しています。 889はてなブックマーク。 Flexboxとfloatのパフォーマンス比較 - ICS MEDIA Flexboxとfloatプロパティをパフォーマンスの面から比較した記事。WindowsmacOSの各種ブラウザについて比較検討しました。 114は

    2016年反響が大きかったフロントエンド技術記事まとめ - Qiita
  • マイクロサービス時代に捧ぐ、Railsでの中規模APIサーバ開発のための技術構成 - Qiita

    初めまして、qsona (tw) と申します。Ruby on Rails Advent Calendar 2016 6日目の記事になります。 Rails歴は10ヶ月で、もちろんAdvent Calendarへの参戦も初です。 全体的に生意気な内容と思いますが、 じゃんじゃんマサカリ投げてください お手柔らかにお願いします。 はじめに 環境 JSONを返すAPIで、データベースはRDBを想定してます。 あんまり関係ないですが一応、Rails5 (api mode) + MySQLを想定しています。 マイクロサービスとしてのバックエンドに使う技術スタックの必要な要件 マイクロサービスの良いところは、サービスごとに合った別々の技術が使えるということです。 とはいえ、一般的な組織であれば、学習コストの面などから、ファーストチョイスとなる言語があり、普通の要件に対してはその言語を使う、ということにな

    マイクロサービス時代に捧ぐ、Railsでの中規模APIサーバ開発のための技術構成 - Qiita
  • Vue.jsで実現するMVVMパターン Fluxアーキテクチャとの距離

    Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything

    Vue.jsで実現するMVVMパターン Fluxアーキテクチャとの距離
  • React のソースコードを読んでみよう! - マルシテイア

    こんにちは id:amagitakayosi です。 株式会社はてなで主にフロントエンド開発を担当しています。 この記事では React 体のコードを読んでみます!! この記事は Reactアドベントカレンダー 2016 の7日目の記事です。 昨日は yutaszk さんで「react-router v4 でFlux アプリケーションをHot Module Replacement する」でした。 目次 はじめに (Kyoto.js の宣伝) 準備 ディレクトリ構造 monorepo Haste Gulp と Grunt コードリーディング react ReactComponent react-dom ReactMount ReactReconciler ReactCompositeComponent ReactDOMComponent まとめ おわりに はじめに (Kyoto.js の宣

    React のソースコードを読んでみよう! - マルシテイア
  • Amazon Athena: テーブルデータの洗い替え・追加を試してみる #reinvent | DevelopersIO

    新サービス Amazon Athenaは、S3上のCSVファイルにテーブル定義(CREATE EXTERNAL TABLE)を適用するだけで、ファイルに変更を加える必要なく、クエリを実行することができます。他の類似サービスのように、CSVファイルをロードし直したり、変換する必要が無い点が他のサービスと異なります。 今回は、CSVファイルを置き換えることでテーブルデータを洗い替えや、CSVファイルを追加することでテーブルデータが追加できるだろう!という仮説を検証してみたいと思います。 今回はデータの更新パターンとして、以下の2つのパターンを試してみます。 テーブルデータの洗い替え(S3ファイルの上書き) テーブルデータの追加(S3ファイルの追加) データファイルの指定は S3のデータフォルダ データファイルの指定は CREATE EXTERNAL TABLE の LOCATION パラメータ

    Amazon Athena: テーブルデータの洗い替え・追加を試してみる #reinvent | DevelopersIO
  • MySQL5.6以前でmetadata lock発生の犯人を後追いする - なからなLife

    大事な機構「metadata lock」 MySQL5.5.3から導入された「metadata lock」。 その目的は、 「トランザクション実行中に触ったテーブルについて、DDLによるテーブル構成情報の変更から守る」 ということ。 そうしないと、ロールバックしようとしたら「テーブルがDropされた!カラムが増えた/減った!、どうしたらいいのよ、このレコード!」とかいうことが発生してしまうから。 公式ドキュメント的には、こちらです。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 8.10.4 メタデータのロック 面倒くさい、「metadeta lock」 トランザクションの最中に、「SELECT」しかしていないテーブルも、metadeta lockを掴んでしまう、ということ。 よくネットで叩かれている「DBViewer」、定義情報を参照しただけでも、裏でトランザクショ

    MySQL5.6以前でmetadata lock発生の犯人を後追いする - なからなLife
  • Pythonをまじめに書こうと思って作った開発環境 - Qiita

    こんにちは。ara_ta3 です。 この前あるイベントでPythonを書くことになったので、 そのときに作ったローカル開発環境の話をします。 概要 普段Pythonを書かないのですが、書く機会があったので開発環境を揃えた話をします。 こんな風にすると良いよとかありましたらコメントいただければ幸いです。 準備 Python3.5でコーディング規約をみたり、Testしたり、Lintしたりしました。 もろもろはMakefileに書きました。 主にここに書いているmake targetを使っていく感じです。 pip=bin/pip python=bin/python flake8=bin/flake8 pytest=bin/pytest run: $(python) $< main.py test: $(pytest) $< -v ./main.py lint: $(flake8) $< main

    Pythonをまじめに書こうと思って作った開発環境 - Qiita
  • DeNA Engineering - DeNAエンジニアのポータルサイト

    技術を活かし、新しい価値を創造する DeNAのエンジニアは、想像を超えるDelightを届けるために何ができるかを考え、技術力と発想力で新しい価値を生み出しています。 多様な専門性を持ったエンジニアが切磋琢磨し、互いに刺激し合える環境や制度がさらなる成長へとつなげます。

    DeNA Engineering - DeNAエンジニアのポータルサイト
  • chaliceを使って簡単にPythonでサーバーレスしよう - Qiita

    Python Advent Calendar 2016の5日目及び Fusic Advent Calendar 2016の5日目の記事です。 はじめまして、seike460と申します。 普段は主にPHPとサーバー触っています。 ふと流行りのサーバーレスしたい!と思いましたが、 僕が懇意に使用しているAWSでは、PHPでサーバーレス出来ないのが現状です。 (正確には頑張れば出来ますが、その話は置いておきます。) 出来ないものはしょうがないので、他の言語でサーバーレスしようと思いたち、 最近魅力を感じているPythonを使ってサーバーレスする事にしました。 何も使用せずにLambdaAPIGatewayの設定をしようとすると、 面倒臭すぎて気が狂いそうになるので 効率が悪く、実運用に耐えられない印象を受けました。 そこで安心のAmazon公式 Python ライブラリ「chalice」を選択

    chaliceを使って簡単にPythonでサーバーレスしよう - Qiita
  • Udemyの「実践 Python データサイエンス」を受けてみた - Qiita

    このブログはjupyter notebook Advent Calendar 2016の3日目のエントリーです。 Udemyというオンライン学習サービスがあり、「実践 Python データサイエンス」が2,300円だったので、ぽっちってみました。17.5時間コースで、「Pythonスタートブック」の著者である辻真吾さんが日語で解説してくれていて、とても分りやすいコースです。まだ全てのセクションを聞いていないのですが、こちらのコースについて紹介します。 このコースでは基的にJupyter Notebookを使ってほぼ全てのセクションを説明しているので、このコースで紹介しているJupyter Notebookの機能?について交ながら紹介します。 前半は、Pythonのデータ解析用ライブラリの利用の仕方を説明しながら進める形になっています。その後、データ解析、可視化について説明し、後半では実

    Udemyの「実践 Python データサイエンス」を受けてみた - Qiita
  • Scrapy入門(3) - Qiita

    はじめに Scrapy入門(1) Scrapy入門(2) 前回までの記事では、Scrapyを利用してWebAPIをコールする方法を試しました。今回はファイルのダウンロード処理を行うSpiderを作成してみましょう。 Spiderの作成 今回はMLBに関するデータ(zipファイル)をダウンロードするSpiderを作成します。実際のデータはSean Lahman Databaseで公開されているデータを利用します。ダウンロードしたzipファイルは任意のディレクトリに保存することにしましょう。 Spriderの処理の流れは次の通りです。 start_urlsのページの内容を取得 取得したページの内容を解析し、aタグのhrefにcsvの文字列が含まれているurlを取得 上記で取得したurlの内容を取得 # -*- coding:utf-8 -*- from scrapy import Spider

    Scrapy入門(3) - Qiita
  • PythonでSOAP通信するためにやったこと - NissyBlog

    この記事はPython Advent Calendar 2016 - Qiitaの6日目の記事になります。 こんにちは。@nissy0409240です。 Webを支える技術 突然ですが、「Webを支える技術」というはご存知でしょうか。 Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus) 作者: 山陽平出版社/メーカー: 技術評論社発売日: 2010/04/08メディア: 単行(ソフトカバー)購入: 143人 クリック: 4,320回この商品を含むブログ (183件) を見るこちらのでは、昨今の主流となりつつあるRestfulなアーキテクチャとはどの様なものかを 理解する為に必要な考えが記載されています。 また、このの中ではREST形式だけでなくSOAP形式というプロトコルの紹介や、 なぜSOAP形式ではなくREST形式が主流と

    PythonでSOAP通信するためにやったこと - NissyBlog
  • 今年の流行語大賞は「JPAP」(Jupyter / Python / Anaconda / Pyenv)〜 ゼロからはじめる Jupyter Notebook 〜 - akiyoko blog

    この投稿は 「jupyter notebook Advent Calendar 2016 - Qiita」 の 6日目の記事です。 今年の流行語大賞が 「JPAP(Jupyter / Python / Anaconda / Pyenv) に決まりましたね! あれ? 違うの!? といった冗談はさておき、ちょっとした統計解析をしようとしたときに、Jupyter Notebook(ジュピター ノートブック)+ Pandas(パンダス)を試してみたら、すごくいい感じだったのでご紹介。 Jupyter Notebook はブラウザ上でデータ分析関連の Python コードを実行したり実行結果を保存したりすることができる非常に便利なツールなのですが、Jupyter Notebook の他にも Python, NumPy, Pandas, Matplotlib 等々の環境を準備しておく必要があります。そ

    今年の流行語大賞は「JPAP」(Jupyter / Python / Anaconda / Pyenv)〜 ゼロからはじめる Jupyter Notebook 〜 - akiyoko blog
  • Google Data Studioとre:dashでつくるダッシュボード講座 - ietty TECH blog

    iettyでマーケティングとサービス企画を担当している下地と申します。 今回は、Google Data Studio、re:dash、googleスプレッドシートを使ったダッシュボードの構築方法について説明します。 ざっくり言うと Google Data Studioでダッシュボードを作った Google Apps Scriptでre:dashのデータをGoogleスプレッドシートへインポート Googleスプレッドシートで異なるデータをJOINする googleスプレッドシートでの分析はもう限界ィィィ!! 今までは、マーケティング領域のデータの可視化はgoogleスプレッドシートを使っていました。 DB内のユーザー情報をインポートして広告費を集計して、sumifsで紐付けしてCPAや継続率を見る…といったことをしていたのですが、いかんせんスプレッドシートは関数が増えていくと表示/更新がど

    Google Data Studioとre:dashでつくるダッシュボード講座 - ietty TECH blog
  • Heroku Container Registryで作るDocker時代のRails 5 入門 - Qiita

    この記事はRuby Advent Calendar 2016の5日目です。 昨日はiguchi1124さんの「Railsアプリケーションでより良いリソース設計を実装するためのテクニック」 でした。 明日は、tomokane@githubさんの記事になります。 はじめに 最近、個人的なプロダクトを久しぶりにRailsで書いています。 自分の場合、Rubyはテキスト処理とかスクレイピングとかそういったスクリプトで使う用途が多いので、 Railsをまともに触るのは実に2以来。そのせいで5を触るにあたって大分忘れてたことや時代に取り残されたところがありました。 あと、Heroku格的に使ったことは無かったのですが、今回Dockerに完全対応したということで使ってみたので、 Heroku Container Registryを使ったDockerによるRails環境について備忘録がてら、今年はまと

    Heroku Container Registryで作るDocker時代のRails 5 入門 - Qiita
  • Vue.js+Vuex、Express4、Dockerなどを使ってさくらのクラウドのAPIクライアントを作った

    このサービスを公開するにあたり、さくらのDockerホスティングサービス Arukas.io での公開も考えたが、さすがに証明書が入ったイメージをパブリックにするのは怖い。 またAPIキーをお漏らしすると、高額請求や重要データの削除をされる可能性がある。 という経緯から、Webサービスとして公開することは断念した。 その代わりデプロイ用のスクリプトを用意した。 たとえばさくらのクラウドで最小構成のCentOS7.2のサーバを作り、以下の手順にそって証明書の作成、スクリプトの実行をすれば、すぐにsacloud-api-testerを使うことができる。(初回実行時はDockerイメージなどをダウンロードするので、3〜5分ほどかかる) # リポジトリをクローンする git clone https://github.com/BcRikko/sacloud-api-tester.git cd sac

    Vue.js+Vuex、Express4、Dockerなどを使ってさくらのクラウドのAPIクライアントを作った
  • Docker&amp;Ansible - Qiita

    # inventryにコンテナ名を追加 - name: add hostname host: localhost connection: local tasks: add_host: name: {{コンテナ名}} # コンテナにroleを流す - host: {{コンテナ名}} connection: docker gather_facts: no roles: - role1 - role2 ... 雑に書いてますが、こんな感じです。 リモートのコンテナにAnsibleを流す 前提として、リモートのdocker daemonくんがtcpで待ち受けている必要があります。 設定方法は以下が参考になります。 CentOS7にDockerをインストールし、TCP経由でAPIを利用できるようにする 2種類の設定方法が書かれていますが、基的にsystemd準拠である後者がよいです。 (ubunt

    Docker&amp;Ansible - Qiita
  • dockerを触ってみる - See the Elephant

    こちらも合わせてお読みください namu-r21.hatenablog.com namu-r21.hatenablog.com 動機 サークルで環境設定が面倒くさいと言われたので, dockerで提供することにした. infrastructure as codeをやってみたくて勉強中. dockerとは 色々なサイトで説明されているので, 詳細はそちらに譲る. Dockerイメージの理解とコンテナのライフサイクル docker what is docker? (公式) Docker入門 2016年版、Dockerのすべてが5分でわかるまとめ!(コマンド一覧付き) 仮想環境界隈におけるdockerの立ち位置についてはDocker入門がかなりわかりやすかった. dockerの用語解説は2016年版、Dockerのすべてが5分でわかるまとめ!(コマンド一覧付き) が分かりやすい. 僕自身の理解で

    dockerを触ってみる - See the Elephant
  • dockerが使うUnionFileSystemを僕なりに解釈した - See the Elephant

    こちらも合わせてお読みください namu-r21.hatenablog.com dockerのイメージとコンテナについて今一度 昨日書いた記事が運良くはてブに載り, 色々な方に見ていただけた. namu-r21.hatenablog.com そのおかげで, 有用なコメントを頂けた. なんでファイルシステムの話なのにメモリの話とごちゃまぜになってるんだろ。 コンテナを終了したらメモリ上のデータは消えるが差分ファイルシステムの writable に書かれたデータは残る。rm すると消える。 このコメントを理解するために, dockerが利用している UnionFileSystemとCopy on Writeについて調べた. 僕なりの解釈を書いていこうと思う. dockerのファイルシステム dockerでは, Union File Systemを導入している. これは, コピーオンライトで動作

    dockerが使うUnionFileSystemを僕なりに解釈した - See the Elephant
  • AWS CodeBuild をちょっと触ってみた - Diary

    AWS CodeBuild をちょっと触ってみた フルマネージドのビルドサービス という触れ込みで、実際まあその通りなんだけど、これはあくまでもビルドツールであって CI ツールではない。出来ることはビルドだけ。 なので Amazon Travis 的なサービスではない。 AWS CodePipelineLambdaAPI Gateway などと組合せることで一気通貫の CI 環境を構築することはもちろん可能だが、大抵の場合において Travis に金を払ったほうがいいと思う。 Jenkins おじさんならぬ AWS CodePipeline が発生してしまう。 ビルドタスクが大量にあり Travis なり Jenkins なりのレーンが頻繁に逼迫してる会社ならばこれらサービスを使ってやっていくコストをペイできることでしょう。 一方で個人が Github の Private リ

  • 【新機能】AWS X-Rayを試してみた #reinvent | DevelopersIO

    大阪のガノタ市田です。 AWS re:Invent 2016で発表された新サービス「AWS X-Ray」のプレビュー申請が通ったので、早速試してみた内容をレポートしたいと思います。 AWS X-Rayとは AWS X-Rayは簡単にいうとアプリケーションモニタリングのサービスになります。レスポンスタイムやレスポンスステータス等、アプリケーションに対するリクエストに関するデータを収集して表示、フィルタリングを行い、分析することで問題を特定することができます。 AWS X-Ray - AWS Documentation 注意点 AWS X-Rayはまだプレビュー版ですので、今後のリリースにより仕様が変更になる場合があります。 また、プレビューなので利用するには利用申請が必要です。下記のX-Rayのページから利用申請を行いましょう。 https://aws.amazon.com/jp/xray/

    【新機能】AWS X-Rayを試してみた #reinvent | DevelopersIO
  • Amazon AthenaでELBログをSQLで解析する #reinvent | DevelopersIO

    西澤です。目新しさの無いエントリーですが、溜め込んだELBログを解析する必要があったので試してみることにしました。Amazon Athenaは東京リージョンでは使えないので、OregonリージョンのAthenaから、東京リージョンのS3バケットをデータソースとして検証しました。 と言ってもほぼ下記ページにやり方は詳しく載っていますので、公式ページを見ていただく形でも構いません。 Analyzing Data in S3 using Amazon Athena | AWS Big Data Blog Athenaでデータベースを作成する データベースエンジニアで無い担当者からすると、専用のSQLクライアントを用意すること無く、AWS Management Console上で全ての操作が完結するというのは大変嬉しいです。GUIで操作することもできますが、テーブルを作成するデータベースを先に別に

    Amazon AthenaでELBログをSQLで解析する #reinvent | DevelopersIO
  • ES2015で拡張されたObjectの記法と分割代入を活用する - Qiita

    実際に使って勉強しながら、ES5とES2015でどのように書き方が変わるか比較してみました。 今回勉強するにあたって、 lukehoban氏のes6featuresを参考にしています。 以下に非常に簡潔にまとまったサンプルがあるので、興味のある方はこちらもご覧ください。 https://github.com/lukehoban/es6features#enhanced-object-literals https://github.com/lukehoban/es6features#destructuring 文中のコードの動作確認はNode.js 7.2.0で行っています。 拡張されたObjectの記法について ES2015では、Objectの初期化時にこれらの事が出来るようになりました。 メソッド宣言の簡略化 プロパティ名と変数名が一致する時の簡略化 プロパティ名の動的な定義 etc.

    ES2015で拡張されたObjectの記法と分割代入を活用する - Qiita
  • DeNA Engineering - DeNAエンジニアのポータルサイト

    技術を活かし、新しい価値を創造する DeNAのエンジニアは、想像を超えるDelightを届けるために何ができるかを考え、技術力と発想力で新しい価値を生み出しています。 多様な専門性を持ったエンジニアが切磋琢磨し、互いに刺激し合える環境や制度がさらなる成長へとつなげます。

    DeNA Engineering - DeNAエンジニアのポータルサイト
  • Heroku Redis / Heroku Postgres メンテンナンスの仕組み - Qiita

    Herokuで Redis / Postgres を運用していると、定期的にメンテナンスを求められることがあるのでそのあたりのメモ。 メンテナンスの影響について メンテナンスは大抵元と変わりなく動作することが多いが、メンテナンスの前後で以下のような現象が生じることがある。 DB/Redis の接続情報が変わることがある? DBについてはバックアップのスケジューラ設定が飛ぶことがある? まれに…というレベルのものなので、障害なのか、どうなのかわからないが、接続情報に関しては変わった瞬間障害になるレベルなので、しっかり環境変数からパースするようにしておきたい。 スケジューラの設定について Premium以上のプランでは、メンテナンスを指定の曜日・時間で行うよう設定することが可能なので、コレを利用しておくと休日にメンテが走って…といったトラブルを未然に防ぐことが出来る模様。 Heroku Pos

    Heroku Redis / Heroku Postgres メンテンナンスの仕組み - Qiita
  • Redisでデータベースを切り替える方法 | shimar's blog

    Redisはデフォルトで16個のデータベースを持っていて、それぞれ0~15のindexが割り当てられています。クライアント側で参照するデータベースを切り替える方法を調べたので纏めておきます。 使用したRedisのバージョンはv3.2.3です。 -nオプションを指定する方法 redis-cliでredisに接続する際に-nオプションでデータベースのindexを指定することができる。 -nオプションを省略した場合は、0番を参照する。

    Redisでデータベースを切り替える方法 | shimar's blog
  • Heroku Redisについてまとめてみた - Qiita

    はじめに 案件でHeroku Redisを使う事が増えてきたため、確認の意味も込めて情報をまとめてみます。 (Google先生の翻訳能力が大幅アップして、家ドキュメントの情報を読むハードルが下がったのは嬉しい限りです。) Heroku Redisとは Heroku公式のRedisサーバで、アドオンとして追加出来ます。 無料枠から用意されており、以下にプランの一覧が載っています。 Heroku Redis - Add-ons - Heroku Elements また、Private Spacesでの各国のリージョンにも全て対応しています。 ちなみに各アドオンのリージョン対応状況は以下で確認できます。 Add-on Runtime Availability CLIツール HerokuHeroku CLI というツールを入れることで、コマンドラインからHerokuを操作出来るようになります

    Heroku Redisについてまとめてみた - Qiita