Rso's Jotter

日々の開発の知見のメモやその他雑記

Kintoneを多少使ったので所感を書いておきます

自社の業務で一部Kintoneを使用していて、社内の事業転換に伴い、その業務が終了し、Kintoneもほぼほぼ役目を終えることになりました。 Kintone上で業務を2年ぐらい運用していましたが、そのなかでよいところ、つらいかゆいところなどをまとめておこうと思…

Auth0 で API から Username/Password認証でのトークン発行手順

Auth0でAPIからトークンを発行する方法を調査していて、ちょっとだけ手間だったのでその内容をメモしておきます。 背景 開発中のプロダクトで認証はAuth0を使用しているのですが、今ではフロントエンドのNuxt.jsで動いているAuth module上でWebからの認証オ…

MySQLの外部キー制約の付与でハマったのでメモ

長らく投稿できていませんでしたが、MySQLの外部キー制約の付与で予想以上にハマってしまってので 備忘のためメモを残しておきます。 説明の簡略化のため、簡単なテーブル構造に置き換えて説明します。 状況 以下のような2つのテーブルがあったとします。 m…

2019年 Ethereum の Dapps開発を始める際の参考サイトまとめ

2019年8月時点において、EthereumのDappsの開発をやってみようとしたのですが、 その時に調べた内容や、参考にしたサイトや用語、コードなどをまとめておきます。 情報収集 Ethereum入門 Ethereumの概要、仕組みをざっくり把握できます。 book.ethereum-jp.n…

新規システム開発アンチパターン その2:拡張性を重視する

背景 開発初期の段階で、画面、フロントエンド、バックエンド、データベース、インフラなどシステム全体で様々な設計が開始された状況。 アンチパターン 拡張性を重視する 解説 あなたはPM兼アーキテクトとして拡張性を重視して設計するよう方針を他のエンジ…

新規システム開発アンチパターン:ワイヤーレベルのモック画面を見せたときのユーザの「だいたいOK」を真に受ける

背景 新規システム開発初期に開発に先行して画面イメージをユーザに共有して、開発の合意とフィードバックを得る。 開発の初期段階のため、主に手書きもしくはProttなどのツールで書いたワイヤーフレームや、パワーポイント、Sketchなどで書いた画面イメージ…

システムは二度死ぬ

UNIXという考え方―その設計思想と哲学 を読んで、印象に残ったことをちょっと違う言い方でタイトルに書いてみました。 以下主にこの本の感想です。 UNIXという考え方―その設計思想と哲学作者: Mike Gancarz,芳尾桂出版社/メーカー: オーム社発売日: 2001/02/…

Javascriptのrequireとimport/exportの違いを整理します

いままでなんとなく使っていたけど、主に自分のために整理します。 他のブログでもまとめられているんですが、以下のような違いがあります。 require構文 もともとはファイルモジュール読込機能に乏しかったJSに対して、CommonJSが仕様策定した。 その後Node…

paiza で遊んでみました。採用する側からみた所感。

長らく更新できていなかったので、この三連休で時間があったので久々の投稿です。 今年に100本ブログ書くと言っていたのに全然かけていないので、ぼちぼち再開していきたいです。 今回は、エンジニア転職サイトのpaizaのスキルチェックで遊んでみた感想で…

Auth0でSafariからのログインができなかったときの対応

Auth0を使用したログインでハマったのでメモっておきます。 構成 フロントエンドはNuxt.jsを使用しており、認証はAuthModuleを使っています。 認証はAuth0のUniversal loginの使っており、Auth0の認証ダイアログが開かれて、そこで認証されたらフロントエン…

Firebase Meetup #13 セッションの内容と所感

それほど今はFirebaseを使い込んでいたり、これから使うような予定はないのですが、情報収集目的で以下のイベントに参加しました。 firebase-community.connpass.com 以下聞いたセッションのメモと所感です。 firebaseでWebアプリを作る際のTips 途中参加の…

SECCON CTF Beginners 初参加したのでその記録と、使ってよかったツール、コマンドのメモ

SECCON CTF Beginners 前回の マイクリハッカソン に参加したメンバーと、SCCON 2019 Beginner に参加しました。 2018.seccon.jp 以下その概要と結果です。 チーム人数 3名:(うち自分含む2名初参加) 結果 666チーム中 200位ぐらい (上位1/3ぐらい…

Nuxt AuthModule + Auth0 + Rails での認証環境構築でのハマりポイントを残しておく

タイトルの通りなのですが、 以下の構成で認証する仕組みを試してみたら、思ったよりハマったのでその内容をメモしておきます。 今回試した構成 フロント: Nuxt.js ライブラリは Auth Moduleを使用バックエンド: バックエンド: Ruby on Rails 認証および IdP…

プログラミング初学者に伝えたい汎用的なデバッグ技法

プログラミング初学者はその知識量が少ないために、様々なところで躓きます。 訳のわからないエラーメッセージに遭遇し、ネットで調べてもさっぱり分からずに途方に暮れてしまいます。そして試行錯誤するも進んでいるの更に悪化してるのかも分からずに、スト…

ブロックチェーンをゲームで使う意義

先日の マイクリハッカソン でゲームにブロックチェーンを組み込む意義みたいな話が出て、その内容が興味深かったのでメモしておきます。 なぜブロックチェーンでゲームを作るのか 以下に内容はパブリックブロックチェーンを想定しています。 主な理由として…

マイクリハッカソンに参加しました

以下のハッカソンイベントに参加してきました。 www.mchhackathon.com このゲームは多少知っていたのと、ブロックチェーンについて多少なりともキャッチアップできないかと思い、参加しました。 場所は HushHub さんのコワーキングスペースです。 以下やった…

Ruby 2.6.3 がリリースされました

Ruby 2.6.3がリリースされて、rbenvからもインストールできるようになりました。 forest.watch.impress.co.jp 新元号が対応したみたいなので、試してみました。 インストール(rbenvで) ruby-buildのアップデート $ cd /usr/local/rbenv/plugins/ruby-build/ …

"ビットコインは終わった" という言説について

仮想通貨関連の話題として、 ビットコインは終わった という言説、主張をたまに見かけます。 そしてビットコインが2017年に加熱する以前から仮想通貨、ブロックチェーンに興味をもって触っていた人にとって見れば、 その言説に何か違和感を感じるような人も…

JavascriptのPromiseコード間違い探し

Javascriptのコードをレビューしていたら以下のような少々ツッコミどころのあるコードを見つけましたのでメモしておきます。 内容は一部サマっていますが、以下のようなコードです。 function asyncFunction() { return new Promise((resolve, reject) => { …

ブロックチェーンアセットがゲームの考え方を変えると思う

最近、ブロックチェーンを使用して動いているDAppsのゲームである、My Crypto Heroes で遊んでみたので、その所感を記載しておこうと思います。 My Crypto Heros とは www.mycryptoheroes.net ざっくりいうとイーサリアムのブロックチェーンを使用するゲーム…

3分間シェル芸クッキング: 締切まで 後X営業日です をターミナル起動時に表示する

ふと実装したくなったプチ処理をシェルでサクッと実施するメモしておきます。 本日は, ちょっと先の期日の締切(プロジェクト完了日とか上期終了日など) まで何営業日あるんだろう、それを 毎日表示することができたら便利かも?と思ったので、それをシェルで…

RPAが嫌いなエンジニアが多い理由

システム開発者のみならず、PCなどで事務作業を行なっている人はRPAという言葉を 最近よく聞くかと思います。 RPAとは Robotic Process Automation(ロボティック・プロセス・オートメーション) の略で、 主にPCを使用したデスクワークを自動化して効率化する…

プロキシ統合と使用してLambdaのレスポンスをそのままAPI Gatewayにパススルーする

AWS

普段、ちょっとしたデータの取得、加工などにAPI Gatewayを使用してLambdaを使用しているのですが、かなりやっつけで開発していたコードで、正常系は問題なく動いていたのですが、エラー時に Lambdaが返したHTTPレスポンスコードが API Gatewayに連携されず…

Team Geekを読みました

ブログの記事を絶やさないためにも、 読んで良かった本の所感を残していくことにします。 目指せ年間記事100本。 Team Geek ―Googleのギークたちはいかにしてチームを作るのか 内容ざっくり 推薦の言葉にも書いてあったのですが、 一言で言うと "エンジニ…

今更ながらCORSの仕組みについてまとめようと思います

クライアントサイドでJSでプログラム書いている人は、何かしらCORSでのエラーに遭遇したことはあるのではないかと思います。 サーバーサイドでもクライアント側からCORSの設定が〜という依頼は経験したことがあるのかと思います。 私は小さなプロダクトの改…

静的ホスティングサービス Netlify がとても便利そう

静的サイトホスティングサービス Netlify が 巷で良い感じという評判をちらほら聞いていたので、実際に触ってみようと思い、ロクに説明を見ずに試したら確かにデプロイまで20分ぐらいでできたので、その所感を書いておこうと思います。 Netlifyとは www.ne…

Redmineのプラグインテンプレートを公開しました

最近、Redmineの簡単なプラグインを開発する機会があったのですが、 プラグイン開発に関する情報を調べるに当たって、以下のガイドを参考にとりあえず動くものは作れるのですが、そこから先の細かな情報がなかなか見つかりませんでした。 guide.redmine.jp …

Redmineをサービスから自前のサーバに移行する方法

背景 背景として、社内の業務では主にRedmineを使って案件管理をしています。 今までは MyRedmineというSaaSサービスを使って管理していましたが、 業務チームでは結構Redmineをがっつり使い込んでいて、 効率化のためにいくつかプラグインを入れたり、業務…

AWS ECS奮闘メモ

ECS奮闘メモ 社内の案件管理システムをアップデートする際に、AWS ECSを使う構成に変更してみました。 もともとコンテナはDocker開発環境単体で動かすぐらいしかしていなかったので、本番でコンテナを動かすのは初めての試みでした。 本番で動かすためのDock…

2018年振り返り

ブログ再開します ずいぶん長いこと間が空いてしまいましたが、またブログを再開しようかと思います。 主に業務で行なっている開発に関する知見や、それ以外の雑記などを書いていこうかと。 その前に、若干もう2月になってしまいましたが、2018年の振り返り…