読者です 読者をやめる 読者になる 読者になる

classをcase classに変換するscala.metaなライブラリ

練習を兼ねて、scala.metaを使って普通のclassをcase classに進化させるライブラリを作った。 case classにすると自動で生成される以下のメソッド群をscalametaで模倣している。 toString copy equals apply unapply hashCodeはめんどくさいのでスキップ…。 …

ScalaMatsuri2017に参加してきた

2017/02/25-26で開催されたScalaMatsuri2017に参加してきました。 2017.scalamatsuri.org petitviolet.hatenablog.com CFPに出したら通って400人の会場で話すことになって、この一ヶ月くらいずっとどきどきしてた。 発表資料はこちら。 speakerdeck.com なん…

Vimperatorでページのurl/titleをMarkdown的にcopyするプラグイン作った

久々に検索ショートカット以外のプラグイン。 github.com できること とはいっても出来ることはめっちゃ少なくて、vimperatorでyankmarkdown|ymdコマンドを実行すると、 [petitviolet_blog](http://petitviolet.hatenablog.com/) みたいにmarkdown形式でurl…

ScalaMatsuri2017に登壇します

2017.scalamatsuri.org 400人入る最大の会場で話すことになったようでめっちゃ緊張する。 がんばります。

Roppongi.aar #3を開催しました!

Androidの六本木勉強会コミュニティであるRoppongi.aarの第三回を2016/07/14(木)にメルカリさんのオフィスで開催しました! イベントページはこちら roppongi-aar.connpass.com 当日は非常に天気も悪かったため、残念ながら人数がやや少なくなってしまいまし…

adtech x scala meetupでNashornのLTしてきた

表題の通り、2016/05/16に行われたadtech x scala meetupでLTしてきました。 発表資料は以下 立食の懇親会で飲みながらだったので反応はよく分からなかったけれど喋れたので良し。 サンプルコードはgistに貼ってあります。

NginxとLet'sEncryptを使ってCentOS7でhttps&http2対応する

ずっとやりたかったやつをやったのでメモ 借りてるVPSにdocker入れようと思ったらのCentOS6だとダメだったから7入れようとして失敗してる— こむ (@petitviolet) 2016年4月17日 CentOS6から7にOSアップデートしたので、この機会を活かしてやりたかったhttp2対…

新卒としてエンジニアになって1年が経った

krrrr.hatenablog.com このエントリ読んだ感化されたので自分も雑に振り返って書いてみる。 仕事は大きく分けて前半Android、後半Scalaという感じだった。 Android 多少はエンジニアリングの知識があったこともあり、エンジニアとしての研修はだいたいスキッ…

hubotの画像検索とそれにまつわるGoogleのUIについて

hubotの画像検索が死んでたので、以下のページを参考に直した hubot-google-image で Google Custom Search API を利用する設定 - Qiita その作業途中でGoogleカスタム検索の設定で画像検索をONにしなければならないとあったので以下のようにトグルボタンを…

Roppongi.aar#2を開催しました #roppongi_aar

第二回Roppongi.aarを開催しました!!! roppongi-aar.connpass.com 今回は株式会社メルカリ様での開催となりました。 まさか勉強会の飲み物としてクラフトビールが出るという豪勢な会となり、盛り上がって非常に良かったです。ありがとうございました! 今…

Roppongi.aar #1を開催しました! #roppongi_aar

第一回Roppongi.aarを開催しました。 roppongi-aar.connpass.com 会場は弊社オフィスで#sushiを出してギロッポン感を出した(?)勉強会となりました。 主催は私と、@tomoaki_imaiさんと@hydrakecatさんです。 ちなみにロゴはシャンパンでギロッポン感出したDro…

最近の活動

最近の活動状況について potatotips #21と(だいたい)新卒エンジニア向け技術交流会で発表した 両方とも触ってみた的な話なので深い内容ではない もっと濃い内容で話せるようにならないとな... potatotips #21 発表資料はこちら ちなみに大体Qiitaにも書いた …

振ると進むViewPagerのライブラリ作った

小さいライブラリを作ってリリースしたのでブログ書く スワイプしなくても端末を振ると進むViewPager petitviolet/shakable-viewpager スクリーンショット撮れないから振ってる様子を動画に撮るしか無くてめんどくさかった こんなの リリース作業 Maven Cent…

YAPC::Asia Tokyo2015 #yapcasia に参加した

YAPC::Asia Tokyo 2015yapcasia.org 仕事の都合で二日目だけの参加となった 最後のYAPCに参加出来て良かった ありがとうございました ブログ書くまでがYAPC!!!— Daisuke Maki (@lestrrat) 2015, 8月 22twitter.com とのことなのでブログ書く ビッグサイト…

勉強したかったことを盛り込んでアプリ作った

AndroidでHackerNewsリーダー作った 作ったもの HNReader - Google Play の Android アプリ Google Playで"Hacker News"と検索すると似たようなのがたくさん出てくる 何個か試してあんまりしっくりこないし自分で作りたいな、と思っていた それに加えていろ…

メルカリのDrink Meetup#10に参加してきた

Drink Meetup with Mercari #10 - connpass これに参加してきた メルカリのスマホエンジニアがAndroidとiOS開発についてざっくりLTして、後は歓談という感じだった すごい手料理で良いビールだった 普通に酒飲んで食べつつスマホ開発のこと話したりしてた 決…

DroidKaigiに参加してきた

2015/4/25に開催されたエンジニアが運営するAndroidカンファレンスであるDroidKaigi | 2015/04/25に参加してきた DroidKaigi | 2015/04/25droidkaigi.github.io 8分で埋まった先着200人枠に滑り込めたのは幸運だった 東京に来て初の外部勉強会/カンファレン…

ペルー・ボリビア旅行記

卒業旅行ということで男2人で南米のペルー・ボリビア行ってきた 目的はナスカの地上絵とマチュピチュとウユニ塩湖 初日、2日目 成田空港発でロサンゼルス経由、ペルーのリマ着 ホテルに着いたのは27時 くっそ疲れた 3日目 集合は朝5時だったので、ホテル滞在…

修士論文終わった

ひとまず不合格にはならなかったので、特に何かやらかさなければ修了して学生生活が終わるはず 英語で50ページほど書く自分が全く想像できていなかったが、意外となんとかなった 日本語で書いてから英訳するってプロセスにしたけど、とにかく英訳するだけな…

CNN StudentNewsのTranscriptを見やすくする

CNN Student News - Archive - CNN.comを英語の学習に使っている人は多いはず でも、Transcriptが見にくいと思った 個人的に ピリオドのあとに改行があると読みやすい セリフなのか話者を表しているのかを区別して欲しい 行間は広すぎない方が好き というニ…

郵便番号で住所検索するAPI

作ったもの 郵便番号から住所を検索するAPI 使ったものはPythonとFlaskとSQLAlchemy(MySQL) デモ githubにも貼ってあるが、こちらにも リポジトリ petitviolet/ZipToAddress 作った動機 郵便番号から住所検索するサービスを自前で動かすことがあるんじゃない…

WebページのMaterialDesign化

Web

@totu_iy pureとbootstrapしか使ったことないねんな…。次なんか使うならAndroidのMaterialDesignみたいなbootstrap使ってみたい https://t.co/GuNFCIefV3— こむ (@petitviolet) December 22, 2014 ということでMaterial Design for Bootstrapを使ってみよう…

2014年に食べたシリアル

2014年、朝ごはんの主役はシリアルだった シリアルといっても、 シリアル食品 - Wikipedia のようにたくさんの種類があるが、主にグラノーラを食べた 記憶に残っているのを挙げる フルグラ カルビー フルグラ 800g出版社/メーカー: カルビーメディア: 食品&…

寄付したいインターネット3選

2014年ももうすぐ終わりというところになって、毎年恒例の今年買ってよかったものをまとめる記事がいくつか出てきています 2014 買ってよかったもの - Google 検索 お金を出してモノを買うのもいいですが、いつも無料でお世話になっているインターネットにも…

BIG当たった

570円ってまじかよ

Android端末からadb経由でスクリーンショットを撮るシェルスクリプト書いた

作ったもの タイトルの通り Android端末でスクリーンショット撮ってからそのファイルをPCに持ってきたい、って場面が多かったので必要に迫られて作った といってもコマンドラインからAndroidのスクリーンショットをPCデスクトップに取得する方法にオプション…

Nifty Cloud Mobile BackendをPythonから使う

Nifty Cloud Mobile Backend Niftyが提供するmbaas(Mobile Backend as a Service)へのリクエストを行うPythonモジュールを作成しました pypi/py_nifty_cloud pypiに登録したので、 pip install py_nifty_cloud でinstall出来ます Githubにもpetitviolet/py_n…

Git入門&Githubとは

黒い画面入門に続けて、GitとGithubについて勉強会で話しました。 Git_for_beginner from petit violet 対象 プログラム初心者 ターミナルとか何となく使える人 チーム開発に興味ある人 内容 Gitとは Gitの良いところ 分散型バージョン管理システム Gitの基…

黒い画面入門

タイトルの内容について勉強会で話しました。 黒い画面入門 from Kom hiro 対象 プログラム初心者 「端末」とか「ターミナル」とか「黒い画面」の存在を知っている人 コマンドよく分からない人 内容 ターミナルの使い方 基本的な用語の説明 基本的なコマンド…

AndroidとMacのiTunesを同期した

やったこと タイトルの通り AndroidのSDカードを容量の大きなものにしたので、MacのiTunesで管理してる曲をAndroidに移した 使ったアプリ iSyncr iSyncrはLite版もあるっぽいけど、多少制限があったため、課金*した *正しくは購入 http://rebuild.fm/54/ や…

git addするファイルをpecoで選択できるようにした

みんな大好きpecoを使って、git add出来るようにした 作ったもの 深いディレクトリにあるファイルが複数ある時、zshのtab補完でやるのも面倒だったので、peco使ってやりたいな〜と思ったからzsh関数書いた コード 複数選択に対応した 上のgifのように複数選…

はてブを検索するVimperatorプラグインを作った

Vimperatorとは 知る人ぞ知る、Firefoxをvimのように操作できる夢の様なアドオンです Vimperatorのプラグイン vimのようにプラグインを作ることが出来る なお、JavaScriptで書くことが出来るので、わりと自由に作ることが出来そう ~/.vimperator/plugin/にお…

ウェアラブルデバイス

最近、なぜかガジェットとかウェアラブルデバイスとか、ちょっとするけど手の届くものへの欲求が強いです。 fitbit one 今年の頭にはfitbit oneを買って使っていました。【日本正規代理店品】Fitbit One Black ブラック FB103BK-JP出版社/メーカー: Fitbit発…

就活とかLiTとか

あんまり出来てないですが、技術的な方はQiitaに投稿して、所感とか、日記はここに書こうかなと何となく思ったので、まずは最近の日記を。 就職活動 夏のインターンは NTTデータ ウェディングパーク Yahoo!JAPAN サイバーエージェント の4つに参加し、冬は C…

SQLアンチパターンのメモ1

第Ⅰ部データベース論理設計のアンチパターンのメモ ジェイウォーク リストをカンマ区切りの文字列としてDBに格納すること 属性が複数の値を取る場合のデータの扱い方 交差テーブルを作成する 非正規形のテーブルは扱いにくいので、多対多の関係が生じるなら…

ajaxからpythonを使ってsvn updateする方法

apacheの文字コードをいじる 叩かれるPythonは以下のファイルです。 #!/usr/local/bin/python # -*- encoding:utf-8 -*- ''' chdirしてsvn updateしてくる ajaxで叩かれる ''' import os import commands import commit_log_viewer as c # このpythonファイ…

sqlalchemyでcreate tableする

以前の記事でdeclarative_baseを使ってテーブルの定義をしてマッピングするとき、 command.sqlでcreate tableをしたが、pythonからcreate tableも出来たのでメモ。 # 今回必要な分だけimport from sqlalchemy import Column, Integer, create_engine, MetaDa…

Nagiosでpnp4nagiosを使ってグラフを見れるようにした

Nagiosでグラフを見れるようにしたので、その作業ログを残す。 インストール等 pnp4nagiosのダウンロードリンクはこちらで確認して下さい # tmpディレクトリで作業 cd ~/tmp sudo yum -y install rrdtool rrdtool-perl perl-Time-HiRes php-gd wget http://d…

FlaskとSQLAlchemyを使っててMySQL server has gone awayってなる

flaskとsqlalchemyでapiを実装し、そのapiに対して一度リクエストしてからmysqlのwaittime_outが過ぎると OperationalError: (OperationalError) (2006, 'MySQL server has gone away') というエラーが出てしまい、うまく通信が出来なかった。 ちなみに、and…

TextViewにurlを埋め込んで、タップでWebViewを開く

TextViewに対して動的にurlを埋め込み、それを開く。 ブラウザ アプリ内のWebView のそれぞれでの開きかた ブラウザを開く場合 TextViewにリンクを埋め込んだテキストを入れて、それをタップした時に、ブラウザを起動してそのリンク先を開くようにする // Sa…

geoalchemyで位置情報をpythonから扱う

sqlalchemyでMySQLを使うで説明したsqlalchemyでは、ここで説明したMySQLの位置情報を利用できない。 そこで、geoalchemyを使う。 インストール sudo pip install geoalchemy以上。 マッピング sqlalchemyではMySQLテーブルとマッピングするためのクラスを定…

Xperia Z1で開発者オプションを出す方法

タイトルそのままです デフォルトではXperia Z1(au)には開発者オプションがありません。 そこで、 「設定」→ 「端末情報」の「ビルド番号」を連打すれば...なんと! ちなみに「Androidバージョン」を連打すると...

sqlalchemyでMySQLを使う

前回はMySQLdbを使ってMySQLを利用しましたが、今回はsqlalchemyを使ってみます。 また、位置情報を利用するため、sqlalchemyだけでなく、geoalchemyを利用します。 geoalchemyについてはまた後日書きます。 準備 インストールはpipとかeasy_installとかで簡…

緯度経度の地図情報をMySQLとPythonのMySQLdbを使って扱う

地図情報(緯度経度)をMySQLで扱う。 MySQLはPythonからMySQLdbを使って扱う。 緯度はlatitude、経度はlongitude テーブル定義 これはpython関係ないsql文です。 create database geosample; use geosample; create table place ( id int auto_increment, n…

unique制約があるときのinsert

unique制約がついているテーブルに重複するデータをinsertしようとするとDuplicateエラーが発生します。 そこで以下の3通りのsqlが使える。 replaceを使う replace into ~ これはinsertをreplaceに置き換えるだけ。 重複するデータが無ければinsertを実行し…

watchコマンドでスクリプトの自動実行

一定時間ごとに特定のスクリプトを実行したい、けど権限がなくてcronに登録できない><っていう時に watch -n 時間(s) (-d or -dc) "コマンド"ってすれば設定した時間ごとにコマンドを実行してくれます。 結果も標準出力できるので見やすくていいですね。 …

vimのpython拡張コンパイル、インストール

vim

Vimを+pythonにしてコンパイル、インストールする手順メモ pythonはpythonインターフェースとも言うとか 状況 vimで :py print(sys.version) すると2.4.3とか出てきて、vimが/usr/bin/pythonを使用していることがわかった。 でも、新しい/usr/local/bin/pyth…

iOSでSQLiteを使う

iOS

iPhoneアプリを作るときにSQLiteを使うことになり、FMDBというのが便利らしかったので利用してみました。 FMDBを組み込む FMDBからプロジェクトを落とす srcファイル内のfmdb.m以外をプロジェクトに入れる XcodeからFMDBを参照する ざっくりですが、これでい…

RailsアプリをさくらVPS上のpassengerを使って本番環境で動かす(2)

状況 さくらVPS上のapacheで独自ドメイン(http://example.com)のWebサイトを運営しており、その下にぶら下げる形で(http://example.com/hogerails)Railsアプリを動かしたい。 Railsアプリはローカルで作成し、rails serverでは起動する状態。 やったこと Rub…

RailsアプリをさくらVPS上のpassengerを使って本番環境で動かす(1)

状況 さくらVPS上のapacheで独自ドメイン(http://example.com)のWebサイトを運営しており、その下にぶら下げる形で(http://example.com/hogerails)Railsアプリを動かしたい。 Railsアプリはローカルで作成し、rails serverでは起動する状態。 やったこと Rub…