山pの楽しいお勉強生活

勉強の成果を垂れ流していきます

転職して1年経ったまとめと2023年の振り返り

2023年のイメージ はじめに この記事は2023年の振り返りをすることで2024年に気合を入れようという記事、ポエムです。40代のITエンジニアがどういうこと考えて日々を過ごしているのかは少しわかるかも。ITエンジニアチックな話は少なめです。 何日かに分けて…

転職したよ

はじめにの前に 本記事は2022年末に書いて、2023/03くらいに公開する予定だったけど完全に忘れていた記事です。 夏くらいに気づいたけどまぁいいかと思って放置してたけど、せっかくなので今(2023/12/31)公開してみます。 公開時点では現職(この記事でい…

【無料】Minecraft統合版サーバーをOracle Cloudで作成する

はじめに 内容の難しさ コンパートメントの作成 前置き 手順 インスタンスの作成 前置き 手順 固定IPを取得 インスタンスのIPを固定 インスタンスのポート開放 インスタンスへのSSH接続 インスタンスの設定 Minecraftをインストール 起動設定 Nintendo Switc…

Windowsで起動しているDev Container内からGitのリモートリポジトリに操作を行うと Permission denied が発生する場合の対処方法

事象 VS CodeでDev Containerを使用し、コンテナ内からsshアクセス(GitHub操作等)を行おうとした際に Permission denied が発生する git@github.com: Permission denied (publickey). 発生しうる環境 Windows ホストのssh-agentのバージョンが8.8以下 コン…

チームとして大切にしたいと思っている3つのこと

はじめに リーダーとしての立場になり、どのようなチームを作り、どのように進んでいきたいのかをメンバーに明確に伝えなかったことが、一部のすれ違いの原因となりました。 今までも近いポジションを担っていたことはありますが、暗黙的な理解に助けられて…

仕事はもっと適当にやればよい

はじめに 本記事は社内報に寄稿した内容を転載したものです 許可済み 私がどのように考えてお仕事をしているかを書いた文章であり、一般的なものかどうか、他の人がどう思うかは意識しておりません こんな事を考えて仕事している人もいるのかーくらいに読ん…

Windows PCセットアップメモ

はじめに 本記事はWindows PCを購入した際のセットアップメモです 個人的な設定がかなり含まれています キャプチャは異なる可能性があるので参考程度にしてください 随時更新していく予定 環境 Windows 11 Home 10.0.22621 ビルド 22621 2022/12/22時点ではP…

常駐先でLT会を90回以上継続した話

業務委託契約で常駐しているARISE analyticsで、LT会を主催しております。90回以上はそれなりに継続できていると思いますので、どのように運用しているかなどを書いていこうと思います。

ユーザ認証でGoogleドライブ上のファイルをPythonで操作する

はじめに コードはドキュメント通りだが、認証に1日かかったためメモ 本記事ではユーザ認証を使用する バッチ処理などで使用するためにはサービスアカウントを使用する キャプチャはないが、参考リンクは大目に貼っているので、解決しない場合でもリンクは見…

npm install と npm ci をどのように使い分けるか

※タイトルの npm install は引数なしを想定しています。 一言 引数なしの npm install は使わない 環境構築時には npm ci を使用する 詳細 npm install 引数なしの場合、package.json に沿った形で依存ライブラリをインストールする package-lock.jsonは見な…

PySparkでDataFrame.cacheはMEMORY_AND_DISKレベルキャッシュされる

概要 タイトルが全て MEMORY_ONLYだと勘違いしていたためメモ persistも引数なしで呼び出すとMEMORY_AND_DISKなので同じ https://spark.apache.org/docs/3.2.0/api/python/reference/api/pyspark.sql.DataFrame.cache.html https://spark.apache.org/docs/3.…

Xiaomi Pad 5(MIUI12)を複数アカウント(ユーザー)で使用する

はじめに Xiaomi Pad5を購入したものの、デフォルトでは複数ユーザーで使用ができない? 端末というより、OSであるMIUIの仕様? とりあえず複数ユーザーで使用できるようになったので手順をメモする ただし、色々制限はかかっているの注意。詳細は下記参照 …

GitHub ActionsでビルドしたドキュメントをGitHub Pagesで表示する

まとめ GitHub Pagesは「GitHub Enterprise Cloud 」プランの場合privateで使用する事ができる 企業でお金払っていてオンプレのGitHubでなければこのプランのはず 追記: 有料プランでもTeamプランというのがありました。こちらではアクセス制御はできません …

PySparkではDataFrameのjoinでorderは維持されない

概要 PySparkのDataFrameではjoinした際にorderは維持されない 正確にはshuffleが行われる orderは出力直前に行うのが鉄則 再現コード from pyspark.sql import SparkSession spark = SparkSession.builder.getOrCreate() df1 = spark.createDataFrame( [ ['…

PySparkのDataFrameでは同名のカラムが許容される

概要 PySparkのDataFrameでは同名のカラムが許容される select などカラム名を指定する処理時に例外が発生する カラム名を再定義、別名を付ける事で回避が可能 再現コード 作成時にカラム名が重複 from pyspark.sql import SparkSession spark = SparkSessio…

fstringの中でdictionary、setの内包表記を使用する

結論 l = ['a', 'b', 'c'] s1 = f'{ {s:s for s in l} }' # 中括弧の後にスペースが必要 assert s1 == "{'a': 'a', 'b': 'b', 'c': 'c'}" s2 = f'{ {s for s in l} }' # 中括弧の後にスペースが必要 assert s2 == "{'b', 'c', 'a'}" ※setの方は順番は保証さ…

Pythonのユニットテストでimportされている変数を上書きする

結論 直接モジュールの変数を上書きすれば良い ただし、importされた時点でそのモジュールの変数として扱われる事に注意 ※文字で見ても良くわからないと思うので下記のコードを参照 ケース1(テスト対象に直接変数がimportされている場合) テスト対象のコー…

GitHub ActionsでLOCALEがja_JP.UTF-8のPostgreSQLを使用する方法

結論 サービスコンテナでLOCALEに ja_JP.UTF-8 を設定することはできない 自力でLOCALEを追加するイメージを作って、docker run で起動する Dockerfile FROM postgres:11.5 RUN localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF…

PostgreSQLのデフォルトLOCALEでは日本語文字列のソート結果が想定と異なる

概要 PostgreSQLをデフォルトのまま使用すると日本語文字列のソート結果が想定と異なる LOCALEを正しく設定することで修正可能 文字列の並び順は LC_COLLATE で制御されるこの設定がデフォルトだと en_US.utf8 となっていることが原因 動作確認環境 Docker P…

AtCoder用Python環境を作った

概要 最近AtCoderを始めたのでPython用の環境を作りました。 割といい感じにできた気がしましたのでTemplate Repositoryにしています。これから始める方、AtCoder上で書いている方などは是非試してみてください。 一方、まだ私自身が使い込んでいないので、…

Django REST Framework 条件に応じてAPI処理を切り替える方法

全然サンプル見つからなかったので誰かに役に立つかも?と、妥協点はあるもののとりあえず実装としては良さそうなのでメモ やりたかったこと 条件によって特定のAPI処理全体を切り替えたい 複数発生した場合を考えると if hogeflag: みたいな事はやりたくな…

自宅Raspberry Pi再構築メモ

自宅のRaspberry Piを再構築したのでメモです。既存のRaspberry Piのスクリプト関連はGitHubにあったものの、環境関連の情報が何も残っていなかったので新規に記事に起こしています。(文章にした記憶はあるものの見つからず) 完全に自分用なので、本来なら…

通信速度が原因で「apt-get」が失敗する事がある

タイトルだけ見るとそりゃそうだろという話ではあるのですが、いきなり失敗するようになってかなりハマったのでメモ。 そもそも通信速度が原因という事に気づくまでにかなりの時間がかかった。 参考までに、状況が発生した環境で通信速度を調べたところ、1Mb…

エンジニアとして一番大事だと思う事

ドアカン Advent Calendar 2019の24日目の記事になります。 昨日はYoshihiko Morikawaさんのフィルムカメラの話です。熱いですね。*1 はじめに いつの間にかITエンジニアとして若手からシニアと言う立場になってきた今日この頃です。(IT業界歴10年ちょっと…

GitHub ActionsでGitHub Package RegistryにDocker Imageをpushする

前の記事では手動でGithub Package RegistryにDocker Imageをpushしましたが、実際にはそんなの手でやってられません。こういう事はCIにやらせましょう。 GitHub Actions及びGitHub Package Registryは正式公開されたばかりだからか、情報が少なかったのでメ…

GitHub Package RegistryにDocker imageを格納する

公式のドキュメントでうまくいかなかったものの、検索しても記事がみつからなかったのでメモ。 (GitHub Actionsでのサンプルはいくつもあったが、手動でのサンプルがみつからなかった。) ※わかってる人なら特に記事にする事でもないので、サンプルがなかっ…

Windowsで今まで動いていたdocker runが失敗する

あまりわかってないけど、解決した & 日本語の情報がみつからなかったのでメモ エラーメッセージ SECURITY WARNING: You are building a Docker image from Windows against a non-Windows Docker host. All files and directories added to build context w…

GitHubのマージ済のブランチをGitHub Actionsで定期的に削除する

追記(2019/10/28) GitHubのリポジトリ設定にマージ完了後にブランチを削除する設定がありました。(2019/07/31に追加されたらしいです。)よって、GitHub Actionsなんて使用せずにリポジトリの設定を変更しましょう! help.github.com はじめに プルリク後…

setuptoolsがsetup.cfgを読んでくれない

現象 Pythonでsetuptoolsを使用してwheelファイルを作成しようとしたが、自動的に読んでくれるはずの「setup.cfg」を読んでくれない。 ※setup.pyで「setup(name='hoge')」などと指定すると正しく動作する ※正確には、license_fileなどで存在しないファイルを…

Windowsでpyenv(pyenv-win)

pyenvを使おうと思って公式見たらpyenv-win使えと書いてあった。 If you're on Windows, consider using @kirankotari's pyenv-win fork. (pyenv does not work on windows outside the Windows Subsystem for Linux) 使い方も含めてメモ pyenvとは Pythonの…