taisablog

taisa's engineer blog

未分類

2018年の抱負

投稿日:


今年も去年と同様に2018年の抱負を書く。

2018年の抱負

去年と同様にいろんなことはできないので大目標3つ+サブ目標。これ以外にも細かいものはいくつかあるけど別途まとめる。

  1. CTOとして
  2. 機械学習
  3. 英会話
  4. サブ目標
    • 引き続きフロントエンド

CTOとして

今年1月から不動産テックのスタートアップカンパニーであるCocolive.Inc(ココリブ)にCTOとしてジョインした。エンジニアとして長年やってきたけどCTOははじめて。そしてスタートアップながら良いエンジニアが5人集まったという好状況なのでこれまでのチームビルディングの経験を活かしつつ会社を成長させていきたい。自分個人の目標は昔から「日本のエンジニアの地位をあげる・世界に通用する」であるのでこれはぶれないようにする。また合わせて決めていることは「選択と集中」をすること。限りあるリソースの中でできることできないこと、やるべきことやらないことを見定めて1年やる。あとは楽しむこと。

機械学習

今年技術的には一番力を入れる予定。個人的な興味と現在のサービスの性質上なんらかの形で機械学習が導入できると大きなメリットが見込めることから本格的にスタートすることにした。

  • 機械学習の勉強会を開催する
  • 機械学習の話をいろんな人とする
  • プロダクトに導入する

英会話

これまでほそぼそとやっていたけど実践では全然だめという状況なのでこれをなんとか打開したい。今年は1年間継続して実践メインで徐々に英語慣れしていく。去年はPyCon APAC in マレーシアに参加したけど今年は5月末にシンガポールで開催されるということでここを一つのターゲットとしてやる。

  • コミュニケーションがとれること

サブ目標

いくつもやりたいことをこなすなんてことは自分にはできない。けどサブとしてでもやりたいもの。

フロントエンド

去年はサブでなくもはやメインとして活動できてなおかつ執筆もできたので結果的にすごいよかった。JSはやればやるほど面白いので引き続きやる。

  • VueJSの深掘り
  • Reactの深掘り
  • CSSやる
  • コードリーディング

今年の抱負のまとめ

なにはともあれ健康で楽しく仕事ができていることがなによりなので毎日「今日も生き抜こう©」とつぶやきながらマイペースにやっていく

-未分類

執筆者:

関連記事

Go言語 GORM+GinでTODOリストのAPIを作ってみた

前回の「Go言語 GORM+GinでTODOリストを作ってみた」に続いて「GORM+Gin」でTODOリストのAPIを作ってみました。ソースコードは前回からの差分だけを記載しています。できたものは下記URLから確認できます。 http://sandbox.taisablog.com/api/v1/ GinのGithub 事前情報 Webフレームワーク:Gin (https://github.com/gin-gonic/gin) ORM:GORM (https://gorm.io/docs) DB:MySQL ルーティングは今回はAPIなので以下としました。モデルをtasksにすればよかったと思いましたが一旦このままにしておきます。 [GIN-debug] GET /todo –> main.main.func1 (3 handlers) // 一覧表示 [GIN-debug] POST /todo –> main.main.func2 (3 handlers) // 新規作成 [GIN-debug] GET /todo/:id –> main.main.func3 (3 handlers) // 編集画面表示 [GIN-debug] PUT /todo/:id –> main.main.func4 (3 handlers) // 編集 [GIN-debug] DELETE /todo/:id –> main.main.func5 (3 handlers) // 削除 ディレクトリ構成 . ├── api │   └── v1 │   └── todo.go ├── controllers │   └── todo.go ├── db │   └── db.go ├── main.go ├── models │   └── todo.go ├── router    └── router.go router.go router.goにr.Group(“/api/v1”)のAPI用のグループを追加してルーティングを追加しました。 package router import ( “github.com/gin-contrib/cors” “github.com/gin-gonic/gin” “github.com/jinzhu/gorm” v1 “github.com/taisa831/sandbox-gin/api/v1” “github.com/taisa831/sandbox-gin/controllers” …

no image

【15分でできる】EC2(Web+DB)ネットワーク構築 〜画面ポチポチ〜

最近EC2を使うケースは少ないですが、まずは基本としてオーソドックスなEC2+ネットワーク構築の流れをまとめました。 VPCを作成する IPv4 CIDERブロックを「10.0.0.0/16」にしてVPCを作成します。 DNSホスト名を利用するのでVPCのDNSホスト名をONにします。 パブリックサブネットを作成する 作成したVPCを選択し、IPv4 CIDERブロックを「10.0.1.0/24」にして作成します。 プライベートサブネットを作成する 作成したVPCを選択し、IPv4 CIDERブロックを「10.0.2.0/24」にして作成します。 インターネットゲートウェイを作成する 作成したインターネットゲートウェイをVPCにアタッチします。 VPCにパブリックルートテーブルを作成する 作成したVPCにパブリックルートテーブルを作成します。 作成したパブリックルートテーブルに「サブネットの関連付け」からパブリックサブネットを関連付けます。 パブリックサブネットに関連づけたルートテーブルのルートを編集し、送信先を「0.0.0.0/0」としターゲットにインターネットゲートウェイを設定します。 WebサーバーとしてEC2を作成する 作成した VPCを設定とパブリックサブネットを設定します。 IPはパブリックサブネット内の「10.0.1.10」を割り当てます。 「セキュリティグループ」をソース「カスタム」で「0.0.0.0/0」にして作成します。EC2インスタンスが作成できたらElasticIPを関連付けます。 鍵を取得してEC2にSSHアクセスする # 例 $ chmod 400 ~/.ssh/my-key.pem $ ssh -i ~/.ssh/my-key.pem ec2-user@ec2-xx-xx-xx-xx.ap-northeast-1.compute.amazonaws.com Nginxをインストールする # インストール $ sudo yum -y install nginx # サービス起動 $ sudo service nginx start # 自動起動ON $ sudo chkconfig nginx on セキュリティグループ(ファイアウォール)を設定する 「インバウンドルール」にHTTP(80ポート)で「0.0.0.0/0」を設定しWebからのアクセスを許可します。 「パブリック DNS」でブラウザからアクセスができることを確認します。 DBサーバーとしてEC2を作成する 作成したVPCとプライベートサブネットを設定します。パブリックIPは不要なので自動割り当てパブリックIPを無効化します。 内部IPをプライベートサブネット内の「10.0.2.10」に設定します。 プライベートサブネットからしかアクセスしないので「セキュリティグループ」をソースカスタムで「SSH」と「MySQL/Aurora」にパブリックサブネット「10.0.1.0/24」を指定します。 Webサーバーに秘密鍵(my-key.pem)を送り、WebサーバーからDBサーバーにアクセス可能にします。 # 秘密鍵をWebサーバーに送る $ scp -i ~/.ssh/my-key.pem ~/.ssh/my-key.pem ec2-user@ec2-18-178-132-45.ap-northeast-1.compute.amazonaws.com:~/.ssh/ # Webサーバーアクセス $ ssh -i ~/.ssh/my-key.pem ec2-user@ec2-18-178-132-45.ap-northeast-1.compute.amazonaws.com # 権限変更 $ chmod 400 ~/.ssh/my-key.pem # DBサーバーアクセス $ ssh -i ~/.ssh/my-key.pem ec2-user@10.0.2.10 パブリックゲートウェイにNATゲートウェイを作成する DBサーバーにMySQLをインストールするためにパブリックサブネットのNATゲートウェイを通してインターネットへ接続可能にします。 メインのルートテーブルに送信先「0.0.0.0/0」としてNATゲートウェイを設定します。 MySQLをインストールする # インストール …

no image

2020年半年の振り返り

2020年も半年が過ぎたので年初に立てた抱負を簡単に振り返ってみます。 2020年の抱負 2020年の抱負 Golang(◯)業務でやれたのでVueJS(△)業務で少しやれたのでReact(✕)Pending(やりたいけど)TypeScript(△)読書会で少しずつ進めてるのでAWS(◯)業務でやれたのでPython (Flask)(◯)大分理解できたので執筆(◯)遅れつつも着実に進められているのでブログ継続(△)執筆に時間をさいているので少なめなので現時点でこの記事含めると8記事なので6記事Delay会社のDeveloperブログが立ち上げられたのでよかった 中長期的な話 楽しく仕事をする 良いプロダクト(◯)良いメンバー(◯)良い技術スタック(◯) これは今の所継続できていますが、年初に採用もやることになってエンジニア採用ができなかったのは反省点。これまでがっつりやることなかったので良い経験にはなりました。 生活面 腕立て・スクワット・プランク(◯)ランニング(✕)後半もリモートが続きそうなので厳しそう家で飲みすぎない(◯)家でタバコをなるべく吸わない(✕)後半もリモートが続きそうなので厳しそう 会社で週1で走ってましたが、フルリモートになったのでランニングはできなくなりタバコ(IQUOS)の量は増えました。筋トレはやり方を変えつつも継続できています。 まとめ Goを書きつつインフラ周りの作業をすることも多くなってきて、これまでやりたくてもできなかったところでもあるのでだいぶ楽しくなってきました。執筆もあと一息なのでなんとか予定通りに仕上げて年内には完成させたい。

no image

申告と節税について整理した。税率?青色?白色?扶養控除?など

フリーランスではないけど確定申告する機会があったりと税金のことを考える機会が増えたので大分昔に買った「フリーランスを代表して 申告と節税について教わってきました。」という本を読み返しました。かなり昔の本ですが大きくは変わっていないと思うのでまだ大丈夫かなと思っています。ただ間違いがある可能性もあるのでその点はご注意ください。指摘も大歓迎です。税金については、その時理解した気になってもすぐ忘れてしまうので大事なところだけメモとして残しておきます。 フリーランスを代表して 申告と節税について教わってきました。 Amazonより 最終的な納税額はどのように決まるか 最終的な納税額は次のように決まります。 年の稼ぎ 売上(収入)- 経費 = 所得 税金の対象 所得 – 各種控除 = 課税所得 最終的な税額 課税所得 × 所得税率 = 納付税額 所得税の速算表 課税される所得金額 税率 控除 以下 超 195万円 5% 0 195万円 330万円 10% 97,500円 330万円 695万円 20% 427,500円 695万円 900万円 23% 636,500円 900万円 1800万円 33% 1,536,000円 1800万円 40% 2,796,000円 ここで初めて知ったのが、所得に応じて税率はあがっていきますが、限度額を超えた分だけがその税率で納税する対象になるという仕組みでした。つまりそれが「控除」に該当するもの。少し控除はあるものの課税所得の限度額を超えたら全ての所得がその税率で計算されると思ってました。どういうことか具体例をあげてみます。 課税される所得金額が200万円の場合 5%までの金額を計算 195万円 × 5% = 97,500円 10%になった分の金額を計算 5万円 × 10% = 5,000円 5%までのと10%分の金額を足す 97,500円 + 5,000円 = 102,500円 所得金額が200万円の場合は、195万円を超えた5万円分んだけ税率が10%になり、納税額は102,500円となります。これは単純に以下のように控除額を引く計算方法でやっても同じ結果となります。 単純に計算して後から控除額を引く 200万円 × 10% – 97,500 = 102,500円 じゃあ税率があがった場合はどうなるの?というのが疑問になったので同じように計算してみました。 課税される所得金額が340万円の場合 順番に計算した場合(10%の控除額を引く) 330万円 × 10% + 10万円 * 20% – 97,500円 = 252,500円 単純に計算して後から控除額を引いた場合 340万円 × 20% – 427,500円 = …

「PyCon APAC 2018 in Singapore」参加レポートを寄稿した

PyCon APAC 2018 in Singaporeに参加してgihyo.jpさんにてレポートを寄稿した。 今年のレポートはPyCon JPのスタッフと元スタッフメンバーで書いた。カンファレンスのセッションレポートだけでなくカンファレンス参加に関連するコラムも盛り込んでいてめちゃくちゃ読み応えのある内容になったと思う。 Day1レポート 目次 Day1 PyCon APACとは シンガポールと今年のカンファレンス会場 Keynote ~ Tell me your secrets – Privacy in machine learning systems セッション Build a Data-Driven Web App That Everyone Can Use TeaTeaching Computers ABCs: A Quick Intro to Natural Language Processing Better Care and Feeding of Machine Learning Model コラム APACで発表者をしてみて PyCon APACミーティング 終わりに Day1:プライバシーを機械学習でどう守るか?/機械学習の基礎と応用 こんにちは, taisaです。2018年5月31日(木)~6月2日(土)にかけて行われた「 PyCon APAC 2018 in Singapore 」に参加してきました。本レポートでは最後の2日間に行われたカンファレンスデイの様子やセッション以外の現地滞在の様子などを2回に分けて,当日参加したPyCon JPスタッフや元スタッフのメンバーがお届けします。 PyCon … Day2レポート 目次 Day2 keynote セッション Concurrency vs Parallelism Elements of Programming Interviews in Python Streaming data processing pipelines with Apache Beam in Python, naturally! コラム PyCon APACの開催国となったシンガポールについて 海外カンファレンスに参加してみて 2日目の夜について 終わりに …