周辺知識なしからSuicaの利用履歴を読み込むデモ( macOS )

Suicaの利用履歴を読み込み、入場駅やためていたデータの履歴を表示するところまでをとりあえずやってみたので、手順をまとめておきます。 お願い 僕はPythonをほとんど触ったことがないので、ライブラリの利用方法や読み込みなどあまり理解していないので、…

パブリックなページのpathにidを入れるかどうか検討した

パブリックなページのpathにidを入れるかどうか検討しました。 idといっても、DBのプライマリ・キーという意味なので以降 idというのはその意味で見てほしいです。 調べてみても案外エントリがなかったので書いておいておこうと思いました。 もしかしたら、…

技術書典5に「しがないラジオ」としてサークル参加参加してきました

技術書典5に「しがないラジオ」としてサークル参加参加してきました。 出した本は「完全SIer脱出マニュアル」という本です。 技術書典は技術にまつわる同人誌の即売会で、技術系コミケ *1というとわかりやすいかと思います。 半年に1回のペースで開催されて…

textlint のルール作成 はじめました

前回はこちらでtextlintを簡単に触ってみました。 公式サイトのCreating Rulesを参考にします。 【注意】 説明の都合上、ASTなどの単語が出てきておりますが、僕自身あまり深く理解しておりません。 細かな理解が誤っていれば教えていただきたいです。 no-to…

textlint に入門した

久しぶりのブログ更新。 最近入門して、ちょっとだけ書いているtextlint、入門したときのメモをまとめました。 参考 公式サイト textlint.github.io ドットインストール 既存のものを使うだけならドットインストールでも学習できます。 https://dotinstall.c…

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…