Posted on

2019年前半の振り返り

2019年が半年を過ぎたので振り返ります。

2019年の抱負

本業頑張るのはもとより、2019年の抱負がある程度固まってきたので書いておきます。 これまでAWSを自分で多く触るケースはあまりありませんでしたが、GCPを使うケースが増えてきたので今年からはAWSではなくGCPをたくさん触っていこうと思います。 …

Google Cloud Platformを使う

Firebaseを触る機会があって、FirestoreCloud Functionsを扱いました。あとGCEに migro instance を使って sandbox ページ( http://sandbox.taisablog.com/)を立ててみたりしました。 FirebaseGCEもかなりいい感じなので今後は個人でちょくちょく使っていくと思います。

数学をやる

間に合わせ程度に以下の投稿にある内容をやりました。次はまたしばらく必要になりそうなタイミングになったら進めてみようと思います。

宅建をとる

いろいろと調べたり少しやってみたりしたところ、以下をやればなんとか合格できる気がしましたが状況が変わってきたので受験するのはやめました。

  • 宅建みやざき塾でテキストを購入(テキストだけの購入は不可)
  • 何回か講義を受ける
  • 3月頃にはじめて10月に向けて通勤時間などを活用して約300時間くらい費やす
  • 直前に対策講義を受ける

体力をつける

相変わらず走れていませんが軽い筋トレをしつつ体重は4キロ程減らせました。あと3キロ減が目標です。

ブログ記事

1月から6月末までで11記事でした。年間月2記事で24記事を目安にしているので1記事程足りないペースでした。

7月の記事

目標の見直し

2019年後半は以下をがっちり身に着けることを目標にします。目標の詳細については違うタイミングで少しブレイクダウンする予定です。

技術系

  • JavaScript(Vue.js)
  • Go
  • CSS / Stylus
  • AWS

その他

  • 健康体を維持する / 体力をつける
Posted on

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

前回の「Go言語 GORM+GinでTODOリストを作ってみた」に続いて「GORM+Gin」でTODOリストのAPIを作ってみました。ソースコードは前回からの差分だけを記載しています。できたものは下記URLから確認できます。
http://sandbox.taisablog.com/api/v1/

GinのGithub

事前情報

ルーティングは今回は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.gor.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"
  "time"
)
func Router(dbConn *gorm.DB) {
  todoHandler := controllers.TodoHandler{
    Db: dbConn,
  }
  r := gin.Default()
  r.Use(cors.New(cors.Config{
    AllowOrigins:     []string{"*"},
    AllowMethods:     []string{"PUT", "PATCH", "DELETE", "POST", "GET"},
    AllowHeaders:     []string{"Origin"},
    ExposeHeaders:    []string{"Content-Length"},
    AllowCredentials: true,
    AllowOriginFunc: func(origin string) bool {
      return origin == "*"
    },
    MaxAge: 12 * time.Hour,
  }))
  r.LoadHTMLGlob("templates/*")
  r.GET("/todo", todoHandler.GetAll) // 一覧画面
  r.POST("/todo", todoHandler.CreateTask) // 新規作成
  r.GET("/todo/:id", todoHandler.EditTask) // 編集画面
  r.POST("/todo/edit/:id", todoHandler.UpdateTask) // 更新
  r.POST("/todo/delete/:id", todoHandler.DeleteTask) // 削除
  apiV1 := r.Group("/api/v1")
  {
    apiTodoHandler := v1.TodoHandler{
      Db: dbConn,
    }
    apiV1.GET("/todo", apiTodoHandler.GetAll) // 一覧画面
    apiV1.POST("/todo", apiTodoHandler.CreateTask) // 新規作成
    apiV1.GET("/todo/:id", apiTodoHandler.EditTask) // 編集画面
    apiV1.PUT("/todo/:id", apiTodoHandler.UpdateTask) // 更新
    apiV1.DELETE("/todo/:id", apiTodoHandler.DeleteTask) // 削除
  }
  r.Run(":9000")
}

api/v1/todo.go

JSONで受けた値を処理してJSONを返すように変更しました。

package v1
import (
  "github.com/gin-gonic/gin"
  "github.com/jinzhu/gorm"
  "github.com/taisa831/gin-sandbox/models"
  "net/http"
)
type TodoHandler struct {
  Db *gorm.DB
}
func (h *TodoHandler) GetAll(c *gin.Context) {
  var todos []models.Todo
  h.Db.Find(&todos)
  c.JSON(http.StatusOK, todos)
}
func (h *TodoHandler) CreateTask(c *gin.Context) {
  todo := models.Todo{}
  err := c.BindJSON(&todo)
  if err != nil {
    c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{
      "error": err.Error(),
    })
    return
  }
  h.Db.Create(&todo)
  c.JSON(http.StatusOK, &todo)
}
func (h *TodoHandler) EditTask(c *gin.Context) {
  todo := models.Todo{}
  id := c.Param("id")
  h.Db.First(&todo, id)
  c.JSON(http.StatusOK, todo)
}
func (h *TodoHandler) UpdateTask(c *gin.Context) {
  todo := models.Todo{}
  id := c.Param("id")
  h.Db.First(&todo, id)
  err := c.BindJSON(&todo)
  if err != nil {
    c.AbortWithStatusJSON(http.StatusBadRequest, gin.H{
      "error": err.Error(),
    })
  }
  h.Db.Save(&todo)
  c.JSON(http.StatusOK, &todo)
}
func (h *TodoHandler) DeleteTask(c *gin.Context) {
  todo := models.Todo{}
  id := c.Param("id")
  h.Db.First(&todo, id)
  err := h.Db.First(&todo, id).Error
  if err != nil {
    c.AbortWithStatus(http.StatusNotFound)
    return
  }
  h.Db.Delete(&todo)
  c.JSON(http.StatusOK, gin.H{
    "status": "ok",
  })
}

動作確認

ターミナルでjsonをみやすくするようにjsonppを入れておきます。

brew install jsonpp

一覧取得

% curl -X GET -H "Content-Type: application/json" http://localhost:9000/api/v1/todo | jsonpp
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   271  100   271    0     0  44172      0 --:--:-- --:--:-- --:--:-- 45166
[
  {
    "ID": 1,
    "CreatedAt": "2019-07-04T10:16:28+09:00",
    "UpdatedAt": "2019-07-04T10:16:28+09:00",
    "DeletedAt": null,
    "Text": "テスト",
    "Status": 1
  },
  {
    "ID": 2,
    "CreatedAt": "2019-07-04T10:16:38+09:00",
    "UpdatedAt": "2019-07-04T10:16:38+09:00",
    "DeletedAt": null,
    "Text": "実装",
    "Status": 1
  }
]

新規作成

% curl -X POST -H "Content-Type: application/json" -d '{"text":"test", "status":2}' http://localhost:9000/api/v1/todo | jsonpp
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   172  100   145  100    27  23592   4393 --:--:-- --:--:-- --:--:-- 24166
{
  "ID": 3,
  "CreatedAt": "2019-07-04T10:18:45.041387+09:00",
  "UpdatedAt": "2019-07-04T10:18:45.041387+09:00",
  "DeletedAt": null,
  "Text": "test",
  "Status": 2
}

更新

% curl -X PUT -H "Content-Type: application/json" -d '{"text":"update", "status":3}' http://localhost:9000/api/v1/todo/1 | jsonpp
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   169  100   140  100    29  20951   4340 --:--:-- --:--:-- --:--:-- 23333
{
  "ID": 1,
  "CreatedAt": "2019-07-04T10:16:28+09:00",
  "UpdatedAt": "2019-07-04T10:19:45.818126+09:00",
  "DeletedAt": null,
  "Text": "update",
  "Status": 3
}

削除

% curl -X DELETE -H "Content-Type: application/json" http://localhost:9000/api/v1/todo/1 | jsonpp
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    16  100    16    0     0   2025      0 --:--:-- --:--:-- --:--:--  2285
{
  "status": "ok"
}

参考:
https://github.com/hugomd/go-todo
https://github.com/gin-gonic/gin
今回のソース:
https://github.com/taisa831/gin-sandbox

Posted on

小学校6年間の算数から中学3年間の数学までを復習してみた

はずかしながら小学校算数から中学校数学までを復習してみたのでまとめておきます。

動機

もともとはこちらの「文系エンジニアが機械学習に入門するために小学校の算数から高校数学までを一気に復習してみました。」の記事を見たのがきっかけでした。復習しようにもどうアプローチしたらよいかわからなかったからです(私の場合は機械学習よりかはただの興味という感じです)。もともと高校数学を少しやってみようかと思っていましたが、そもそも高校入ってからは真面目に授業を受けていなかったので高校数学などほとんど覚えていません(高校入るまではそれなりに勉強していましたが..)。それで高校数学をやるとすぐくじけそうなので、中学数学までをやってみることにしました。タイトルに時間があるのも心理的にとっつきやすくてよかったです。

教材

教材は記事にあった以下の教材を使いました。公立高校受験レベルですがとても分かりやすくまとまっていてよい本でした。ほとんど通勤時間にみていたのでかかった時間は分かりませんが、小学校算数は6時間もかからず、中学校数学は大体6時間くらいだったかと思います。ただ読んでいるだけだと分かった気になるだけなので、こちらの問題「都道府県別 公立高校入試[問題・正答]」を少し解いたりしました。
小学校6年間の算数が6時間でわかる本

中学3年間の数学を8時間でやり直す本

目次

  • 小学算数
    • PART1 分数の計算
    • PART2 少数の計算
    • PART3 面積図・線分図・方程式
    • PART4 すばやく計算
    • PART5 割合
    • PART6 比
    • PART7 単位量あたりの大きさ
    • PART8 速さ・時間・道のり
    • PART9 平面図形
    • PART10 立体図形
    • PART11 比例・反比例
    • PART12 場合の数
  • 中学数学
    • PART1 正の数と負の数
    • PART2 文字式
    • PART3 1次方程式
    • PART4 連立方程式
    • PART5 因数分解と展開
    • PART6 平方根
    • PART7 2次方程式
    • PART8 確率
    • PART9 1次関数
    • PART10 関数y=ax2
    • PART11 図形
    • PART12 三平方の定理

おまけ

ついでに暗算も少しは早くできるようになりたいということで検索して一番にヒットした「暗算を簡単にする10の方法」も少しやってみました。他にもよい暗算の方法があれば教えてほしいです。

  • 左から右に
  • 細かい文字をシンプルに
  • 分数、少数のきまりを覚えておく
  • 数字の「0」と「5」を利用する
  • 倍数を使いこなす
  • 大まかな数字を出す
  • 数字を”リフレーズ”と”リアレンジ”する
  • 答えが合えばそれでいい
  • 億単位の数字にも計算方法はある
  • チップを計算する簡単な方法

まとめ

まだまだ先ですが子供らの高校受験まではある程度教えられるかなという気持ちになりました。ただ実際にはちょっと問題を解いただけなので、またその頃になったら復習しているかもしれません。次は時間を見つけて高校数学で面白そうな分野(機会学習にも役立ちそうな?)を選択してやってみようと思います。

Posted on

私はこうしてGoogleに入社/退社しました系記事まとめ

ここ最近少しブームになっていた、「私はこうしてGoogleに入社/退社しました」系の投稿が、どれも興味深い内容だったので、あとから見返しやすいようにまとめてみました。

記事一覧

Google退職します|eqsan|note

2019/3/15が最終出社日でした。インターン期間も含めると4年ちょっと勤めたことになります。 ちょうど昇進してプロジェクトも一区切りついたタイミングで他にすごくやりたいことができたので転職という形です。 素晴らしい環境なのに情報が少なくて、入ると良さそうなのに敬遠している人を何度か見たので、この記事が参考になれば幸いです。辞める人が言うのも変な話ですが。 …

私はこうやってGoogleに入った (ソフトウェアエンジニア、中途採用編)

( 人にお願いするだけじゃなくて自分も貢献しろよということで昔話を書いてみました。 kazawa フォーマット に従っています。) 学生時代 …

私はこうやって(12年前) Google に入った

書け、という天の声 が聞こえたので書いてます。 私は修士まで物理学を専攻していて、情報系の勉強は特にしていませんでした。ただ、実験結果をまとめるために awk を使ったり(256倍本とか知っています?)、シミュレーションをするために Fortran 書いたり(関数名の長さに制限ありました)はしていました。 …

私はこうして Google に入った (SWE・新卒編) – ふしみのブログ

最近、 Google や大学が開催しているキャリアイベントなどに参加する機会がおおかったので、そこで話したことをまとめて書いてみました。2017年4月入社なので、現在2年目が終わろうとしているところです。 なるべく汎用的に、具体的な対策を中心に書いたので、他の 外資 系企業の採用面接にも役立つかもしれません。参考にしていただければ幸いです。

こうしてGoogleに入社した(kumagi編) – Software Transactional Memo

TL;DR AtCoder やろうぜ Google の(僕から見て)偉い人が立て続けにブログを書いており ここ数件の僕のブログへの反響を読んでも「Googlerだから特別」みたいな意見が散見され、入社へのハードルが変に高く見られてしまっている気がするので、僕が Google に入社する準備として取り組んでいた事とそのレベルを紹介する。程度の低さに安心して欲しい。 英語 …

こうしてGoogleに落ちた – Easy to type

TL;DR Leetcodeをもっとやる必要がありました Googleの社員が選考過程についてブログを書いています。ちょっと前にNTTブームを引き起こした id:kumagi さんとか。 ところで、僕も Google …

私はこうやってGoogleに入った(新卒ソフトウェアエンジニア) – n-yoda’s blog

長い記事を書く人が多いので短くて簡潔なものをと思って書きました、が、思ったより長くなりました。 小さい頃からやっていたところが強みです。周りに聞ける人が一人もいなかったので ググる のが得意。大学で習う以上の強そうな知識とかはあまり無いです。 研究室の先輩方がホームページに載せているものを参考にして書きました。 何もしませんでしたが、何度かやった TopCoder は多分役に立ちました。 TOEFL ITP 547/677点。

私はこうやってGoogleに入りました(Reiko編)

プログラミングスキルは? プログラミングは仕事用のコードを自己流で書きちらかしてるだけだったのでコーティングには全く自信がなく、そのリクルーターさんからいくつか資料が送られてきたので、参考にして勉強しました。Cracking the Coding Interview、プログラミングコンテストチャレンジブック、あといくつかアルゴリズムの本(思い出したら書きます)などをやりました。 …

Google に入るまでの話

Google に入るまでの話. GitHub Gist: instantly share code, notes, and snippets.

いかにしてわたしは Google に入社し、そして退職したか – The Decisive Strike

長山です。2019 年 3 月 29 日付けで 7.5 年勤めた Google を退職しました。 わたしは SWE ではなくアナリストとしてエンジニアリングの組織にいました。検索や Play …

Google に入るまでの話

コンテキスト: https://togetter.com/li/1331865 グーグルジャパンではなくてUSの本社での採用の話。私が受けたのはSoftware EngineerではなくてDeveloper Advocate。Engineering組織の下についているのでコーディング面接有り。ただし評価項目がSWEとは異なる。 …

2008年に中途採用でGoogleに入った時の話|ぽん|note

はじめに 日本でやってる祭りを見ていたら、見た人がビビりそうな話を書いている人がいたので、少しでも心理的なバーを下げるべく自分の話を書いてみました。効果は保証できません。 略歴 電子情報工学修士 > アクセンチュア (1年半) > 医療系スタートアップ (日本5年、アメリカ1年) > Google Japan >US >スイス 入社のきっかけ 前職の医療系スタートアップでアメリカに移住して10ヶ月の時に、会社都合で突然日本に帰ることになりました。生活にも慣れてきて楽しい時期だったので、もっと長くアメリカいたいと思いながらも、ビザが会社に紐付いて

わたしはこうしてVimとSplatoonでGoogleに入った(SWE/新卒/インターン編)|haya14busa|note

コンテキスト:https://togetter.com/li/1331865 # 自己紹介と略歴 haya14busa といいます(GitHub)。VimとGoとSplatoonが好きです。 ## 2012年 京都大学総合人間学部2回生。何もやりたいことがわからなかったころ、なんとなくウェブページ作りたい的なきっかけでプログラミングに触れる。最初期のころはブックマークレット自作したりしてベンリ~って遊んでた。 ほどなくしてVimと出会い、ハマる。 ## 2013-4年頃 Vim プラグインの開発や日本のVimのコミュニティーが楽しくてずっとVimと遊んでた(参考1, 参考2

2016年投稿の過去記事

G社に内定した – 更新しない備忘録改二

前回の更新は4年前らしい。あと15回くらい記事を書いたら寿命だろうか? さて、表題の通り。世の中何が起こるか分からないものである。 自分は インターン 経由の採用である。詳しく書けない部分はあるが、簡単に経緯をまとめようと思う。 ことの始めは 2015年3月の言語処理学会で、会場の隅で@taku910さんと個人的に話していた折、「うちで …

Togatterのまとめ記事

私はこうやってGoogleに入りました

Googleに入社した方々のツイートをまとめました。

記事の中で特にオススメされていた書籍やサイト

LeetCode – The World’s Leading Online Programming Learning Platform

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

Posted on

2019年の抱負

本業頑張るのはもとより、2019年の抱負がある程度固まってきたので書いておきます。

Google Cloud Platformを使う

これまでAWSを自分で多く触るケースはあまりありませんでしたが、GCPを使うケースが増えてきたので今年からはAWSではなくGCPをたくさん触っていこうと思います。

数学をやる

高校3年になるまでは大学行く気もなく全く授業をまともに受けていませんでした。高校2年の終わり頃に少しまじめに授業を受けるようになり、少しずつ数学が楽しくなってきた頃大学進学も視野に入ってきました。そんなときに自分が文系を選択していたことを知り、私立受験は英国社の三教科であることを知り(国立など受験の仕組みすら知らず)、そこで自分の数学学習人生は終わりました。そんなこんなで今までやってきたのですが、ふと最近以下の投稿をみてなんとなくやってみようかなと思いはじめました。記事のようにAIや機械学習の為ということも少しはありますが、自分としてはただの興味ですのでどこまでやれるかはわかりませんが、今小学中学の復習を終え数I・Aをちらちらみはじめています。
文系エンジニアが機械学習に入門するために小学校の算数から高校数学までを一気に復習してみました。

宅建をとる

今の本業が不動産テックということもありますが、これもただ興味が出てきたのでやってみようかなという感じです。宅建みやざき塾というYoutube動画が秀逸なので今はこの動画を移動中などにみています。

体力をつける

小さい子供が2人いると休日にランニングすることもままならないので去年は体重がかなり増えてしまいました。運動ができてないだけでなく、肩こりなど疲れやすい状態になっていたのでこれを今年は改善しようと思います。最近は食事や運動を気にしつつ「長生き味噌汁」をはじめました。

まとめ

どこに向かっているのかという感じはありますが、本業で事業を伸ばすことを頑張りつつこれらをやっていこうと思います。

Posted on

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

フリーランスではないけど確定申告する機会があったりと税金のことを考える機会が増えたので大分昔に買った「フリーランスを代表して 申告と節税について教わってきました。」という本を読み返しました。かなり昔の本ですが大きくは変わっていないと思うのでまだ大丈夫かなと思っています。ただ間違いがある可能性もあるのでその点はご注意ください。指摘も大歓迎です。税金については、その時理解した気になってもすぐ忘れてしまうので大事なところだけメモとして残しておきます。

フリーランスを代表して 申告と節税について教わってきました。 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円 = 252,500円
このように計算してみるとどちらの計算方法でも金額は同じになりました。同様に他のケースもやってみます。

課税される所得金額が700万円の場合

順番に計算した場合(20%の控除額を引く)
695万円 × 20% + 5万円 × 23% – 427,500円 = 974,000円
単純に計算して後から控除額を引いた場合
700万円 × 23% – 636,500円 = 973,500円
何故か500円の差分が出てしまったのですが大体同じになりました。

課税される所得金額が910万円の場合

順番に計算した場合(23%の控除額を引く)
900万円 × 23% + 10万円 × 33% – 636,500円 = 1,466,500円
単純に計算して後から控除額を引いた場合
910万円 × 33% – 1,536,000円 = 1,467,000円
何故か500円の差分が出てしまったのですが大体同じになりました。

課税される所得金額が1810万円の場合

順番に計算した場合(33%の控除額を引く)
1800万円 × 33% + 10万 × 40% – 1,536,000円 = 4,444,000円
単純に計算して後から控除額を引いた場合
1810万円 × 40% – 2,796,000円 = 4,444,000円
つまり納付税額で所得税率を算出してそこから控除額を引くだけで最終納税額が算出できます。

税金の色々

税金といっても様々な税があるので主なところを取り上げておきます。

所得税

所得税は上記で記載した通りですが、支払うタイミングが住民税とは違うので注意が必要です。所得税は年末調整または確定申告にてその年1年の納税額を確定し納税します。

住民税

住民税はその年の納税額の10%を翌年に支払う形となります。税率は一律10%で都道府県民税:4%、市町村区民税:6%という割合です。

消費税

消費税は売上が1千万円超えないと免税事業者となるので1千万円以下の場合は気にする必要がありません。

社会保険

社会保険は基本的に以下のようになります。

  • 会社員:健康保険、厚生年金(会社が半分負担してくれる)
  • フリーランス:国民健康保険、国民年金

健康保険のメリット

  • 傷病手当金

病気や怪我によって働けなくなった場合、標準報酬月額の2/3(交通費や残業代も含む)が最大1年6ヶ月受け取れる

  • 被扶養者も無料で社会保険に入れる

年間収入が130万未満であれば被扶養者として無料で旦那の保険に加入することができる
参考:健康保険・厚生年金保険料の金額の推移「平成30年4月分(5月納付分)からの健康保険・厚生年金保険の保険料額表」
平成30年4月分(5月納付分)からの健康保険・厚生年金保険の保険料額表

青色か白色か

白色申告は青色の簡易簿記とほとんど違いがないので「10万円の控除」が受けられる青色の簡易簿記にしない手はないようです。65万円の控除が受けられる複式簿記になるにはいくつか条件があるようです。

扶養控除

扶養控除は主には150万円(前は103万円)の壁と130万円の壁があります。

  • 所得税の扶養控除限度額は150万円
  • 社会保険料の扶養控除限度額は130万円(一概に130万円というだけでなく月給88,000円以上など色々と別の条件があります)

所得税の扶養控除限度額は150万円の壁とは

150万円の壁の理由を書いておきます。給与所得控除を受ける人は誰でも必ず最低65万円は控除されます。なので控除される対象者は正しくは「合計所得金額が85万円以下(以前は38万円以下)」の人ということになります。

領収書は最低でも額面15%の金券

税率は最低でも5%で住民税の10%を加えると15%になります。領収書を経費として申請するとその分の納税額が減るので領収書の15%分は戻ってくることになります。課税所得が190万円の人が10万円分経費を上乗せできると課税所得は180万円になります。28万5千円だったのが、27万円になります。つまり10万円の15%である1万5千円が浮くことになります。こう考えてみるとわかりやすくこれはなるほどと思いました。
また、領収書は必ず領収書でなくてもレシートでも伝票処理でもよく何に使ったかがわかればよいようです。(レシートは消えちゃったりするのでそういう意味で良くなかったりはする)

まとめ

ここ最近は個人で確定申告することが出てきて、知らないだけで損したりビクビクしたくないなと思い読み返しました。当時読んだ時はなんとなくスルーしていたことが今読んでみるとなるほどーということが沢山ありました。

Posted on

「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日目の夜について
    • 終わりに

Day2:今すぐ始められる機械学習,”Pythonic”なコードを書くには?

こんにちは, taisaです。第2回となる今回は,「⁠ PyCon APAC 2018 in Singapore 」のカンファレンスデイ2日目の様子をお届けします。⁠キーノート」や「セッション」のレポートの他にも「はじめて海外カンファレンスに参加してみて」や「夜の懇親会について」「⁠シンガポールについて」のコラムもありますので合わせてご覧ください。 (家治亮) 2日目のKeynoteには …

PyCon APACしか参加したことはないけど海外カンファレンスは本当に刺激的でおもしろい。来年が楽しみだし他にも行きたい。

Posted on

2018年 半年の振り返り

2018年も半年を過ぎたので振り返る。

2018年の抱負

今年も去年と同様に2018年の抱負を書く。 2018年の抱負 去年と同様にいろんなことはできないので大目標3つ+サブ目標。これ以外にも細かいものはいくつかあるけど別途まとめる。 CTOとして 機械学習 英会話 サブ目標 引き続きフロントエンド CTOとして …

前置き

自分はあれもこれもできるタイプではないので、1年の抱負のような目標と中長期的な目標をたててそれをたまに見直しつつただこなすだけという方針にしている。やり方は結果的にこうなりたいというのをリスト化して、そこからドリルダウン式で必要なことそれを一つずつクリアしていく感じ。
2018までに立てていた中長期的な目標は、すべての項目をクリアできたので、年初にあらためて書き出してそれをまた同じように実行している。中長期的な目標と1年の目標があって、1年の目標は、主目票、サブ目標、個人活動、プライベートで分けて立てている。

CTOとしての活動

2018年1月からはスタートアップのCTOという立場で新しいスタートを切ることができた。

選択と集中

これは自分にとってもスタートアップにとっても非常に重要。やりたいことが沢山ある中で限られたリソースで如何にやるべきことをやるか。ただ今年の前半は、業務以外に書籍執筆、コミュニティ活動に結構時間を割いたので選択と集中はできなかった。前半で個人活動は一区切りついたので後半は少し抑えて選択と集中をすることにする。

開発速度と品質担保

開発速度と品質担保はフェーズによって全然やり方が違う。0→1のフェーズはとにかくアウトプットして結果を出す必要がある。今は1→10にするフェーズだと思っているのでどう進めるか色々考えた。
この段階を疎かにすると10→100にするフェーズで開発速度や品質に大きくしわ寄せがくるし、一方でやり過ぎると10→100の段階にたどり着けさえしなくなる。なのでバランスをとりながら開発速度と品質が担保できる方法を考えて進めた。どうしても大きく変えなければいけないところとかはあって、既存機能に影響を与えてしまったのは反省点。

チームビルディング

チームビルディングもその時にあったやり方があると思う。去年1年間はスクラムを組んで良さを実感できたけど、今スクラムを組むのは違うと思ってやっていない。ただ、自分がだんだん何やってるのか分からなくなってきたので途中から1人スクラムをはじめた。そして最近、役割だけスクラムっぽい取り組みを入れた体制にした。

新規学習技術は機械学習

去年は、JavaScriptをメインにして活動してある一定の成果が出せたので、今年はかねてから考えていた機械学習をメインにした。そして「AIPyハンズオン勉強会」というのを開催してみんなで一気に学習することにした。
勉強会はこの半年で2回開催できた。これはほんとにやってよかった。次回は7/19に第3回を予定している。こういうのは継続が大事なので続けていきたい。

執筆

年末から書いていた本を無事出版することができた。書籍執筆はすごく面白いのでまた書きたい。

コミュニティ活動

PyCon JP活動

今年もPyCon JPスタッフをやっているけど案の定あまり活動ができていない。それでも前半は時間を見つけて少しやったけどどうしても中途半端になるので後半の活動は抑え気味になると思う。

PyCon APACに参加する

去年に引き続き今年も参加してきた。海外カンファレンスはPyCon APACしか参加したことないけど本当に面白いので機会をつくって他も参加していきたい。今年はgihyoに参加レポート記事を寄稿した。こういったアウトプットができるのもよさの一つ。

英語でコミュニケーションができるように

去年PyCon APACに参加した時と比べると、少しDMM英会話をやったりテック系Podcastを聞いたりしたおかげか、普通に生活する分には英語に対する抵抗感は少し減った。トークについても去年よりは聞き取れた気はするけど、話す人によっては全然聞き取れなかったりするのでなんとも言えない。英語使う機会は今の所ないのでこれからはテック系Podcastを聞くくらいに抑える。テック系PodcastはFull transcriptがあるのでTalk Python To Meをよく聞いている。

ブログ継続

ひとつき2投稿目安だけど半年の時点で9投稿と少し少なめ。

サブ目標

サブ目標は今の所ほぼ未着手。JSの深掘りをする予定。

プライベート

草野球とソフトボールをやる

今年もThe Soulsという草野球チームで野球やってる。今季未だ負け無し。今年は草野球に加えてソフトボールもはじめた。

ハーフマラソンかフルマラソンに出る

4/14にハーフマラソンを走った。フルマラソンは経験あるけどハーフははじめて。数年前にフルマラソン走ったときよりもハーフのタイムは悪かったけどなんとか完走。秋に向けて少しずつ準備する。

楽天バンクと楽天証券を開設したけどそれ以上はまだ何もやっていない。ちなみに楽天証券はマイナンバーの提出が必要。

まとめ

前半のうちに個人活動はきりよくやることができたので後半は事業に注力する。あと今年は飲みに行きまくっていた。それはそれでいろんな業種の人と出会えるから楽しいけど後半は抑える。体調もたまに不安を覚えるので体調管理もちゃんとせねば。

Posted on

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やる
  • コードリーディング

今年の抱負のまとめ

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

Posted on

2017年の振り返り ~活動報告~

2017年のインプットとアウトプットを整理しながら振り返る。

読書

大体以下の本を読んだ。今年は書評ブログも書こう。

ブログ

合計17本書いた。1、2月は外したけど概ね月1ペースは保てたのでよかった。今年も最低同じペースか月2本ペースで書きたい。

外部LT

そもそも外部でLTをすることが目標だったからできてよかった。実際にはもう一つやったけど SlideShip じゃなかったから資料がみれなくなった。SlideShip最高!

コミュニティ活動

去年活動できなくて残念だったから今年はコミットできたし当日参加もできたから最高だった。

カンファレンス参加

PyCon APAC は行きたくて行けてなかったイベントだったから行けて本当によかった。
今年もなんとか参加したい。

英語

  • Talk Python To Me
  • DMM英会話
  • 海外ドラマ・映画
    • Walking Dead
    • メンタリスト
    • プリズン・ブレイク

なんとか英語に触れられた一年になった。今年はもう少し比重を多くする予定。

ライブ

  • Perfume FES!! 2017 Perfume×電気グルーヴ@幕張
  • 5th ANNIVERSARY SILENT SIREN LIVE TOUR 2017 『新世界』@武道館
  • Яealライブ@渋谷www

SILENT SIREN に関しては初めて単独でチケット取って単独で参加したライブになった。
それ以外は皆さんのお陰で行けたライブ。ありがたい。

草野球

まだ子どもと一緒に行けないからほとんど行けなかったけど最後は子どもと2人で行けた。今年はソフトボールにも参加する予定。