のーずいだんぷ

主に自分用メモですが、もしかしたら誰かの役に立つかもしれません

2019-01-01から1年間の記事一覧

プログラマ1年目、2019年12月の振返り

プログラマとしての1年目が終わった 実績確認 GitHubのContribution ブログ 読書 読了(一旦必要な知識は読み終えたと感じたもの) 読書中(少しでも読んだもの) 勉強会 前月の振返りと今月の目標決定 Keep Problem Try 全体的な所感 2019年の所感 終わりに プ…

<Mac>MeCabをMacへインストール/アンインストール/文字化け対処

はじめに mecabエンジンのインストール エンジンのインストール 辞書のインストール 文字化け対処 MeCabのアンインストール はじめに タイトルの通り、mecabの導入についての備忘録。 散々qiita等で記事にされているが、今日時点でのうまく行った結果として…

<Java>H2DBの例外:SQLExceptionをエラー内容によってハンドリングをしたい

はじめに JavaのJDBCのエラーについて SQLExceptionのエラーコードを使おう エラーコードとは? 実際のコード 終わりに はじめに とあるアプリケーションのデータベースとして、H2を採用していた。そのアプリケーションでは問題があり、都合上DBへ挿入するデ…

<AWS>EC2のuser-dataでメインアプリケーションの実行をしてはいけない

はじめに システムの概要 user-dataとは? どういう問題が起こったのか? この問題の特徴 原因と解決策 はじめに 本記事はタイトルについての不具合の備忘録である。 正直、私の未熟さ故の不具合であり普通のエンジニアならこんな失敗はしないものと思うが、…

<AR>Amazon Sumerian で ARをはじめてみた

はじめに 今回やってみたこと 必要な知識 該当のチュートリアル マーカーレスAR Sumerianプロジェクト作成 オブジェクトを配置 ARkitで使用するURLのビルド ARkit側の設定 実行結果 画像認識(マーカーあり)AR Sumerianでオブジェクトを準備 Sumerianエンティ…

Lambdaでseleniumを使ってフォームテストを自動化してみた

はじめに ソースコード Lambdaデプロイパッケージの準備 seleniumとheadless-chromeをインストール lambdaへデプロイ パッケージ構成 Lambdaへデプロイ 参考 はじめに サイトの問い合わせフォームの調子が時折悪くなるため、seleniumとheadless-chromeを使用…

<GCP>Google BigQueryのテーブルのパーティション列とは

はじめに パーティション列とは? パーティション・プルーニング 終わりに 参考 はじめに 最近仕事でGCPのサービスの一つ、Google BigQueryを使用することとなった。 使用する、と入ってもひとまずクエリを作成して中身を確認するだけなのだがその中で初めて…

<Scala>await resultによるOOMErrorで苦しんだときに学んだこと

はじめに 遭遇したバグ 発生したバグについて OOMErrorには種類があるということ 調査にはヒープダンプをとるのが最も簡単な方法 結局の原因 await resultのネストの危険性 最後に 参考 はじめに 職場で遭遇したかなり苦しかったバグについて、具体的なコー…

kinesis data firehoseでCloudWatchLogsのログを収集する

概要 kinesis firehoseの設定 step1: Name and source step2: Process Records step3: Choose a destination step4: Configure settings CloudWatchLogsの設定 LogGroupの作成 サブスクリプションフィルター用のIAMロールを作成する LogGroupにサブスクリプ…

kinesis firehose の 変換用Lambda関数によるデータ変換中にエラーが出た場合の対処

どういう問題か? エラーログ 原因 解決策 参考 どういう問題か? CloudWatchLogsのとあるロググループに蓄積されるログをサブスクリプションフィルターで全て取得して、データをS3に出力するkinesis streamを作成した。 その際のログは、出力前にlamba関数…

<勉強会>xR Tech Tokyo #18に行ってきた備忘録

はじめに VR脱出アドベンチャーゲーム『Last Labyrinth(ラストラビリンス)』での没入感向上テクニック(@furaさん) アナログとデジタルを溶け合わせて作る「体験としてのAR」作り(@katakoto_std) 体験を直感的に理解出来るようにするにはどうするべきか で…

テスト駆動Python読んだ 〜その2:フィクスチャとは?組み込みフィクスチャを使ってみる〜

テスト駆動Pythonをよんだ フィクスチャとは? 使い方 フィクスチャってどんなふうに動くの?? フィクスチャのyield ってなんだ フィクスチャを他のモジュールで共有する方法 フィクスチャ実行をトレースする方法 ERRORとFAILEDの違い フィクスチャをパラメ…

<Python>悪い例外処理とraiseへの誤解

概要 Goto文としての例外は使ってはいけない。 結局なにがいいたいのか? raise文への誤解 結論、raiseに渡すのはクラスでもインスタンスでも良いということ 参考 概要 今回はコードレビュー中に指摘を頂いた2点数の内容について説明する。 Pythonをはじめと…

プログラマ1年目、11月振返り

実績確認 GitHubのContribution ブログ 読書 読了(一旦必要な知識は読み終えたと感じたもの) 読書中 勉強会 前月の振返りと今月の目標決定 Keep Problem 11月振り返り雑感 Try 全体的な所感 2回目の振り返り。(勤続11ヶ月) 早速今回も振り返っていく。 振り…

<勉強会>ARISE#2セッションの個人的まとめ

はじめに セッション一覧 Magic Leap Session(不参加) Augmented Commerce Session ~ARで変わるコマースの形~(パネルディスカッション途中参加) 3人(梶谷さん、Discontさん、宮松さん)パネルディスカッションへ… Q1. なぜコマースでARが求められているのか?…

AWS SNS でモバイルプッシュ通知の再送期間を変更する

概要 具体的にやること説明 使用するAPI 基本的なパラメータ 追加するパラメータ その他再送に関わる話 設定できるTTLの値 再送をそもそも行いたくない場合 FCM APNs 再送期間の設定の優先度 参考 概要 APNsとFCMのモバイルプッシュをSNSでpublish()APIを叩…

<Python>boto3 でfargate設定しようとするとエラー:No Fargate configuration exists for given values. が発生する

何をしようとしたのか エラー 原因 対策 何をしようとしたのか タイトルのとおり、ECSのFARGATEでタスク定義をboto3から登録しようと考えていた。 使用したAPIは、register_task_definitionを使用 そのときに以下のエラーが発生した。 エラー No Fargate con…

Kotlinの開発環境を構築&実行方法とか

はじめに JDKをインストールする SDK manをインストールする バージョン確認 KotlinでHello World ktファイルの作成 ktファイルの実行 Kotlinはclass定義が必要ない? ktファイルをスクリプトとして実行する KotlinのREPLを使用する 終わりに 参考 はじめに …

エンジニアのためのGitの教科書を読んだのでまとめる

はじめに git checkout が本当にしていること 2つのアンステージングの違い ブランチ名の変更 コンフリクトの事前検出 --no-commitによる方法 git format-patchによる方法 やっぱり一番はお試しのマージ用ブランチを作ること 最後に はじめに プログラマとし…

<Scala>SlickでHikariCPのコネクションプールを使用する

具体的にやること 依存ファイルを追加する HikariCP使用のための実装 HikariConfigに設定を保存する。 諸注意 最後に 参考 具体的にやること 以下の環境で実行する Scala(2.11系) slick(3.0.0) h2(1.4.199) マルチスレッドの場合、スレッドプールのサイズは…

Scalaマスターになりたくて ~コレクション(array, list, tuple, set, map)の基本~

はじめに、Scalaはすごい Scalaのコレクションのimutableとmutable 配列(ArrayとList) 宣言と初期化 要素の参照(呼び出し) tuple(タプル) 宣言 値の参照(呼び出し) Set(集合) 宣言 値の参照(呼び出し) map(マップ) 宣言 値の参照(呼び出し) 終わりに 参考 は…

Scalaマスターになりたくて ~変数と関数と条件分岐とループ~

一日一文法シリーズ改め… 変数宣言 関数の定義 例に関する細かい話 Unit型とは Scalaのクオート 条件分岐とループ whileとif-else foreachとforによるループ 参考 一日一文法シリーズ改め… 先日Pythonでやっていたこの一日一文法シリーズ、流石に忙しいとき…

<Python>AWS-SDK(boto3)の例外ハンドリング

やろうとしたこと 実際のコード例 コードの解説 ちょっと特殊?な例外ハンドリングのコード コードの解説2 補足 やろうとしたこと AWS-SDKでは沢山の例外が存在するが、実際はいくつかの例外クラス以外はbotocore.errorfactory.****のように実は逐次生成して…

<Node.js>ストリームでgzip圧縮する方法とpipeでのエラーハンドリングについて

やろうとしたこと 実際のコード 解説 参考 やろうとしたこと タイトルの通り、Node.jsでgzip圧縮する方法を調べたが、意外と調べてもいい情報が見つからなかったのでまとめておく。 方法は2種類あり、 同期的な圧縮 非同期的な圧縮 が存在する。圧縮は時間の…

Scalaにおけるobject(static)とは

はじめに staticとはそもそもなにか Javaにおけるstatic Scalaにおけるstatic 参考 はじめに 私の所属する会社ではコードベースがScalaなのだが、方針としてPythonへ移行することになっているため、今の所ちゃんと書いたことがなくこれまで雰囲気で読んでい…

build.sbtのdependenciesに追加したライブラリがダウンロードされない&IntelliJで名前解決できない

どういう問題か 原因 1. build.sbt編集後もなかなかダウンロードされない問題 2. ローカルのライブラリを消してもなかなかダウンロードされない問題 3. IntelliJでライブラリが使用できない(ようにみえる)問題 解決方法 1. build.sbt編集後もなかなかダウン…

Makefileでsourceコマンドが使えなかったときの対処法

どういう問題か? 原因 解決法 最後に 参考 どういう問題か? 私はMakefileを使って開発環境構築を自動化したりするのだが、その際にsourceコマンドを実行させるシェルスクリプトを書いた。 そして実行したところ以下のようなエラーが表示され、実行できなか…

Pythonでサブコマンドを持つCLIを使えるパッケージをつくった

何をしようとしたのか? CLIを作成する順序 1. デフォルトのPythonパッケージを作成する。(Cookiecutter) 2. CLI用のスクリプトを作成する。(Clickを使用する) 3. Pythonの配布用パッケージの設定する。(setup.py) 1. packages 2. entry_points 最後に ほん…

IntelliJでPythonモジュールの補完が効かない(unresolve)ときに確認すること5点

どういう状況か? 5箇所の設定を確認しよう 設定1:Pythonプラグインは有効になっているか 設定2:Project StructureのModule設定 設定3:正しいインタプリタが設定されているか 設定4:PreferenceのPython Console 設定5:モジュールのコンテンツルートが設…

メンタリストDaiGoさんの動画で有効な勉強法について学んだ

なんの記事? なぜ学んだのか? なぜDaigoさんの動画を選んだのか?他にも本とか色々あるよね? 動画まとめ 以下にして難解な概念を記憶に定着させるのか? 10歳児のような相手に対して説明することをイメージする 記憶定着についてもメソッドはある? 長時…