the industrial

都内で働くITエンジニアの日記

program

railsのransackでハマった話

ソースはすべて雰囲気(動作確認してないっす)。 今日ハマってた所。 例えば、 parents TBL と childes TBL があったとして、 CREATE TABLE `parents` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) EN…

git ftp

割りと頻繁にFTPすることがあり、流石に無料のCyberDuckでは辛くなってきたので、思い切ってYammy FTP Proの購入を検討。 基本的なFTP機能はもちろん、アップロードの速度は早いし、何よりサーバー上のファイルを直接編集できちゃうのも良い。 1ヶ月の試用…

XAMPPのvhosts設定方法

自分のメモ以外の何モノでもないです。 今お手伝いしているサイトの更新作業。(よく言うと)オーソドックスなスタイルで更新しており、HTMLファイルを設定するんですな。 PHPでできているので、ローカルでの更新内容確認はXAMPPを利用している。 XAMPPをイ…

Realm Browserで、ローカルのRealmDBを読み取る方法

今個人的に作っているiOSアプリでは、ローカルのDBにRealmを使おうと思っている。 そんな中、Realm BrowserというDBクライアントが良さそうだったので使おうと思ったのだけど、iOS Simulatorに保存されたDBファイル(.realmファイル)がどこにあるかわからな…

英語が話せないクソエンジニア(僕)が、なんとかAWSのロックされた2段階認証を解除して貰った話

タイトル通りなのだけど、この歳になって英語で電話したのが初体験だったので、記念パピコ。 セキュリティを考慮して、AWSコンソールにはGoogle Authenticatorを使って2段階認証をかけていたんですわ。 先日、‪iPhoneを7に変えたら、いつの間にかそのAWSの2…

iPhone/iPad アプリ開発逆引き大全 500の極意

久しぶりに技術書買った気がする。 ちょっとiOSアプリ開発の話があって、僕としては、iOSアプリ開発はど素人なので、どうせなら技術書買おうと。 基本的にやりたい事(要件)を実現するための方法は全て載ってるので助かってる気がする。 なんだけど、誤字脱…

2年間働いたビズリーチを、本日、卒業させていただきました。

2年間働いたビズリーチを、本日、卒業させていただきました。 元々、Scalaをやりたいというワガママで入社させていただいたのですが、Scalaの実務経験がない僕でも暖かく迎えてくださり、そしてやりたかったScalaの仕事(サーバーサイド)に限らず、フロント…

Scalaで、Javaのメソッドを関数オブジェクトにする方法

まあ、当たり前かもしれないのだけど、「あ、できるんだー」という気づきがあったのでメモ Javaのメソッドに対してもアンスコで関数オブジェクトにできる(カリー化するときにも使う方法) val driver = new ChromeDriver() val fByName = driver.findElemen…

ハッカーと画家

Yahoo!Storeを作った、Lisp界の貴公子ポール・グレアムさんが書いた、真のハッカーとはといったエッセイ集。 話題なのと、会社のイケメンワカモノエンジニアくんが貸してくださったので読んだ。 結構長いのだけど、ポールさんが如何に先見の明を持っていたの…

その2 ファイル分割してみる - golang製Web Framework 「echo」事始め

続き 前回の予告どおり、echoのサンプルプロジェクトのcrudモジュールについて、ソースファイルの分割をしてみる。 なお、普段からgolangを書いている人にとってはつまらない内容かもしれない。 けれども、なかなかどうしてimport何かではまったりして楽しか…

golang製Web Framework 「echo」事始め

はじめに なんだか今日は早く目が覚めてしまったので、久しぶりの朝活。 golang 最近 golang が気になり過ぎているのと、Webアプリ作るフレームワークも出てきている様なので、Java、Scalaときて、第三の言語として扱えたらいいなーなんて思い、今年は真面目…

Supersetを試してみる

Supersetとは Superset 宿泊施設マッチングサイトAirBnB(エアビーアンドビー)が提供する、データ可視化ツール Supersetをインストールし、DBとつなぎ、Queryを書き、ヴィジュアライズしてダッシュボードを構築することで マーケティングなどに役立てること…

Team Geek

会社のパイセンから借りた、グーグラーによるチームビルディングのお話。 久しぶりの読書がこれでヨカッタ。 人間はプログラムで動いているわけでは無く、感情で動いているので、適切なマネジメントと、チームビルディングをしなければならない。 みたいな事…

Riot.js を利用してTODOアプリケーション構築のハンズオンを作成しました #riotjs

Riot.js Advent Calendar 2016 の2日目! 1日目はkuwahara_jsngさんの「今年1年真剣にRiot.jsと付き合ってきたので振り返ってみた」です。 さて、ついにv3がリリースされたRiot.jsですが、実は以前、社内向けに作ったハンズオンがあるので、Riot.js Advent…

ScalikeJDBCでDDD的な

大したことではないのだけど、便利そうだったのでメモ。 Long値である従業員IDを明示的に型として保持したいニーズがあるとして、こんな case class があったとする。 case class EmployeeId(value: Long) SQLのWHERE句を組み立てる際、下記の様になる val w…

メールアドレスをあらわす正規表現について

今日、個人的に信じていたメールアドレスの正規表現に穴があった。 どういうものかというと、 input type=email – e-mail address input control (NEW) - HTML5 で仕様とされている \b[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*\b…

IntelliJ IDEAのsbtビルドがコケまくった話

会社のMacに入れているIntelliJ IDEAのsbtビルドが盛大にずっこけるようになり、プロジェクトの作り直した等していたら、そもそもソースコード自体開けなくなった。 原因を言ってしまえば、例のXcodeのAgreeをしていなかったから。 最近OSをSieraにしたので…

知らなかったPythonのSimpleServer

まず、MacOSにはデフォルトでPythonが入っていること。 そしてコマンド一発でローカルサーバーが立っちゃう事。 pythonの確認 $ which python /usr/bin/python 例えば、下記の様なディレクトリがあったとして、当該ディレクトリをカレントにして・・・ $ cd …

riot.jsやってます

思ったよりも人間は「憧れ」というのがモチベーションになるんだなと、最近よく感じます ああいうエンジニアになりたい! だとか、 あの言語扱えるようになりたい! ってのが僕のソレで、実際目指すところにたどり着けなくとも、目指してみると割と良い所ま…

サーバーサイドエンジニアが、Reactを始めて1週間でどこまでできるか

d-cube.connpass.com にて、 「サーバーサイドエンジニアが、Reactを始めて1週間でどこまでできるか」というタイトルでLTしました。 1週間でもここまで行けるのは普通かもしれないし、ぶっちゃけ大した内容ではないのですが、久しぶりのLTで楽しかったです…

プログラマ冥利に尽きる、本当に些細なこと

僕が携わったプロダクトが初めてメディアに取り上げられたのは、確か新卒2年目に携わった某メガバンクの合併に伴う顧客情報統合プロジェクトについてでして、その時は日経コンピューター(紙媒体)さんに、本当に本当にごくごくわずかな1文程度のものだっ…

Dockerの環境構築で"Please check your TLS client certification settings"とかいうエラーが出た話

最近Dockerが楽しいっす。 いろいろやりたいことがあって、でもまあとりあえず学習がてらcontainerを幾つか作り、ローカルでいろんなアプリを動かしたいなと。 Dockerの環境構築には、昨今のDocker界隈における定石通り、Docker Toolbox | Dockerを使ってい…

第15回 Elasticsearch勉強会 2016/03/15 その2 #elasticsearchjp

今日はこれに来てます 第15回elasticsearch勉強会 #elasticsearch #elasticsearchjp - elasticsearch勉強会 | Doorkeeper その1はこちら omiend.hatenablog.jp 一応メモっては見たものの、やっぱり適当 Elastic, Jun Ohtani タイトル:Elastic{on} 2016 参…

Elasticsearch 2016/03/15 その1 #elasticsearchjp

今日はこれに来てます 第15回elasticsearch勉強会 #elasticsearch #elasticsearchjp - elasticsearch勉強会 | Doorkeeper その2はこちら omiend.hatenablog.jp 一応メモっては見たものの、結構適当 Preferred Networks America, Inc. CTO 久保田展行(Kubota…

Elasticsearch入門してます (5日目) とっとこAggregations

まごまごせんと、とりあえず1回Aggregations試そうぜ!ということで、今日はAggregations周りしかやらない。 Elasticsearchの本当にすごいところってたぶんlucene由来の全文検索なんだと思っているのだけど、そこまでたどり着いていない僕がゴイスーと思っ…

Elasticsearch入門してます (4日目) しょぼいPRで名前を残した話と勉強会に参加した話

タイトル通り、僕がElasticさんに送ったPullRequestがマージされたお話。 とはいっても、内容は保育園児でも出来そうなちょーしょぼいものなのでなんの自慢にもならないのだけど、PRを送る方法は決められた手順をもってやっているので、一応書き残しておこう…

Elasticsearch入門してます(3日目) IndexとMapping周りを今一度

というわけで、あけおめです。 ブログであけおめなどとボヤくのは何年ぶりかしら。 2016年のお仕事も始まったわけなのだけど、初日の通勤電車(1時間)では Elasticsearch の学習が3日坊主にならないように、オフィシャルサイトのドキュメントを眺めて…

Elasticsearch入門してます(2日目) データの登録〜簡単なクエリー実行

今日は家に一人でいるのでゆっくりと勉強。 みんなが年末年始で浮かれている間、僕は少しでもElasticsearchに詳しくなって筋肉むきむきになるのだ(しぼうフラグ)。 1日目は、ElasticsearchのインストールからIndexの作成・削除までやった。 引き続き、今…

Elasticsearch入門してます(1日目) インストール〜Index作成

最近、お仕事で割りとElasticsearchを使ったりしているのだけど、なんというかいつも行き当たりばったりで出来た・出来ないだのやっていて気持ち悪かったのと、Aggregationがとてもおもしろいので、この際しっかり1から勉強しようと思い立った。 そこで、こ…

InfluxDBをビクビクしながら触ってみた

これも書きかけ。そしてエラーで詰まって死亡したので、供養のためにメモがてら公開w 2015/12/24 23:46 GoLang製の時系列データベースということで、なんのこっちゃッて感じなんだけど、何故かやたら気になったので触ってみた。 基本的にこのオフィシャルサ…

coreos-vagrantで遊んでみた(というかほぼDocker)

かきっぱなしでもあれなので、供養のためにメモがてら公開。 2015/12/24 23:44 ーーー これは、CoreOSとDockerに、別に人生を捧げていない男の物語である。 ちょっと前からなんとなくCoreOSが気になってて、それが恋だと気づいたのがつい先日(嘘)。 で、調…

ノリでTypeSafe社にプルリク送ったら無事にマージされた話

うほー。 やってみるものですね。 英語もできない中、仕事中に見つけたちょっと使いづらいところを直してもらおうと、ノリでTypeSafe社にプルリク送ったら、無事にマージされた話。 キャプチャの通り(見難いんだけど)末尾が4桁までしか対応していない部品…

ScalaのString Interpolation内でダブルコーテーションを使おうとしたらハマった件についてのメモ

ScalaのString Interpolationってとても便利なんだけど、内部でダブルコーテーションを使おうと思ったら(エスケープしようと思ったら)ハマったのでメモ。 これは『「s""」の内部でバックスラッシュに於けるエスケープが効いてないよう!うへえ!』みたいな…

gulpでTypeScriptをコンパイルする

2015/04/19 21:38 さすがに適当すぎたので、ちょっと書き直した。 酒とロックとTypeScript ちょっと最近フロントな部分を勉強し始めまして、TypeScript面白いなーと。 そんで、どうやらgulpというものがいい感じにアレをアレしてくれるの。 そのことはじめっ…

まんきゅうねん

忘れてた。今日(ってか昨日)の4月13日は、俺がエンジニアとして歩み出した日だった。満9年。若い頃は仕事なんてつまらなくて、アルバイトでさえ長続きせず2年が最長だったりする人間なんだけど、こんなに長い事この仕事が出来てるのは、やっぱりプログラム…

Scala逆引きレシピ

そういえば、この本の読書感想文書いてなかった気がする。というのも、辞書みたいなものなので、感想文なんて書けないからかなと笑買ったのは2年前くらいかな。たしか結婚式関連の本を嫁ちゃんと探しに行って、ふと目にとまったこの本をそのまま購入してみた…

ScalaのAbstractとTraitを継承した際の優先順位

抽象クラスとトレイト(あるいは複数のトレイト)を同時に継承した際に、それぞれで同じメソッドが存在した場合はどうなるのかな?って思い、気になったので調べてみた。 調べる前はコンパイルエラーになるものだと思っていたのだけど、そうでもなく、後に継…

なんとなくJavaでTupleを実装してみた

まったく大したことじゃない。ただなんとなくw // 要素2個のTuple public class Tuple<T1, T2> { public T1 val1; public T2 val2; public Tuple(T1 value1, T2 value2) { this.val1 = value1; this.val2 = value2; } } public class Test { public static void ma</t1,>…

Scalaのforループ処理をデコンパイルしてみた

結構前の事なんだけど Scalaの言語仕様についていろいろ勉強していた Scalaのforループにて利用する「<-」で謎の挙動を発見 Scala勉強会で質問 なんとなく理解 結局忘れてた って事があったので、今一度しっかりと理解する為に例となるプログラムを書いて、…

ScalaのFutureについて

前回、理解の薄いimplicitについて学習しブログに書いたのだけど、今回は使ったことの無いScalaのFutureについて学習したので、メモがてらここに残しておく。 何故Futureをキチンと扱えるようになりたかったのかと言うと、先日参加した勉強会でFutureの話が…

Scalaのimplicitについて

なんかいまさらこんなタイトルでブログ書くと、すっごくマニアックなものを見つけたのか!?とか思われそうだけど、いやいや、すっごく初歩的な内容ですすみません(汗) Scalaには結構慣れて来た方で、ソースコードは随分読めるようになってきたのね(上達…

実戦での Scala 〜 6つの事例から知る Scala の勘所〜でLTをさせてもらった話

と言うことで、初めて公の場でLTさせてもらいました! 実戦での Scala 〜 6つの事例から知る Scala の勘所〜 https://jissenscala.doorkeeper.jp/events/19660 結果、特に面白みも無く、無難だっただけw 実は公の場でLTするのは初めて。100人以上の前でLT出…

Heroku+ClearDBで文字化けしていた件

自作Webアプリでダブルバイト文字が文字化けしてた... 原因は、Playのapplication.conf設定内容に、Herokuの環境変数をバインドさせる方法した時の対応漏れ。 ↓の設定を $ heroku config:add DATABASE_URL='mysql://ユーザー名:パスワード@DBのホスト:3306/…

三次元なライフゲームを書いてみた

Qiitaに書いた物をまんま転記。 前回、「Qiita:Scalaでライフゲームを書いてみました」なんてものをやってみましたが、三次元でやるとどうなるのだろう?と思い、以前から気になっていたThree.jsで書いてみました。 今のところ単純にランダム配置して眺める…

JavaScriptのsetIntervalを使って一定の間隔で処理を行うサンプル

んまあ、こんなのみんな知ってるし、当然のようにやってるんだろうけど。 例えば同じことを繰り返すちょっとめんどくさい画面テストとかあるよね。 そんな時、下記の様なJavaScriptに繰り返すちょっとめんどくさい処理をやってくれるようなスクリプトを書い…

Scalaでライフゲームを書いてみました

ライフゲームって? 簡単に言うと、セルを生物に見立てて、ある一定のルールを与え、進化、退化、淘汰などのプロセスを眺めるゲームです。 セルの初期配置等によっては生き物の様に見える所がとても楽しいです。 詳しくはWikiを参照して下さい。 勉強がてら…

Playのapplication.conf設定内容に、Herokuの環境変数をバインドさせる方法

くっそ初心者向けの内容で恐縮ですが、僕自身初心者なので。 あと、タイトルの表現の仕方が間違っているかもしれないけど、ご愛嬌。 どういう事かというと、今までPlayのapplication.confのDatabase設定(エンドポイント、ユーザーID、パスワード)はべた書…

#hatenatech Hatena Engineer Seminar #3 @ Tokyo!!!

Hatena Engineer Seminar #3 @ Tokyo!!! Hatena Engineer Seminar #3 @ Tokyo!!! (2014/12/02 18:30〜) Hatena Engineer Seminar #3 @ Tokyo!!! - connpass に、運良く参加枠当選したので参加してきました。 \是非はてなブログにまとめとか書いて下さい!/…

Playframework2.3.6/Scala2.11.4でページングのサンプル

初めに この記事は、 Play framework Advent Calendar 2014の 2日目分の記事です。 1日目はkazuhiro haraさんのPlay Java開発、今ならこうやる話です。 3日目はgarbagetownさんのドキュメント翻訳の手順です。 初めまして、@omiendです。 普段は家で、Play…

rpscala 11.28 SPECIAL DAY in HONGO で出た話の(ざっくりとした)まとめ

ブログでもちょくちょく書いてる、個人的にハマっているScala。 そのScalaの修行の一環として、本郷三丁目は芸者東京エンターテインメントさんにて、基本隔週で行われているrpscalaという勉強会に参加させて頂いている。 昨晩はSPECIAL DAYと題して、米Netfr…