Skip to content

Instantly share code, notes, and snippets.

View cia-rana's full-sized avatar
🌌
get everyone involved

Koya IWAMURA cia-rana

🌌
get everyone involved
View GitHub Profile
@cia-rana
cia-rana / setup.md
Last active January 5, 2020 12:29
Raspberry Pi Zero W セットアップ

環境

  • SDカードの初期設定: Windows10
  • Raspbianの設定: Mac
  • Raspberry Pi: Zero W v1.1

SDカードの初期設定

  1. Raspbianのイメージをダウンロードする
  2. SDカードをフォーマットする
  3. SDカードにイメージを焼く(2, 3はWinの場合はbalenaEtcherを使うと楽かも)
  4. boot ディレクトリに空の ssh ファイルを作成
@cia-rana
cia-rana / main.js
Last active August 30, 2020 19:11
YouTubeの消せる広告は一瞬で消すJS
setInterval(
()=>{
[
"ytp-ad-overlay-close-button",
"ytp-ad-skip-button"
]
.map(e=>Array.from(document.getElementsByClassName(e)))
.flat()
.forEach(e=>e.click())
},
@cia-rana
cia-rana / README.md
Created December 21, 2019 13:03
Nintendo Switch 自動化に向けて

Nintendo Switch 自動化に向けて

ポッ拳コントローラエミュレータをマイコン上に実装し、PCからシリアル通信経由でマイコンにコマンドを送り、Nintendo Switchを操作する。

マイコン

動作確認

Lチカで動作確認をする
インストールするソフトウェアや操作手順は以下を参照。 https://learn.adafruit.com/introducting-itsy-bitsy-32u4/using-with-arduino-ide

@cia-rana
cia-rana / Dockerfile
Last active October 11, 2019 10:37
Xception Check
FROM tensorflow/tensorflow:latest-py3
RUN pip install pillow
@cia-rana
cia-rana / memo.md
Created July 18, 2019 08:23
Go言語の暗黙知

Go言語の暗黙知

sliceを確保するときは、なるべくそのサイズを明示する

ファイルパスの操作には、なるべく path/filepath パッケージを使う

structをインスタンス化する際は、 new を使わない

@cia-rana
cia-rana / history.md
Last active May 25, 2019 13:59
Go言語 パッケージマネージャの歴史

2009/11

  • 8g, 8l と makefile (またそれをラップする gobuild
    • 8g, 8l のほかに 6g/5g, 6l/5l がある
    • Xg: コンパイラ, Xl: リンカ, 8Y: x86-64(amd64), 6Y: x86(386), 5Y: arm

2010/02

  • goinstall
    • 現在使われているインポートパスが制定される
    • makefileでの管理が廃止される
@cia-rana
cia-rana / memo.md
Last active November 15, 2022 13:40
Webパフォーマンスチューニング関連の書籍

Webパフォーマンスチューニング関連の書籍

書籍名 出版日 サポートページ
達人が教えるWebパフォーマンスチューニング〜ISUCONから学ぶ高速化の実践 2022/06/04
Webサービスチューニングコンテスト ISUCONのススメ 2021/02/05
重いサイトを軽くする、Webページ表示速度の高速化10の基本: 初歩からのPageSpeed Insights 2019/06/12
HTMLコーダー&ウェブ担当者のための Webページ高速化超入門 2019/05/01
ボトルネックがすぐわかる 現場のための Webサーバ高速化教本 2019/03/03
Webサイトパフォーマンス実践入門 高速なWebページを作りたいあなたに 2018/03/19
@cia-rana
cia-rana / portfolio.md
Last active February 10, 2024 08:55
ポートフォリオ
@cia-rana
cia-rana / note.md
Created April 18, 2019 13:23
集合に必要な操作

集合に必要な操作

概要

集合を標準ライブラリとして実装している言語は数多く存在するが、言語ごとに実装されている操作は同じわけではない。そこで、言語ごとにどのような操作が実装されているか俯瞰し、プログラミング言語で集合を実装する上で必須の操作は何か述べる。

集合の定義

本文において集合とは、「等価な要素を高々1つ持つ、0個以上の離散個の要素を1つにまとめたデータ構造」とする。ここで「等価な要素」はプログラミング言語ごとにそれぞれ自由に定義して良いが、ある要素がある集合に含まれるかどうか判別できなければならない。

言語ごとに実装されている操作

C++17

C++のSTLで実装されている集合にはC++11以前から存在するstd::setとC++11から実装されたstd::unordered_setがある。std::setは要素を順序付き(strict weak ordering)で保持し、データ構造は赤黒木で実現されている。一方でstd::unordered_setstd::setとは異なり、要素間の順序に関係なく要素を保持し、データ構造はハッシュテーブルで実現されている。本文における集合は、そのデータ構造が順序を保持するかしないかは関係ないため、順序を保持しないstd::unordered_setの操作についてのみ述べる。

@cia-rana
cia-rana / memo.md
Last active March 23, 2019 16:44
クリエイティブで勝負する - サイバーエージェントにおけるとりくみ