ノンカフェインであなたにやさしい

Ruby,Rails,HTML,CSS,Reactなど

Searchkickを使ってidでorderするときの罠

Searchkickでidでorderしようとしたのに全然動かなかったのでその対応方です。 github.com 通常の使い方 Product.search(order: { id: :desc }) これだとなぜかidでソートされない idでソートする方法 orderの中身を配列で囲む Product.search(order: [{ id:…

Messenger Ninja 名前,写真を変更できるようアップデート

半月前にリリースしたMessengerで相手の名前と写真を隠すChrome拡張を、名前と写真を自由に変更できるようアップデートしました。 chrome.google.com 設定方法 アイコンを右クリックしてメニューから オプション を選択 設定したい名前とURLを入れて保存して…

FBメッセの相手のアイコンと名前を隠すChrome拡張をリリース🎉

カフェとかでメッセンジャーのやり取りをしていると相手の名前やアイコンがモロに出ていて気になったので アイコンと名前をダミーにするChrome拡張「Messenger Ninja」を作りました🎉🎉🎉 chrome.google.com 突貫で作ったのでダミーアイコンや名前が雑ですが、今後…

Rspecでテストをスキップさせる

(あまり良くないんだけど)ちょっとスキップしたい場面に出くわしたのでメモ ブロックを skip とするか RSpec.describe "an example" do skip "is skipped" do end end 頭に x をつければいいだけらしい RSpec.describe "an example" do xit "is skipped us…

RailsでCloudinaryを使う

CarrierWave、Cloudinaryを使った画像アップロードの方法です。 cloudinary.com 今回のバージョン ruby: 2.5.0 rails: 5.1.6 Cloudinaryに登録 Cloudinaryに登録して使える状態にしておきます。 登録後サイト内で cloudinary.yml がダウンロードできるはずな…

webpackerでA JSON text must at least contain two octets! (JSON::ParserError)と怒られた話

エラー内容 rails c や rails s をすると以下のエラーが webpack系のjsonのパースが上手くいっていないよっていうエラーっぽい Exiting Traceback (most recent call last): 51: from bin/rails:4:in `<main>' 50: from bin/rails:4:in `require' 49: from /home/v</main>…

7月に気になったWebサービス・アプリまとめ(2018)

お分かりかと思いますがGoodpatchさんやつリスペクトです goodpatch.com ためしがき 日本語のフリーフォントをまとめて試せる神サイト tameshigaki.jp メディアにもたくさん取り上げられていました 日本語のフリーフォントをまとめて試せる神サイト「ためし…

CSSについての社内勉強会を行いました

6月25日に社内でマークアップの勉強会を開催しました CSSと仲良くなろう from akinobu yumoto www.slideshare.net 内容としては BEMの基礎 CSSを組む際に気をつけたい点 +アルファでデザイン意図を汲んだマークアップ デザイン意図を汲んだマークアップに関…

スクロールに応じてヘッダーが順次固定されているJsを組んだ

iTunesか何かのようなスクロールにお応じてヘッダーが切り替わる挙動を組みました。 (言葉で説明するのが難しい…↓を見てくださいな) 仕様変更によりお蔵入りになったのでブログで供養します。 See the Pen MultiFixedHeader by あっきー💪😎💪 (@kuronekopunk) on…

Rails selectタグにクラスを付ける

f.select :foo, { a: 1, b: 2 }, class: 'bar' => <select name="model[foo]"> # あれ?classが居ない 時々ど忘れしてドキュメントを読みに行くやつ。 この様に定義されています。 def select(method, choices = nil, options = {}, html_options = {}, &block) ref: rails/form_option</select>…

JavaScriptでURLクエリを取得する

クエリ文字列の取得は window.location.search => "?foo=1&bar=2" クエリ文字列をオブジェクトに整形する関数を用意。 function getUrlQueries() { var queryStr = window.location.search.slice(1); // 文頭?を除外 queries = {}; // クエリがない場合は空…

エンジニア募集にJobTagはいいぞというお話

JobTagでエンジニア募集をしたら2名から応募があったのでJobTagはいいぞという話をします 投稿した内容と反響をご紹介 1つ目 出遅れた感あるけど投稿してみたRailsエンジニア募集! https://t.co/noTLmhzCwZ #JobTagjp #エンジニア— あっきー (@kuronekopun…

エンジニア ミートアップを開催しました!

6/20にエンジニアミートアップを開催しました。 ミートアップの様子はWantedlyを見ていただければ www.wantedly.com ただただ飲みたいだけで開催したミートアップに多くのエンジニアにご参加いただきました これからも継続的にをしていけたらいいなと思って…

Step-to-Rails-Expert.rb#20 に参加した話

Step-to-Rails-Expert.rb#20に参加してきました step-to-rails-expert-rb.connpass.com Step-to-Rails-Expert.rb 参加は2回目 今回からもくもく会ベースの企画になりました 内容 みなさん今日やることや気になった話題のシェアしながらもくもくしたり話した…

クリエイター系のSlackワークスペースのまとめを作っています

ほぼタイトルだけで完結する話です。 クリエイター系のSlackワークスペースのまとめを作ってるんで ワークスペース運営してる方、ぜひ書き込んでください!! docs.google.com なんで作ったか Slackの方がTwitterでつながるよりも専門的な話が多い印象なので…

メンター業はじめました(?)

MENTAというメンターとメンティーのマッチングサイトに登録してみたら 申し込んでくれる方がいたため晴れて(?)メンターになりました✨ menta.work なんでやっているか つまるところ、自分のためです。 スキルアップのため 恩送り的な 情けは人の為ならず的…

チーム開発について

TL;DR チーム開発することで 生産性(生み出した価値/コスト)を上げよう 価値のあるものをいち早くリリースできるようにしよう 同じクオリティで替えのきくものはコストの低いものに替えよう 不要なものは削ろう この記事の目的 なんでチーム開発するんだ…

アジャイル開発って何だ

アジャイル開発とは 対話と協調をして、 変化に対応できる開発体制を整え、 価値のあるもの(動くソフトウェア)を作ろうという考え方。 具体的な開発手法ではなく何に価値を置くか。 具体的に重視する価値は以下 プロセスやツール よりも 個人と対話 包括的…

scouty ✕ Goodpatch Engineer MeetUp 〜プロダクト開発との関わり方〜

scouty ✕ Goodpatch Engineer MeetUp 〜プロダクト開発との関わり方〜 で聞いたことメモです。 @g = GoodPatch @s = Scouty TL;DR スクラムは全員が多能工が理想(GoodPatchは違う GoodPatch スクラム ストーリーポイントはTシャツのサイズ(S,M,L,XL) カン…

omoiyari.fm #30-1 モブプログラミング、モブライフ を聞いて

omoiyari.fm #30-1 モブプログラミング、モブライフ を聞いてモブプロについて勉強になった箇所をまとめました。 lean-agile.fm ざっくりいうとモブプロは全員で同じ作業をする。 生産性が下がるのでは? ペアプロだと2人分の作業が1/2になるのでは…? モブ…

Step-to-Rails-Expert.rb#19 に参加しました

Railsの勉強会、Step-to-Rails-Expert.rb#19 に参加してきました! Step-to-Rails-Expert.rb って? 公式の説明をそのまま… 本勉強会はStep-to-Rails-Expert.rbというRails関連中級者向けの勉強会です。 コンセプトとしては、初心者を抜けたレベルの人が中級…

Sidekiqのジョブを削除する [Rails]

ローカル環境で溜まってしまった無駄なジョブにサヨナラする方法です。 処理待ちジョブ確認 処理待ちジョブ1件削除 処理待ちジョブ全件削除 リトライ待ちジョブ確認 リトライ待ちジョブ1件削除 リトライ待ちジョブ全件削除 とりあえず全部削除 の7本立て 処…

GoogleAppScriptでSleepする

GoogleAppScriptで sleep(1000) は使えなかったので調べた所、Utilitiesクラスで定義されているらしい Utilities.sleep(1000); // ms 公式ドキュメント Class Utilities | Apps Script | Google Developers

学び方を学ぶ [SOFT SKILLS]

SOFT SKILLSはソフトウェア開発者の人生マニュアルと書いてある通りエンジニアにとって必要な考え方や生き抜き方が書かれている。 その中でも印象に残った第3部「学ぶことを学ぼう」で紹介されている独習のテクニックについて紹介する。 SOFT SKILLS ソフト…

Javascriptでクリップボードにテキストコピーする

TL;DR const text = 'コピーするテキスト'; const textarea = document.createElement('textarea'); textarea.style.position = 'fixed'; textarea.style.opacity = 0; textarea.value = text; document.body.appendChild(textarea); textarea.select(); doc…

GitHubとJiraのチケット名とURLをコピーするChromeExtensionを作った

TL;DR GitHubとJiraのチケット(issue,PR)番号とタイトルとURLをMarkdownか平文で1クリックでコピーできるChromeExtensionを公開しました。 chrome.google.com 背景 誰かにタスクを振る時や、自分のタスクを共有する時にいちいちチケット名とURLをコピーす…

Jiraの記法

よく使うJiraの記法をまとめました。 Markdownもどきのようで覚えづらいけど、タイプ数は少なくて済みそうです。 が、、、普通にMarkdownで書きたいものです。 ChromeExtensionでMarkdown To Jiraみたいなの作ったほうが生産性上がりそうな気がしています。 …

Re:dash スプレッドシートにAPIを使用してQueryデータ取得する方法

Redashで作成したQueryをAPIで取得してスプレッドシートで表示する方法を紹介します。 URLの形式だけを必要な場合は 準備 Re:dashのデモサイトを使い説明します。 http://demo.redash.io/ アカウント登録、ログインを済ませたら次のステップへ APIのURLを取…

Rubyのmin_byで比較対象にnilがいるとArgumentErrorでコケる

Rubyの簡単なサンプル arr = [ { name: "hoge1", age: 10 }, { name: "hoge2", age: 13 }, { name: "hoge3", age: 15 }, { name: "hoge4", age: nil } ] arr.min_by{ |e| e[:age] } => ArgumentError (comparison of NilClass with 10 failed) ブロックの戻…

Java Android ArrayListで最後の要素を取得する

E e = list.get(list.size() - 1); Rubyに毒された脳が list.last とやりたくて仕方ないです。 参考 stackoverflow.com