Skip to content

Instantly share code, notes, and snippets.

View expajp's full-sized avatar

Shu Oogawara expajp

  • Tokyo, Japan
View GitHub Profile
@expajp
expajp / brain_fxck.rb
Last active October 18, 2018 00:36
brainfxckのコンパイラ `$ ruby brain_fxck.rb <source_file`
class BrainFxck
INSTRUCTIONS = ['>','<','+','-','.',',','[',']']
class ProgramError < StandardError; end
class InstructionSequence
def initialize(src)
scanner = Regexp.new(INSTRUCTIONS.map{ |c| Regexp.escape(c) }.join('|'))
@seq = src.scan(scanner).flatten
@stack = Array.new
@expajp
expajp / sundays_without_date.rb
Last active July 31, 2018 12:56
「Project Eulerから生まれたワンライナーたち」(https://goo.gl/Dd5RPq ) の第2問を``require 'date'``なしで解くワンライナーです
[*1..1199].map{ |n|
(
(
[
([31]*12).map.with_index{ |n, i|
[2, 4, 6, 9, 11].include?(i+1) ?
(i+1 == 2 ? 28 : 30) :
n
}
]*100
@expajp
expajp / import_articles_from_growi_to_esa.rb
Created July 14, 2018 05:08
GROWI(旧 Crowi-plus) の記事を esa.ioにインポートします
# coding: utf-8
require 'esa'
require 'json'
require 'pp'
require 'net/http'
URL_BASE = 'https://xxx.example.com/' # GROWIのURL, 末尾の/必須 TODO
USER_NAME = 'username' # GROWIのユーザ名 TODO
ACCESS_TOKEN = 'xxx' # GROWIのアクセストークン TODO
@expajp
expajp / file0.rb
Last active January 26, 2018 09:58
[ActionMailer]添付ファイルの有無にかかわらずメールの本文を取得する ref: https://qiita.com/expajp/items/207935caf3086ffc3307
def get_mail_body(mail)
parts = mail.body.parts
# partsにさらにマルチパートメールが含まれる(=添付ファイルがある)場合はメール部分のみを取得
if parts.map(&:multipart?).inject(:|)
multipart_mails = parts.find(&:multipart?).parts
else
multipart_mails = parts
end
@expajp
expajp / mohikan_slack_news-feed-list.md
Last active May 5, 2020 16:26
モヒカンSlack( https://mohikan.slack.com )の#news-it-ja と派生チャンネルのリスト(2018/01/09に分離、2020/05/06更新)

概要

モヒカンSlack( https://mohikan.slack.com )の#news-it-jaチャンネルはフィード数が多すぎて追うのが辛かったため、分離を行いました。

チャンネル作成者の@nekoruriさんには「元のフィードから失われるものがないこと」を条件に許可をいただきました。

現在は2018/01/09に行われ、2020/05/06確認した分離についてのみ記していることに注意してください。

今後、別の誰かがフィード追加やチャンネル分離を行った場合はここに書かれていないことがあります。

チャンネルとフィードの一覧