Kesinの知見置き場

知見を共有していきたいじゃないですか

VSCode Remote Containersに自分のdotfilesを持ち込む

VSCodeのRemote Containers機能を使う際に自分のdotfilesを持ち込み、コンテナにも自分のターミナル環境を持ち込む方法の解説です

継続的デリバリーを2020年に読了した感想

CI

業務で大規模なCI/CDパイプラインを構築することになったので、良書という話をよく耳にしていた継続的デリバリーを購入して読了しました。 普段は書籍を読んでもメモを残すことまではほとんどしないのですが、この本はかつて無いほど得るものが多かったので…

v7をリリースしたので改めてfirestore-simpleを紹介します

以前から作り続けている、Firestoreを使いやすくするためのラッパーであるfirestore-simpleがv7になりました 🎉 (v6は事実上の欠番扱い)

CircleCI Orbsの美味しいところだけを使おう 〜例えばrestore_cacheを撲滅する〜

CircleCI 2.1になってOrbsという新機能が登場しましたが、みなさん活用しているでしょうか? 先駆者の方々がOrbsについてのブログを早速書いてくれていますが、その多くは自分でOrbsを作る記事でした。 Orbsは自分で作成するだけでなく、CircleCI公式や誰か…

Firestoreをもっと手軽に使えるfirestore-simpleがバージョン2になりました

追記: v4についてのエントリはこちら この記事はFirebase Advent Calendar 2018 3日目の記事です 今年の6月にfirestore-simpleというjsからFirestoreを使うときに使いやすくするモジュールをリリースしていました。 Firestoreをもっと手軽に使えるfirestore-…

FirebaseのCloud Functionでpuppeteerを動かす解説

先日、GAEとCloud Functionsでpuppeteerを動かすコードを紹介しているエントリが公開されました。 cloud.google.com puppeteer、というかChromeを動かすためには実は様々な依存ライブラリをインストールする必要があるのですが、Cloud Functionでは環境その…

BigQueryでinsert or updateを実現する

GCP

BigQueryにデータをインポートする基本的な手段はloadでCSVやJSONのデータからテーブルを作成したり、既存のテーブルへの追記です。 ただ、今回は要件的にRDBでいうところのinsert or update(またはupsertとも呼ばれる)を行いたかったので、BigQueryで可能…

Firestoreをもっと手軽に使えるfirestore-simpleを作った

Firebaseの新しいDBであるFirestoreは使っているでしょうか? 今まではどうしてもサーバー側の実装が必要だったDBへのデータの格納がクライアントだけで済むようになったので圧倒的に便利ですね。 そんなわけで自分もjsからFirestoreを使う機会が増えてきた…

USB接続したiOSのudidをCLIから取得する方法あれこれ

iOS開発をしていると、ちょっとしたことを自動化したいということがたまにある。 今回は、開発用のMacに接続しているiOS実機のudid(とついでにnameも)をrubyから扱いたくなったので、CLIから情報を取得する方法を調べたのでまとめてみた。 3種類の方法を紹…

SRE-SET Automation Night #2にお邪魔してきました

2018/03/06に開催されたSRE-SET Automation Night #2へブログ枠として参加させて頂きました。 SRE-SET Automation NightはCIやテスト、Seleniumなどを使った自動化についてが主なテーマの勉強会です。 第1回目のときにも参加させて頂いたので、今回は2回目の…

textlintの結果をプルリクにコメントしてもらう(danger-textlintの紹介)

CI

danger-textlintというdangerのプラグインを公開しました!今回はその紹介エントリです。 RubyGems: https://rubygems.org/gems/danger-textlint Github: https://github.com/Kesin11/danger-textlint dangerについて そもそもdanger自体の知名度がまだまだ…

DroidKaigi 2018最高でした!!

スタッフの皆様や登壇された皆様お疲れ様でした!! ここ最近参加したカンファレンスの中では最高に楽しかったので珍しく感想エントリを書いてみました。 会場・スポンサーブースの様子 自分ではほとんど写真を撮っていなかったので雰囲気はこちらからどうぞ…

Jenkins2のPipeline入門のメモ

CI

Jenkins2のPipelineに入門した際にメモした内容をせっかくなので公開しておきます。 基本 step, node, stage パイプラインのチュートリアルでいきなり図と共に登場するので最初はどう違うのか分かりにくいが、Jenkinsのビルドの流れにそれぞれ対応しているの…

ベターVimとしてAtomを使う

この記事はATOM-editor Advent Carendar 2015の15日目の記事です。 atomをVim化するパッケージ、有名なVimプラグインのAtom版などを紹介していきます

Python3.5の型ヒントをとりあえず試す

Python3.5がリリースされましたね。 Python書くのはほぼ1年ぶりでしたが、噂の型ヒントがついに3.5で導入されたようなので早速試してみました。 型ヒントについてこちらに素晴らしいPEPの翻訳記事があり、見て頂けると分かりますがPython3.5単独ではまだ型チ…

herokuにデプロイするときでもgruntしたい!(+rubyサーバー)

JSの勉強のためにタイトルのような構成のwebアプリをherokuにデプロイしようとしたところ、主にjsのライブラリ管理やcoffeeのコンパイルなどで苦労したのでメモ。 rubyだとjs周りも面倒見てくれるRails関係のgemが色々あるみたいですが、jsは独立して管理し…

今年の自分のvimrcを振り返る(2014)

長らくブログを放置していて、気がつけばAdventCalendarの季節も通りすぎて2015年になってしまいました。 去年は自分にとってVimの進歩があった年だったので、git log .vimrcの中からTOP10をまとめてみました。 2014年時点での.vimrc 1位 実践Vim 実践Vim 思…

PyConJP 2014に参加してきました

今年も9/13,14に行われたPyConJP 2014に参加してきました!去年に引き続き、2回目の参加です。 今年の会場は去年に比べて交通は少し不便になってしまいましたが(特に東京テレポート駅からは遠い)、会場の中はホールや教室とドリンクバーが離れておらず、良…

VimでのCartonを使ったPerlの開発

最近Perlを書くことになりましたKesinです。Pythonが懐かしいです。 言語が変わっても相変わらずVimを愛用していて、文法チェックができるsyntastic *1と、Vimで書いているスクリプトをすぐに実行できるvim-quickrunには相変わらずお世話になっています。 Pe…

Vimとctagsでコードリーディング

というタイトルで会社の同期内でのLTで発表しました。 知ってる人からすれば当たり前のように使ってると思いますが、IDEからエディタへの移行組で知らなかった人は感動する内容だったかもしれません(自分が昔そうでした)。 Vimとctagsでコードリーデ…

研究のプログラミングにおける悲劇を無くすためのGitとテスト

大学の研究に役に立った物シリーズ第3弾です 今回は研究のためのプログラミングのノウハウについてです。 特に、研究におけるプログラミングでの悲劇を防ぐために自分が実践していた方法を紹介をしたいと思います。大学や研究室によっては、このような研究の…

大学の研究で役に立ったもの(勉強編)

大学の研究に役に立ったものシリーズ第2弾です。 今回は、研究に関係する技術の勉強に役に立ったものを紹介したいと思います。 ちなみに、自分の研究は情報系で、研究室のテーマは自然言語処理、音声言語処理、機械学習関係でした。 あくまで自分には役に立…

大学の研究で役に立ったもの(サービス編)

数年間大学で学生として研究生活をしていましたが、今年の3月をもって無事に大学院を卒業できそうです。 そんなわけで過去を振り返るのと、これから大学で研究生活が始まる人に向けて、自分が大学で研究をする上で色々便利だったアレコレを数回に分けて紹介…

PythonでMongoDBを使うunittestのひな形

タイトルのとおりですが、ケースとしてはFlaskみたいな軽いフレームワークでMongoDBをデータベースに使うModelを自分で実装するような場合です。 実際にデータベースを動かすModelのテストを書くときに、FlaskはフルスタックのDjangoと違って何も面倒を見て…

Webアプリに高機能な音声認識を追加するWeb Speech API

Microphone' by Juan_Alvaro, http://www.flickr.com/photos/31590610@N03/5408706936/ CC by 2.0 最近、にわかに音声認識というものが盛り上がっています。 スマートフォンに搭載されている、AppleのSiri、NTTドコモのしゃべってコンシェル、Googleの音声検…

テキストセグメンテーションの研究紹介

自分の研究に間接的に使うことになって、最近勉強したのでメモ テキストセグメンテーションとは? 自然言語処理の一種で、ブログなどの色々なトピックがごちゃまぜに書かれている非構造な文書を、ニュースのようにトピックごとに分割する手法です。 例 こん…

結局Pythonはvirtualenvで管理してみることにした

念願の新しいMacBookAirを手に入れまして、開発に使用するPythonはOSデフォルトとは別に用意したいよねー。さらに言うと、ついにPython2.x系が2.7で開発ストップすることが確定したので、いつでもPython3.x系に移れるようにしたいし、できれば一部でアツいPy…

Pythonらしいコードの書き方

はてなブログに移行して最初の記事はやはりPythonネタにしました。 はてなブログいいですね。デザインの編集がやりやすくなったのと、Markdownで書けるのが素晴らしいです。 PyCon 2013の動画を見ていたら、素晴らしい"Transforming Code into Beautiful, Id…

HerokuのMongoDBにローカルのDBの内容をアップロードする

実は前回紹介した LocationTweetは最近流行りのHerokuで公開しているのですが、データベースで位置情報を簡単に扱うためにHeroku標準のPostgreSQLではなく、MongoHQというアドオンでMongoDBを使用しています。 MongoHQにローカルのデータをアップロードする…

LocationTweet 気になる場所の今のつぶやきを見る

気になる場所の今のつぶやきを見ることができるLocationTweetというWebアプリを公開しました! LocationTweet 地図に表示されたピンをタップするとその場所のつぶやきを見ることができます。 学校、駅、観光地など気になる場所について他の人が今どのような…