Skip to content

Instantly share code, notes, and snippets.

@yattom
yattom / vending_machine.md
Last active July 15, 2023 19:14
プログラミングのお題: 自動販売機 (設計進化重視バージョン)

自動販売機のプログラムをTDDで書いてみよう!

飲み物の自動販売機の動きを、プログラムで表現してください。

最終的な自動販売機の全機能は、不確定です。 テスト駆動開発のアプローチを有効活用して、 進化的に設計をどんどん変えていきましょう。

命名のヒント

@yattom
yattom / DFG.md
Last active June 20, 2023 23:45
プログラミングお題: 大富豪の手判定

プログラミングお題: 大富豪の手判定

トランプゲームである大富豪のプログラムを書きましょう。

1. トランプのカード

トランプのカードは、4種類のスート(スペード、ハート、ダイヤ、クラブ)と13のランク(A, 2, 3, 4, 5, 6, 7, 8, 9, J, Q, K) の組み合わせです。またジョーカーもカードです。ひと組のトランプは、全53枚(4スート13ランク+ジョーカー1枚)のカードです。

1-1. 1枚のカードを表現する

スーパーの支払金額計算

スーパーで買い物したときの支払金額を計算する

以下の商品リストがあるとする。先頭の数字は商品番号。

  1. りんご 100円
  2. みかん 40円
  3. ぶどう 150円
  4. のり弁 350円

お題: 数値データを処理する

  • CSVファイルを読む
    • SKU ID, 商品名, アクセス数
  • 壊れてる行を取り除く
  • アクセス数(3カラム目)の平均を出力する
    • 外れ値を取り除く(最大値と最小値)
  • アクセス数(3カラム目) が平均を超える行をすべて出力する
@yattom
yattom / excel.ps1
Created June 28, 2021 02:41
Excelのカラムの表記をインデックスを元に求める(0->A, 25->Z, 26->AAなど。インデックスは0始まり(Excelでは1始まり))
function ColumnKey($idx)
{
$excel = New-Object -ComObject Excel.Application
$excel.Visible = $true
$book = $excel.Workbooks.Add()
$sheet = $book.Sheets(1)
$cell = $sheet.Cells(1, 1)
$col = $idx + 1
$cell.Formula = "=ADDRESS(1,$($col),4)"
$text = $cell.Text
@yattom
yattom / Crypto.java
Last active January 8, 2021 06:39
AES暗号・復号をJavaとRubyで実装したサンプルです。言語間で相互に暗号化・復号ができます。
import java.security.AlgorithmParameters;
import java.security.Key;
import java.security.SecureRandom;
import javax.crypto.*;
import javax.crypto.spec.*;
import java.security.spec.*;
import org.apache.commons.codec.binary.Base64;
@yattom
yattom / gist:6ffc5cee8a6cddb9134bae6f3561901b
Last active October 28, 2019 00:25
small greasemonkey script to make facebook more productive (i.e. less counterproductive)
// ==UserScript==
// @name Facebook cleaner
// @namespace http://yattom.jp
// @include https://www.facebook.com/
// @version 2
// @grant GM_addStyle
// ==/UserScript==
// 右側の、上から3番目のエリアに、People You May Knowや、広告が表示される。それを非表示にする。
var ego_section = document.getElementsByClassName("ego_section");
@yattom
yattom / problem.md
Last active September 24, 2019 02:06

TDDBC課題:整数の区間

課題1 整数の閉区間 (closed range)

【例】

[3,8]
-> 下端点 (lower endpoint) が3, 上端点 (upper endpoint) が8 である整数閉区間
-> 3 と 8 は区間に含まれます
@yattom
yattom / なりきり登場人物.md
Last active October 1, 2018 04:42
心理的安全性ゲームの拡張ルール: なりきり登場人物

概要

ゲームをやるグループで、1人ひとりが登場人物の設定を受け持ち、その設定に従って演技します。一番上手に演技できた人が勝利します。

進め方

  1. ゲームを始める前に、1人ひとり「なりきり登場人物」(後述)の設定を選びます。自由に選んでもいいし、サイコロなどで選ぶのも面白いでしょう。
  2. 選んだら、その人物になりきって、ゲームへの意気込みを一言で話してください。
  • 例) 設定が「きびしい」「先生」「眠れない」だったら、「(眠そうな目で)おまえらしっかりやれよ!」と言う
  • 例) 設定が「遊び好きな」「マネージャー」「出会いがあった」だったら、「楽しくやろう!いいことあるかもよ!」と言う