Skip to content

Instantly share code, notes, and snippets.

@yancya
yancya / 8queens.sql
Last active July 29, 2022 05:32
エイト・クイーン問題 全解 BigQuery 版
CREATE TEMP FUNCTION safe_check(queens ARRAY<STRUCT<x INT64, y INT64>>) RETURNS BOOLEAN AS ((
SELECT COUNT(x) = COUNT(DISTINCT x) AND
COUNT(y) = COUNT(DISTINCT y) AND
COUNT(x+y) = COUNT(DISTINCT x+y) AND
COUNT(x-y) = COUNT(DISTINCT x-y)
FROM UNNEST(queens)
));
CREATE TEMP FUNCTION print_queen(x INT64) RETURNS STRING AS (
(SELECT COALESCE(STRING_AGG('.', ''), '') FROM UNNEST(GENERATE_ARRAY(1, x-1))) ||
@sunaot
sunaot / what_is_rehearsal.md
Last active March 8, 2018 14:36
リハーサルというものはだなの文章

リハーサルはなぜ重要か

(実施告知の文章から抜粋)

ええと、みなさんAWS移行の準備も大詰めでリハですね。リハーサルってなぜやるかわかってる人もわかっていない人もいると思うので書いておきます。結論を先に書くと、本番当日もそのまま手順を踏襲するとそれで移行が終わる詳細な手順が書かれた移行手順書を書いてリハをしてください。リハの中で手順どおりには行かなかったところはその時にすべて手順書に反映して、本番のときは手順どおりでやれるようにしてください。

本番一発勝負というのは難しいもので、人間どんなに考えていても失敗します。でも失敗を糧に二度目をすると一度目にやった失敗は回避できます (できるようにします)。システム開発というのは一般的に大体予測不能なところで失敗するものなので、一度本番同様に動かしてみるというのが非常に重要になってます (アジャイルが繰り返し開発するのも動くソフトウェアを信じるからですね)。

性質として事実上そういうものなのですが、私達の気持ちとしては当然失敗はしたくありません。そこで、失敗をするはずの一度目としてリハーサルという疑似本番をやるわけです。そうすることで、失敗の予行演習ができます。本番に向けて失敗の予防ができます。ここを人手でやると再現性が落ちるのでベストは自動化され、何度やっても繰り返し同じことが実現できる状態です。でも、それはしやすいものとむずかしいものもあるので人間がそのとおりに実行をしたら同じ結果になるという手順書というのが大事になってきます。

みなさまRubyKaigiお疲れ様でしたー。素敵なKaigiに再会できてうれしかったです。
RubyKaigiまわりで、同じ分野の問題提起が二つありましたねぇ。
一つはKaigi中での、「台湾の女の子はKawaii、だからRubyKaigi Taiwanに来るべき」という発言、
それを笑いで迎えた場内に対して、女性への配慮が足りないだろうという意見。
https://gist.github.com/kyanny/5694201
もう一つは、続くRubyHirobaでの、ポルノに関しての情報処理技術についてのLTがあったこと。
(そして、実際にそれを聞いて傷ついた女性が存在し、問題が提起されました)
RubyhirobaはRubyKaigiとは独立した、せっかく東京にRubyistがたくさん居るんだから交流しよう!という、
LTとWorkshopと交流の場を提供するイベントです。
@cedricdekimpe
cedricdekimpe / application.js
Created May 29, 2012 09:27
How-to override window.confirm() dialog with Rails 3 and bootbox.js
//= require bootbox.min
@sunaot
sunaot / gist:946062
Last active June 23, 2022 00:07
DB 設計勉強会 / タワーズクエスト社 和田省二さんを先生にむかえた勉強会のメモ。文責は sunaot です。

DB設計勉強会

全体のテーマ

データモデリング

  • データと情報
  • エンティティとリレーションシップ
  • リソースエンティティとイベントエンティティ
  • リレーションシップと多重度(カージナリティ)
  • PK と AK と FK