生涯未熟

プログラミングをちょこちょこと。

GraphQLを勉強したのでGolangで書いてみた

ここ最近とてもGraphQLが盛り上がってますね! イベントも続々と開催されていたりするので、勢いを感じています。 そんなGraphQLを遅まきながら勉強してみました。 GraphQLとは? 既に様々な記事で論じられている内容なので割愛します。 この記事が個人的に…

僕の心と他人の心

本日付で勤めていた会社を退職致しました。 会社を含めた周りは悪くなく、全ては自分が原因です。 2ヶ月ほど休職していたのですが、その間に「僕という人間は何がダメで今後どのように向き合えば良いのか?」ということを連々と考えたりしましたので、心の…

goroutine使ってゴニョゴニョするCLIツールを作った時の備忘録

備忘録として自分用に書きます。 cobra良いよ 以前までurfave/cli使ってたんですが、「dockerのcliとかcobra使ってたよな〜」とよくcobra見かけるようになったので使ってみた。 $ cobra initでアプリケーションの土台作ってくれるので、煩わしいこと考えずに…

vim-goの入力補完が動かなくなった

.vimrcの整理整頓作業をしていたところ、突然vim-goの入力補完が下記のようになった。 「いやいや、こっちがPanicだよ」と思いつつ、色々と対策を探しました。 対策 そもそも、vim-goの補完にはgocodeが使われており、そちらのISSUEを探したところありました…

kirimoriにVimのExコマンドを実行する機能を追加しました

細々とkirimoriの開発をしております。 今回はkirimori addとkirimori removeをした際に各プラグインマネージャー毎に対応したExコマンドを叩く機能を追加しました。 例えば、Vundleの場合はkirimori addした際に:PluginInstallが、kirimori removeした際に:…

ranger-cdをzshで使えるようにした

rangerを教えてもらったんですが「めちゃ便利だ!」と今更ながら気付いた私です。 さて、rangerにはexamplesというディレクトリの中に様々な便利関数が置かれています。 その中でもranger-cdは、rangerで最後にqで抜けたところに移動してくれるという便利関…

Dockerでとんでもないハマり方をした

ちょっとDockerを触ってみてるsyossan27です。 雰囲気でkirimoriが動くDockerImageを作成する時にとんでもないハマり方しました。 一体何が ホームディレクトリでDockerfile作って、kirimoriのバイナリファイル置いてCOPYでDockerImageにコピーしようとDocke…

golangのパッケージマネージャdepのIssue覗いてみた

今まではglideを使ってたのですが、公式ご謹製ということでdepをこれから使っていこうかなと思いまして、一旦Issueを覗いてみました。 その中でも気になったIssueはこちら。 github.com 「dep initして生成されたmanifest.jsonが空だよ」ってIssueなんですが…

mattnさんのリファクタリングを読み解く

現在絶賛開発中のkirimoriですが、なんとGolang界隈で有名なmattnさんにリファクタリングをして頂くという、とても嬉しい事態がありました✨ kirimoriについてはこちら↓ syossan.hateblo.jp リファクタリング前提でかなり雑に書いていたのですが、めちゃくち…

golangでScanが上手く動かなかったので原因調べてみた

どうも、今日も元気にGolang生活しております。 今回はbufioパッケージにあるScanの話をば。 問題の発生 とあるライブラリを使ってコードを書いていた時に、Scanを実行しても動かないという現象に遭遇しました。 コードは以下のような感じ func main() { f, …

webpackerを試してみた

Rails5.1からwebpackが標準装備されるということで、試しにRails5.0.1 + webpackerでやってみました。 インストール Rails5.0.1でプロジェクトを作成し、Gemfileに gem 'webpacker', github:'rails/webpacker' としてmasterから取ってくる。(rails webpacke…

kirimoriというコマンドラインツールを作ってみた

久々にGolangでコマンドラインツール作りました。 その名もkirimori(切り盛り)。 github.com 何が出来るの? Vimのプラグインを追加・削除・一覧表示が出来ます。 例えば、 $ kirimori add Shougo/neocomplete と実行することで、指定した .vimrc にVundle…

2017年の抱負

今年の三が日は食っちゃ寝しながらscalaを勉強してたしょっさんです。 去年も抱負を考えたんですが、今年も何か抱負を立てようかなと。 PMとしての経験値を溜める 去年は年末にちょびっとPMとしてお仕事しました。 自分以外のエンジニアを携えてPMをやるのは…

2016年の棚卸し

あともう少しで2016年が終わりそうですね。 今年は色々とやった年だったので、どんなことをやったか自分のために棚卸ししてみます。 1月 2016年の目標 1月には2016年の目標として以下の4つを設定しました。 エロ系サービスを2つ作る Qiitaで1000Contributio…

このAdvent Calendarがひどい! 2016年版

数年前から流行り始めたAdvent Calendar、今年も大盛況だったみたいですね。 色々と良質なエントリが生成される中、「時間が無くて〜」だとか「やっぱり書く意欲が〜」とかクソみたいな言い訳でクソみたいな記事が量産されていくのも事実。 そういうわけで、…

豚肉が20キロ届きました

天気麗らかな本日。朝11時に「ガラガラ」と音を立て、ダンボール2つ分の荷物が台車に乗せられ届きました。 「ん?俺なんか買ったかな」と訝しみながら蓋を開けてみると、そこには大量の豚肉が。 めっちゃデカいダンボールに肉が…肉が… pic.twitter.com/DKxX…

ittanというGemを作りました

seedファイルをいちいち作成して編集するのってダルくないですか?ってことで ittan というGemを作りました。 github.com どんなGemなの? schema.rb を読み取って、seedファイルを生成します。 自分が普段使いしてるのが seed_fu なので、そっち準拠にして…

一人のエンジニアに見る転職の成功・失敗

転職 Advent Calendar 2016 - Qiita の7日目です。 エンジニアにとっての一大イベント、「転職」。 そんな転職の助けになるかどうか分かりませんが、4回転職した平凡なエンジニアの転職談を書き綴ります。 1社目:老舗の下請け会社 関西にある老舗の下請け…

お布団と私と出社芸

出社芸 Advent Calendar 2016の2日目ということで、実際の出社芸の数々をお見せますよ。 1. 二度寝 これは誰もが経験のある、やっちゃった系の出社芸ですね。 人間は睡眠欲には抗えません、仕方ありません。 2. 服がない まぁこれはよくあるやつだとは思う…

xamarinコミュニティの炎上について思うこと

最近、めっきり寒くなりましたが皆様体調は大丈夫でしょうか? この寒い中、ある界隈が焚き火でボヤ騒ぎになったようです。 Xamarinするには、まず人脈♪ 検索用に残しとこ pic.twitter.com/RWToN6xxqW— ぁわわ (@lune_sta) November 26, 2016 xamarinの勉強…

ちょっと闇を垣間見た話

簡単な要約:なんかやらかしてるGithubリポジトリを発見した 伊藤忠さん、御社のプロダクトがGithubのPublic Repositoryになってて丸見えなんですがそれは・・・(困惑— しょっさん@アローラのすがた (@syossan27) 2016年11月13日 伊藤忠テクノソリューショ…

Rustを触る②

今度は「シンタックスとセマンティクス」やっていきます。 変数束縛 let を使う。 パターン let を用いた際の左式は パターン と呼ばれる。 let (x, y) = (1, 2); こういうことが可能。 型アノテーション let x: i32 = 5; 公式ドキュメントでは推論する型を…

Rustを触る①

以前、こちらの勉強会でRust触ったもののそれ以来ノータッチなので1から勉強し直してみようという試み。 eventdots.jp 一旦、愚直に公式ドキュメントを追いかけてみます。 Hello world! 〜 リリースまで インスコ $ curl -sSf https://static.rust-lang.org…

残営業日数表示ツール作った

最近仕事でPMをやりだして「あれ?今月って残りの営業日数いくつだ?」ってなりだしたのでツール作ったよ。 Macで動くよ。 eigyo-days electronでペッと作りました。 github.com 祝日とかの判定に UltraDate.js を使いました。 作者の方に感謝。 配布 Electr…

エンジニアの採用についての話

色んな人に向けて「積極採用中です!」と言うよりも本当に来てほしい人に「あなたが必要だ頼む来てくれ!」と言う方が断然心に響くという当たり前のことを僕はhotchemiさんから学びましたよ— こにふぁー (@konifar) 2016年11月17日 そうなんですよ、雑多なエ…

エンジニア立ち居振舞い:他人と比較しない

お題「エンジニア立ち居振舞い」 なんか自分のエンジニアとしての立ち居振る舞いあるかなーと振り返ってみたら、掲題の立ち居振る舞いが思い浮かんだので書く。 他人を見すぎるということ TwitterなどSNSで他の技術者と繋がってるよーというエンジニアの方は…

エンジニアが考えたエンジニア獲得戦略

以前このような記事を書きました。 syossan.hateblo.jp しかし、ふと「採用担当者のペルソナに立ってみると、それじゃどうしたらええねん!と思いそうだな」と感じました。 という訳で、別に採用活動をしたことがないごく一般的なエンジニアが、エンジニア獲…

ChromeExtensionをSPAに対応したお話

昨日、gitpomoをリリースしました。 このgitpomo、単純にGithubのISSUEページでポモ記録がつけれるツールなんですが、GithubがSPAということで少々作成に苦労しました。 苦労した点 まず、普通にContent Scriptsで作成していたのですが、ISSUEの一覧ページか…

githubのISSUEにポモ記録つけれるgitpomoを作った

最近仕事でのタスクでかかったポモ数をBoostnoteに記録してたのですが、ちょっとめんどくさいなーと思ってISSUEにポモ記録つけれるツールを作りました。 chrome.google.com 使い方 使い方は簡単で1ポモ終わったら+?をクリックするだけです、簡単。 chrome.st…

github-freshness v2 Released

github-freshnessがどうも動かなくなっていたようで、ringohubさんという方がPR投げてくださいました。 github.com ありがとうございました!! chrome.google.com ということで、これを機に一度ChromeExtensionのアップデートを体験してみました。 やったこ…

Wantedlyに怒られてしまった

前回Wantedlyからのスカウトメールに関する記事を書きました。 syossan.hateblo.jp で、参考にあげたメールだけでは情報不足かなと思いましてnoteでこんなものを書きました。 note.mu 結構な人に買って頂き、「他社のスカウトメールが読めて参考になりました…

ポモ記録はいいぞ

Soft Skillsを読んでいると「ポモドーロテクニックを用いて、その結果を記録すると良い」という記述があったのでここ一週間ほど試してみました。 やり方としては普通にポモドーロテクニックをやり、タスクが終わる毎に何ポモかかったかをBoostnoteに記録して…

そんなやり方で御社にエンジニアが来ると思いますか?

「エンジニアが足りない・欲しい」という会社の話はよく聞きますが、皆様の会社ではどのような方法で人材の確保をしているでしょうか? よくあるのが「Wantedly」などの媒体を使って、メールをばら撒くか応募してもらう方法ですね。 この方法では「会社に良…

Hardware IO Tools for Xcodeのxcode8版が見つからなかった

iOS Simulatorで通信速度の制限を実現したかったので、Network Link ConditionerをインスコしようとApple Developerにいきました。 勢い良く「Hardware IO Tools for Xcode」と検索したら、なんとxcode7.3までのものしかないじゃないですか! ってなことでxc…

ISUCONに参加した結果、スコア95でフィニッシュでした

薄ぼんやり出たいなーと思っていたISUCONに初めて参加してみました。 開始 〜 午前 開始時間を間違えたため、会場入り出来ず会社からリモート参加することに とりあえずデプロイする 暫定1位獲得(この時スコア4500程 サーバ見る人・コード見る人に分かれる…

returnTrueやってみたけど惨敗した

JavaScriptでお題に対してTrueを返すという returnTrue をやってみました。 が、見事に2問しか解けなくて惨敗しました。 ここにはその記録として色々書いていきます。 ※解答を書いているので注意 事前情報 最適解ではありませんがGithubに解いた方の解答集が…

テーブルと紐付かないモデルでenumを実装してみた Part.2

前回の記事からの続きです。 syossan.hateblo.jp 前回はActiveModel内にenumの処理を書いていましたが、これだとenumを追加する毎に処理を書き足さなければいけないため非常に取り回しにくいです。 なので、今回はこれをModuleに切り出してみました。 やった…

テーブルと紐付かないモデルでenumを実装してみた

掲題の通り、Railsでテーブルと紐付かないモデルにenumを実装してみました。 enumを使っている既存のモデルを、APIの返り値をActiveModelで受け取ってゴニョゴニョという形に移行するためにやってみました。 間違ってるよ!とかこうした方がいいよ!ってご意…

JavaScriptのクラスでprivateを実現してみたかった人生だった

というわけでJavaScirptのクラス内にprivateメソッドやらprivateプロパティやらを実現したいな、と思って調べた時に色々知ることがあったのでまとめてみる。 主な実装方法 調べてみると4つほど方法がありました。 privateメソッド・プロパティの接頭辞に_を…

Boostnoteにcontributeしてみた

初めてOSSにcontributeしてみました。 経緯としてはこんな感じ。 ん?Boostnoteでノートが削除できないパターンがある そういえばBoostnoteってOSSだったか それじゃcontributeしてみようか! ただ、Reduxでガッチリ作り込まれてたので修正に深夜1時から朝…

第一級関数(ファーストクラスファンクション) is 何?となったので調べてみた

プログラミング言語Goを読んでいたのですが、その中で Goはガベージコレクション、パッケージシステム、ファーストクラスの関数、レキシカルスコープ、システムコールのインターフェイス、一般にはUTF-8でエンコードされたテキストの不変文字列を持っていま…

Ruby on RailsでのYoutube API v3を使ったアップロード

YoutubeのAPIには動画情報を取得したり、アップロードをしたりと便利なものが色々とありますが、Google API Consoleを弄ったりと多少ハードルが高いです。 更に、Google API Clientのv0.8からv0.9へのアップデートにより大幅な変更が加えられたため、日本語…

Firebaseの2.x系から3.x系への対応

FirebaseのJSライブラリを2.x系から3.x系へ対応するための手順を書いてきます。 対応しなくちゃいけないところ メジャーアップデートで認証の部分が大きく変わっています。 今までとは違い、Googleのサービスに依るところが入ってくるので少し厄介です。 対…

採用時にGithubやQiitaやその他諸々を定量的に見るのはどうなんだろうという話

最近話題になった記事でこんなのがありました。 daipresents.com 確かに最近は面接の際に「Githubアカウントはありますか?」と聞かれたりすることが多いと思います。 GithubやQiitaなどプログラマとしてのアウトプットを定量的に見るサービスが増えたのがそ…

websocket-railsを使ってみたら曲者だった

お仕事でwebsocket-railsを使ってチャット機能を構築しているのですが、このwebsocket-rails色々と曲者です。 使えるようになるまでが結構面倒くさい インストールしてから使えるようになるまで結構手間取ります。 ハマりどころが多く、僕もかなりの時間を要…

Golang初心者がGinでTODOアプリ作ってみたよ

Goに愛を注ぐことが最近の楽しみな私です。 今回はGoのWAFであるGinを使ってTODOアプリを作ってみました。 あんまりGinの情報が無いので何かの参考になればなと。 「能書きはいいからコード見せろや!」って方はこちらのリポジトリを見て下さいまし。 github…

Torisetsuに自作テンプレート機能を実装しました。

Torisetsuに海外の方から2starもらえたので前から欲しかったなーと思っていた機能を実装しました。 リポジトリはこちら。 github.com 自作テンプレート機能 どんな機能かというと、今までは決まったREADME.mdの形にしか更新できませんでした。 Overview ## D…

github-brief-descriptionというChrome拡張を作りました

Githubのトップページを見ているとフォローしているユーザーがstarしたリポジトリの一覧が表示されたりしています。 このstarしたリポジトリがどんなものなのか一つ一つリポジトリの画面に飛んで確認するのが面倒くさいなと思ったので、ツールチップでリポジ…

雑兵MeetUp #3に参加してきました

毎度楽しい雑兵MeetUpの3回目に参加してきましたー。 遅刻により最初の方のLTが聞けなかったんですが、自分のLTには間に合ったので良しとしたいです(ぇ

GithubにIssueとPull Requestのテンプレート機能が実装されたようです

今朝方Twitterを覗いていたら、rebuild.fmでお馴染みの宮川達彦さんが以下のツイートをされていました。 :+1: @github https://t.co/nQBukVNNTK— Tatsuhiko Miyagawa (@miyagawa) 2016, 2月 17 なんと!GithubにIssueとPull Requestのテンプレート機能が実装…