zatsu na benkyou matome saito

勉強したことをまとめるだけのサイト、数学、プログラミング、機械学習とか

書評 - 頭のいい人が話す前に考えていること

頭のいい人が話す前に考えていること作者:安達 裕哉ダイヤモンド社Amazon はじめに 最近仕事をしている上でセルフマーケティングだったり、理解力が欠けているような気がして、もう少しいい感じに仕事の効率上げたいなと思っていたので仕事の仕方や話し方、…

2進数: ビット、バイト、そして情報の表現:教養としてのコンピューターサイエンス講義 今こそ知っておくべき「デジタル世界」の基礎知識

2進数: ビット、バイト、そして情報の表現 今読んでいる書籍で、コンピュータがどのように複雑な文字や、絵文字などを理解しているかを知ることができた。 今まで2進数をフワッとしか理解していなかったのでこれを読んでかなり具体的に理解できた。2進数につ…

Let's Encrypt SSL化(apache) がQiitaで検索した手順通りで進めても一時ファイル作成するコマンドで落ちる

Apacheサーバーをssl化 Apacheサーバーをssl化したくてググってたらまぁいっぱい記事が出てきてたから、 あーこれ余裕ー ( ´_ゝ`)フーン とかって思ってたら割と時間溶かしたのでメモ。 問題点 certbotの導入は色々な記事に載ってるので、調べれば素晴らしい…

"Rossman Store Sales Prediction" : XgBoostで予測モデルを作成

Rossman Store Sales Prediction from kaggle 問題: Rossmann operates over 3,000 drug stores in 7 European countries. Currently, Rossmann store managers are tasked with predicting their daily sales for up to six weeks in advance. Store sales…

データ構造とアルゴリズム:ハッシュテーブル(Hash)

実装 import hashlib class HashTable(object): from typing import Any def __init__(self, size=10): super().__init__() self.size = size self.table = [[] for _ in range(self.size)] def hash(self, key) -> int: # hashlib.md5で文字列をエンコード…

データ構造とアルゴリズム:Doubly Linked List(双方向リンクリスト )

単方向連結リストはnextのみを管理していたが、双方向は名前の通り双方向の連結を管理している。 解説 単方向との違いは class Node(object): def __init__(self, data: Any, next_node: Node = None, prev_node: Node = None): super().__init__() self.dat…

データ構造とアルゴリズム(リンクリスト) 単方向リンク

単方向リンク 画像のように、データを一列に持っているデータ構造で、リンクの一番後ろにデータをどんどん追加したり、一番最初にデータを追加したりということを行う。 appendでデータ構造の一番後ろに新しくNodeを追加できるようにしている。 insertではデ…

データ構造とアルゴリズム:Qucikソート

重要度:高い! インナー関数 関数の中であるまとまった処理を行う際に関数内に関数を定義することをインナー関数と呼ぶ。 関数内関数 コード partionの部分で、pivotを配列の一番後ろの数値と決めて、その後左から一つづつpivotと比較して、pivotよりも小さ…

データ構造とアルゴリズム:insertion(挿入ソート)

重要度:高い 左から順に入れ替えていくが、一度入れ替えが起こった後その入れ替えた要素をtmp変数に格納し適切な位置に収まるまで左側の数値と比較して小さい値があったらさらに左へ、また次も小さいければさらに左へというように適切な位置まで左に送るソ…

データ構造とアルゴリズム:gnome sort(ノームソート)

重要度:低い Bubbleソートと類似のソート手法で、左から順にみていき入れ替えた時にBubbleソートはそのまま右にずれるが、ノームソートでは入れ替えた後は左にずれる。 順番が正しい場合はスキップ 順番が正しくない場合はスイッチする。この後バブルソート…

データ構造とアルゴリズム:selection(選択ソート)

重要度:高い 左から一つづつ、一時的にtmp変数に格納して左から順にそれぞれの配列要素と大きさを比べ、tmpに入っている数値より小さい数値があればその数と入れ替える。その作業を一番右端まで行い、一番小さい数値が入っているインデックス番号の要素を配…

データ構造とアルゴリズム:comb(コムソート)

重要度低い combというのはクシという意味なので、クシを溶かしていくように、くしの幅を小さくしていくようにソートを行う手法。 Gap 7/1.3 = 5というのは櫛の幅だと考え、1番目と5番目の数値を入れ替えて入れ替える必要がなければ戻し、Gapを狭くして同…

データ構造とアルゴリズム:cocktail(シェーカーソート)

cocktail(シェイクソート) カクテルをシェークするような動きをするのでこのような名前がつけられている。bubbleソートの改良版でbubbleソートにかなり類似しておりbubbleソートを振る、ようなイメージ。 まず、左から右に配列を見ていって小さければ入れ…

データ構造とアルゴリズム:本編

アルゴリズムの重要性 GAFAやシリコンバレーの企業面接には絶対にアルゴリズムのコーディング試験があり、1秒でも処理が早くなるのであればアルゴリズムを早い方に書き換えたほうが良い。車の自動運転など瞬間の判断に関わるものは特に反応速度が重要視され…

データ構造とアルゴリズム:Big O Notation (Big O 記法)

アルゴリズムの処理速度を可視化したもの。 O(log(n)) # O(log(n)) def func2(n): if n <= 1: return else: print(n) func2(n/2) func2(10) 10 5.0 2.5 1.25 O(n) # O(n) def func3(numbers): for num in numbers: print(num) func3(range(1,10)) 1 2 3 4 5 …

データ構造とアルゴリズム:Bogoソート

bogo(ボゴソート) ボゴソートはシャッフルに並び替えた後にそのソートが正しく並び替えられているかを確認するソート手法。 def in_orderでは、左側の数字が右側の数字(i+1番目)よりも大きければその時点で並び替えは失敗しているので、return Falseとい…

データ構造とアルゴリズム:Bubbleソート

一番左側から、配列の個数分forループを行い、limitまで到達したら再度左に戻ってきて同じ処理を行う。 その際にlimitの位置は1つ左に移動する。 for j in range(len_numbers - 1)の部分でlimitの移動を再現している。 一番大きい数字は1週目で一番右にくる…

CH1:kubernetes基礎 - 基本的な構成と、各種機能について

kubernetes用語集 kubernetes チュートリアル Docker & kubernetes tutorial YouTube まずはDoker #37: AI-人工知能/MLOps/docker/CH1: Docker imagesとVolumeについて kubernetes アプリケーションの運用のトレンドがMonolithからMicroservicesに移ってきて…

docker/CH1: Docker imagesとVolumeについて

Docker このページではdockerのimageとvolumeについて捜査を交えながら説明します。 local環境で行うのですが、ローカル環境でdockerを使えるようにしておく必要があります。 もしまだインストールしていなかったら、「docker インストール mac」とかぐぐる…

#4: インフラについて簡単に理解する [RDS]DBサーバーを構築

RDSについて プライベートサブネットの作成 RDSを設置 WebサーバーからRDSに接続する RDS 今回構築するもの - プライベートサブネットにDBを置くことで外部からのインターネットによる接続をできないようにして安全性を担保する。 - RDSは複数のアベイラビリ…

#3: インフラについて簡単に理解する[Route53ドメイン登録]

ドメインについて DNSについて ドメインの購入 Route53について Route53でDNSを設定 Route53 1.ドメインについて ドメインの構造 ・トップレベルドメイン ・第2レベルドメイン ・第3レベルドメイン ・第4レベルドメイン に分かれている。 ICANNという団体…

#2: インフラについて簡単に理解する[EC2]

ウェルノウンポート(TCP)一覧(抜粋) ポート番号 プロトコル名 20 FTP(データ転送) 21 FTP(コントロール) 22 SSH 23 Telnet 25 SMTP 53 DNS 80 HTTP 110 POP3 443 HTTPS ウェルノウンポート(UDP)一覧(抜粋) ポート番号 プロトコル名 53 DNS 67 DHCP(サー…

Gitリポジトリをメンテナンスして軽量化する

保存版 この方の記事が最高に欲しかった、かつまとまっていたので自分の保存用です。 ↓こっちをみてください。 qiita.com これもいい qiita.com qiita.com qiita.com Gitリポジトリのメンテ? Gitリポジトリにあるファイルは .git がバージョン管理をしてい…

#1: インフラについて簡単に理解する[IAM]

IAMユーザーの作成について AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得 このコースをやる上で使えそうな項目をメモ IPアドレス IPアドレスの範囲 ネットワーク部とホスト部に区分されている CIDR表記 192.168.128.0/2…

Railsを本番環境にデプロイ(with Unicorn, Nginx, EC2, MySQL, Capistrano, Elastic IP)

qiita.com こちらの記事をほぼまるまんまなのですが、少しMySQLの箇所が違ったので自分用にです。 @gyu_outputsさんの記事を参考にやるだけで十分環境構築できるので、そちらを参照されると良いと。 というか本家の方が圧倒的にまとめられているので... AWS …

Railsアプリでログ情報などの大量のcsvエクスポート(出力)をWEBアプリ上で行う

出力データが大量すぎて時間がかかる クライアントからログ情報を分析したいとのことでログ情報をDBから出力するような機能を作ったが 実際に実運用が始まってからログを出力した結果、1, 2日くらいのログであれば時間はかかるがcsv出力できた。しかし、全期…

jQuery割と理解したから一通り使えるようになるコツまとめ(Rails)

RailsでWEBアプリを作ってます。Ruby on Railsの経験値は9月でちょうど1年くらいです。 なんか割と色々な機能を作れるようになったのでちょっとまとめていきます。 こんな機能はどうやって作るの?みたいなのがあればコメントください。考えます。 jQueryと…