タグ

2017年12月11日のブックマーク (14件)

  • Google Homeでやったことまとめ - Qiita

    はじめに この記事は スマートスピーカー Advent Calendar 2017 10日目の記事です。 Google Homeを購入してからこの2ヶ月でやってきたことをまとめたいと思います。 が、ほとんどQiitaへ投稿した記事の紹介になってしまいました。 大体見たことあるという方はこちら以降をどうぞ。 なお記事の後半でコスト計算していますが、記事で紹介した内容は最低6,000円あれば大体実現できます。 ※各所で日までのGoogle Home半額セール前提。まだ購入されてない方はお急ぎを ※ツクモは25日までセール実施のようです 薬の服用ログ Google Home、IFTTT、Googleスプレッドシートを使って独自音声コマンドでログをとる(ついでにNode.jsやngrokやらも使ってLINEGoogle Homeに通知する) Google Homeを買って最初に作ったのがこれ

    Google Homeでやったことまとめ - Qiita
  • Freeモナドで副作用を切り出す - Qiita

    はじめに 関数型プログラミングでは、純粋関数を使ってプログラムを組み立てていくことで様々なメリットを享受できます。例えばFunctional Programming in Scalaには以下のように利点が列挙されています。 Because of their modularity, pure functions are easier to test, reuse, parallelize, generalize, and reason about. しかし今日、ほとんどのアプリケーションでは、DBIOなどの副作用が必須です。そこで関数型プログラミングで副作用を扱うアプローチの一つとして、Freeモナドを紹介します。 モナドが怖いという人もいるかもしれませんが、あまり深く考えずに"Freeモナド"という関数型プログラミングのデザインパターンの一つとして考えると良いと思います。 Freeモナドを

    Freeモナドで副作用を切り出す - Qiita
  • GAE/Go1.8のcontext問題 - Qiita

    import "google.golang.org/appengine" func handler(w http.ResponseWriter, r *http.Request) { ctx := appengine.NewContext(r) } しかしapiバージョンがgo1.8の場合は以下のようなエラーが出ると思います。 appengine: NewContext passed an unknown http.Request これは、Go1.7で標準パッケージにcontextパッケージが追加されたことによる問題です。 解決策 以下のようにContextメソッドを使用することで、リクエストにスコープされたコンテキストを取得することが出来ます。

    GAE/Go1.8のcontext問題 - Qiita
  • Rails Developers Meetup 2017まとめ&感想 #railsdm - algonote

    Rails Developers Meetup 2017 に参加しました。 レールの伸ばし方 Railsでコードが複雑になってきた際のうまい逃がし方集。 MVCを正しく使うにはFat Controllerを避けモデルによせる。ただしPORO=Plain Old Ruby Objectを上手く使うこと。MVCで上手くできない部分ではViewModel, Form Object, Service Objectを使うときれいに書ける。 実際のあるあるについてよくまとまっており、他とイコールの扱いのはずだがキーノートっぽかった。メドピア開発者ブログにもwillnetさんの記事があがっているので合わせて読みたい。 Professional Rails on ECS joker1007.hatenablog.com RailsでECSを使う際の勘所集。 ECSのオススメ構成: stagingとprod

    Rails Developers Meetup 2017まとめ&感想 #railsdm - algonote
  • I/O負荷の正確な状況はiowaitでは分かりません - Qiita

    さくらインターネットのアドベントカレンダー9日目として、サーバ屋らしく、運用に関するコマンドの使い方を紹介します。 サーバの負荷が高まってきたときに、vmstatやtopなどのコマンドで調査する事が出来ますが、I/O負荷をwa(iowait)によって判断する人も多いと思います。 ただ、結論から言うと、iowaitは正確にI/Oの負荷を表しているわけではありません。 これらを、実際に演習をしながら見ていきたいと思います。 iowaitとidle iowaitとはあくまでも、CPUが空いているのにI/Oがボトルネックになっているプロセスを示しているだけで、CPUの利用率が高いときにはI/Oがボトルネックになっていてもiowaitが上がりません。 同様に勘違いされがちなのが、id(idle)はCPUの空きを示しているというものですが、idleは必ずしもCPUの空き時間を示しているものではありませ

    I/O負荷の正確な状況はiowaitでは分かりません - Qiita
  • まだMacで消耗してるの? - Qiita

    この記事はRE:CODEアドベントカレンダーの6日目の記事です。 Rustを業務で1年使ってみてわかったこと <- 前 : 次 -> CPUを複数持つアーキテクチャNUMAとnumactlの説明 普段の開発マシンとしてのLinuxについて紹介します。 あくまでもLinuxカスタムしてみると楽しいよ、っていう記事です。決してアンチMacであったりアンチ某氏といった意図はありません。 で、まだLinuxつかってないの?1 Macユーザーの皆さん、こんにちは。最近はパスワードなしでログインできたり2、ファイル共有出来なくなったり3と、独自規格をひた走るmacOSですが、いかがお過ごしでしょうか。 僕自身もかつてはMacユーザだったので、Macが開発端末として使いやすいことはわかってます。ただ、"Windowsはクソ"だとか"Apple最高"だとかそういった声に惑わされ、Mac以外を開発端末として

    まだMacで消耗してるの? - Qiita
  • システム開発・運用負荷を下げるためのFirebase導入と得たノウハウ - Qiita

    @eaglesakura です。 DroidKaigi 2018の公募で落ちたため、Qiitaに書きます。 ある(私の感覚としては)規模の大きな案件を成功させるにあたり、プロジェクト全体でFirebaseをフル活用する方針をとり、概ね成功したと思われるので、どのようなことを行ったのか後々のために書き残しておきます。 前提 Android / iOS両対応で、コンシューマ向けアプリ開発でのお話です。 Firebase Realtime Databaseの導入理由 アプリ仕様上、サーバー上の マスターデータ を無数のAndroid / iOS端末でリアルタイム同期しなければならないため、必然的にFirebase Realtime Databaseが候補として上がり、それを導入することとしました。 Firebase Realtime Databaseは信頼に値するのか? デモ日にFirebase

    システム開発・運用負荷を下げるためのFirebase導入と得たノウハウ - Qiita
  • React Native の画面遷移・管理をオープンソースのアプリを見ながら学ぶ - Qiita

    シンプルなスワイプの遷移 git-point で使われていた、スワイプの遷移。 git-point/blob/master/src/auth/screens/login.screen.js に全体の実装があります。react-native-swiper というスワイプのライブラリを利用しているようです。 使い方だけもとてもシンプル。 Swiper で View を囲うだけ。(ライブラリ家の方のサンプルです) import Swiper from 'react-native-swiper'; import { Text, View } from 'react-native'; ... return ( <Swiper showsButtons={false} dotColor="#FFFFFF55" activeDotColor="#FFFFFFFF" > <View> <Text>Hel

    React Native の画面遷移・管理をオープンソースのアプリを見ながら学ぶ - Qiita
  • 設定ファイルとしての main.go — KaoriYa

    「設定ファイルとしての main.go」というポリシーを解説し、 そのポリシーを適用した自作のツールカタログ koron/gtc の事例を紹介します。 この記事は Go Advent Calendar 2017 (その1) 10日めの参加記事です。 なお Go Advent Calendar 2017 はその4まであります。 設定ファイルとしての main.go golang を書かれる皆さんは、 golang でツールを書いた際にその設定ファイルはどうしているでしょうか? オーソドックスに JSON でしょうか? 可読性高く YAML? はたまた TOML でしょうか。 この記事では「設定ファイルとしての main.go」というポリシーを紹介します。 英語で書くと main.go as a configuration ですかね。 なので以下では仮に MaaC と表記します。 このポリシー

  • GoでHTTPクライアントを書く時のURLの組み立て方 - Qiita

    この記事は、Go2 Advent Calendar 2017 の10日目の記事です。 外部API用のHTTPクライアント/HTTPリクエストを書いていて、URLの組み立て方で気付いた細かいこと。 サンプル yyoshiki41/go-instagram-profile 題の前に instagram には、 https://www.instagram.com/natgeo/?__a=1 のようにユーザーのプロフィール情報が jsonで返ってくるエンドポイントがあります。 # example $ curl "https://www.instagram.com/natgeo/?__a=1" | jq .user.biography "Experience the world through the eyes of National Geographic photographers."

    GoでHTTPクライアントを書く時のURLの組み立て方 - Qiita
  • Elasticsearchのインデックス開きすぎによるヒープメモリ枯渇 - n-agetsumaの日記

    この記事はElastic stack Advent Calendar 2017の12/6分の記事です。 ElasticスタックによるApacheアクセスログやsar情報などのメトリクス収集を初めて導入した後の頻出トラブルとして、インデックスのオープンしすぎによるJavaヒープメモリ枯渇がある。 検索エンジン用途や、運用監視業務に組み込むような「気の」運用では、事前にサイジングが行われる。しかし、まずはシステム状況が可視化できるかお試しで導入を始めると、とりあえず運用を始め、インデックスのクローズや削除、スナップショットの定期取得などの運用管理計画はどうしても漏れがちとなる。 では、具体的にElasticsearchはだいたい何ヶ月分のメトリクスが保存できるのが次の疑問になるが、以下のような多様な要素が作用するため、要件に合わせて実機検証が必要となる。 登録するメトリクスの種類 Apach

    Elasticsearchのインデックス開きすぎによるヒープメモリ枯渇 - n-agetsumaの日記
  • RSpecしぐさ

    PyConJP 2021 2021/10/15 位置データもPythonで!!!発表資料 合同会社長目 小川 英幸 github: https://github.com/mazarimono/pyconjp2021

    RSpecしぐさ
  • Haskellのパーサライブラリまとめ - Qiita

    パーサライブラリの現状 Haskellではパーサライブラリは様々なところで使用されています.例えば,Haskellでのデファクト的なJSONパーサライブラリaesonは,JSONデータのパースにattoparsecというライブラリを使用しています.GHCはHaskellプログラムのパースにalex/happyというレクサーとパーサを利用しています.HTTPライブラリでは,parsecを軽量パーサとして使っています.このライブラリでは,WWW-AuthenticateヘッダやSet-Cookieヘッダの内容をparsecでパースしています. このようにパーサライブラリは非常に需要が高く(文字列をパースするというのは,日常的に出くわす状況ですからね),Haskellでは様々なパーサライブラリが存在します.この記事ではそれらのパーサライブラリの簡単なまとめ と比較 を行います. さて多くの数があ

    Haskellのパーサライブラリまとめ - Qiita
  • Go で書かれた API Gateway "KrakenD" - tchsskのブログ

    これは Go3 Advent Calendar 2017 の 10 日目の記事です。 小さな役割を持つサービス群でアプリケーションを構成する、いわゆる Microservices が流行して久しいですね。サービスが細かく分割されるとき、それらを取りまとめるサービスが必要になることがあります。一般に API GatewayAPI Aggregator と呼ばれるものです。 そんな API Gateway のひとつに Go で書かれた KrakenD というものがあります。 KrakenD - Open source API Gateway 今回はこれを試してみます。 仕様 複数のバックエンド API を集約 (aggregate) する動きを見るため、以下のような仕様でサービスを構築してみます。 バックエンドに GitHub と Qiita の Web API を使用する Kraken

    Go で書かれた API Gateway "KrakenD" - tchsskのブログ