てぃぐれのプログラマwiki

ワクワクに従う

2022-03-01から1ヶ月間の記事一覧

【ORACLE】 無料で勉強用に利用

勉強用に無料で使用したい そんな願望は多い。 ということでORACLEさんが無料で用意してくれている。 Database Software Downloads | Oracle 日本 サーバーはAzureで Dockerに入れて行う方法やvirtualboxを使った方法など、先人たちが紹介してくれている。 …

【SQLアンチパターン3】 IDリクワイアド (とりあえず ID)

1, IDリクワイアド (とりあえず ID) どのテーブルにもとりあえずIDを入れて主キーにしよう! →はい、アンチパターン 問題 ・交差テーブルみたいなテーブルにIDは冗長になる ・考えなしにテーブル構成をするなということが言いたい(思考停止するな) ・IDという…

ゴミ箱に同じ名前の表がある場合のBEFORE DROP句 ORACLE

フラッシュバックドロップとは DROPテーブルしてしまった後に、テーブルを元に戻したい場合に使用する。 ゴミ箱に同じ名前の表がある場合 では、DROPテーブルで同じ名前のテーブルを複数回行った場合、フラッシュバックドロップを行った時、どのテーブルが戻…

オーバーヘッダ ORACLE

経緯 ORACLEマスターの勉強をしているとたまに出てくる単語。そのほかではあまり見かけない。この横文字が突然出てくると、最初は「うへ」ってなった。 うへってならないように、留めておく。 意味 余計なこと・もの。冗長。 使われ方 本番環境の調査のため…

フラッシュバックとUNDO ORACLE

フラッシュバックドロップ DROPしたテーブルを戻す ∟FLASHBACK TABLE <表名> TO BEFORE DROP; 仕様 ・DROPしたテーブルは同じ表領域で論理削除されているので、元に戻す ・索引も元に戻る ・PURGEオプションで DROPしている場合は元に戻すことはできない ・C…

NO ARCHIVELOGとARCHIVELOGを ORACLE

ACHIVELOGモード 直前までのデータをメディアリカバリできる。 why →オープンの状態でREDOログをアーカイブしているから。 how →ARCnプロセスがログスイッチのタイミングでREDOログファイルの新たなグループを上書きする前に、アーカイブログファイルとして…

AWRとADDRをざっくり ORACLE

AWR(Automatic Workload Repository) 自動ワークロードリポジトリ ADDR(分析)のための統計情報とワークロード(処理負荷)情報を自動的に収集してくれる。 仕様 ・デフォルトで60分間隔でAWRスナップショットが実行される ・MMONによって実行される ・SYSAUX表…

さっくりポリモーフィズムの話

経緯 お兄ちゃん〜。オブジェクト指向の基本である継承ってなぁに?ってこれからプログラミングを勉強する小学生にも教えられるように、言語化しておきたい。 ポリモーフィズム(Polymorphism)とは 日本語では「多態性」とも呼ばれるが、その日本語自体が分か…

さっくり継承の話

経緯 お兄ちゃん〜。オブジェクト指向の基本である継承ってなぁに?ってこれからプログラミングを勉強する小学生にも教えられるように、言語化しておきたい。 継承 親クラス(スーパークラス)のデータ(関数、フィールドなど)を引き継ぎ、子クラス(サブクラス)…

さっくりカプセル化の話

経緯 お兄ちゃん〜。オブジェクト指向の基本であるカプセル化ってなぁに?ってこれからプログラミングを勉強する小学生にも教えられるように、言語化しておきたい。 カプセル化 クラスへのアクセスにルールを設けたい。 クラスにはいじっていい値やいじって…

Stateパターン 【デザインパターン】

Stateパターン 「状況(State)」に応じて機能を変更するパターン。 状況の中で次の状況に変更してあげるというのがポイント。 メリット 状況を持たせることで、メインで条件分岐を多くしなくて良いので、ソースが複雑にならない。 状況が整理されていないと、…

テンプレートメソッド 【デザインパターン】

テンプレートメソッド 複数のメソッドの流れを抽象化し、メソッドの中身はサブクラスで実装する。 メリット テンプレートを増やしたいときは、クラスを増やせばいいので、コードがタコ足配線にならなくて良い。 もし、テンプレートメソッドがなかったら、if…

メモ化再帰 レベル1 フィボナッチ数列

フィボナッチ数列とは 1,1,2,3,5,8,13,21 というように二つ前の値と一つ前の値を加算して作る数列のこと。 黄金比や自然界にちょこちょこ見られる神秘的な数列である。 メモ化とは 文字通り値をメモしていき、同じ計算等はしないようにする。無駄に計算しな…

B+Treeをざっくり理解したい この木なんの木

経緯 RDBのドキュメントを見るとよく出てくる木。 この木なんの木? どんな木か知っておきたい。 木 バランス木のデータ構造の一つ。 バランス木についてはまた今度、掲載していきたい。 リーフノード同士が繋がっているため、範囲検索に適している。DBに適し…

ORACLE 結合方法

3つの結合方法 ORACLEには結合方法が3つあるので軽く説明できるようになりたい。 ネスティッドループ結合 索引を使用するときはこれ。 索引を使用しているということはB+Treeのデータ構造となるため、二分探索になるから速い。O(logn)??いや、索引がきちんと…

SQLアンチパターン1 信号無視するな

SQLアンチパターン1 Bill Karwin著のSQLアンチパターンを心のノートに。 1, ジェイウォーク(信号無視) 交差テーブルを使え 多:1から多:多の関係にしたい。 じゃあ、カンマで区切って入れちゃおー →はい、アンチパターン 問題 ・数値を文字列から検索しずらい…

データベースの正規形を片隅に

RDB

データベースの正規形 普段の業務では、正規形など意識しなくても、正規化してるので、第一とか言われても。。 しかし、DWHの世界では第二正規形で留めるということがあるので、改めて正規形を言語化しておきたい。 第一形態(正規形) 同一の項目(カラム)の削…

Deque(デック) Double-Ended queue 双方向キュー

Deque 双方向キュー メリット indexが貼られていないので、要素削除後に生じるindexの張替えがいらないので、先頭や最後への追加・削除が速い。 デメリット indexがない分、探索が遅い。そのため先頭、最後以外に対しての処理が遅くなる。 処理の速さ・遅さ …

Error: EACCES: permission denied ERR-13

問題 Visual Studio CodeのExtensionを作る一歩を進んでたらエラーがでた。 Error: EACCES: permission denied ERR-13 Your First Extension | Visual Studio Code Extension API 解決 Permission Denied こういうのは大体、管理者権限でやっていないのが原…

Markdownで職務経歴書

経緯 Excelで職務経歴書作ろうと思ったが、線を引いたりするの面倒だなあと思い、調べていたら、どうやらMarkdownで作り、githubに置いておくのが流行っているらしい。 作ってみた と言って一応見せたりはしないのだが。 Visual Studio Codeで作ってみる。プ…

Python List の slice vs copy

Listのコピーの仕方 Listは参照型なので=で変数に代入するのは野暮である。 そこでコピーと言えばcopy()である。 しかし、一方で下記のようにスライスを使ってコピーする方法がある。 a = b[:] (気にするほどのことでもないが)どっちが処理速度速いんだ と思…

please back-up your data and replace your hard disk drive

問題 昨年のことになるがデスクトップwindowsのbiosに下記メッセージがでた。 Please back-up your data and replace your hard disk drive A failure may be imminent and cause unpredictable fail そして間も無くして、パソコンは立ち上がらなくなってい…

数学豆知識その1

数学豆知識まとめ せっかくAOJなどで学んだ数学の豆知識をまとめておこうとおもう。 人は忘れる生き物だから。 ここにどんどん追記していきたい。 素数判定 「合成数 xx は p≤√xp≤x を満たす素因子 ppをもつ」 合成数xが素数かどうかはルートxまでの値で割れ…

コードリーディングの一歩目

経緯 コードリーディングした方がいいよ。podcastのプログラマ雑談で言っていたので、どうやってやろう。となった。 彼曰く、コードの片隅から徐々に分かっていく感じがパズルに似ており、ためになるので、趣味にするのも良いらしい。 ためになる理由として…

LINE API メッセージ数のカウントのされ方と節約

問題 LINE ポケモンバトルのメッセージ数が多すぎるので減らしたい。 経緯 以前、甥っ子と戯れるために作ったLINEアプリなのだが、この前、戯れた日のメッセージ数を見たら158のプッシュ通知をしていた。 無料版で1000/1ヶ月なのに、1日で158はやりすぎ。 …

You have reached your monthly limit. LINE API

問題 LINE ポケモンバトルをしていたら、次のようなエラーがlogに吐かれた。 "message": "You have reached your monthly limit." 解決 昨日までの2月分のメッセージ数が990ということで、本日上限に到達したようだ。 無料使用は1000通まで。 料金プラン|L…