ライセンスについて

一般的な意味

著作物に関して著作権者が使用者に与える使用権の許諾を指す。

ソフトウェア分野での意味

著作権者であるメーカー側がユーザーに対してソフトウェアの利用を許可する事を指す。 ライセンスの内容はソフトウェアメーカーとユーザーで結ばれたソフトウェア使用許諾契約で定められる。

ライセンス形態の種類

ライセンス 説明
オープンソース ソースコードを商用、非商用目的を問わず利用、修正、頒布することを許可する。また、利用者個人や団体の努力や利益を遮ることがないソフトウェア。
フリーウェア 無償でオンラインソフトとして提供されるソフトウェア。
フリーソフトウェア どのような目的に対して(研究、変更、頒布など)も実行することを許可するソフトウェア。
ドネーションウェア フリーウェアのように無償で全機能を利用可能だが開発者が任意の寄付を求めているもの。
メールウェア ソフトウェアを利用してもらい利用した感想や意見などをメールで送ってもらうライセンス。2008年以降、見られることが減少した。
シェアウェア ソフトウェアの一時的な試用は無料であるが継続的な使用に対しては対価を要求するライセンス。
商用ソフトウェア 企業および会社が有料で販売しているソフトウェア。
市販ソフトウェア 企業や会社などの団体や組織をターゲットにした有料ソフトウェア。

Gitメモ

Git

GitHub

ブランチ確認&作成&移動

確認

git branch
#リモートブランチも確認する場合「-a」を付ける
git branch -a

作成

git branch 作成したいブランチ名
ex) git branch hogehoge

移動

git checkout ブランチ名
# 新規にブランチを作成しすぐ移動する場合
git checkout -b ブランチ名

編集状態確認

git status

ファイルのコミット&プッシュ

コミットしたいファイルを追加

git add ファイル名
#編集ファイル全ての場合「.」にする
git add .
git commit -m "コミットメッセージ"

プッシュ

git push origin ブランチ名

フレームワーク一覧

最近、目にしたり使ったりするフレームワーク一覧。

フレームワーク 言語 公式サイト 備考
Zend Framework PHP https://framework.zend.com/
Laravel PHP https://laravel.com/
Ruby on Rails Ruby https://rubyonrails.org/
Spring Framework Java https://spring.io/
Angular JavaScript https://angularjs.org/
Vue.js JavaScript https://jp.vuejs.org/index.html
React JavaScript https://ja.reactjs.org/tutorial/tutorial.html
Django Python https://docs.djangoproject.com/ja/3.1/

Python備忘録

コメント

行頭に「 # 」をつけることで行末までコメント扱いとなる。 また、複数行は「 “”” 」か「 ‘’’ 」で囲む。

文字列

ダブルクオーテーション「 “ 」またはシングルクォーテーション「 ‘ 」で囲まれたものを指す。 pythonではどちらでも動作するが一方に揃えて入力するのがベター。

print("Hello World") / print('Hello World')

数値

文字列とは違ってクォーテーションで囲む必要がない。 数値は四則演算が可能である。

加算 減算 乗算 除算 除算余り
+ - * / %
a = 11
b = 10
print(a + b) # 21
print(a - b) # 1
print(a * b) # 110
print(a / b) # 1.1
print(a % b) # 1

条件文

if 条件A:
    条件文AがTrueであれば実行
elif 条件B:
    条件AがFalseかつ条件BがTrueであれば実行
else:
    条件A、条件BがFalseであれば実行

繰り返し処理

for文

for ループ内変数名 in リスト名:
    実行される処理

i = [10, 20, 30]
for num in i:
    print(num)

# 出力結果
# 10
# 20
# 30

range関数

一定回数の繰り返し処理を行う際には「 range関数 」を使う。

range(x): 0からx-1までの連番をリストで返す
range(x, y): xからy-1までの連番をリストで返す
for num in range(10):
    print(num)

# 出力結果
# 0
# 1
# etc…

enumerate関数

リスト要素を順に処理しつつ、インデックス番号を知りたい場合に使う。

i = ["a", "b", "c"]
for index, value in enumerate(i):
    print(index, value)

# 出力結果
# 0 a
# 1 b
# 2 c

items関数

辞書型データに繰り返し処理を行うにはitem関数を使う。

data = ["one": 1, "two": 2, "three": 3]
for key, value in data.items():
    print("key: {}, value: {}".format(key, value))

# 出力結果
# key: one, vlaue: 1
# key: two, value: 2
# key: three, value: 3

リスト内包表記

既存のリストから新しいリストを作る方法である。 また、条件に応じた場合ただ新しいリストに追加したい場合などにも使える。 処理を簡潔に書くことができ、新しいリストなどへの追加メソッドなどを書く必要がなくなる。

result = [num*2 for num in range(1, 11)]
print(result)
# 出力結果: [2, 4, 6, 8, 10, 12, 14, 16, 18, 20]

while文

特定条件を満たすまで繰り返し処理を行う。 for文と比べると使用頻度が低いが、明示的に繰り返し処理を行う際に使われる。 無限ループになってしまった場合は「Ctrl + c」で強制終了するのも一つ。 無限ループになることを避けて書く必要がある。

i = 0
while i < 3:
    print(i)
    i += 1

# 出力結果
# 0
# 1
# 2

参考サイト

プロキシ配下でのDocker利用

Dockerを触っている際にDocker hubなどに接続できないことがあった。

接続ができるようにプロキシを通した仮想マシンを作成する。

そして、作成した仮想マシンSSHログインをしてDockerを利用していく。

環境

  • OS : Windows10
  • バージョン管理ツール : GitBash

プロキシ設定を通したDocker仮想マシンの作成

$ docker-machine create -d virtualbox --engine-env HTTP_PROXY="http://プロキシ" --engine-env HTTPS_PROXY="http://プロキシ" --engine-env NO_PROXY="localhost, 127.0.0.1" <マシン名>
  • http_proxyとhttps_proxyという環境変数が設定されているのであれば下記コマンドを実行する
    • マシン名の指定を忘れずにすること
$ docker-machine create -d virtualbox --engine-env HTTP_PROXY=${http_proxy}  --engine-env HTTPS_PROXY=${https_proxy}  --engine-env NO_PROXY="localhost, 127.0.0.1" <マシン名>

Docker仮想マシンSSHログイン

# 仮想マシンに接続
$ docker-machine ssh <マシン名>
# Dockerを起動
$ docker run hello-world

参考サイト