sknt

4歩進んで5歩戻る

嫌われたらどうするか

・自分勝手に相手を振り回すと、無視されたり不快な顔をされる。

その時、自分はどうしようもない人だと自覚する。いっそ自分がいなくなった方が良いとさえ考える。
いなくなる方法としては、死ぬ、失踪する、引きこもる、があるがどれも楽ではない。

「死ぬ」と苦しみは続かないが、先には何もない。明日?いま?全てが無になる。
ひとつの魂が消える。何も残らない。
夢も希望もない。あるのは暗闇、真っ暗な闇だ。

まだそこに飛び込む勇気はない。

狂う距離感

・距離感バグった勘違い野郎は私です。少し意気投合しただけで、止まらない連絡、急な下ネタ、過度な気遣い。いまやり取りを見返すと勘違い甚だしい。
やはり自分は人を不幸にする。関わりを持ってはいけないやべーやつだと再認識した。
ありがとう〇〇さん。

Linux mint 20.2のターミナル(端末)の全角記号が重なってしまう

Q.
Linux mint 20.2のターミナル(端末)の全角記号が重なってしまう

(例)
・□(四角)

事象

A.
ターミナル(端末)の「編集」->「設定」から「曖昧な文字の幅」を半角から全角に変更する。

1.編集->設定を選択

1.設定を選択する

2.曖昧な文字の幅を変更(変更前:半角)

2.変更前

3.曖昧な文字の幅を変更(変更前:全角)

3.変更後

補足:
入力後、Back space で削除すると半角分しか削除されず表示が変になる。(修正方法は不明)

Cloud Translation (API)の課金費用と無料枠の再確認

Google Cloud を無料枠の範囲で使ってたつもりが、気づいたら費用内訳に金額が記載されていていた。

 

Google Cloud の管理画面にある「費用内訳」から、「+309円」の費用発生と「-309円」の割引されていることが分かった。

果たしていまのペースで利用しても、今後無料枠を超えないのか心配になったので実際に確認してみた。

ちなみに、利用中の課金サービスは「Cloud Translation」で、英語を日本語に翻訳するAPI

 

結論

いまのままペースで利用しても有料になることは無さそう。

 

「Cloud Translation」は、およそ10ドル分(500,000文字)は無料で、

500,000文字以上は有料になる。

 

10ドル = 500,000文字

1ドル = 135円(2022/12/05 時点)

10ドル = 1350円

1円  = 500,000文字/1350円

1円 = 370.370文字 = 370円

309円分利用しているということは

309円 * 370文字  = 114,330 ... の文字をAPIで翻訳していることが分かる

 

実際、APIをどれだけ利用したかは「有効なAPIとサービス」の「割り当て」で確認できる。

(参考:Google Cloudのダッシュボード画面)

Google Cloudの利用文字数

下部の通り、現在の使用量は「8,451」

これは、今日APIを使って翻訳をした文字数を一致する。

11月下旬から同量の文字数の翻訳を13回ほどしているので、

8,451(文字)x14(回)で「118,314」

(309円分の文字数「114,330」とほぼ同じことが分かる)

 

「8,500」文字を一ヶ月で何回出来るかは

500,000 / 8,500 = 58.82

なので 58回ほど(1日大体2回)ペースでなら無料枠内に収まることがわかった。なるほど。

 

参考リンク1:Cloud Translation の料金

最初の 500,000 文字 *(1 か月あたり)

…無料(毎月 $10 分のクレジットとして適用)†

$20 /1,000,000 文字

cloud.google.com

pygameのフォントを一覧で表示する

pygameのフォントを一覧で確認・比較するために書いたコード

import sys
import pygame
from pygame.locals import *
 
pygame.init()
width = 1200
height = 700
surface = pygame.display.set_mode((width, height))
list = []
for x in pygame.font.get_fonts(): 
  list.append(x)

while True:
  rowCount = 1
  colCount = 1
  surface.fill((0,0,0))
  for i in range(len(list)):
    surface.blit(pygame.font.SysFont(list[i], 20).render(str(i) + ":" + list[i], True, (255, 255, 255)), [colCount*150-120,rowCount*30]) 
    if rowCount*30 >= height-100:
      colCount = colCount +1
      rowCount = 1
    rowCount = rowCount+1

    if i == 127: break
  pygame.display.update()

  for event in pygame.event.get():
    if event.type == pygame.locals.KEYDOWN: 
      if event.key == pygame.locals.K_ESCAPE:
        pygame.quit()
        sys.exit()

実行結果

pygame フォント一覧

最新ソース

github.com

参考サイト

mulberrytassel.com

WebSocketのserver・client処理(Python・JavaScript→Python・Python(Pygame)

2端末を利用した対戦ゲームを作成するために、WebSocketsを使い2端末で入力した情報を共有するコードを書いてみた。

 

参考にしたのは公式ドキュメントの「Manage application state」。

(参考URL)

 

 

公式ドキュメントには、状態の制御・管理(server側の処理)は「Python」、画面の表示・入力(client側の処理)は「JavaScript」で書かれている。

 

Pygame」でゲーム製作中なので、せっかくなので「JavaScript」で書かれている部分を「Pygame」で書き直してみた。

 

書き直したコードは下記のページに掲載

github.com

 

書き換えで苦労した箇所

参考元のclient側(JavaScript)では、他端末からの入力を「onmessage」イベントで検知して画面に反映させているが、「Python」で同じ処理、検知出来るイベントの書き方が分からなかった。

 

結局、client側では0.5秒毎にサーバに状態を確認し画面に反映させる繰り返し処理をさせ、server側で状態確認用の指令を受信、状態をclientに送信する処理を書き加えた。

 

課題

状態変更(value+1or-1)を高速で連続実行すると、画面に反映されるまでに時間がかかってしまう。この原因は、状態確認と状態変更のsend・receiveが同じwebsocketsを利用しているからである。 

    1. 画面状態確認:0.5秒毎にsend・receive処理
    2. 状態変更:  p または m 押下時にsend・receive処理

上記2「状態変更」連続実行中に1の状態確認が実行されると、1のreceive処理で2の状態変更でsendした情報が受信されてしまう。

 

どう改修すれば良いかは未だ検討中。

【書籍】筋トレに関する書籍2冊

最近ジムで筋トレを始めたので、効率をあげるためにトレーニング関係の書籍をいくつか読んだ

書籍1.スポーツのための筋力トレーニング練習メニュー120

著者 有賀 誠司 (監修),石井 直方 (監修)
honto.jp

メモ

Q:筋肉トレーニングは、どれくらいのスピードで行えばよいの?
A:目的によってことなります。フォームのマスターや身体づくりのためにはゆっくり行うのが基本ですが、パワーアップのためにはすばやく行います。

Q:食事の前と後では、筋力トレーニングを行うのにどちらが適しているの?
A:食後2〜3時間経過してからが理想。トレーニング後にはエネルギーとたんぱく質を補給しましょう。

追記:空腹は効率が悪い

Q:自宅で器具を購入する場合、何からそろえればよいの?
A:まずは重量が調整できるダンベルからそろえることをおすすめします。

以前、調整できるダンベルを買ったが毎回の調整が面倒で使わなくなった。
ダンベルを使うぐらい本気ならジムに通った方いいと思う。

書籍2.基礎から学ぶストレッチング

著者 谷本道哉
books.rakuten.co.jp

メモ

ストレッチング 動作の8つのコツ

コツ3:大きな「てこ」を使って伸ばす
コツ8:ストレッチングされる筋肉を意識する

三角筋(前部)
1.手を後ろに組んで立つ
2.胸を張って腕を引く