たにーの楽しい闘争

日々の気になる事を書いていきます

大量データをAppendBlobで書き込む時に出るBlockCountExceedsLimit エラー (HTTP ステータス コード 409 – 競合)を解決する方法

問題

AppendBlobの仕様により、1ファイルに対して50000回しか書き込みができない。
例えば日次バッチで常時20万レコードをcsvに書き込みたい場合に1行ずつループして書き込むと、50001回目の書き込みで、下記のエラーが発生する

BlockCountExceedsLimit エラー (HTTP ステータス コード 409 – 競合) 

解決方法

上記の問題の場合、1行ずつ書き込むのではなく、100行に1回とかにすれば解決する。

参考

docs.microsoft.com

【Vue.js】基礎知識メモ

v-html

scriptタグ内で生成したhtmlタグを組み込みたい場合等

v-bind

タグの属性の値に変数等を設定したい場合等
書き方:<v-bind:属性名="設定する値">

v-if・v-else

条件によって表示を変えたい場合等

v-for

配列の値を順番に取り出し変数に入れてタグを出力したい場合等
書き方:<タグ v-for ="変数 in 配列">

v-model

inputタグで入力された値をVueのdataプロパティの値にバインドしたい場合等
書き方:<input v-model="変数名">

v-on

イベント関係の属性に値をバインドしたい場合
書き方:v-on:イベント名="処理"
例:<p v-on:click="insert"></p>(onclickをバインドしたい場合)
省略記法:<p @click="insert"></p>

参考

テンプレート構文 — Vue.js

templateタグ

複数のタグをひとまとめにするのに用いる
例えば複数行を条件によって、表示非表示にさせたい場合等
このタグ自体は表示されない。

「OKR シリコンバレー式で大胆な目標を達成する方法」を読んだ

f:id:tanii0207:20200528233527j:plain

概要

OKR(オーケーアール)はシリコンバレーの数々の企業が導入している目標管理ツール 。
インテルが生み出した。
Googleも社員40人程の時にOKRを導入し、今でも使っている。

重要な部分ピックアップ

  • わくわくするような定性的なゴールであるO(Objective)を1つ設定する
  • Oが達成できたかどうかを明確に判断できるような定量的な指標を3つ用意し、それをKRとする(KeyResults)
  • KRは達成できる自信が50%程度の物に設定する
  • OKRは3か月(四半期)単位で実行する
  • 一度決めたOKRは3か月が経つまで何があっても変更しない。変更したくなってもとにかく一度決めた目標に向かって進める
  • OKRを掲げた上で必ず守らなければいけない項目も用意する。
    (例えば、社員の健康やコードの健全性など)
  • 月曜日に「このタスクはKRの達成に貢献するか」という視点でタスクに優先順位をつけ3つ~5つやる事を決め、それだけにフォーカスする
    (5つ以上出たものは来週以降にやるタスクに分類する)
  • 金曜日に週次報告メールを自分当てに送る(日々でもいい)
    その際は下記を記載する。
    ・O
    ・KR
    ・KRの現状の自信度(最初は50%のはず)
    ・今週のタスクとできたかどうか
    ・来週のタスク一覧
    ・メモ(短くタイムリーで有用な内容にする。言い訳、セラピーなどはNG)

参考

OKR(オーケーアール)

【Oracle】ORA-28001:the password has expiredが出た時の対処方法

状況

A5SQLを使ってローカルでOracleにsystemユーザで接続しようとしたら突然ORA-28001:the password has expiredというエラーが発生してログインできない。

原因

Oracle10gまではユーザのパスワードの有効期限はデフォルトで無期限であったものが、Oracle11gからはデフォルトで180日に設定されているため、180日たったときに起きてしまうというもの。
因みにバージョンの確認は下記で可能。

SELECT * FROM V$VERSION;  

やはり11g。

↓参考

products.sint.co.jp

結論

結論としてはそのユーザのパスワードを変更すればよい。
また、有効期限を無期限にすればこのエラーはもう出る事はない。

方法

コマンドプロンプトを開き、下記を実行。
ここのパスワードはA5でエラーが出たパスワードで問題ない。

sqlplus system/password@xe as sysdba
  • passwordの変更方法

接続できたら下記を実行

alter user system identified by newpassword

これでA5SQLでも新しいパスワードでログインする事ができる

  • passwordの有効期限を無期限にする方法

下記で有効期限を確認できる(180日になっているはず)

SELECT * FROM DBA_PROFILES
WHERE RESOURCE_NAME = 'PASSWORD_LIFE_TIME'

180日から無期限に変更する場合は、下記を実行。

alter profile default limit password_life_time unlimited

参考

http://itsoldiersakuri.hatenablog.com/entry/2015/08/31/210147

【C#】Dictionaryに要素を追加or上書きする方法

概要

Dictionaryに要素を追加する方法は状況によって変える必要がある。

結論

既に存在するキーを追加しようとした時、例外を出したい場合

Dictionary名.Add(Key, Value)

既に存在するキーを追加しようとした時、上書きしたい場合

Dictionary名[Key] = Value 

参考

docs.microsoft.com

【Oracle】スキーマ(ユーザー) を作成する方法

前提

oracleに関してはsqlserverとは違い、ユーザ=スキーマのようなものなので、
スキーマを作るということはユーザーを作る事とほぼ同じ意味になる。

概要

  • 管理者権限が付与されているユーザーでログインし、下記を実行
CREATE USER 新しいユーザ名(スキーマ名)
   IDENTIFIED BY "パスワード";

ユーザー名(スキーマ名)がtaniiでパスワードをtanii0207で設定したい場合はこんな感じ

CREATE USER tanii
   IDENTIFIED BY "tanii0207";

因みに管理者権限が付与されていないユーザで新しいスキーマを作成しようとすると下記が表示される。
ORA-01031: 権限が不足しています。

  • 新しく作ったユーザに権限を付与するために下記を実行
    ※こちらも権限が付与されているユーザで行う。
GRANT connect, resource to tanii;

因みに権限を付与せずに新しいユーザでログインしようとすると、下記のエラーが表示される。
ORA-01045 lacks CREATE SESSION privilege; logon denied

参考

itref.fc2web.com