Skip to content

Instantly share code, notes, and snippets.

View gam0022's full-sized avatar
😇
なの

がむ gam0022

😇
なの
View GitHub Profile
@gam0022
gam0022 / file0.txt
Last active October 31, 2016 01:02
サポートの終了した Ubuntu 10.04 から 12.04 にアップデートする ref: http://qiita.com/gam0022/items/978b7a4900af660e1142
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install update-manager-core
sudo do-release-upgrade
@gam0022
gam0022 / fragmentShader.glsl
Created October 15, 2016 15:01
THREE.ShaderMaterialで自動挿入されるuniform/attribute(three.js r81)
precision highp float;
precision highp int;
#define SHADER_NAME ShaderMaterial
#define GAMMA_FACTOR 2
#define NUM_CLIPPING_PLANES 0
uniform mat4 viewMatrix;
uniform vec3 cameraPosition;
#define TONE_MAPPING
#define saturate(a) clamp( a, 0.0, 1.0 )
uniform float toneMappingExposure;
@gam0022
gam0022 / dFdyによる法線の計算
Last active November 23, 2017 10:07
レイマーチングの法線をdFdxとdFdyで導出する ref: https://qiita.com/gam0022/items/1878150981494fd66abe
vec3 getNormal(vec3 p) {
vec3 dx = dFdx(p);
vec3 dy = dFdy(p);
return normalize(cross(dx, dy));
}
@gam0022
gam0022 / X方向とY方向の両方の偏微分をもとめる
Last active December 16, 2016 14:09
dFdxとdFdyでわずか4行のお手軽エッジ検出! ref: http://qiita.com/gam0022/items/1342a91d0a6b16a3a9ba
void mainImage( out vec4 fragColor, in vec2 fragCoord )
{
vec2 uv = fragCoord.xy / iResolution.xy;
vec4 color = texture2D(iChannel0, uv);
float gray = length(color.rgb);
fragColor = vec4(vec3(length(vec2(dFdx(gray), dFdy(gray)))), 1.0);
}
@gam0022
gam0022 / slack.js
Last active February 19, 2016 01:25
slackに返信と引用ボタンをつける
// こちらに移動しました
// https://github.com/gam0022/slack-reply-and-quote-button
@gam0022
gam0022 / GLSLによるポリゴン(三角形)とレイ(半直線)の衝突判定
Last active April 3, 2016 14:02
これがGPUの力!three.jsによる“リアルタイム”なレイトレーシング 〜宝石編〜 ref: http://qiita.com/gam0022/items/9875480d33e03fe2113c
// 3次正方行列の行列式をクラメルの公式で計算する
float det( vec3 a, vec3 b, vec3 c ) {
return (a.x * b.y * c.z)
+ (a.y * b.z * c.x)
+ (a.z * b.x * c.y)
- (a.x * b.z * c.y)
- (a.y * b.x * c.z)
- (a.z * b.y * c.x);
}
@gam0022
gam0022 / file0.java
Last active December 6, 2015 14:30
IntentServiceでToastを使うと消えなくなる問題に対処する ref: http://qiita.com/gam0022/items/56475779c598c6e8b073
public class DisplayToast implements Runnable {
private final Context mContext;
String mText;
public DisplayToast(Context mContext, String text){
this.mContext = mContext;
mText = text;
}
public void run(){
@gam0022
gam0022 / isucon5q-retry.md
Last active October 16, 2016 06:13
ISUCON5予選 再挑戦

SQLとnginxの周りのチューニングだけでISUCON5予選突破する

2015/10/19 10:00 頃

  • インスタンスを立てる
  • 初期設定
# bashにする
$ sudo chsh isucon
Changing the login shell for isucon
Enter the new value, or press ENTER for the default
@gam0022
gam0022 / file0.txt
Last active August 29, 2015 14:14
change_column で 型を integer や boolean に変更すると失敗する問題の解決方法 ref: http://qiita.com/gam0022/items/a73910de5b8eb44e5b13
[~/RubymineProjects/drwallet]$ rake db:migrate
== ChangeColumnsToCreditCards: migrating =====================================
-- change_column(:credit_cards, :etc_issuance, :boolean)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
PG::Error: ERROR: column "etc_issuance" cannot be cast automatically to type boolean
HINT: Specify a USING expression to perform the conversion.
: ALTER TABLE "credit_cards" ALTER COLUMN "etc_issuance" TYPE boolean/Users/gam0022/RubymineProjects/drwallet/db/migrate/20150206071431_change_columns_to_credit_cards.rb:3:in `change'
Tasks: TOP => db:migrate
@gam0022
gam0022 / Gemfile
Created December 9, 2014 12:59
Rails4のアプリをHerokuで動かす ref: http://qiita.com/gam0022/items/e9e0fe3e195035873462
gem 'rails', '4.0.0'
# Use sqlite3 as the database for Active Record
-gem 'sqlite3'
+gem 'sqlite3', groups: %w(test development), require: false
+gem 'pg', groups: %w(production), require: false
# Use SCSS for stylesheets
gem 'sass-rails', '~> 4.0.0'