男女比はカレーと福神漬けと同じくらい

マサカリよろしくお願いします。

RailsのCookieStoreをnodeで復号する

背景 既に動いているRailsアプリケーションとfrontendの間にBFF用のnodeサーバを立てて、認証情報(currentUserIdの取得)はBFFで吸収させたい。 ※ Session管理にCookie Storeを使っているRailsアプリケーションを想定しています。 書いた RubyのMarshal.load…

ISUCON8で予選敗退してきました

昨日、ISUCON8のオンライン予選があり予選敗退してきたのでその様子を報告します。 牛久大仏「う〜ん、顔採用w!」 というチーム名で筑波に編入した同期の@k5342, @chigichan24とISUCON8オンライン予選に参加してきました。 ↓↓チームメンバーの記事はこちら↓…

【ISUCON用】Redis Cheat Sheet

ISUCON予選が明日に迫ってきました。 Redisの操作が全く覚えられないのでまとめておきます。 セッティング インストール qiita.com この辺とか見たらいい感じにできるのではないでしょうか(未確認) 使い方 # デフォルトは127.0.0.1:6379で繋がるはずなのでと…

雑にaxiosの便利ラッパー書いた

フロント書くときにaxiosが便利なのでよく使うんだけどHTTPメソッドごとで引数の型が若干違うので毎回忘れてググってる。 なので引数が同じになるようなラッパーに雑に書いてgistにあげておくことにした。 特に変なことはしてないのでコピペで使えるはず。 ※…

RubyKaigi 2018に行ってきた【Day1】

まだ途中ですが、公開してから考えようと思います。 Keynote ことわざの話 「名は体を表す」= 名前重要 ソフトウェアの世界には物理的制約がなく、概念で構成されているため名前はとても重要。 なのでソフトウェアエンジニアは概念に名前をつける必要がある…

RailsのService層とうまく付き合うにはどうすればいいのか調べてみた

「RailsのService層ってどう使っていくのがいいんだろうね?」って聞かれたときにすぐ答えられなかったのでまとめておきたいと思います。 ※ Fat Modelの解決策としてTrailblazerが最近よく話題に上がりますが、私がまだ使ったことがないので触れない方向で行…

呉高専HPをスクレイピングしてワードクラウドを作った

これは呉高専エンジニア勉強会Advent Calendar 2017の15日目の記事です。 こんにちは。呉高専OB1年目の@euglena1215です。 AdventCalendar 4記事目になります。 あと6,7記事書かないと埋まらないだろうと思っていたのですが、色々な人に手伝ってもらって気付…

Podcast配信機能をRailsに組み込んでみた

これは呉高専エンジニア勉強会 Advent Calendar 2017の9日目の記事です。 呉高専OB1年目の@euglena1215です。 今年の12月はすごい勢いで記事書いてます。 とあるラジオのサイトでPodcastを配信したくなったのでどう実現するべきなのかを考えた過程を書いてい…

筑波大学に編入して半年経ったのでまとめてみる

呉高専エンジニア勉強会 Advent Calendar 2017の6日目の記事です。 呉高専OB1年目の@euglena1215です。 Advent Calendar 2記事目になります。全埋めの先は長そうです。 筑波大学 情報科学類へ編入して半年とちょっとが過ぎたので編入してからいままでやった…

ISUCON7本選に参加して何もできませんでした

よく見たらISUCON8だった。謎だ... そもそもISUCONとは isucon.net ISUCONとはIikanjini Speed Up CONtest の略でwebサービスが動いているサーバが与えられ インフラ、データベース、アプリケーションなど色々な箇所に手を加えながらレスポンス速度を向上さ…

ISUCON7予選に参加しました

ISUCON7予選に参加しました。 その前にきちんと投票しました。 チャリで行ったので雨が目に染みてつらかった。 最終スコアは40088点で学生枠で本選に出場することができました。 github.com github.com の強い編入生2人と一緒に参加した。 アプリケーション…

ActiveRecordっぽいO/Rマッパーを作ってみた

github.com ActiveRecordっぽいものを一度実装してみて本物と実装方法の違いを眺めるのが勉強になりそうだと思ったのでとりあえず作ってみました。 ついでにSQLite3のC言語APIをRubyで実行できるようにする拡張ライブラリsqlite3_coreも作りました。 ※記事中…

【大学編入】Not情報系から情報系に編入が決まって不安な人がやっておくといいこと

Not情報系から情報系に編入が決まった方、おめでとうございます。 高専では情報系の科目が全然なかったけど本当にやっていけるんだろうか…と不安に思っている人はちょこちょこいると思います。 自分もそうだったので編入する前にこんなことをやっておくと(授…

【大学編入】編入試験の成績開示方法・結果(筑波大学 情報科学類)

必要なもの 受験票 or 学生証 方法 5/1~6/30に筑波大学 教育推進部入試課に電話する ↓ 電話した日から2営業日以降で都合のつく平日(9~16時)に予約をする ↓ 筑波大学 本部棟2Fへ行き編入試験結果を見せてもらう 電話1本で予約ができるのは便利なんだけど、筑…

refineは一体どこで真価を発揮するのか

結論 ナンセンスな標準メソッドの実装にパッチを当てたくなったときにrefineは真価を発揮する。 以下、結論に至るまでに道のりです。 refineとは Rubyにはrefineというどんなクラスのメソッドでもローカルで再定義できる機能がある。 [1] pry(main)> module …

【大学編入】単位認定・院試の推薦基準について(筑波大学 情報科学類)

単位認定申請書の提出が終わり一息ついたので忘れないうちに書いておこうと思います。 ここに書いてあるのは筑波大学 情報科学類の話なので、他大学/他学類だと異なるということが大いにあり得ることに注意してください。 単位認定について 情報科学類は高専…

【PRML】演習問題 2.38 解答

二次形式を平方完成することで, (2.141)と(2.142)の結果を導出せよ. この問題で使う数式 を式変形し指数部を平方完成させて(2.141), (2.142) を導出する。 (2.139), (2.137), (2.138)より 指数部を となるように平方完成させる。 また、 と は比例関係である…

RDFをSPARQLを使ってRailsでDBっぽく扱ってみた

RDFをSPARQLで操作するハッカソンがあり、Activerecordを使ってのDB操作と同じようにRDFを扱いたかったのでactiverecordのメソッドっぽくラップしてみた。 まず以下をGemfileに追記する。 # Gemfile ... gem 'active_attr' gem 'sparql' active_attr はテー…

MNISTのバイナリをjpg化した

MNISTは大量の数字の画像データが入っていて便利だけど、バイナリデータなので画像化するのはちょっと面倒。 コピペで画像化できる便利なスクリプトが見当たらなかったので作ってみた。 書き捨てコードなのでクオリティは勘弁してください。 gist6eed8279e71…

Rails+carrierwave+heroku+AWS S3で画像アップロードさせるときにハマったこと

# Gemfile gem 'carrierwave' gem 'fog-aws' gem 'rmagick', require: 'RMagick' # config/initializers/carrierwave.rb if Rails.env.production? CarrierWave.configure do |config| config.storage = :fog config.fog_provider = 'fog/aws' config.fog_cr…

多対多の相手レコード数の最小を指定するバリデーション

こんなクラス構造 class Hoge < ApplicationRecord has_many :hoge_foos has_many :foos, through: :hoge_foos accepts_nested_attributes_for :hoge_foos end class Foo < ApplicationRecord has_many :hoge_foos has_many :hoges, through: :hoge_foos end…

RubyとSwiftにおける感嘆符/疑問符の扱いの違い

RubyとSwiftでは「!」と「?」が多用されますが使い方が違います。 Swiftでの使い方に中々慣れなかったので自分なりに対比させてまとめてみました。 元々Rubyを書いていてこれからSwiftを書き始める人やその逆の人の参考になればと思います。 最も違うところ …

`rails new my_app`を解読してみた

Railsアプリを作成するときに毎回使う rails new my_appで何が起きているか知りたかったのでソースを読み解いてみました。 初学者なので解説が間違っている, 解説の粒度がバラバラで読みにくい可能性があります。 何かありましたらコメントください。 コード…

【大学編入】編入勉強を始める前にやったこと

僕が編入勉強を始める前にやったことをまとめてみました。 勉強を始めるまでにやったことは大きく分けて4つあります。 step1 どんな大学生活を送りたいかを考える step2 大学を選ぶ step3 合格するための情報を集める step4 勉強計画を立てる step1 どんな大…

MacBook ProでCUDAのGPUモードが使えたり使えなかったりする話

MacBook ProでTheanoのGPUモードを使うために設定を済ませてimportするとエラーが発生。 GPUモードが使えない...?? >>> import theano WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu is not available (error: Unable to get the num…

graphvizを使って木構造を可視化する関数を作ってみた

卒業研究で木構造を可視化させる必要があったので関数を作ってみました。 木構造・ノードクラスの属性は次のようになります。 Tree クラス 属性名 型,クラス 説明 root Node Treeの根ノード Node クラス 属性名 型,クラス 説明 num int ノード番号 child Nod…

Railsでセキュリティのことを考えずに作ったwebアプリは脆弱性があるのか調べてみた(脆弱性検証編)

この続きです。 euglena1215.hatenablog.jp 検証方法が全く網羅的ではないということを踏まえた上でお読みください。 検証 XSS(クロスサイトスクリプティング) 方法 投稿フォームに以下のリンクに載っているXSSの例を片っ端から入力してみた。 XSS Filter Ev…

Railsでセキュリティのことを考えずに作ったwebアプリは脆弱性があるのか調べてみた(webアプリ作成編)

こんにちは。僕はこのたびセキュリティキャンプ九州2016に行ってきました。 一言感想を言わせていただくと大変面白かったです。 ただ一つ不安になったことがあります。それはwebアプリの脆弱性です。 キャンプ中にwebアプリの脆弱性を見つけてみようという講…

【大学編入】専門科目の参考書と対策

参考書 プログラミング C言語によるアルゴリズムとデータ構造 新・明解C言語によるアルゴリズムとデータ構造作者: 柴田望洋,辻亮介出版社/メーカー: ソフトバンククリエイティブ発売日: 2011/09/01メディア: 単行本購入: 3人 クリック: 37回この商品を含むブ…

rake db:migrateとrake db:schema:loadの違い

rake db:migrate と rake db:schema:load はどちらもテーブルを作成、変更、削除するときに使うコマンドだけど違いがよく分かっていなかったのでメモメモ。 rake db:migrate migrateファイル群を元にschema.rbを作成 schema.rbを元にSQLクエリを発行する rak…