gitで特定のコミットの状態に戻す はてなブックマーク - gitで特定のコミットの状態に戻す

git resetを使う。 git reset --hard [COMMIT_HASH] で指定したコミットの状態に戻すことができる。 戻したいcommitのhashを確認する $ git log commit 804c6b5c0d5b66caa6e49d788d2e6c4fe2cfa9a0 (HEAD -> master) Author: Takatomo Honda <chngng0103@gmail.com> Date: Sun

連結リストの概要 はてなブックマーク - 連結リストの概要

概要 片方向リスト、双方向リスト、循環リストがある 挿入と削除がO(1) 検索がO(n) 配列と比較したトレードオフ 追加の場合、配列は限界がありフラ

連結リストの実装 はてなブックマーク - 連結リストの実装

class DoublyLinkedListNode(object): def __init__(self, value): self.value = value self.next = None self.prev = None class SinglyLinkedListNode(object): def __init__(self, value): self.value = value self.next = None

Stackの基礎 はてなブックマーク - Stackの基礎

概要 pushとpopが基本動作。LIFO time O(1) 配列で実装可能 peek操作もある(要素の山椒の実で取り出さない) 8.1 MAX値を返せるStackの実

二分探索木の基礎 はてなブックマーク - 二分探索木の基礎

概要 keyを効率良く探すことができ、かつmin/maxも同様に効率的に探せる keyの範囲も探すことができる ソートされた配列と似ているが、ke

ヒープの基礎 はてなブックマーク - ヒープの基礎

概要 ヒープは特別な二分木 完全二分木である 親ノードの値は子よりも小さい(最小ヒープのとき) 配列で実装できる。親iの子は2i+1, 2i+2 挿入と削除が

二分木の基礎 はてなブックマーク - 二分木の基礎

概要 空であるか、左の二分木の子と右の二分木の子をもつroot nodeがある木 二分探索木としてのコンテキストでよく現れる すべての木をたどるには

二分探索の基礎と実装 はてなブックマーク - 二分探索の基礎と実装

概要 sorting O(nlogn) search O(logn) mid = (low + high)/2 はオーバーフローしてしまう mid = low + (high - low)/2ならよい 実装 def bsearch(t,A): low, high = 0, len(A)-1 while low <= high: mid = (low + high)//2 if A[mid] < t: low = mid + 1 else if A[mid]

文字列の基礎 はてなブックマーク - 文字列の基礎

概要 比較、コピー、連結、分割、マッチなど基本操作について理解する brute-forceではO(n)spaceだが、ソリューションによってはO

Javaとオブジェクト指向 はてなブックマーク - Javaとオブジェクト指向

javaファイルの作成と実行 MyFirstApp.java public class MyFirstApp{ public static void main(String [] args){ System.out.println("Hello World!"); } } $javac MyFirstApp.java $java MyFirstApp Hello World! JVMとコンパイラ JVM プログラムを動かす – インタープリタ方式で逐次解釈・実

配列の基礎 はてなブックマーク - 配列の基礎

概要 データの取得と更新がO(1) 削除がO(n-i) 時々resizingが必要になる brute forceでO(n)spaceだが、ソリューションによっ

sftpコマンドまとめ はてなブックマーク - sftpコマンドまとめ

目次 基本操作 get ファイルをダウンロード ディレクトリを指定してのファイルダウンロード ディレクトリごとまとめてダウンロード put ファイルをアップロード

[python] string文字列の使い方 はてなブックマーク - [python] string文字列の使い方

連続して並んでいる文字を連結する >>> 'Py' 'thon' 'Python' 負のindexを指定 >>> word = 'Python' >>> word[-1] # last character 'n' >>> word[-2] # second-last character 'o' >>> word[-6] 'P' スライス >>> word[:2] # character from the beginning to position 2 (excluded) 'Py' >>> word[4:] # characters from

[python] pipenvの使い方 はてなブックマーク - [python] pipenvの使い方

pipenvを使うことにより、rubyにおけるGemfileのようにpythonでpackage管理を行うことができる。 目次 利点 特徴 インスト

gitでパスワードを保存する はてなブックマーク - gitでパスワードを保存する

httpsアクセスの際、githubへのアクセスにはパスワード or personal access token(二段階認証を設定している場合)が必要になる。 デフォルトでは、

logjam脆弱性と対策 はてなブックマーク - logjam脆弱性と対策

logjamとは、DH鍵交換に存在する脆弱性を利用した攻撃。 公式ソースであるWeak Diffie-Hellman and the Logjam Attackに書かれている、脆弱性の詳細と対策に

幸せをお金で買う方法(TED) - まとめ はてなブックマーク - 幸せをお金で買う方法(TED) - まとめ

How to buy happiness 幸せをお金で買う方法 多くの人は幸せを買う方法はないと考える。 でも、実は、幸せを買う方法はある。 それは、「他人のためにお金を使うこと」

[要約]A Better Pip Workflow はてなブックマーク - [要約]A Better Pip Workflow

requirements.txtを使うのには問題があるよ、という話。 典型的なrequirements.txtの使い方 1.A list of top-level dependencies a project has, often without