Gitの軽い説明?

Gitって聞いたことあるけどよくわからない…

そもそも知らない……

 

Gitとは?

バージョン管理をするもの。

具体的には、

ソースコードの管理、変更履歴管理などをする、分散型のバージョン管理ツール及びシステムのことです。

 

バージョン管理とは?

例えばmain.cppと言うC++のファイルがあったとしましょう。

main.cppのファイルの内容を書き換えたら変更履歴として残るわけです。

 

何が便利なのでしょうか?

例えばmain.cppというファイルを書き換えたさいに、もとの状態に戻したい。

元の状態をまた見たい。

これが可能なわけですね。

つまりファイルの内容などを更新のつどバックアップする必要がないわけです。

「どこを変更したか?」「誰が変更したか?」「バックアップ不要」「これらを管理」

なわけですね。

 
Git入門

Gitの入門には以下のサイトがおすすめ。

 
このGitというものを使ったソースコード管理、公開ができるホスティングサービスとして「GitHub」というのがメジャーです。

GitHubの入門には以下のリンクをどうぞ。

YOT

 

Remove all ads

Tor かんたんに書いてみた

Torとは?
Torとは単純に言えば通信およびその経路の匿名化、アクセス元の匿名化を行うツール。

 

 

 

Torの歴史

以下のリンクに歴史も載っています。
匿名通信「Tor」はどういう仕組みなのか分かりやすく解説 - GIGAZINE

 

仕組み

通常インターネットを利用してパブリックサーバーにアクセスする際の単純化した図
(本来はもっと複雑です)

f:id:GufGuf:20170623211712p:plain


Torを使った場合

f:id:GufGuf:20170623212501p:plain

 

 

 

Torのサーバーを経由することにより直接のアクセスではなく間接的なアクセスを実現しています。
またTorのサーバーはログを記録していません。

 これによりアクセス元をできるだけ隠そうとするわけですね。

 

通常のプロキシとの違い

通常、プロキシの目的は利用するユーザーによって様々ですが、Torのような匿名化を目的とした利用にはあまり意味がありません。
防弾ホスティングとか使えば別かもしれませんが。。。

一般的なプロキシの流れとしては、アクセス元とアクセス先の間に1台はさめるという単純な流れです。

f:id:GufGuf:20170623213217p:plain



リレーとは?


Torは上記通り複数のTorのサーバーによって実現されています。
ここでいう「Torのサーバー」というのがリレーサーバーといわれるものです。


リレーは世界中に複数存在しています。
世界中で実際にTorがどれだけの通信をしているかは以下のリンクを見てください。


すごいですよね。 

このように世界中のリレーを経由して目的地にアクセスしているわけですね。


リレーは3種類ある。


・エントリー/ガードリレー(Entry/Guard relay)
Torのエントリーポイントとなるリレーです。
次は中間リレーにトラフィックを投げます。

・中間リレー(Middle relay)
エントリーからの通信(トラフィック)をサーブして次のリレーへと送信します。

・出口リレー(Exit relay)
終端となるリレーです。
これが目的となるアクセス先に通信を送信する役割になります。


改めてTorの流れを見てみましょう。

f:id:GufGuf:20170623212501p:plain


上図を説明しやすいように下図に整理してみます。

f:id:GufGuf:20170623230701p:plain

 左側 : エントリー/ガード リレー

 真ん中 : 中間リレー

 右側 : 出口リレー

 

と、いうことですね。

 

 



Remove all ads

Pythonを学んでみてほしいから、書いてみたのですのです

プログラミング言語何使ってますか?

僕は普段「C#」「Python」「C++」です。

Go言語なども触ったりもしてますがそれほどがっちりではないです。

 

 

 

 目次

Pythonについて

Pythonスクリプト言語です。

つまり実行方式はインタプリタですね。

Pythonにはバージョンが2.xと3.xがあります。

現時点ではLinuxなどでは2.xがデフォルトで使われています。(一応3.xも入ってる) 

ただ、これから学ぶのであれば迷わず3.xにしましょう。

ぼく個人的な評価としてはスクリプト言語の中では最も優秀であり汎用性のある言語だと思っています。

また、ITの中のさらなる小分けにもどれにも対応しています。

ウェブでもAIでもなんでも任せてOKな言語です。

また、C++などで拡張が可能です。
 

難易度

難易度としてはスクリプト言語なので言語仕様は単純です。

なので言語仕様は1週間もあれば覚えれると思います。
プログラミング初心者でも全然OKな言語です。

セットアップ

Pythonを動かすにはPythonを動く原動力となるエンジン部分を入れる必要があります。

 C++などと違い、コンパイルしてバイナリ形式になるわけではありません。

*.pyのファイルを作成してそれにプログラム記述してなわけなので、その *.pyを実行するための物が必要ですよね。

まずはPythonをダウンロードしましょう。
以下のリンクはPythonの公式サイトです。

Welcome to Python.org

各OS別のセットアップ
Windows
上記したリンクからPythonをダウンロードしてください。
そしてインストーラーを起動するだけです。

mac

Mac OS XにPythonをインストールする — Pythonヒッチハイク・ガイド


Linux(debian系統)
CUIから以下のコマンドを実行
sudo apt update
sudo apt install python3

Linux(CentOS系統)
Python 3 を CentOS 7 に yum でインストールする手順 | WEB ARCH LABO


開発環境

Visual Studio
提供元 : Microsoft
リンク : https://www.visualstudio.com/ja/



こちらはIDEです。
Pythonプラグインをしたら使えます。
IDEだということもありPCのスペックはある程度必要です。
HDDの領域を結構使うのでセットアップする前にご確認を。

また、企業などで使う場合は数十万円のライセンス費用が必要です。
個人であれば無償で利用可能。

僕はVisual Studioが一番おすすめです。


Visual Studio Code

 提供元 : Microsoft
リンク :  https://code.visualstudio.com



こちらはテキストエディタです。
なのでスペックはそれほど要求しません。

僕的にはほかのテキストエディタよりも使いやすいです。

 

Atom
提供元 : GitHub
リンク : https://atom.io


僕個人的にはWindowsでの利用では扱いにくい感じがしました。
質としてはとてもいいものです。

最後に

Pythonをお勧めする理由としては、

まずウェブであればFlaskやDjangoなどが優秀であること。

そのほかAIのライブラリでも使われてたりデータサイエンスでも使われています。
Googleが開発したTensorflowなどもPythonを使っています。
データサイエンスの分野ではR言語にとってかわってな感じがします。
また、スクリプト言語の中では最も高速だと思います。

 

ちなみにこちらがTensorflowのリンクです 

 

 

 

Remove all ads

Cの書籍

C言語の書籍でいいものがあったので紹介します。

 

この書籍がすごく分かりやすかったです。

 

僕はこの本が発売される前からC言語は書けたのですがある日、広告で「ふと」目にとまったこのタイトル。

思わず購入してしまいました。

そしたらびっくりするぐらい読みやすくて。これは!

これからプログラミングを覚えたい方はぜひ!

Remove all ads

Linux使ってみること強く推奨

OSはWindows?? mac?? もし、コンピューターに興味があるのであればLinuxに一度触れてみるべきです。

コンピューターの素晴らしさがわかるはず。

CUIでの操作とか最初は抵抗あるでしょうけど、慣れるとめっちゃ効率的に操作できます。

「とにかくLinux触ってみて!!!」


まずLinuxカーネル部分だけがシンプルにあります(Linuxカーネル)

Linuxカーネルカーネルとして複数のディストリビューションがあるのです。

そしてそのディストリビューションから更に分岐されています。

Debian系だとUbuntuとか。UbuntuからだとMintとか。
RedHat系だとRHELはじめ、CentOSFedoraとか。

とにかくたくさん種類あるのです。

と、言われてもよくわからん。結局どれを使えばいいのか??

まずは1つのディストリビューションになれましょう。

そこでおすすめのLinuxを紹介します。

 

1 ) Ubuntu
リンク :   https://www.ubuntu.com/
開発元(主) : https://www.canonical.com/

 

 

2 ) Fedorahttps://getfedora.org

 

 


3 ) Mint Linux
リンク : https://www.linuxmint.com/


この3つがメジャーで、情報量も多く初心者でも大丈夫でしょう。

上記したディストリビューションはどれもGUIのバージョンがあり、いきなりCUIということは
ないので、そこまで警戒しなくても(笑)OK.


まずはUbuntuを使って見てはどうでしょうか?

 

Ubuntuについて
Ubuntuのオフィシャルサイトに行くと、「Desktop」,「Server」とあります。
Desktopを選ぶとそこからイメージファイルがダウンロードできるようになっています。
サーバーでの利用などの場合はServerを選びましょう。
その他最小構成のMinimalも用意されているはず。


・Desktop
デスクトップを利用したい場合はこれを選択します。
デフォルトではUnity desktopです。
Ubuntu18.x系からはGNOMEに戻るようですが現時点ではUnity desktop.

初めての方は迷わずDesktopを選択しましょう。

 

 

・Server
サーバーでの利用を前提とした構成で、Desktopより構成が小さく、最小構成とまでは行きませんが、それに近い感じです。
インストーラーからメジャーなサーバーソフトウェアをインストールできるように、
なっています。

デスクトップは入っていませんので必要におおじて入れてください。

CUIになれるには最適ですね。

 

 

・最小構成
リンク : https://help.ubuntu.com/community/Installation/MinimalCD
本当に最小構成なインストールが行えます。

こちらも最初からはデスクトップは入っていません。

 

 

 

このような感じですかね。


また、Ubuntuは超初心者から超上級者まで幅広い範囲で利用されています。
それでUbuntuをおすすめします。

 

Remove all ads

YouTube Kids

 

YouTube Kidsなかなか扱いやすいですね。

これなら小さなお子さんでも扱えます。

そしてそしてタイマーの機能。

これも見過ぎないように設定でき便利です。

 

お子さんがいるご家庭などではぜひ試してみてください!!

 

詳しくは引用ページを見てみてください。

 

 

引用 :  YOT

Remove all ads

キーボード探し 第一弾

キーボード買い換えたいなーと思っていて検討中。

ちょうどいいのでキーボード探しをして記事にしようと思いましたので、

まずは3つ紹介します。

 

1 ) K840 MECHANICAL 

メーカー : logicool

 

・主なスペック
接続方式 : 有線
キーレイアウト : 108キー日本語レイアウト
キーストローク : 3mm
キー構造 : メカニカ

詳細 : https://www.logicool.co.jp/ja-jp/product/k840-mechanical-corded-keyboard?crid=27#specification-tabular

 

 

陽極酸化アルミニウム構造だそうです。またキー割当のカスタムができるようです。
ショートカットキーや、ウィンドウズキーのロックなどに関してのカスタムが行えるようですね。

長時間のタイピングも考慮されているようです。

 

こんな方に、

長時間のタイピングをする。
キーのカスタムがしたい。
メカニカルキーボードがほしい。

 

向かない方、

コンパクトさを追求。
もちはこびやすさなど。
ワイヤレスがいい。

 

 

 

 

2 ) K380 MULTI-DEVICE BLUETOOTH KEYBOARD
メーカー : logicool
主なスペック
接続方式 : ワイヤレス(bluetooth)
キーレイアウト : 84キー日本語レイアウト
キーストローク : 1.5mm
キー構造 : パンタグラフ

 詳細 : https://www.logicool.co.jp/ja-jp/product/multi-device-keyboard-k380?crid=27

 

 

Windows,mac,Android,ChromeOS,IOS,AppleTVに対応!
幅広いOSをサポートしているようです。
最大で3台のデバイスの同時接続。


こんな方に、
コンパクトさを追求。
ワイヤレスがいい。
iPhone,PC,Tabletと登録しておきたい。
おしゃれなカラー

 

向かない方、
キーの深さがほしい。
キーの大きさがおきいほうがいい。
長時間のタイピングをする(ハードさ)

 

 

3 ) Sculpt Ergonomic Desktop
 メーカー : Microsoft
主なスペック
接続方式 : ワイヤレス
キーストロークについてなどは見当たりませんでした。

詳細 : https://www.microsoft.com/accessories/ja-jp/products/keyboards/sculpt-ergonomic-desktop/l5v-00030

 

 

AESで暗号化して通信するようです。
そういえば、ワイヤレスキーボードの通信を傍受するのが一時期話題になりましたね。そういった面ではこれはそれなりに安心かも。

 

 

こんな方に、
打ちやすさ重視!
疲れにくさなど。
無線通信が暗号化されてるほうがいい。
テンキーとキーボードが分かれてたほうがいい。


向かない方、
コンパクトさを追求。
テンキーと一体のほうがいい。

 

 

とこんな感じでは?

 

Remove all ads