B-Teck!

お仕事からゲームまで幅広く

【IntelliJ/Scala】推論された型を常にエディタ上に出す

絶対忘れるので自分用のメモ。 Kotlinだとデフォルトで表示されてたような気がするけど、Scalaは設定しないと出ない? IntelliJ IDEA > Preferences > Editor > Inlay Hints > Scala > Type hints 個人的にはParameter hintsのShow parameter hintsも両方有…

【本】実践Scala入門を読んだ

実践Scala入門作者:瀬良 和弘,水島 宏太,河内 崇,麻植 泰輔,青山 直紀技術評論社Amazon 仕事でScalaを扱うことになったので読んだ。 この本の前に下記の本を読んでいたけど、100Pに満たない本なので触れられていないトピックも多く、全体的な言語仕様を知ろ…

【本】サブスクリプション/アフターデジタル/アフターデジタル2を読んだ

ビジネス的な目線でサービスをどう考えるかいまいちわからなかったので、身近な人に勧められた3冊を読んでみた。 サブスクリプション――「顧客の成功」が収益を生む新時代のビジネスモデル作者:ティエン・ツォ,ゲイブ・ワイザートダイヤモンド社Amazon アフタ…

【雑記】有給休暇の消化が終わろうとしている

7月から新しい職場で働き始めるので、そろそろ休暇の終わりが見えてきた。 残りの期間で仕事に向けて諸々整えていくことになるので、6/11から始まったこの15日間ほどの休暇を振り返っておこうと思う。 の前に。 前回の記事から過去の記事に飛んでほしいもの…

【雑記】31歳になりました/転職します

31歳になりました 振り返り 技術 転職 仕事を辞めるに至ったきっかけ 学んだこと 転職活動 次の仕事の話 感想 おわり 31歳になりました (昨年の記事) 【雑記】30歳になりました。 - B-Teck! 振り返り といっても5/4が誕生日なので、31歳になってから既に1ヶ…

【GAS】claspでTypeScriptを使ってユニットテストもする

前回からの続き blog.beatdjam.com claspはデフォルトでTypeScriptに対応していて、作成した.tsファイルを含んだ状態でpushすると自動でトランスパイルしてくれる。 せっかくなのでTypeScriptを導入した上でローカルでユニットテストを実行できるようにした…

【GAS】claspの環境構築

nodeのインストール claspのインストール claspでプロジェクトを管理する clone push status まとめ nodeのインストール nodebrewを入れる $ brew install nodebrew 下記を利用してるシェルの設定に書いてPATHを通す export PATH=$HOME/.nodebrew/current/bi…

【Scala】Scalaをはじめよう! ─マルチパラダイム言語への招待─ を読んだ

最近Scalaの話題に触れる機会があり、そういえば全然Scalaの言語仕様を全然知らないなと思ったので、ライブラリに積んであった本書を読んでみました。 Scalaをはじめよう! ─マルチパラダイム言語への招待─ (技術の泉シリーズ(NextPublishing))作者:伊藤 …

【雑記】ゴールの定まらない仕事に苦しさを感じていた

過去の振り返り記事でも書いたんですが、昨年めちゃくちゃ上手く行かない仕事にぶち当たりました。 今年も個人的に似たような心境になる仕事があったんですね。 それで改めて振り返っていたところ、何がどうして辛かったのかをようやく言語化出来たので備忘…

【雑記】ブログで利用しているロゴを新しくしました!

今までジェネレータで作成したものを使っていたんですが、ロゴを刷新しました。 お願いさせていただいたのはフォロワーのLemon_orenoyomeさんです! シンプルでかっこいいデザインが前から好きだったので依頼してみたところ対応してもらえました。 Boothでス…

【雑記】毎日1コミットを目指す習慣を始めた

2分間コーディングのすすめ、コードを書く習慣のハードルを下げる を見て、2分間だと何も出来なかったので毎日最低1コミットをしようという活動を、年度頭あたりから始めてみた。 現状はこんな感じで、とりあえず1ヶ月以上継続できている。 ↑の画像の作成に…

【GAM/Python】Google Ad ManagerのAPIをPythonで叩く

サービスアカウント作成と連携 サービスアカウント作成 Google Ad Managerとサービスアカウントの連携 Google Ad Manager APIを利用する Python用ライブラリを読み込む サービスアカウント作成と連携 Google Ad Manager APIを利用するためにはOAuth2認証が必…

【Python】ResponderのQuickStartをやった

仕事で Responderを使うことになったのでQuick Startをやった。 合間に自分用のメモを書きつつ実装したので、メモがてら残しておく。 Responder導入 前の記事 でPoetryを導入しているので、下記コマンドを実行して導入した。 $ poetry add responder 実装 # …

【Python】pyenv + Poetry + IntelliJでPythonの開発環境を構築する

pyenvインストール Poetryインストール IntelliJでPoetryを使う Mac向けです。 brewはインストール済みの前提で進めます。 pyenvインストール macOS Catalina zsh環境でpyenvを使ってPython 3.9.0をインストール コマンド - Poetry documentation (日本語訳)…

【Kotlin/PDFBox】Kotlinを使ってPDFBoxでPDFを編集する

前置き ライブラリ読み込み PDFを操作する 既存のPDFを読み込む 新しいPDFを生成する 保存する ページを複製する PDFを編集する 文字を書く フォントを指定する 文字列の高さ・幅を取得する 左寄せで文字を書く 折返しのある文字を書く 右寄せで文字を書く …

【Kotlin】画像をリサイズしたり切り抜いたりする

仕事で、URLから画像を取得していい感じにリサイズする要件があったため調べました。 備忘のためメモを書いておきます。 URLから画像の取得 画像の加工 BufferedImageへ変換 画像のリサイズ 画像の切り抜き 画像の保存 (おまけ)画像をいい感じにリサイズして…

【Go】Goに入門してる話

背景 何回か書いてるけど、1月から3ヶ月間業務上の都合でGoを書いている。 付け焼き刃でもいいからサラッと知識を入れる必要があり、色々調べたり聞いて回ったりした。 その記録をまとめておく 参照したもの A Tour of Go A Tour of Go 定番のやつ。 公式の…

【Go】interfaceのダックタイピング難しかった

背景 調べた内容 ダックタイピングとは Goのinterfaceがなんでわからなかったか なんとなくわかったのでコードを書いてみる 感想 参考資料 背景 最近Goに入門したんだけれど、JavaやKotlinなどを主に書いていた自分にとってGoのinterfaceはなかなかしっくり…

【雑記】思考の限界になるとお粥のようなコンテンツしか摂取できなくなる

年が明けてから、従来の業務に加えてJavaのAPIをGo+Lambdaに移植するお仕事をしています。 GoもLambdaも未経験で何もわからんと思いながらやってますが、なんやかんやで3週間で12APIくらい移植できたので頑張ったなと思います。 昨年の年始と違って、フォロ…

【Lambda】SAMのテンプレートに複数のHTTPメソッドを書く

前置き 1つのLambdaでGET、PUT、POST、DELETEを扱いたい要件があったけど何もわからなかったので。 実装 この辺りを参考に、Events配下に対応するMethodのEventを追加してやればよかった。 AWS SAMテンプレートでREST APIの複数メソッドをひとつのLambdaに統…

【雑記】2020年振り返り

大晦日なので2020年の振り返りです。 初めての挫折 外部記憶サービスの変遷 メモアプリの変更 クラウドブックマークの変更 生活リズムの変化 身体機能の衰え 将来への不安 設計への興味 ブログのPV おわりに 初めての挫折 今年の1月から5月頃まで、普段携わ…

【GAS】Drive上のファイルの共有リンクを取得し、ダイアログからダウンロードさせる

前回の続きです blog.beatdjam.com ファイルの共有リンクを取得する ファイルオブジェクトを取得する 共有リンクを取得する アクセストークンをつける(任意) HTMLテンプレートを利用してDL用のダイアログを作る メニューに処理起動メニューを追加する Templa…

【Android】syntheticsのサポートが終了するのでViewBindingを使ってみた

なぜViewBindingの導入をしたか Syntheticsがなぜ非推奨になったのか ViewBindingの利点 導入 参考にしたサイト なぜViewBindingの導入をしたか Kotlin Android ExtentionのSyntheticsなどが非推奨になったため。 Kotlin Android Extensions の未来 Syntheti…

緩い完了条件と開始時間を決めると習慣化に成功する(かも)

習慣を続けるのは難しい とことん低い目標を立てる やり始める時間を決める 続けるために 習慣を続けるのは難しい 英語を勉強する、毎日運動をする、机の周りを片付ける… この記事を読んでいる方にもいろいろな習慣があると思います。 こういう習慣、きちん…

【Notion】無理やりトグルできるタグフィルタを作ってる

Notionを使い始めました。 意気揚々と情報を集約してるんですけど、 NotionのSortやFilterってViewに紐づく概念で、検索結果を絞り込みたい〜みたいな用途で使うものではなさそうなんですよね。 でも、自分の用途的には特定のジャンルに絞り込んで一覧を眺め…

【Maven】WebDAVで構築されたMaven Repositoryへのデプロイメモ

WebDAVとは? ライブラリをWebDAVにデプロイする wagon-webdav デプロイするリポジトリを設定する WebDAVとは? mavenのプライベートリポジトリを構築するのによく使われていたっぽいプロトコル。 Webサーバーでファイル共有と編集ができる技術や機能のこと…

【雑記】ネットサービスと機械によって生かされるタスク管理

すべてのタスクをTodoistに集約する タスク化のフロー Google Calendarとの連携 すべての行動をTogglで計測する Chrome拡張 アプリ(Android) すべての場面で通知する おわりに 突然ですが、私はとてつもなく怠惰です。 やらなければならないことをやろうとす…

【Vim】vimtutorを終わらせたので内容を自分用にメモ

Vim

基本操作 カーソルの移動はhjkl(左下上右)で行う vimの起動は vim {ファイル名} vimの終了 変更を破棄 :q! 変更を保存 :wq テキストの追加 i/I 挿入モード/行末から挿入モード a/A 追加モード/行頭から追加モード o/O 下の行を追加して挿入モード/上の業を追…

【Kotlin】範囲同士の重なりの有無を判定する

2つの期間が重なり合うかどうかを判定する。 - こせきの技術日記 によると、 始点2 <= 終点1 && 始点1 <= 終点2 で網羅できるらしい。 雑にいくつかテスト書いてみたけどたしかに大丈夫だった。すごい。 以下余談。 雑に書いたコードをコミットして適当にブ…

【ゲーム】バイオショックインフィニット 1999モード攻略メモ

バイオショックインフィニットのトロコンのために、1999モードのダラービル縛りプレイをした。 今更プレイする人も少ないと思うけど、備忘も込めて記録しておく。 基本的にプレイ済み前提です。 基本戦略 前提 装備 武器 ビガー ギア 帽子 上着 パンツ ブー…