Kesinの知見置き場

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

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 地図に表示されたピンをタップするとその場所のつぶやきを見ることができます。 学校、駅、観光地など気になる場所について他の人が今どのような…

Wikipediaから位置情報のデータベースを作る

Wikipediaの記事から位置情報をマイニングするスクリプトをPythonで作りました! Wikipediaの建物や場所の記事のタイトル右端にある位置情報と情報ボックス内の位置情報から抽出しています。Wikipediaは日々更新されているので、2012年にオープンしたばかり…

MapKitでピンに合わせて地図の表示領域を自動調節する

iOS

前回の記事の続きです 執筆時ではXcode4.4.1でARCを使うコードとなっています。Objective-CやXcodeの進化は速いのでこのバージョンより新しい(古い)Xcodeではこの記事の通りにやっても動かない可能性があります。ご注意ください。 ピンが全て表示されるよう…

MapKitでのピンの追加・削除、直線の描画

iOS

iOSアプリの入門書などでMapKitを使って地図を表示する方法は広く紹介されていますが、地図にピンを追加したり、削除したりする方法があまり載っていなかったので紹介したいと思います。 執筆時ではXcode4.4.1でARCを使うコードとなっています。Objective-C…

iOSアプリでアドレスブックを利用する

iOS

以前参加したインターンシップでiPhoneのアドレスブックからメールアドレスを選択してメールを送るという機能を実装したのですが、アドレスブックにアクセスする方法の情報が書籍にもネットにも意外に少なかったので紹介したいと思います。 執筆時ではXcode4…

Foursquare APIでVenueの写真を取得する

以前参加したインターンシップでFoursquare APIを使用してチェックイン場所の写真を取得しようとしたところ、APIが新しくなったらしくて予想外に苦労したのでやり方を紹介します。 位置情報系のアプリを作ろうとしたときに地図に付けたピンだけではちょっと…

StoryboardとSegueの基本

iOS

Xcode4.2からStoryboardという画面(ビュー)のレイアウトと別の画面への遷移をコードを書かずにグラフィカルに作成することができる機能が追加されました。自分はXcode4.4からiPhoneアプリの開発を始めたので、昔はどのように画面のレイアウトや遷移を設定…