CSSだけでアコーディオンを実装する

僕はCSSが苦手なんですが、必要にかられてアコーディオンの実装をしたいということになり、少し前にCSS単体で実現できると聞いたのでやってみました。 CSS上級者はこんな実装しない この実装はこういうときに困る などありましたらご指摘いただければ嬉しい…

Railsの画像アップロードで必要に応じてCarrierWaveを回避したい

github.com Ruby on Railsのフォームから画像をサーバにアップロードするというのを CarrierWave というGemを使って実装しています。 状況 ユーザー作成時に、基本的にはフォームからアバター用画像をアップロードさせるという簡単な実装で、もし画像の指定…

Slack KPT Bot を簡単に導入できるように整備した

github.com 以前から作っていたGoogle Apps Script(GAS) + Google Spreadsheet によるKPT botを導入しやすくしました。 以下、READMEを日本語で 使い方 1. クローンして初期化 $ git clone git@github.com:zuckeyM-17/gas-kpt-bot.git $ npm install $ npm…

【GAS】Google Apps Scriptをコマンドラインからデプロイできる `clasp` の使い方

github.com Google Apps Script(以下、GAS)をデプロイするときに、いちいちブラウザでコンソールを立ち上げ、コピペするのが嫌だなぁと思っていました。 また、コードの変更をGitで管理したいというような思いもあると思います。 claspはGASのデプロイやバ…

Slack KPT Bot 導入してから1ヶ月経ったので振り返りをしてみた

blog.zuckey17.org blog.zuckey17.org このあたりのエントリで、Slackでの KPT Botを作成しました。 導入から1ヶ月くらい経ったので、振り返りたいと思います。 導入の経緯 入社して*1「なんか改善MTG」という打ち合わせが設定されていたのですが、みんなが…

しがないラジオMeetup 1を開催しました!

shiganai.connpass.com 開催しました。 総勢40数名の方に来ていただき、本当に感謝です。 参加してくださった方々本当にありがとうございました。 皆さま、本当にありがとうございました!普段感想をつぶやいてくださる方もそうでない方も、いろいろな人とお…

法律はイノベーションを加速させる! Studios session #3「時代を進めるルール」に参加してきた

www.facebook.com Studios sessionとは、僕の所属するツクルバのtsukuruba studiosが主催するセッションイベントです。 第3回となる今回は*1弁護士・水野祐さんによる「時代を進めるルール」というテーマのセッションでした。 モチベーション はじめ法律とク…

3分で読む静的ファイルジェネレータGatsbyチュートリアル(前編)

Gatsby? Reactで静的Webサイトジェネレーターといえば、Gatsbyがあげられます。 公式サイトでは「高性能な静的PWAをReactで作ることができる。」と謳っています。 本エントリではPWAなどの詳細については述べません*1。 Gatsbyチュートリアル Gatsbyの公式…

Google Spreadsheet + Google Apps Script で Slack KPT Botを作ってみた

前回、Google Apps Scriptで作るSlack BotのHello, World!!を紹介しました。 Google Apps Scriptを利用したSlack Bot作成の" Hello, World!! " - zuckey blog 今回は、応用としてSlack KPT Bot を作ってみたのでそれについて解説したいと思います。 KPT よく…

Google Apps Scriptを利用したSlack Bot作成の" Hello, World!! "

タイトルの通りGoogle Apps ScriptでSlack Botを作ってユーザーの特定の投稿に対して" Hello, World!! "と返すBotを作る手順を紹介します。 具体的には、以下のようなことができることが今回の目的です。 「test」と書けば、Botが「Hello, World!!」と返して…

エンジニアのお祭り、技術書典4に行ってきた

技術書典4 「技術書典4」という技術書オンリーのイベントに行ってきました。 TechBoosterさんと達人出版会さんが主催のイベントで、会場は秋葉原のUDX アキバ・スクエアという場所で開催されました。 出版社、同人サークル、企業などがそれぞれ技術書を持ち…

ブログ執筆より簡単!?Podcastの収録方法の解説

僕はしがないラジオというPodcastのパーソナリティをやっていて、今回はその収録の方法について書こうと思います。*1 ※ 機材のリンクについては、アフィリエイトリンクとなっています。 僕らのPodcast運用費用になりますので、興味を持たれた方はよろしかっ…

【Ruby】OptionParserを使ってcliツールの引数を制御する

blog.zuckey17.org ↑でRubyに入門して、Ruby学習の一環で簡単なCliツールを作成している時に、引数を簡単に制御したいと思い、OptionParserというライブラリを使った。 メモ的に使い方をまとめておく。 実際のコード test.rb #!/usr/bin/env ruby require "o…

感想とメモ | We Are JavaScripters! #17th @mercari 20180330

wajs.connpass.com ちょうど去年の3月からお世話になっているWe Are JavaScripters!のLT大会に参加してきました。 We Are JavaScripters!はJavaScriptで学習したことやTipsを紹介したりするLT大会や、 休日を使ったもくもく会などを開催しているコミュニティ…

「プロを目指す人のためのRuby入門」を読んでRubyに入門した

プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)作者: 伊藤淳一出版社/メーカー: 技術評論社発売日: 2017/11/25メディア: 大型本この商品を含むブログを見る Rubyに入門する必要があったので…

【2018年版】分割キーボードのErgoDox EZ購入から利用開始まで

分割エルゴノミクスキーボードとして有名な、ErgoDox EZを購入したので、まだ3日しかたっていませんが、購入方法と行った設定などをまとめておきます。 まだ慣れませんが、この記事はすべてErgoDox EZで書いています。 動機 ErgoDoxの特徴としてあげられるの…

npxとnpm-run-allでローカルモジュールを実行する

小ネタです。 npm管理下のプロジェクトで、なにかのモジュールのコマンドを叩きたいということがよくあります。 その場合、僕がよく使っていたのは、 ./node_modules/.bin/(パッケージ名) package.jsonにnpm-scriptsを書いて npm run (script名) でした。 np…

TypeScriptで"SyntaxError: Unexpected token import"になったときの解決方法

昨日の記事を公開したところ、 blog.zuckey17.org ↓のように、 ライブラリと型定義のimportとで分けている必要はあるのか? という指摘をいただきました。 const { createConnection } = require("mysql"); // ライブラリのimport import { Connection, Mysq…

TypeScriptでMySQLを触るメモ

最近、TypeScript でサーバサイドを書く機会がありました。 DBに MySQLを利用していましたが、データの挿入や取得の簡単なものでも、少しハマったのでメモを残しておこうと思います。 TypeScriptについては、触りたてということで間違いなどがあれば、コメン…

雑な感想とメモ【PHPerKaigi 2018】@練馬区産業プラザ 20180310

phperkaigi.jp 前夜祭に引き続き当日も参加しました。 blog.zuckey17.org トークの感想と聞いている最中のメモを残しておきます。 PHPの現場公開録音もありました!! togetter.com TODO: 資料とビデオのパスを追加 トーク 今からでも出来る!Wwbサービスモニ…

PHPerKaigi 2018前夜祭に行ってきた(前前夜祭のLaravel Meetup Tokyo #10にも行ってきた)

phperkaigi.jp PHPerKaigi 2018前夜祭 PHPerKaigi 2018の前夜祭に行ってきました。 最近色々な人からコミュニティへの貢献の大事さという話を聞くことがあって、ノリと勢いでサポーターとして登録しました。 普通が4000円でサポーターが8000円、前夜祭だけで…

【Vue.js】リッチなUIのWEBアプリに必須なドラッグ・アンド・ドロップの実装

WEBアプリケーションでリッチなUIを実現したい場合、内部的には複雑な操作を簡単そうに見せるためのひとつの工夫として、Drag and Dropは必須と言ってもいいと思います。 今回、Vue.jsとそのライブラリのVue.Draggableを利用して、簡単にリストのDrag and Dr…

Storybookをまず動かす!ReactとVueの最小環境を作った

最近Storybookを会社で導入していて、環境設定についてまとめました。 基本的には、公式サイトのとおりですが、コンポーネントの例の記載がなかったり、ReactとVueでできるものが異なったりして、困った部分が合ったので、すぐに動く環境を作りました。 gith…

日本初!?運用のノウハウがつまったRedash Meetup #1に参加した

redash-meetup.connpass.com @ariarijp さんと、@kakakakakku さんが運営されているRedash Meetup #1に参加してきました。 僕は年始から会社でRedashを導入していて、MySQL(AWS Aurora)と Elasticsearchをデータソースとして運用しています。 日本初のReda…

Inside Frontend #2に参加してきた

Inside Frontend inside-frontend.com 大手町日経カンファレンスルームで開催されたINSIDE FRONTENDというカンファレンスに参加してきました。 2回めの開催ということですが、僕は今回が初めての参加でした。 AMAルームでinsideFrontend開幕です♪( ´▽`)#ins…

物理の可視化で楽しくカイゼンを回しているヴァル研究所に遊びに行った

ヴァル研究所(以下、ヴァル研)さんに遊びに行ってきました。 www.val.co.jp サービスとしては、「駅すぱあと」などで有名ですが、ある一方では会社全体で、アジャイルおよびアジャイルのプラクティスを導入され、業務改善にすごく良い感じで取り組んでおら…

感想とメモ | WEBエンジニア勉強会 #5@ITプロパートナーズイベントスペース 20180202

OSCAさんの主催されているWEBエンジニア勉強会#5に参加してLTもしてきました。 その反省と他の方の発表の感想を書きます。 web-engineer-meetup.connpass.com OSCAさんは僕がパーソナリティをしているしがないラジオでもゲスト出演されています。勉強会を主…

Eloquent ORMのChunkとCursorをメモリ使用量で比較した

前回書いた記事で、Eloquent ORMにおけるChunkとCursorメソッドの挙動について、発行されるSQL文の観点から調べました。 blog.zuckey17.org そこで、まとめでも書きましたが、主にメモリ使用量を抑えるために使われるChunkとCursorのメソッドについて、実際…

Eloquent ORMのChunkとCursorについて調べた

前回書いた記事では、Eloquent ORMにおける参照系メソッドについて紹介しました。 blog.zuckey17.org その中で、ChunkとCursorという項目について、 こちらについては、僕自信の理解が曖昧なため、もう少し調べる必要があると思います。 詳しく理解されてい…

Eloquent ORMについてなにも知らなかった(1) - 基本的な使い方編 -

先週に書いた記事で、Eloquent ORM(以下Eloquent)をライブラリとして導入する方法を書きました。 blog.zuckey17.org この記事の中ではじめ、次のようなコードを書いてbooksテーブルについてBookクラスを作り全件を取得して表示しました。