未経験からプログラマー [日記]
プログラミングスクールに入って、未経験からプログラマーって言ってた人ってどこ行っちゃんたんだろう。
未経験からすぐに年収 1000万は無理だけど、いまどきは普通の仕事よりも収入いいんでしょ?転職もしやすいんでしょ?
大学に情報系の学科も増えたし、理系ならプログラミングもさわりくらいはやるらしいので、もっと増えてもよさそうなんだけど・・・
2024年卒大学生就職企業人気ランキングも、IT系が減っているような・・・
https://career-research.mynavi.jp/reserch/20230412_48385/
IT系の仕事がキラキラしてないことが、もうバレちゃったのかな。
未経験からすぐに年収 1000万は無理だけど、いまどきは普通の仕事よりも収入いいんでしょ?転職もしやすいんでしょ?
大学に情報系の学科も増えたし、理系ならプログラミングもさわりくらいはやるらしいので、もっと増えてもよさそうなんだけど・・・
2024年卒大学生就職企業人気ランキングも、IT系が減っているような・・・
https://career-research.mynavi.jp/reserch/20230412_48385/
IT系の仕事がキラキラしてないことが、もうバレちゃったのかな。
55歳過ぎたらプログラマーしんどい [日記]
50歳を過ぎた頃から特に、プログラムを読んだり書いたり考えたりするのがすごく疲れるようになった。
昔は 55歳がサラリーマンの定年の年齢だったが、確かに、55歳を超えるとさらにしんどい。
まあ、頑張っているけど。
40過ぎにはやむにやまれず仕事で夜中まで働いたり会社に泊まったりした。
疲れはしたが、翌日もある程度は仕事できてたと思う。今は、(そんな働き方はしてないが)とても無理だろう。
老眼だけが原因なのかわからない。
あまり凝視しなくて、考えているだけでも疲れるようになっている気がするが、体力的に疲れやすくなったからなのか。
昔は、課長に呼び出されたり(タバコ吸わないのに)タバコ部屋にみんなで一緒に行って雑談したりして、割り込みが多かったからかもしれない。
定時の時間働いているだけで、週の後半には朝から疲れている週末もゴロゴロしたまま終わってしまう。
世の中の60以上の元気な老人はどうなってるんだろう?プログラマーじゃないからかな?
35歳を超えて、40代になっても
「意外と大丈夫じゃない?」
と思っている人も、55歳は厳しくなるので気をつけよう。
昔は 55歳がサラリーマンの定年の年齢だったが、確かに、55歳を超えるとさらにしんどい。
まあ、頑張っているけど。
40過ぎにはやむにやまれず仕事で夜中まで働いたり会社に泊まったりした。
疲れはしたが、翌日もある程度は仕事できてたと思う。今は、(そんな働き方はしてないが)とても無理だろう。
老眼だけが原因なのかわからない。
あまり凝視しなくて、考えているだけでも疲れるようになっている気がするが、体力的に疲れやすくなったからなのか。
昔は、課長に呼び出されたり(タバコ吸わないのに)タバコ部屋にみんなで一緒に行って雑談したりして、割り込みが多かったからかもしれない。
定時の時間働いているだけで、週の後半には朝から疲れている週末もゴロゴロしたまま終わってしまう。
世の中の60以上の元気な老人はどうなってるんだろう?プログラマーじゃないからかな?
35歳を超えて、40代になっても
「意外と大丈夫じゃない?」
と思っている人も、55歳は厳しくなるので気をつけよう。
Python3 の tkinter [Python]
Python に標準で入っている GUI ツールキットということで便利な tkinter
以前、画像ファイルを表示するスクリプトを書いた
https://gist.github.com/nakagami/3764702
Pillow の力によって、アニメーション gif の画像を一コマづづ表示できる。
Python3 になって、(モジュール名など)色々変わったのにネットでは、古い Python2.7 の時のサンプルコードばかりで、残念だなと思っていた。
趣味で tkinter のコードを書こうかなと思っているのだが、まず、やりたいことができるか検証コードを書いた。
発生するイベント情報を print して、 マウスクリックした位置に赤い円を描画するスクリプト
https://gist.github.com/nakagami/b93521c7c369b4986e967f5fdeef1690
twisted で、tkinter のイベントを扱う例
https://gist.github.com/nakagami/2d58fac16c03fd5dab8608d81a8826ad
Python2.7 での example を書き換えたら Python3 でも動いてるっぽい。
終了できなかったが、ここの質問を見て https://stackoverflow.com/questions/71281691/cannot-stop-twisted-reactor-when-calling-reactor-stop
os._exit(0) で終了するようにできた。しかし、ちょっと乱暴なので気に入らない。もっと良い方法はないものだろうか。
自分の macOS の環境では、 Canvas に描画しても表示できなかったが、結局 brew で install していた Python3.11 をアンインストールして、公式インストーラー https://www.python.org/downloads/macos/ の Python3.12 をインストールしたら描画できるようになった。
Python のバージョンの問題ではなく brew の python の tk サポートに問題があるっぽい。
brew の Python も、そのうち直るかも。
以前、画像ファイルを表示するスクリプトを書いた
https://gist.github.com/nakagami/3764702
Pillow の力によって、アニメーション gif の画像を一コマづづ表示できる。
Python3 になって、(モジュール名など)色々変わったのにネットでは、古い Python2.7 の時のサンプルコードばかりで、残念だなと思っていた。
趣味で tkinter のコードを書こうかなと思っているのだが、まず、やりたいことができるか検証コードを書いた。
発生するイベント情報を print して、 マウスクリックした位置に赤い円を描画するスクリプト
https://gist.github.com/nakagami/b93521c7c369b4986e967f5fdeef1690
twisted で、tkinter のイベントを扱う例
https://gist.github.com/nakagami/2d58fac16c03fd5dab8608d81a8826ad
Python2.7 での example を書き換えたら Python3 でも動いてるっぽい。
終了できなかったが、ここの質問を見て https://stackoverflow.com/questions/71281691/cannot-stop-twisted-reactor-when-calling-reactor-stop
os._exit(0) で終了するようにできた。しかし、ちょっと乱暴なので気に入らない。もっと良い方法はないものだろうか。
自分の macOS の環境では、 Canvas に描画しても表示できなかったが、結局 brew で install していた Python3.11 をアンインストールして、公式インストーラー https://www.python.org/downloads/macos/ の Python3.12 をインストールしたら描画できるようになった。
Python のバージョンの問題ではなく brew の python の tk サポートに問題があるっぽい。
brew の Python も、そのうち直るかも。
PyConAPAC 2023 で感じた、あまりにもITエンジニアいない問題 [Python]
PyCon APAC で、トークは聞かなかったけど、ブースを出している会社さんには話を聞きにいった。
大きく、開発ツール、教育といった参加者を顧客ターゲットにした会社と、
顧客ターゲットとしてなくて、内部が Python で開発してますという会社に別れていたと思う。
後者の会社さんに、ブースを出した目的を聞くと、やはり採用だという。
参加している人たちは、Python で仕事していて、その中で今すぐ転職したいっていう人いないと思うけど、それでもいいの?と、そのものズバリを聞くと大概は、まずはプレゼンスを上げて、名前を知ってもらうことで、転職サイトなんかで検索で引っかかった時に、見たことある会社名、と思ってもらうというような話だった。
そして採用活動を、転職エージェントなんかでしても「なかなか合う人(=もうちょっと自分でできる人)がこない」ならいい方で、「採用したいが全く応募がない」というところもあるみたい?
コロナがあけて景気が良くなって、さらにあらゆるところで IT化がなされ、需要が等比級数的に増えているのに必要な技能を持った人間は、一定割合で自然発生的に増えるのを待つしかないからなんだろう。
今、中学校でプログラミングが必修化されて、大量にプログラミング嫌いな日本人を生み出していることと思うが、その中で、以前であればプログラミングの楽しさを知ることなく終わっていた人が目覚めるってことはあるんだろうから、多少は改善するのかも。
その代わり、プログラミングが嫌な思い出としてしか残ってない人を量産することになると思うが
30年前に、プログラマーなんて掃いて捨てるほどいるので 35歳くらいまでにマネージメントできるようにならないとダメだよと言っていたあれはなんだったの?
大きく、開発ツール、教育といった参加者を顧客ターゲットにした会社と、
顧客ターゲットとしてなくて、内部が Python で開発してますという会社に別れていたと思う。
後者の会社さんに、ブースを出した目的を聞くと、やはり採用だという。
参加している人たちは、Python で仕事していて、その中で今すぐ転職したいっていう人いないと思うけど、それでもいいの?と、そのものズバリを聞くと大概は、まずはプレゼンスを上げて、名前を知ってもらうことで、転職サイトなんかで検索で引っかかった時に、見たことある会社名、と思ってもらうというような話だった。
そして採用活動を、転職エージェントなんかでしても「なかなか合う人(=もうちょっと自分でできる人)がこない」ならいい方で、「採用したいが全く応募がない」というところもあるみたい?
コロナがあけて景気が良くなって、さらにあらゆるところで IT化がなされ、需要が等比級数的に増えているのに必要な技能を持った人間は、一定割合で自然発生的に増えるのを待つしかないからなんだろう。
今、中学校でプログラミングが必修化されて、大量にプログラミング嫌いな日本人を生み出していることと思うが、その中で、以前であればプログラミングの楽しさを知ることなく終わっていた人が目覚めるってことはあるんだろうから、多少は改善するのかも。
その代わり、プログラミングが嫌な思い出としてしか残ってない人を量産することになると思うが
30年前に、プログラマーなんて掃いて捨てるほどいるので 35歳くらいまでにマネージメントできるようにならないとダメだよと言っていたあれはなんだったの?
PyConAPAC 2023 に参加した [Python]
昨日、一昨日の PyConAPAC 2023 に参加した。
(今日やっているスプリントには参加してないです)
今年の PyConAPAC は、久しぶりに多くの人が集まれるイベントになった。
今回こそは、ちゃんとトーク聞くぞ!・・・という意気込みはあったのだが、
結局、そこら辺をうろうろして知り合いにあったら挨拶して近況を聞いて、
パーティーでたまたま隣になった人や知り合いの知り合いとして紹介された人と
少し知り合いになったりして終わってしまった。
コロナ禍で会社がリモートで仕事する体制になって、
自分も会社に行かなくなってしまったので、
自分の会社の同僚のことだけを考えても、久しぶりにあった人にも挨拶し、
slack 上では知っているけど、初めて会う人にも挨拶し、会社の OB にも会えて、みんな元気そうだったし、
長いことあってなくて、どうしてるかなーと思っているような人が、(その場にはいないものの)
知り合い経由で元気そうにしてることも聞けて嬉しかった。
Python の話は、ほとんどしなかった。
(今日やっているスプリントには参加してないです)
今年の PyConAPAC は、久しぶりに多くの人が集まれるイベントになった。
今回こそは、ちゃんとトーク聞くぞ!・・・という意気込みはあったのだが、
結局、そこら辺をうろうろして知り合いにあったら挨拶して近況を聞いて、
パーティーでたまたま隣になった人や知り合いの知り合いとして紹介された人と
少し知り合いになったりして終わってしまった。
コロナ禍で会社がリモートで仕事する体制になって、
自分も会社に行かなくなってしまったので、
自分の会社の同僚のことだけを考えても、久しぶりにあった人にも挨拶し、
slack 上では知っているけど、初めて会う人にも挨拶し、会社の OB にも会えて、みんな元気そうだったし、
長いことあってなくて、どうしてるかなーと思っているような人が、(その場にはいないものの)
知り合い経由で元気そうにしてることも聞けて嬉しかった。
Python の話は、ほとんどしなかった。
COVID-19 ワクチン5回目 [日記]
前回がこれ
https://nakagami.blog.ss-blog.jp/2022-12-24
昨日、前回と同じく、市の集団接種会場で接種した。
昨日はまだ平気だったが、夜中から体の節々が痛くて、筋肉も痛くて、今朝、体温測ったら 38.5度だった。
何回打っても熱出るんだなぁ。
この発熱は病気じゃない、と自分に言い聞かせても、普通に暮らすのは無理そうなので寝て安静にすることにする。
症状は、自分がウィルス性の病気に感染した感じなのに、ウィルス由来でない物質に免疫機能が働いて熱が出るって不思議だなぁ。
無料で打てるのは今回が最後という話だが、来年以降も自費でワクチン打った方がいいんだろう。
予防接種の翌日に寝込むワクチン、毎年打てるかなぁ。お金もかかるし。
https://nakagami.blog.ss-blog.jp/2022-12-24
昨日、前回と同じく、市の集団接種会場で接種した。
昨日はまだ平気だったが、夜中から体の節々が痛くて、筋肉も痛くて、今朝、体温測ったら 38.5度だった。
何回打っても熱出るんだなぁ。
この発熱は病気じゃない、と自分に言い聞かせても、普通に暮らすのは無理そうなので寝て安静にすることにする。
症状は、自分がウィルス性の病気に感染した感じなのに、ウィルス由来でない物質に免疫機能が働いて熱が出るって不思議だなぁ。
無料で打てるのは今回が最後という話だが、来年以降も自費でワクチン打った方がいいんだろう。
予防接種の翌日に寝込むワクチン、毎年打てるかなぁ。お金もかかるし。
DjangoCongressJP 2023 [Python]
https://djangocongress.jp/
参加した
自分が見た中で興味深かったのは
- グラフデータベースを用いた Djangoアプリ作成入門
- データ分析者にとっての Django: Streamlit や Dash との比較
セッションの間の休憩やお昼休み時間が長くとってあったのがよかった。
みんな、真面目にトークを聞こうとして来ているので、トークがぎっちり詰まっているスケジュールだと、
僕のように参加した人との雑談を楽しみにしている人には肩身が狭いのだが、DjangoCongressJP では、トークも聞けて
雑談も出来て、ちょうどいいイベントだった。
パーティーとその後の二次会が本番だった。
久しぶりに会った知り合いや初めて会う同僚が多くて僕は楽しかったが、初めて参加した方が楽しかったか心配。
初めて参加した人が楽しくて来年も参加したくなるといいなと思った。
参加した
自分が見た中で興味深かったのは
- グラフデータベースを用いた Djangoアプリ作成入門
- データ分析者にとっての Django: Streamlit や Dash との比較
セッションの間の休憩やお昼休み時間が長くとってあったのがよかった。
みんな、真面目にトークを聞こうとして来ているので、トークがぎっちり詰まっているスケジュールだと、
僕のように参加した人との雑談を楽しみにしている人には肩身が狭いのだが、DjangoCongressJP では、トークも聞けて
雑談も出来て、ちょうどいいイベントだった。
パーティーとその後の二次会が本番だった。
久しぶりに会った知り合いや初めて会う同僚が多くて僕は楽しかったが、初めて参加した方が楽しかったか心配。
初めて参加した人が楽しくて来年も参加したくなるといいなと思った。
Python3.12 がリリースされた [Python]
Python 3.11 が昨年の10月にリリースされた時、今後は毎年10月に Python の新しいバージョンがリリースされると発表されていた。
そして 2023-10-02 に 3.12がリリースされた
https://www.python.org/downloads/release/python-3120/
その間に Python3.7 が Deprecated になった。
Python3.7 って、ついこないだじゃなかったっけ?・・・と調べたら 2018年だった。
5年ならしょうがないか。
最近 Deprecated になるビルトインライブラリ多い印象。
勢いがあって、開発者が多いからこそだと思うが、書いたコードが、Python のバージョンアップに追随しないと、どんどん動かなくなっていきそうで、おじさんには厳しい。
そして 2023-10-02 に 3.12がリリースされた
https://www.python.org/downloads/release/python-3120/
その間に Python3.7 が Deprecated になった。
Python3.7 って、ついこないだじゃなかったっけ?・・・と調べたら 2018年だった。
5年ならしょうがないか。
最近 Deprecated になるビルトインライブラリ多い印象。
勢いがあって、開発者が多いからこそだと思うが、書いたコードが、Python のバージョンアップに追随しないと、どんどん動かなくなっていきそうで、おじさんには厳しい。
実行バイナリをコピーするだけではダメだった [golang]
手元の環境で go のソースをビルドして、実稼働環境にコピーして起動しようとしたら
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found
っていうエラーがでて起動できなかった
ビルドした環境の glibc が実行環境の glibc のバージョンよりも新しいことが原因なのはわかった。
CGO_ENABLED=0 をつければいいと書いているブログ記事もいっぱいあったけど、うまくいかない。
そもそも、 glibc の機能が必要ってことは mac で linux のバイナリ作ろうとした時には、 glibc を static link できないからうまくいかないのでは?
ここに、ヒントになりそうなことが書いてあったが、
https://qiita.com/KEINOS/items/739f83cb9ddfed43404b
(ふむふむ、 ld フラグ渡せたりするんだな)
ビルドしたい環境と実行したい環境が違っていて、自分の場合はどうすれば良いかわからない(・・・し、解決できる見込みもない)
結局、実行環境と同じ環境で go でビルドできるようにして、ことなきを得たが、ビルド環境と実行環境が別でも動くと考えない方が良さそうだな、と思った。
おそらく、ファイル操作はうまくいくけど net パッケージ使うとダメとか、簡単にできる、できないと断言できないとかそういうことなんだと思うけど。
/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found
っていうエラーがでて起動できなかった
ビルドした環境の glibc が実行環境の glibc のバージョンよりも新しいことが原因なのはわかった。
CGO_ENABLED=0 をつければいいと書いているブログ記事もいっぱいあったけど、うまくいかない。
そもそも、 glibc の機能が必要ってことは mac で linux のバイナリ作ろうとした時には、 glibc を static link できないからうまくいかないのでは?
ここに、ヒントになりそうなことが書いてあったが、
https://qiita.com/KEINOS/items/739f83cb9ddfed43404b
(ふむふむ、 ld フラグ渡せたりするんだな)
ビルドしたい環境と実行したい環境が違っていて、自分の場合はどうすれば良いかわからない(・・・し、解決できる見込みもない)
結局、実行環境と同じ環境で go でビルドできるようにして、ことなきを得たが、ビルド環境と実行環境が別でも動くと考えない方が良さそうだな、と思った。
おそらく、ファイル操作はうまくいくけど net パッケージ使うとダメとか、簡単にできる、できないと断言できないとかそういうことなんだと思うけど。
2023-10-03 14:17
コメント(0)
PyPy を Python2.7 の代わりに使う [Python]
Ubuntu 22.04 では Python2.7 が apt でインストールできるが、Ubuntu の、その後のバージョンでは Python2.7 が apt ではインストールできなくなってしまった。
これは、あまり言わないほうがいいのかもしれないけれど、Python (正確にはrpython) で書かれた Python 実装の PyPy で、Python2.7 系と Python3 系が同時並行にメンテナンスされている。
https://www.pypy.org/
Ubuntu の場合
sudo snap install pypy --classic
で pypy コマンドがインストールでき、それが Python2.7 相当になっている
pypy -V
Python 2.7.18 (8d509266596ab6a70defcf87c8b29f57b8e32426, Jun 15 2023, 10:18:34)
[PyPy 7.3.12 with GCC 10.2.1 20210130 (Red Hat 10.2.1-11)]
PyPy の CPython との互換性はかなり高いので、もし Python2.7 でしか動かないコードがあって、Python2.7 の動く環境がないという場合は、PyPy を使ってみるのも手かなと思う。
・・・というところまで考えて、
Github actions で Python2.7 が drop された https://github.com/actions/setup-python/issues/672 が、 pypy2.7 でテストを実行できることに気づいた。
https://github.com/nakagami/CyMySQL/commit/eca2d81b1cadeef4c23ec3385bf9445abe79e24e
もちろん完璧ではないが、pypy2.7 でのテストを CPython2.7 でのテストの代わりとして実行することにした
これは、あまり言わないほうがいいのかもしれないけれど、Python (正確にはrpython) で書かれた Python 実装の PyPy で、Python2.7 系と Python3 系が同時並行にメンテナンスされている。
https://www.pypy.org/
Ubuntu の場合
sudo snap install pypy --classic
で pypy コマンドがインストールでき、それが Python2.7 相当になっている
pypy -V
Python 2.7.18 (8d509266596ab6a70defcf87c8b29f57b8e32426, Jun 15 2023, 10:18:34)
[PyPy 7.3.12 with GCC 10.2.1 20210130 (Red Hat 10.2.1-11)]
PyPy の CPython との互換性はかなり高いので、もし Python2.7 でしか動かないコードがあって、Python2.7 の動く環境がないという場合は、PyPy を使ってみるのも手かなと思う。
・・・というところまで考えて、
Github actions で Python2.7 が drop された https://github.com/actions/setup-python/issues/672 が、 pypy2.7 でテストを実行できることに気づいた。
https://github.com/nakagami/CyMySQL/commit/eca2d81b1cadeef4c23ec3385bf9445abe79e24e
もちろん完璧ではないが、pypy2.7 でのテストを CPython2.7 でのテストの代わりとして実行することにした