SSブログ

GitHub actions で CI [日記]

https://nakagami.blog.ss-blog.jp/2021-02-06 から 2週間くらい、GitHub Action で CI を設定しまくっている。

Linux のイメージは Ubuntu をベースにいろんなプログラミング言語のいろんなバージョンが入っていて、
他に必要なものがあったら apt install や snap install で入れられるようになっている。
自分が Ubuntu なら多少慣れているというのもあるが、
(Travis CI, Circle CI のように)サードパーティーの GitHub に連動するツールは、
いつも、ちゃんと設定できてるか確信が持てないので、
ファイルを置くだけで実行できるというのがわかりやすくてありがたい。

Travis CI の無料枠が厳しいことになってきたので、Travis CI で CI を回していたものを置き換えるのをとりあえずの目的にしていたが、CIの設定をしていなかったものも、できるものはあらかたしてしまった。

GitHub Actions が始まった頃、
- 自分で yaml ファイルを一から書かないといけない
- 実行が遅い
というような記事を読んで躊躇していたが、
今は、テンプレートがいろいろ用意されていて、実行もかなり早くて、GitHub actions を使い始めるタイミングとしては良かったかなと思った。
Python でいうと、 CI だけじゃなくて、 PyPI にアップロードするための Publish Python Package というテンプレートもあって、読むだけでも参考になる。

特別なことをしなければ、なんとなく真似るできそうなんだけど、
日本語のドキュメントとしては、さくらインターネットさんのこの記事
https://knowledge.sakura.ad.jp/23478/
が良さそうなので、自分は、時間がる時に読んでおきたい。
コメント(0) 
共通テーマ:日記・雑感

リケジョ [家族]

娘は、大学の理工学部で化学を勉強していている。
おそらく、リケジョとくくられるんだと思うけど、その呼び方はなんだか気持ち悪い。
娘の学科は 1/4 くらい女性らしく、高校のクラスよりも女子比率は増えている。

かみさんも僕も息子(兄)も理系で、理系に進むのは自然なことだった。
身近で文系に進学したのって、娘の一年前に進学した義姪くらいしか知らなくって、
両親は理系の一般受験しか知らないんで、
「他に、こういう進路もあるよ」
と言ってあげられないのは、ちょっとかわいそうかなと思わなくもなかった。
興味があれば、文系に進学してもいいと思っていた、そうはならなかった。

娘は、数学も物理も得意ってほどではなかったが、化学なら(暗記もあるんで)ということもあって化学ということになった。
今のところ(物理に苦しんでいるが)なんとかなりそうで良かった。
一留くらいで卒業できたら御の字である。

ところで、大学で化学を勉強するところまではイメージついたが、卒業後に、大学で学んだ専門で仕事をするイメージがわかない。
息子の大学の OG がこんなところに進学しましたみたいなパンフレットを見ても、メーカーや証券の総合職的な職種や、IT系で
「化学の専門職って無理なのか?地方の工場勤務とかでも?」
と、親としてはちょっと心配になってくる。
コメント(0) 
共通テーマ:日記・雑感

OSS活動は、中学生の自己顕示欲の成れの果て [日記]

オープンソースがわからない https://jaguchi.com/blog/2021/02/wtf-is-oss/ を読んで。

ほとんど金銭的なメリットもないままプライベートの時間に Github に草生やしている。
転職に役立っているとは思えない。ましてや金銭的なメリットがあるわけでもない。
誰か、使ってくれている人はいると思うが、それで良いことをしているという気もあまりしない。
最近は、Github のアカウントを使って仕事の開発をするので、お客さんも自分の公開リポジトリを見ることもできるけど、そのことについての言及をされたことはない。
みんなが使うようなものではないので、「何かよくわからないものを公開している」という感覚だろうか。

無報酬でプログラム書いている俺偉いという感覚はない。酔狂だなぁとは思う。
自分が書かなくても、誰かが書くか、似たようなものがあるはずで、なんなら自分の書いたものよりいいものがあったりする。

(プログラミング・スクール業界のいうところの「ポートフォリオ」なんてゴミみたいなリポジトリがあってもいいことあるようには思えないのだが、義姪 https://nakagami.blog.ss-blog.jp/2021-02-07 は、まだプログラミングスクールのことを考えているようだ。)

自分はなんで、そんなことしてるんだろう?と振り返ってみると、中学生の頃にマイコンBASICマガジンの投稿を見て、自分もこんなふうになりたいなぁと思っていたのはルーツにあるなと思った。
マイコンBASICマガジンの掲載の謝礼は、確か 500円の図書券で、僕が読んでいた頃のその雑誌がちょうど 500円だったと思う。
あの頃、いつかわからない未来に自分も投稿したプログラムが掲載されることを夢見ていた。

今の自分の OSS 活動は、中学生の自己顕示欲の40年後の成れの果てで、たまにどこの誰かわからない人が star をつけてくれると、ちょっと嬉しくなっちゃう程度のモチベーションでやっている。
きっと自分は定年退職してもプログラム書いてるだろうなと思う今日この頃。

コメント(0) 
共通テーマ:日記・雑感

プログラマーはみんな仲間 [日記]

プログラミングを生業にしている、いわゆるプログラマーには仲間意識を持ってしまう。
生保の営業とか、自動車メーカーのラインとか、介護職とかって、会社を超えての仲間意識はどれくらいあるんだろう。
プログラマーは、いつ転職して同僚にならないとも限らないと思う。
同じ現場で会社の違う年上の人(や年下の人)に助けられたことも何回もあり、同じ現場の人にはできる範囲で親切にしたいと思っている。
(修行が足りないゆえに、思いと、態度が一致してないことも多いが)

SMBC の何次請けかの人が、ことの重大性がわからないまま GitHub にソースコードを公開してしまった事件は、仲間として胸が締め付けられるような気持ちだ。
https://news.yahoo.co.jp/byline/ohmototakashi/20210131-00220290/
僕も、パソコンに興味のある少年から道が違っていたら、ああなっていたかもしれない。
今回のことが、本人にとってあまり大事にならずに、平穏に暮らせるといいなぁと思う。

異業種から第二新卒で転職してきて居場所を見つけたような
https://anond.hatelabo.jp/20210208084730
の人には「ようこそ」と言いたい。
コメント(0) 
共通テーマ:日記・雑感

GitHub Actions で MySQL を使う [日記]

https://nakagami.blog.ss-blog.jp/2021-02-06 の続き

MySQL 8.0 の場合、この回答
https://stackoverflow.com/questions/58222386/github-actions-using-mysql-service-throws-access-denied-for-user-rootlocalh

MySQL 5.7 の場合、これを参考にすれば良さそう
https://freek.dev/1590-how-to-use-a-mysql-database-on-github-actions

PyMySQL では、 データーベースサーバーのバージョンと Python のバージョンのマトリックスで、ちゃんとやっている
https://github.com/PyMySQL/PyMySQL/blob/master/.github/workflows/test.yaml

PyMySQL みたいにちゃんとやるのは大変そうなので、MySQL 8.0 でだけテストするようにした。
https://github.com/nakagami/CyMySQL/blob/master/.github/workflows/test.yml

これで、CyMySQL が travis-ci から脱却できた。ありがとう travis-ci
コメント(0) 
共通テーマ:日記・雑感

義姪の焦り [家族]

先日、義姪からかみさんに LINE が来た。
質問は、僕に向けてのものだった。

この春休みに3週間くらい時間があるので、プログラミングスクールを受講したいがどんなところがいいか?
という内容だった。

(そういえば、半年くらい前に Ruby だか Ruby on Rails だかが義姪の MacBook で動かないと言って、息子がなんか相談されてたなぁ・・・)
プログラミングスクールは評判悪いので、Progate か (Python だけど) PyQ をお勧めしておいた。

返ってきたのは
- Progate の、Ruby on Rails は、以前やってみたがわからなくて、今は、Progate で HTML とか CSS の勉強をしている
- Web デザインは美術系の学校の子には敵わなくて、それ以外の強みが欲しい
という返事だった。 (Ruby on Rails と言ってたのは Progate だったか)

強み?英語が得意だったはずだが?
Web デザインでは美術系の学生に敵わないなら、プログラミングは情報系の学生には敵わないのでは?
就職でアピールする強みのために、全くバックグラウンドのない文系学部の学生が Ruby on Rails は無理では?
プログラミングなんて、やる人は「どのスクールがいい?」 なんて悩んでる暇があったらやっているものでは?

・・・悩める20歳の女性にそういうことは言わず、結局、
「IPA の情報セキュリティマネジメント試験をやってみれば」
と提案して
「やってみる」
との回答を得た。
「そんな、資格試験じゃダメで、生きたスキルを身に付けたい」
と言われなくてよかった。
おそらく、情報セキュリティマネジメント試験もかなり難しいと思うが、スクールでプログラミングを学ぶよりは糧になるだろう。

その後、義妹からも、かみさんに LINE が来てた。
今度の4月に大学3年になるので、周りの子も就職について考えてて、色々言われてて、ちょっと病んでるかも、とのことだった。

我々には評判の悪いレベルの低いプログラミングスクールも、需要があるんだなぁ。

なんか、今時の大学生大変だなぁ。
息子は(今時の大学4年生で4月には社会人だが)、3年の時に就職ガイダンスを受けた後、ほぼ何もしなくて、進学するのかなーと思っていたら、4年になったらちょっとだけ就職活動して、いくつも落ちた後、一社内定がいただけたところで、あっさり就職活動を終えてしまった。
義姪は、業界研究とかして、いくつも内定が出ても、「もっと上を」目指しちゃうんだろう。
息子には、義姪の爪の垢でも飲ませてやりたいが、一方で、義姪には、会社は入ってみないと分からなし社会情勢で変わっちゃうので、自分の興味のあることや、楽しいことや、得意なことを考えるのがいいよ、と言ってあげたい

コメント(0) 
共通テーマ:日記・雑感

GitHub Actions で、Rust のプロジェクトをテストする [プログラミング]

GitHub Actions は、使ったこと無かったのだが、重い腰をあげてやってみる。

https://github.com/nakagami/awabi の Actions タブを開くと
「Rust」の workflow が suggest されているので
「Set up this workflow」を押下「Start commit」→「Commit new file」
で master ブランチにファイル追加
rust-github-actions.png
awabi/.github/workflows/rust.yml が作成され、しばらくすると、テストが実行され、ステータスが Failure になる。
なるほど、ファイルが追加されたら、他になにか設定しなくても動くんだ。
rust.yml の内容から、 master ブランチの push と pull request の時に実行されるということはわかった。

Fail するのは、 mecab-ipadic-utf8 が無いからなので、 rust.yml に、 sudo apt install mecab-ipadic-utf8 を追加
https://github.com/nakagami/awabi/commit/59221cb4f47dbd6ebf016928f90388e2662a443e

これで Success するようになった。

Rust のプロジェクトは cargo test でテストするように決まっているので、 GitHub Action での CI は、このパターンでいけそう。
コメント(0) 
共通テーマ:日記・雑感

Firebird 4.0 RC1 released [Firebird]

毎年の Firebird Advent Calendar で
「今年も 4.0 RC1 は出ませんでした」
が風物詩になっていたが、ついに出た。
https://firebirdsql.org/en/news/firebird-4-0-release-candidate-1-is-available-for-testing/
https://www.firebirdnews.org/firebird-4-rc1/

Firebird 3.0 が最初にリリースされたのいつだっけ?と思って調べたら2016年4月だった
https://firebirdsql.org/en/news/firebird-3-0-is-released/

希望を言えば、今年中に Firebird 4.0 がリリースされて、 Ubuntu 22.04 に Firebird4.0 のパッケージが含まれると嬉しいが、難しいと思っている。

とにかくリリースできてよかった(ファイナルリリースは、計画も含めて、時期はまだ未定だけど)
OSS の RDBMS といえば、 MySQL (と MariaDB)と PostgreSQL が有名だが、選択肢は多いほうがいい。

Firebird3.0 の当初の計画で実装される予定だったレプリケーションのなど機能が 4.0 で実装されているはずで、もう10年くらいかかっていると思う。
RC1 以降は、サーバーとクライアントでやりとりするワイヤープロトコルの変更はないと思うので、データーベースドライバの 4.0 対応のゴールが見えた。

後でリリースノートを読む。
コメント(0) 
共通テーマ:日記・雑感