未経験からweb系?のエンジニアとなってベンチャー企業で働いている駆け出しプログラマのブログ。日々得られたIT関連の技術的な知見を共有します
プログラマとしての1年目が終わった 実績確認 GitHubのContribution ブログ 読書 読了(一旦必要な知識は読み終えたと感じたもの) 読書中(少しでも読んだもの) 勉強会 前月の振返りと今月の目標決定 Keep Problem Try 全体的な所感 2019年の所感 終わりに プログラマとしての1年目が終わった タイトルの通り、現職に就職したのが昨年の丁度1月1日(正確には出社日は7日だが…)だったので、明日でちょうど1年ということになる。 10月から振返りを開始したので、また2019年の目標というものは決めていなかったから今回は12月の振り返り、ということになる。 まあとりあえ…
<Mac>MeCabをMacへインストール/アンインストール/文字化け対処
はじめに mecabエンジンのインストール エンジンのインストール 辞書のインストール 文字化け対処 MeCabのアンインストール はじめに タイトルの通り、mecabの導入についての備忘録。 散々qiita等で記事にされているが、今日時点でのうまく行った結果として記録しておく。 mecabエンジンのインストール ダウンロード先はこちら、基本的にインストール方法は同サイトに説明がある。 taku910.github.io エンジンのインストール $ tar zxfv mecab-0.996.tar.gz $ cd mecab-0.996 $ ./configure --with-charset…
<Java>H2DBの例外:SQLExceptionをエラー内容によってハンドリングをしたい
はじめに JavaのJDBCのエラーについて SQLExceptionのエラーコードを使おう エラーコードとは? 実際のコード 終わりに はじめに とあるアプリケーションのデータベースとして、H2を採用していた。そのアプリケーションでは問題があり、都合上DBへ挿入するデータに重複があり、どうしても一意制約違反(既に主キーが存在している項目をinsertすると発生する)が発生してしまっていた。 エラーが発生してもアプリケーション自体には問題はないが、アラートがうるさい(これは致命的)ので、なんとかこのケースの場合は例外をにぎりつぶすこととした。 JavaのJDBCのエラーについて ハンドリングす…
<AWS>EC2のuser-dataでメインアプリケーションの実行をしてはいけない
はじめに システムの概要 user-dataとは? どういう問題が起こったのか? この問題の特徴 原因と解決策 はじめに 本記事はタイトルについての不具合の備忘録である。 正直、私の未熟さ故の不具合であり普通のエンジニアならこんな失敗はしないものと思うが、念の為書き記しておく。 システムの概要 業務でとあるシステムを開発しており、そのインフラとしてEC2を採用していた。 そしてそのシステムは常時タスクがあるようなシステムではなく、どちらかというとサーバレスアーキテクチャがフィットするような、逐次実行系のシステムだった。 本来ならば、Lambdaを使用するところなのだが、Lambdaの最大処理時…
<AR>Amazon Sumerian で ARをはじめてみた
はじめに 今回やってみたこと 必要な知識 該当のチュートリアル マーカーレスAR Sumerianプロジェクト作成 オブジェクトを配置 ARkitで使用するURLのビルド ARkit側の設定 実行結果 画像認識(マーカーあり)AR Sumerianでオブジェクトを準備 Sumerianエンティティとスクリプトの連携 スクリプトの編集 アプリ側の準備 終わりに はじめに これはQiitaのARアドベントカレンダー2019の22日の記事(完全に忘れていた) 現在ARのアプリを作成する方法はいくつかあるが、その方法の一つにAWS Sumerianがある。 Sumerianがどういうものか、まだあまり…
Lambdaでseleniumを使ってフォームテストを自動化してみた
はじめに ソースコード Lambdaデプロイパッケージの準備 seleniumとheadless-chromeをインストール lambdaへデプロイ パッケージ構成 Lambdaへデプロイ 参考 はじめに サイトの問い合わせフォームの調子が時折悪くなるため、seleniumとheadless-chromeを使用して、フォームの動作確認スクリプトを自動化したかった。 インフラにはAWS Lambdaを使用したが、seleniumに関するエラーが色々出たためちょっと苦労した。 とりあえず動けばOKがゴールだったのでコードとかはかなり雑に書いているのでポイントだけ理解いただきたい。 ソースコード 一…
<GCP>Google BigQueryのテーブルのパーティション列とは
はじめに パーティション列とは? パーティション・プルーニング 終わりに 参考 はじめに 最近仕事でGCPのサービスの一つ、Google BigQueryを使用することとなった。 使用する、と入ってもひとまずクエリを作成して中身を確認するだけなのだがその中で初めて知る概念「パーティション列」について学んだのでその備忘録。 パーティション列とは? 本題の前にBigqueryの性質について少し説明をする。 BigQueryでは「パーティション分割テーブル」という概念(仕組み)がある。これはざっくりいうと、「スキャン範囲を局限するためにテープルを日時で分割する仕組み」といえる。 これには以下の2点の…
<Scala>await resultによるOOMErrorで苦しんだときに学んだこと
はじめに 遭遇したバグ 発生したバグについて OOMErrorには種類があるということ 調査にはヒープダンプをとるのが最も簡単な方法 結局の原因 await resultのネストの危険性 最後に 参考 はじめに 職場で遭遇したかなり苦しかったバグについて、具体的なコードでの言及は避けて説明する。 今回のバグに遭遇した状況は以下である。 scala2.11.8 DBアクセスにSlickを使用、ただしコネクションプールについては設定していない 遭遇したバグ 端的に言うとOOMErrorが発生した。 トレースバックは以下であった。 Oct 21 04:24:07 java[2171]: Caused…
kinesis data firehoseでCloudWatchLogsのログを収集する
概要 kinesis firehoseの設定 step1: Name and source step2: Process Records step3: Choose a destination step4: Configure settings CloudWatchLogsの設定 LogGroupの作成 サブスクリプションフィルター用のIAMロールを作成する LogGroupにサブスクリプションフィルターを設定する 参考 概要 AWSのCloudWatchLogsでは、ロググループ単位でログを収集することが出来るが、CloudWatchLogsの分析機能のまま分析するには少々非力であったり、別…
kinesis firehose の 変換用Lambda関数によるデータ変換中にエラーが出た場合の対処
どういう問題か? エラーログ 原因 解決策 参考 どういう問題か? CloudWatchLogsのとあるロググループに蓄積されるログをサブスクリプションフィルターで全て取得して、データをS3に出力するkinesis streamを作成した。 その際のログは、出力前にlamba関数による変換を有効にしていた。 大量のログ(合計数十万レコード程度)の処理を試みたところ、以下のエラーが発生した。 エラーログ Some records failed while calling PutRecordBatch to Firehose stream, retrying. Individual error c…
<勉強会>xR Tech Tokyo #18に行ってきた備忘録
はじめに VR脱出アドベンチャーゲーム『Last Labyrinth(ラストラビリンス)』での没入感向上テクニック(@furaさん) アナログとデジタルを溶け合わせて作る「体験としてのAR」作り(@katakoto_std) 体験を直感的に理解出来るようにするにはどうするべきか でも体験の翻訳自体が難しいのでは??… ドラゴンボールのコポコポの中に入るとマトリックスの世界に行ける未来をプールVRで創る まとめ 体験させて頂いたデモ(他にも色々ありました) はじめに はじめて xR Tech Tokyoに参加してきたので個人的に得られた知見をまとめなおしてみたもの。 LTについては内容が凝縮され…
「ブログリーダー」を活用して、damakoさんをフォローしませんか?
指定した記事をブログ村の中で非表示にしたり、削除したりできます。非表示の場合は、再度表示に戻せます。
画像が取得されていないときは、ブログ側にOGP(メタタグ)の設置が必要になる場合があります。