Yuji Takayama

ボクの前に道はない、ボクの後ろに道はできる

ソフトウェア業界に生き続けて早20年以上。SI 企業でのオープン系開発、ウェブ開発から、CMS 製品の開発、製品企画を経て最近では、IT トレーナーにジョブチェンジしたての Software Engineer です。

ネコを与えていると喜びます。

このサイト、ブログの内容は個人の意見と見解に基づき書かれてます。所属する組織や団体とは一切関係ありません。
まあ、大したことは何も書いちゃいないですけどね。


Experience

IT TRAINING ENGINEER

TRAINOCATE

これまでのエンジニア業からジョブチェンジ。まずは、AWS の認定インストラクターとなるべく日々勉強中

Amazon Authorized Instructor になれたので AWS のコース実施や、クラウド関連のコースを実施してます。
実施できる AWS のコースを増やすべく日々勉強中

November 2019 - Present

SENIOR PRODUCT MANAGER / LEAD ENGINEER

SIX APART

Movable Type 6 と 7 の製品企画を担当し、Movable Type Advanced を含むソフトウェア版、クラウド版、AWS 版のリリースに携わる。また、リードエンジニアとして開発の方向性の決定などを担当。

2014 - October 2019

LEAD ENGINEER

SIX APART

Movable Type のリードエンジニアとして、国内の開発を指揮すると共に、国内外のパートナーとも協業して製品開発に携わる。また、パートナー企業向けの技術的コンサルタントやヘルプ窓口を担当し、関連ソリューションの開発にも尽力する。

2010 - 2013

SENIOR SOFTWARE ENGINEER

SIX APART

Movable Type の開発エンジニアとして、US 本国のチームと共同で開発作業に携わる。手が空いたときには、自社製品・サービスから機能を~~パクった~~リスペクトされたプラグインの開発などをおこなう。

April 2006 - 2010

Before Six Apart

Many...

飲食業従業員をしていたとき、ふと思い出す。「あ、俺そういえばプログラミングの仕事したかったんじゃなかったっけ?」

ということで、自分用の Noterbook PC を購入し、VB、VCを独学で学ぶ。C言語が楽しかった。

そして、IT業界への道を踏み出した。

その後は、下請けな SIer を何社か転々として有名なサイトのお仕事に絡んだり、パッケージソフトを開発したり、プロジェクトを切り盛りしたり、社内 Network の 設計と運用したり、Oracle 触り倒したり、Java に傾倒したり、サーバー作って遊んだり、システム障害が発生して夏の真夜中にバイク飛ばして Data Center に行ったり、途中でゲリラ豪雨にあってひどい目にあったり。

というような日々を過ごす。(これはこれで充実して楽しかったけど、若いから乗り切った部分は否めない)

1994 - 2006

Skills

Programming Languages & Tools
  • Perl
  • Java
  • JavaScript
  • PHP
  • C/C++
  • HTML5
  • CSS3
  • AngularJS
  • jQuery
  • Spring Boot
  • Gulp
  • SaSS
  • Amazon Web Services
  • Python
  • Veu.js
Workflow
  • Cross Functional Teams
  • Agile Development & Scrum
  • Multilingual Team
Life
  • 普通自動車免許
  • 普通自動二輪免許
  • PADI オープン・ウォーター、アドバンスド・オープン・ウォーター
Certificates
  • AWS Certified Solutions Architect – Professional (SAP)
  • AWS Certified Developer – Associate (DVA)
  • AWS Certified SysOps Administrator – Associate (SOA)
  • AWS Authorized Instructor (AAI)
  • AWS Certified Cloud Practitioner (CLF)
  • AWS Certified Solutions Architect - Associate (SAA)

Blog - Recent Post

スポットインスタンスの中断通知を受けて Rocket.Chat をバックアップする

June 11, 2022 4:30 PM

普段はお仕事で Rocket.Chat を利用しているわけですが、基本的にはスポットインスタンスを利用しています。

スポットインスタンスである以上は避けられないのがスポットインスタンスの中断なわけでして、スポットインスタンスの料金履歴を見ながら比較的料金が安定しているインスタンスタイプとアベイラビリティゾーンを選んでいたわけです。

それでも起きるときには起きるものです。久しぶりにインタラプトが発生してスポットインスタンスが逝きました。

中のデータ?

もちろん、一緒に逝きました。バッドプラクティスを実現していた結果です。

これでは良くない。ということで、きちんと対策を取っていきます。(この記事は大作でもあります。)

Read more

S3 のオブジェクトメタデータを HeadObject で取得するには

April 8, 2022 9:04 AM

S3 には、ユーザーが任意の Key-Value データを保管できるオブジェクトメタデータという仕組みがあります。

単純なデータを格納できるので敢えてデータベースを用意しなくても済むというメリットがあります。

そして、S3 API には、オブジェクト自体を取得せずにオブジェクトの情報を取得する HeadObject という API があります。

API のリファレンスにはオブジェクトメタデータも取得できると書いてありますが、Ajax で呼び出したときには実はメタデータは取れません......。

しばらく悩んでいて、GitHub の AWS JS SDK Issues にもレポートが合ったので Watch していたのですがやっと原因がわかりました。

Read more

S3 と連携して Step Functions で EC2 Image Builder を動かす

February 2, 2022 3:35 PM

その昔、こんな記事を書きました。

S3 と連携して CodePipeline で EC2 Image Builder を動かす

CodePipeline を利用して Lambda を起動して EC2 Image Builder を呼んでいました。

その後、S3 から EventBridge 経由で直接いろいろなサービスを連携できるようになったので、ノーコードで Step Functions のフローにできるんじゃないか?と思いやってみた次第。

Read more

AWS Solution Architect - Professional 取得

February 1, 2022 9:33 PM

今年も新しい AWS 認定取ってきた。AWS Solution Architect - Professional です。

長年 AWS を触ってきているけど、エンタープライズ向けソリューションアーキテクト向けとも言える認定試験なので、普段は全く触ったことが無いサービス(触れる機会がない)や、大規模の設計に関する知識を問われるので勉強も大変というアレです。

AWS 認定インストラクターになってからガチで AWS を改めて学んでますけど、今回は中々の戦いでしたわ。180分フルに使ったわ・・・・・・。

Read more

DynamoDB でとある属性が存在しない項目を探す

January 31, 2022 4:13 PM

特定の属性を持たない項目を洗い出してなんとかする。というシチュエーション。

必要なデータなら入れるときに弾きなさいよ。というところでもあるけれど、必須ではないけど・・・。というような場面は、まあありえるか。

Read more

Read more stories