フラッシュバックドロップとは DROPテーブルしてしまった後に、テーブルを元に戻したい場合に使用する。 ゴミ箱に同じ名前の表がある場合 では、DROPテーブルで同じ名前のテーブルを複数回行った場合、フラッシュバックドロップを行った時、どのテーブルが戻…
経緯 ORACLEマスターの勉強をしているとたまに出てくる単語。そのほかではあまり見かけない。この横文字が突然出てくると、最初は「うへ」ってなった。 うへってならないように、留めておく。 意味 余計なこと・もの。冗長。 使われ方 本番環境の調査のため…
フラッシュバックドロップ DROPしたテーブルを戻す ∟FLASHBACK TABLE <表名> TO BEFORE DROP; 仕様 ・DROPしたテーブルは同じ表領域で論理削除されているので、元に戻す ・索引も元に戻る ・PURGEオプションで DROPしている場合は元に戻すことはできない ・C…
ACHIVELOGモード 直前までのデータをメディアリカバリできる。 why →オープンの状態でREDOログをアーカイブしているから。 how →ARCnプロセスがログスイッチのタイミングでREDOログファイルの新たなグループを上書きする前に、アーカイブログファイルとして…
AWR(Automatic Workload Repository) 自動ワークロードリポジトリ ADDR(分析)のための統計情報とワークロード(処理負荷)情報を自動的に収集してくれる。 仕様 ・デフォルトで60分間隔でAWRスナップショットが実行される ・MMONによって実行される ・SYSAUX表…
経緯 お兄ちゃん〜。オブジェクト指向の基本である継承ってなぁに?ってこれからプログラミングを勉強する小学生にも教えられるように、言語化しておきたい。 ポリモーフィズム(Polymorphism)とは 日本語では「多態性」とも呼ばれるが、その日本語自体が分か…
経緯 お兄ちゃん〜。オブジェクト指向の基本である継承ってなぁに?ってこれからプログラミングを勉強する小学生にも教えられるように、言語化しておきたい。 継承 親クラス(スーパークラス)のデータ(関数、フィールドなど)を引き継ぎ、子クラス(サブクラス)…
経緯 お兄ちゃん〜。オブジェクト指向の基本であるカプセル化ってなぁに?ってこれからプログラミングを勉強する小学生にも教えられるように、言語化しておきたい。 カプセル化 クラスへのアクセスにルールを設けたい。 クラスにはいじっていい値やいじって…
Stateパターン 「状況(State)」に応じて機能を変更するパターン。 状況の中で次の状況に変更してあげるというのがポイント。 メリット 状況を持たせることで、メインで条件分岐を多くしなくて良いので、ソースが複雑にならない。 状況が整理されていないと、…
テンプレートメソッド 複数のメソッドの流れを抽象化し、メソッドの中身はサブクラスで実装する。 メリット テンプレートを増やしたいときは、クラスを増やせばいいので、コードがタコ足配線にならなくて良い。 もし、テンプレートメソッドがなかったら、if…
フィボナッチ数列とは 1,1,2,3,5,8,13,21 というように二つ前の値と一つ前の値を加算して作る数列のこと。 黄金比や自然界にちょこちょこ見られる神秘的な数列である。 メモ化とは 文字通り値をメモしていき、同じ計算等はしないようにする。無駄に計算しな…
経緯 RDBのドキュメントを見るとよく出てくる木。 この木なんの木? どんな木か知っておきたい。 木 バランス木のデータ構造の一つ。 バランス木についてはまた今度、掲載していきたい。 リーフノード同士が繋がっているため、範囲検索に適している。DBに適し…
3つの結合方法 ORACLEには結合方法が3つあるので軽く説明できるようになりたい。 ネスティッドループ結合 索引を使用するときはこれ。 索引を使用しているということはB+Treeのデータ構造となるため、二分探索になるから速い。O(logn)??いや、索引がきちんと…
SQLアンチパターン1 Bill Karwin著のSQLアンチパターンを心のノートに。 1, ジェイウォーク(信号無視) 交差テーブルを使え 多:1から多:多の関係にしたい。 じゃあ、カンマで区切って入れちゃおー →はい、アンチパターン 問題 ・数値を文字列から検索しずらい…
データベースの正規形 普段の業務では、正規形など意識しなくても、正規化してるので、第一とか言われても。。 しかし、DWHの世界では第二正規形で留めるということがあるので、改めて正規形を言語化しておきたい。 第一形態(正規形) 同一の項目(カラム)の削…
Deque 双方向キュー メリット indexが貼られていないので、要素削除後に生じるindexの張替えがいらないので、先頭や最後への追加・削除が速い。 デメリット indexがない分、探索が遅い。そのため先頭、最後以外に対しての処理が遅くなる。 処理の速さ・遅さ …
問題 Visual Studio CodeのExtensionを作る一歩を進んでたらエラーがでた。 Error: EACCES: permission denied ERR-13 Your First Extension | Visual Studio Code Extension API 解決 Permission Denied こういうのは大体、管理者権限でやっていないのが原…
経緯 Excelで職務経歴書作ろうと思ったが、線を引いたりするの面倒だなあと思い、調べていたら、どうやらMarkdownで作り、githubに置いておくのが流行っているらしい。 作ってみた と言って一応見せたりはしないのだが。 Visual Studio Codeで作ってみる。プ…
Listのコピーの仕方 Listは参照型なので=で変数に代入するのは野暮である。 そこでコピーと言えばcopy()である。 しかし、一方で下記のようにスライスを使ってコピーする方法がある。 a = b[:] (気にするほどのことでもないが)どっちが処理速度速いんだ と思…
問題 昨年のことになるがデスクトップwindowsのbiosに下記メッセージがでた。 Please back-up your data and replace your hard disk drive A failure may be imminent and cause unpredictable fail そして間も無くして、パソコンは立ち上がらなくなってい…
数学豆知識まとめ せっかくAOJなどで学んだ数学の豆知識をまとめておこうとおもう。 人は忘れる生き物だから。 ここにどんどん追記していきたい。 素数判定 「合成数 xx は p≤√xp≤x を満たす素因子 ppをもつ」 合成数xが素数かどうかはルートxまでの値で割れ…
経緯 コードリーディングした方がいいよ。podcastのプログラマ雑談で言っていたので、どうやってやろう。となった。 彼曰く、コードの片隅から徐々に分かっていく感じがパズルに似ており、ためになるので、趣味にするのも良いらしい。 ためになる理由として…
問題 LINE ポケモンバトルのメッセージ数が多すぎるので減らしたい。 経緯 以前、甥っ子と戯れるために作ったLINEアプリなのだが、この前、戯れた日のメッセージ数を見たら158のプッシュ通知をしていた。 無料版で1000/1ヶ月なのに、1日で158はやりすぎ。 …
問題 LINE ポケモンバトルをしていたら、次のようなエラーがlogに吐かれた。 "message": "You have reached your monthly limit." 解決 昨日までの2月分のメッセージ数が990ということで、本日上限に到達したようだ。 無料使用は1000通まで。 料金プラン|L…
きっかけ ミャンマー人の元部下の子?が結婚するということで呼ばれたので行ってきた。 片道320kmだったが、どんな結婚式か気になったこともあり、行ってきた。 今、帰ってきたところ。 いつも車で聴いてるラジオの電波が届かなくなったのをきっかけに、Sport…
問題 Pythonで画像をwebから自動で取得したい。その途中にエラーにどハマりした。 経緯 趣味でアプリを作ってるときに、画像を使いたいが、その画像が700枚くらいある。 Pythonで取得しようとしてたらタイトルのエラーにどハマりした。 問題のコード import …
問題 ブラウザのサジェスチョンキーワードってどうやって取得するのだろう 経緯 【モニタリング】ベテランのエンジニアだったら、どうする? - YouTubeを見たのがきっかけ。 こういう感覚大事だよなと思った。もちろん、どこまでリアルかは怪しいが(笑 完全…
実際のプレイ画面 アイコンのニョロモは甥っ子作 ニョロトノ可愛い。 LINEでポケモンバトル 経緯 甥っ子が3人いる。 ゲーム機は買ってもらえず、スマホのゲームもやらせてもらえない。 ポケモンが大好きで長男は次男と想像でポケモンバトルをしてるという。 …
やりたいこと ローカル環境のredisデータをherokuのredisに移行したい。 herokuではredis hobby つまり無料版を使用。 問題 調べてみても、redis hobbyで.rdbファイルを置き換えて移行方法が見つからない。 有料版にして、S3を使って移行するというのは見つ…
heorkuで無料のアドオンでredisが使える。 使っていた途中で、下記エラーが発生した。 ERR DB index is out of range コードはというと r = redis.from_url(os.environ.get("REDIS_URL"),db=2) ローカルでは上手くいってるのに。。 indexということでdb=2が…