auの日記

プログラミング初心者の日記。(auはハンドルネームです)

Pythonのisinstanceの使い方

auです。

PythonJavaのように、instanceを作ってクラスをいじっていたのですが、VScodeで「instance」を作る際に候補で「isinstance」という関数が出てきたので、調べてみました。

isinstanceとは

isinstanceは、第1引数に値、と第2引数に型を渡すと一致しているのかをbool型で判断します。

print(isinstance(1, int))
print(isinstance(100, str))
print(isinstance({"key": 100}, dict))

# 実行結果
True
False
True

エラーの時には数値、正常時には文字列を返すという風にすれば、少ない工数でエラー処理を実装できるかもと思いました。

SDGsについて調べてみた

auです。

SDGsという用語を最近よく見かけるので調べてみました。

SDGsとは

SDGsとは、「Sustainable Development Goals(持続可能な開発目標)」の略称です。

SDGsは、2015年9月の国連サミットで採択されたもので、15年間で達成するために掲げた17の目標のことです。

細かいことはまとめてあるサイトを見た方が詳しく載っているので、ITとの関連についてまとめたいと思います。

例えば、富士通SDGsへの取り組みを行なっていました。

www.fujitsu.com

インドネシアでは、養殖業や漁業が発展しているが、安定した資源確保ができていない現状がありますが、ICTによる学習プラットフォームの「Fisdom」を活用して、新しい担い手の教育をしています。

ICTという技術を使い、SDGsの「持続可能な食と農業」を達成している例だと読み取ることができました。

社会的問題を解決していく企業の中には、このSDGsについて触れている企業も多く見受けられたので、もっと増えていけばいいなと思いました。

VNCについて調べてみた

auです。

VNCという用語を見たのですが、聞いたことがなかったので調べてみました。

VNCとは

VNCとは、Virtual Network Computingの頭文字を取った用語です。

VNCは、ネットワークを通じて遠隔でパソコンを操作するためのソフトウェアの一つです。

VNCは2種類あり、操作される側に入れるソフト(VNCサーバ)と、操作する側に入れるソフト(VNCクライアント)の2種類です。

通信プロトコルのRFB(Remote Frame Buffer)を使うことで、遠隔からデスクトップ画面をリアルタイムに表示し、そうすることができます。

VNCオープンソースのソフトウェアで公開されており、様々なOS上で利用できるように設計されています。
つまり、Windows上でMacOSを操作するといったことも可能です。

代表的な例として、RealVNC、UltraVNC、TightVNC、MultiVNCといったものがあるようです。

大学3年の秋学期が終わった

auです。

怒涛の大学3年の秋学期が終わりました。

普段の勉強の専門性が上がり、それだけで大変なのに、就活も入ってくるという状況でした。

大学の勉強は置いていかれることなく、(返却されてものは)全て平均点を超えていて、周りに教えるような場面もあったので、少しは差をつけることができたと実感できたような気がしました。
主にGitといった、実務で使うものが他の人よりもできるなと感じました。

就活に関しては、面接があまり得意でないという弱点を早めに見つけることができました。この時期ならまだ修正できると思うので、頼れる人たちの力を借りつつ、後悔のないように頑張ろうと思います。

来学期からは研究が始まります。大学に籠って友人に「すげえ」と言わせることができるようなことをやってみたいと思います。

Pythonで\u200bと\u3000を消す方法

auです。

CSVファイルを開いた際に、「\u200bや\u3000」といった文字コードを見ることがあります。

これを消す際に行う処理を見つけたので、残しておきます。

\u200bと\u3000とは

そもそもこいつらは、半角空白の文字コードと、全角空白の文字コードです。

print(title[0])

のように、1行だけ表示する際には大丈夫ですが

print(title_list)

のように、まとめて表示する際に、この文字コードが表示されました。なぜだろう?

対処法

対処法は以下のようにします。

title.replace('\u200b', '')
title.replace('\u3000', '')

replaceで、該当の文字列を置換しているだけですね。

これだけで消去することができたので、困っている人はやってみてください。

KVS(Key-Value Store)とは何か調べてみた

auです。

KVSという用語を聞いたのですが、意味が自分の中で出てこなかったので調べることにしました。

KVSとは

KVSとは、Key-Value Storeの略語で、データ管理システムの一つです。

データをValue、それに対応するユニークなキーをペアでストレージに保存する方法です。

値やデータに使用できる型や処理は種類によって異なり、構造体が扱えるものもあるみたいです。

KVSの特徴として、以下のようなものがあります。

  1. データモデルがシンプル
  2. スケールアウトしやすい
  3. ユニークなキーを利用するのでデータの読み書きが早い
  4. 分散処理に適している
  5. トンラザクション処理ができないものが多い

代表的なものとして、RedisやmemchaedがKVSのようです。

構造が単純なので、高速な処理ができ、分散処理にも適しています。Pythonでいう辞書型みたいな感じですね。

IT用語のランデブーとは

auです。

ネットワーク関連の用語で「ランデブー(Rendezvous)」という用語を知りましたが、意味を知らなかったので調べてみました。

ランデブーとは

ランデブー(Rendezvous)とは、P2Pにおいて、お互いの機器同士を接続することを指します。

P2Pでは、定期的にパケットの交換をして、情報を新鮮に保ちます。
そして、新しくP2Pに参加したノードが情報を得るために、ランデブー・ポイントという情報を集めている場所の情報を最新のものにし続けなければなりません。

調べてみましたが、Appleが使い始めたRendezvousが多くヒットして、欲しい情報を得ることができなかった気がします・・・。