テレコムクエストって本を探している
テレコムクエストって本
昔、「テレコムクエスト」という漫画があった。漫画と言ってもバトルモノやアクションではなく、教育系漫画である。
自分が小学生の頃、近くのごみ焼却施設のフェスで図書館の破棄本が無料でもらえるイベントがあった。
そこで「テレコムクエスト」を手に入れた。こういうやつ
引用: https://twitter.com/k_e_i_ta/status/878894231305072641
正直あまり内容は覚えてないんだけど、1990年出版しては未来の通信について具体的な予想をしていて、
- テレビ電話
- トイレに通信機能がついていて、便の結果をリモートで健康判断
- テレビで遠隔授業
とかめっちゃハイテクだった。
とはいえ高校生くらいに捨ててしまったので、再度見たいと思って調べたけど全然見つからない。メルカリにもない。
国立国会図書館サーチで調べてみると以下がヒットした
テレコムクエスト通信 (光村教育図書): 1990|書誌詳細|国立国会図書館サーチ
国立国会図書館サーチで表示されているデータは以下の通り
- タイトル: テレコムクエスト通信
- 出版社: 光村教育図書
- 大きさ、容量等: 175p ; 21cm
- ISBN 4895722023
- 出版年(W3CDTF) 1990
- NDC(8版) 694
- 資料の種別 図書
ISBNもあるのに国会図書館にはないっぽい。。。
宮城県図書館にはあるらしいけど。。。
ISBN振ってあるような本でも絶版になって二度と見れない本ってあるんだなと実感しつつ、
うかつに本捨てられないなと思った。まる。
参考リンク
ArgoCD2.7にアップデート失敗する件
環境
- Kubernetes 1.27
- ArgoCD 2.7
私はk8sのデプロイにargocdを使用しており、今回2.7がリリースされたのでアップデートしてみました。しかし、アップデートの際にエラーが発生してしまったため、修正方法をメモしておきました。
エラー内容
Argocd 2.7がリリースされたのでアップデートしてみる
https://github.com/thr3a/kubernetes-manifests/blob/master/argocd/kustomization.yml
- - https://raw.githubusercontent.com/argoproj/argo-cd/v2.6.7/manifests/install.yaml + - https://raw.githubusercontent.com/argoproj/argo-cd/v2.7.2/manifests/install.yaml
が、いっこうにアップデートされない。デプロイメントを確認してみると無限に起動に失敗している。。。
エラー内容は以下
"Error: unknown command "/usr/local/bin/argocd-server" for "argocd-server""
試しに再起動してもだめだった
原因
--insecure
の設定をしていたため。2.7で指定の仕方が変わった
2.6まで
apiVersion: apps/v1 kind: Deployment metadata: name: argocd-server spec: selector: matchLabels: app.kubernetes.io/name: argocd-server template: spec: containers: - command: - argocd-server - --insecure name: argocd-server
2.7以降
commandからargsに変わった
apiVersion: apps/v1 kind: Deployment metadata: name: argocd-server spec: selector: matchLabels: app.kubernetes.io/name: argocd-server template: spec: containers: - args: - /usr/local/bin/argocd-server - --insecure name: argocd-server
参考リンク
Railsで簡単にデバイス判定できるライブラリ「rack-user_agent」
やりたいこと
Railsを使用して、user-agentからPCかスマホかを判断したり、OSやデバイス名を抽出したいと思っています。しかし、これらを自分で実装するのは手間がかかります。
そこで、「rack-user_agent」というライブラリを使用してみました。
k0kubun/rack-user_agent: Rack::Request extension for handling User-Agent
インストール
gem 'rack-user_agent'
bundle install
使い方
Railsの場合、インストールすればrequestsオブジェクトにメソッドが勝手に生えてくれる
# Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36 [2] pry(#<PostsController>)> request.device_type => :pc [3] pry(#<PostsController>)> request.os => "Mac OSX" [4] pry(#<PostsController>)> request.browser => "Chrome" [5] pry(#<PostsController>)> request.from_pc? => true [6] pry(#<PostsController>)> request.from_smartphone? => false [7] pry(#<PostsController>)> request.device_variant => :pc
スマホの場合
# Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 [2] pry(#<PostsController>)> request.device_type => :smartphone [3] pry(#<PostsController>)> request.os => "iPhone" [4] pry(#<PostsController>)> request.browser => "Safari" [5] pry(#<PostsController>)> request.from_pc? => false [6] pry(#<PostsController>)> request.from_smartphone? => true
更新頻度が高くないし、厳密なチェックには向いてないだろうけど軽く確認する場合には良いかも
参考リンク
RubyでIPからリモートホストを取得するとSocketだと怒られる件
環境
- Ruby 3.2
RubyでIPからリモートホストを取得したい
以下は、Rubyを使用してIPアドレスからリモートホスト名を取得する方法についての情報です。
例えば、133.159.148.245から245.148.159.133.rev.vmobile.jpを取得することができます。
以前はSocketライブラリを使用していましたが、現在は非推奨となっています。そのため、新たにAddrinfoライブラリを使用する方法をメモしておきます。
コード
require 'socket' ip = '133.159.148.245' hostname = Socket.gethostbyaddr(ip.split('.').map(&:to_i).pack('C*'))[0] p hostname
ただこれだと実行時に以下のような非推奨WARNINGが表示される。rubocopでも怒られる。
a.rb:9: warning: Socket.gethostbyaddr is deprecated; use Addrinfo#getnameinfo instead.
そこでAddrinfoライブラリを使ったバージョンに変える。
require 'socket' ip = '133.159.148.245' addr_info = Addrinfo.tcp(ip, 0) p addr_info.getnameinfo[0]