仕事の振り分けの振り返り

現案件で開発リーダーになって色々と思うことがあった やることを選ぶようになる タスクがだいたい自分のとこに降りてきて部下に作業を振るというのが流れとしてあった。 その際に、自分がやりたいものを選んで他のタスクを部下に振ることが多いと思った。自…

Pugを使ってみる

お久しぶりです。8月は出向先が終わる月だったのでいろいろ忙しかったです。 現在は新しい出向先でフロントの開発をしています。 サーバーやりたいです。。 Pug(Jade) 前まではJadeという名で通っていたらしいです。 HTMLを書くテンプレートエンジンのことら…

RDSインスタンスが停止できない・・・

AWS

RDSインスタンスの停止機能が追加されました https://forums.aws.amazon.com/ann.jspa?annID=4670タイトルと真逆のことをいきなり言うスタイル早速使用してないRDSを停止しようと思ったら、、 押せないじゃないかー原因は、マルチAZを使用していたため シン…

DWHで権限を設定した時にかかった罠

DWH

1日潰してしまったのでメモ知ってる人なら当たり前なのかもしれない。。 ** 権限の許可・拒否SELECTの場合・GRANT SELECT ON OBJECT::[TableName] TO [UserName];・DENY SELECT ON OBJECT::[TableName] TO [UserName]; という感じで許可や拒否ができるのです…

Linuxでファイルを空にする

ログファイルがめっちゃ容量大きいので空にしたい時とかに使える! いろいろ方法があるのですが、1番シンプルなやつをメモ :> FileNameこれで指定したファイルが空になります。

SQLの結合

SQL

SQLにおいての最初の難関といえば結合かなって思います! これだけ見れば基礎的なところは大丈夫ってのを作っときたいですね。 前提 Table A id user_name 1 retail 2 Tom Table B id job 1 engneer 3 neet こんな感じの2つのテーブルを使います。 INNER JO…

Ruby オブジェクトのインスタンス変数を取得

ちょっと悩んだのでメモ dog.rb class Dog def initialize(a,b) @a = a @b = b end end dog = Dog.new(1,2) p dog p dog.instance_variable_get(:@a)p dogでは #<Dog:0000000 @a=1, @b=2>p dog.instance_variable_get(:@a)では 1 が返ってきます。詳しいことはこのへんで ref.xaio.jp</dog:0000000>

Rubyの変数代入

sample.rb sampleA = 'hoge' sampleB = sampleA puts sampleA # hoge puts sampleB # hoge sampleA << 'huga' puts sampleA # hogehuga puts sampleB # hogehuga sampleAもsampleBも同じ(hoge)オブジェクトを指し示しているので、 hogeオブジェクトが変更さ…

PHPのif文あれこれ

PHP

条件判別式で使用するif文ですが、いろいろな書き方があるのでちょっとメモ チームでやるときはちゃんとルール決めようね! よく見るやつ if (判別式) { // true } else { // false }自分がよくやる方法です。 半角の具合やelseの場所とか個人差あるよね コ…

SQLiteで終了したり、表示したり

SQLiteでCtrl + Cで終了しようとしたらできなかったので、exit;で抜けようとしたらエラった話。。 終了方法 sqlite>.exit どうやらSQLiteは.hogeになるっぽいshow tables;ではなく、、 テーブル表示 sqlite>.table;コマンド違くて詰まることもあるから、ちゃ…

4半期経ってたので振り返り

今年の初めに行った目標の振り返りをしましょう。 ブログ ・月2回以上の更新 昨年は全然できなかったアウトプットをやっていきます。→ 2回以上は更新している。 アウトプット的な意味だと、githubも使い始めた。 これからも増やしていく。 仕事 ・給料を上…

JavaScriptのエラーメモ 随時更新

エラーを出すことは悪いことじゃないよ! でもエラーの内容がわからないとちょっと苦戦するので、 個人的によく見るやつをメモ 未定義 定義していない変数を使おうとするとエラー。 c; Uncaught ReferenceError: c is not defined(…) 参照 nullやundefinedに…

Redisに大量データをインサート(Bulk Insert)

英語が読める方はここが参考になるよ! Redis Mass Insertion – Redis数百万のレコードを1件1件丁寧に入れてるとても素敵なシステムがあったので、さすがに改修した話。 こんなファイル作ろうぜ ちなみに改行コードは、\r\nでないといけないっぽい。 SET K…

VagrantにPHPの環境構築

めっちゃ久々にPHPの環境構築した! ただPHPが動くとこまで 下準備 Vagrantfileを編集します。 config.vm.network "private_network", ip: "192.168.33.10"のコメントアウトを外して再起動しよう! いろいろインストール sudo yum -y httpd php iptablesで80…

MacにVirtualBoxとVagrantを入れる

ローカルの開発環境欲しい VirtualBoxのインストール Downloads – Oracle VM VirtualBoxVirtualBox-5.0.20-106931-OSX.dmgをDLしてインストール。 vagrantのインストール www.vagrantup.comMacOSをインストール。 Boxの作成 A list of base boxes for Vagran…

MySQLでサイズの大きいdumpファイルを作る

dumpファイルを作成する場合には注意が必要です。 バックアップで取ることが多いですが、とにかく容量がでかい! 普通に何十GBとかなることもあるので、一瞬でメモリ使用量が100%に行き、最悪常駐プロセスがOSによって殺されるパティーンも・・・そんな…

重複しているカラムを抽出するクエリ

値が重複しているカラムを抽出するクエリを書く機会があるのでメモ SELECT カラム名 FROM テーブル名 GROUP BY カラム名 HAVING COUNT(カラム名)<>1HAVINGってあんまり使わないですね。 今回のクエリでは、GROUP BY → HAVINGの順でクエリが評価され、グルー…

DWHでTOP n PERCENTが使えない・・・

DWH

初めて見るエラーが出てまたもハマる The ORDER BY clause is not valid in views, inline functions, derived tables, sub-queries, and common table expressions, unless TOP or FOR XML is also specified. 調べてみると・・ TOP または FOR XML が指定…

SQLのINでNULLを入れたらハマったメモ

別にINを使用する必要はなかったんだけど、たまたま使ったら変な挙動になった話 結論 IS NOT NULLを使えSQLでNOT IN (NULL)を使用したら何も返ってこなかった。 ※IS NOT NULL使ってたんだけどね・・・試しにNOT IN ('NULL')にしたらNULLが除かれて返ってきた…

githubとtwitterをけものフレンズ風にするChrome拡張機能

流行っているので速攻開発 ネタで作ってみた。拡張機能を作る基本的なとこは割愛Chromeメニューのボタンを押したら、githubとtwitterの一部の文字がいい感じになるやつ。 片道切符なので、戻したい場合は更新ww 個人的には戻す機能もつけたかったが、そこま…

Rubyの標準入出力

競技プログラミングにハマりつつあります。 JavaとかCとかはできないので、RubyかJavaScriptかLuaで挑んでいきたいです。競技プログラミングでは標準入出力での採点が行われるので、まずはそこからやっていきたいです。 運営サイトにサンプルが置いてあるの…

2017年の目標

遅くなりましたが、明けましておめでとうございます。 今年はしっかり目標を決めて頑張っていきたいと思います。 ブログ ・月2回以上の更新 昨年は全然できなかったアウトプットをやっていきます。 仕事 ・給料を上げる ・残業時間を減らす 仕事の生産性を…

RubyでS3にあるファイル一覧を取得する

まさかのaws-sdk-v1で!!既にリリースしているものを止めるわけにはいかないので、そのままやることにしました。。 require 'aws-sdk-v1' AWS.config({access_key_id:'アクセスキー', secret_access_key:'シークレットキー'}) s3 = AWS::S3.new path = "フ…

Ruby on Rails 環境構築@windows

毎回調べることになるはずなので、メモしときます。 RubyInstallerをインストール RubyInstaller for Windows 好みのversionをダウンロードしてサッとインストールする。オプションの設定で、「Rubyの実行ファイルへ環境変数PATHを設定する」と「.rbと.rbwフ…

SQLでNull時に置換する方法

よく使用するMySQLとSQLServerの2パターン MySQL ifnullかCOALESCEを使用することで置換ができます。 SELECT COALESCE(列名, '0') FROM テーブル名;または SELECT ifnull(列名, '0') FROM テーブル名; SQLServer IsNullを使用することで置換ができます。 SE…

算数・数学の基礎やるよ!

とりあえずこの3冊を勉強しようと思います。 エンジニアとして、必要な知識ではない部分もあるかもしれないですが、知っておくと役に立つ可能性もありますし数学好きなので久々にペンと紙を持ってやります。 大学4年間勉強してこなかった遅れを取り戻そう…

SQLの結合苦手な人向け

実は僕からはあんまり言うことがない。 SQLの最初の関門と思っている結合 内部だったり外部だったりleftやrightなどなど色々あってわかりにくいよねnullnote.comじゃあこのサイト見るしかないね! とりあえず基礎って感じなので、基本的なことを知りたい人に…

gzファイルを解凍しないでgrepする

ログファイルなどはwebアプリケーションだととても容量が多いため、 日ごとや月ごとにgzに圧縮されている場合があります。 ログファイルの中身を検索するのに、いちいち解凍して検索かけるのは 容量的にもとても面倒くさいのでgzファイルを解凍しないでgrep…

まだ手動テストで消耗してるの? Selenium WebDriver編

最近はやりの自動テストツール。 そんな中から人気のあるSelenium WebDriverの導入から簡単な使い方までを紹介したいと思います。 Java, C#, Python, Ruby, JavaScript(Node.js)がサポートされていますが、今回はRubyを使用します。 時間があればNode.jsもや…

負の数同士の掛け算がどうしてプラスなのか考えてみた

今までエンジニア感漂うブログでしたが、いきなりこんな記事を書いてみます。昔から気になっていたことをふと思い出したので、ちょっとメモ程度に中学校の頃に負の数が現れて、マイナス x マイナス = プラス と習った記憶はあるのですが、 どうしてそうなる…