■
2018年行く年来る年
2018年もあと数時間で終わります、毎年の高齢行事になっているブログ更新をします 来年は新しい元号に変わり、世の中のシステム屋さんにとってはいきなり忙しい年になりそうです 僕の仕事には直接的な影響はありませんが、なんだか大変な年になりそうです
さてさて僕の2018年は自分的にはかなりの激動の年になりました、とくに後半は激動だったなと思います 自分のキャリアに関して、人・チームに関して、仕事・会社・お金について考えさせられました
そんな2018年のふりかえりと2019年抱負を書きます
2018年のふりかえり
今までは自分の利き手を鍛えてきたが、左手を鍛える事を決意した年でした、単純にいえばマネジメントやりますって宣言した事 2018年の前半もまだ自分が作って成果ださなって考えていたのが特に自分が作らなくてもええやんとか、チームとしてどう成果を出すか?
成果に関しても数字・売上をだして、なんとなく成果でてますよではなく、これをやった事によって、この数字が上がりました というように数字にフォーカスしていったのも変わった事です
次にチームに対してのみかたが変わった事、ひとりのプレーヤーとしてチームを見た事はすごくよい影響があったのではないかと個人的には思っている 変わろうとしている組織を下からみる事によって今までは見えなかった事・見えていなかった事がよく見えたなと思います
チーム・人には明確な目標が必要な事、任せるとイキイキと仕事をしだす事、お互いに信頼する事の重要性 来年の目標でもあるですが、僕が長い時間かけて気付いた事は是非伝えて行きたいと思う、来年の目標でもある
2018年はこれから自分がなにをスべきかが明確になった年、自分の年収をあげる為の方法、ほんっとにいろいろな事に気付かされた節目の年だった思う
2019年の抱負
2019年の抱負は一つの事にフォーカスしようと思っています
- チームで売上を上げる
これにフォーカスします
2019年もよろしくお願いしマス
Aurora ログを設定する
Auroraで出力できるログの種類
default
option
- クエリログ(general_log)
- スロークエリログ(slow_query_log)
上記が出力できます
logのoutput先を指定
logのアウトプット先にはfile, とtableが選択可能
- parameter group
- name: log_output
- value に table or file を選択する
クエリログ(general_log)
- parameter group
- name: general_log
- value に 1
スロークエリログ(slow_query_log)
- parameter group
- name: slow_query_log
- value に 1
スロークエリの時間を設定する
何秒以上かかったクエリをスロークエリログに吐き出すのかを設定する、デフォルト値は10秒に設定されており、0秒にするとすべてのクエリがログに書かれます
- parameter group
- name: long_query_time
- value に 秒数を指定する
設定の反映
parameter group の反映は10秒ほどで反映します
2017年行く年来る年
2017年の最後にいつも通りブログを更新する事にする
今年は7本しか投稿していない事に驚きを隠せない、ちなみに結構投稿したなって方向に驚きです
さて、2017年はどんな年だったのかとふりかえってみる
2017年の前半はのびにのびたシステムリプレイスの作業に明け暮れていました
後半はGoogleAnalytics(※以下GA)との戦い、自分たちのanalyticsとGAとの数字合わせに
明け暮れていました
リリースできないシステム・伸びていくスケジュール・調査不足によりリリース直前に発生する バグ、そしてさらに伸びるスケジュールと信用と信頼を失った2017年だったなと思います
人に対しても伝わらない、うまく伝えられないと正直どうやったらええねんってとか、嫌われる 勇気を持てず八方美人、優柔不断な態度が目立ったと思うそれが良くない循環を産んだと思います
正直うまくいかなすぎてやめたろかなぁ!!!!!って思った事もあったなぁと今になって思います
その時期は人からの意見も真正面から受け止める事ができずに
んな事はわかってるねん!!
言われんでもやってるわぁ!!
おまえらより2000倍やっとるわ!!
とか負の感情におおわれた時もありました が全て自分に原因がありました
そんな事を考えられるようになったのも良い上司や仲間に出会い、すごく助けられ、教えられ、考え方を変える事ができ、
人に対して感謝・尊敬をする事ができるようあになったと思います
2017年が始まったばかりの頃は個の力を強くする事がチームいとって重要な事だと思っていたが振り返ってみるとチームと人に向き合った1年だった
2018年の抱負
チーム力上げる事に注力する
チームとして問題を解決する為の技術支援などを行う
個としてやれる事は限られている!!
チームとして成果を出す事にこだわる!!
あと・・・死ぬほど仕事する
2017年おせわになったひとたち
支離滅裂な文章ですが、今思ってる事を書きました
今年もありがとうございました m( )m
良いお年を
prestoで整数同士の割り算をすると整数が返される問題の解決方法
prestoで整数同士の割り算を行う整数が返却される場合は良いが以下のような場合に0が返却される
select (10 / 5);
予想される値は 0.5 だが prestoの場合は 0 が返却されてしまう 正常に0.5 を返却してもらうためには以下のようにする必要がある
select (10 * 1.0 / 5);
もしくは以下のようにする
select (cast(5 as DOUBLE) / 10);
prestoの便利関数 url_function
prestoにはURLを分解する関数が付いています、使うと正規表現で分割してたのがアホらしくなるほど便利なんでめもっときます
select
url_extract_fragment('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test'),
url_extract_host('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test'),
url_extract_parameter('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test', 'flag'),
url_extract_path('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test'),
url_extract_port('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test'),
url_extract_protocol('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test'),
url_extract_query('http://www.hoge.com:8080/fuga/var/index.php?flag=1&flag2=2#test')
;
url_extract_fragment([url])
与えられたURLからfragment部分を取得します ↑のSQLからは以下が取得されます
test
url_extract_host([url])
与えられたURLからhost部分を取得します ↑のSQLからは以下が取得されます
www.hoge.com
url_extract_parameter([url], [parameter_name])
与えられたURLから指定したパラメーターを取得します ↑のSQLからは以下が取得されます
1
url_extract_path([url])
与えられたURLからpath部分を取得します ↑のSQLからは以下が取得されます
/fuga/var/index.php
url_extract_port([url])
与えられたURLからport部分を取得します ↑のSQLからは以下が取得されます
8080
url_extract_protocol([url])
与えられたURLからprotocol部分を取得します ↑のSQLからは以下が取得されます
http
url_extract_query([url])
与えられたURLからprotocol部分を取得します ↑のSQLからは以下が取得されます
flag=1&flag2=2
prestoで縦持ちのテーブルを横持ちのテーブルに変換する
prestoで縦のテーブルを横のテーブルに変換する方法です
with o as (
select
id, age_range, count(td_url) as count
from
m
group by
id, age_range
),
p as (
select
id,
MAP_AGG(age_range, count) as kv
from
o
group by
id
)
select
id,
IF(kv[20] is null, 0, kv[20]) as arv20,
IF(kv[25] is null, 0, kv[25]) as arv25,
IF(kv[30] is null, 0, kv[30]) as arv30,
IF(kv[35] is null, 0, kv[35]) as arv35,
IF(kv[40] is null, 0, kv[40]) as arv40,
IF(kv[45] is null, 0, kv[45]) as arv45,
IF(kv[50] is null, 0, kv[50]) as arv50,
IF(kv[55] is null, 0, kv[55]) as arv55,
IF(kv[60] is null, 0, kv[60]) as arv60
from
p
- map_agg関数でマップ型の構造をつくる
- 1で作ったマップを参照する