「トランザクション」を含む日記 RSS

はてなキーワード: トランザクションとは

2020-05-23

anond:20200521175300

どもども。

「なにか作ってみろ」は有効アドバイス

わたし意見と経歴

わたしは「なにか作ってみろ」系の言説にはまったく同意しません。

わたし自身会社に3ヶ月間みっちり導入教育をしてもらい(COBOL85とPL/I時代がわかる……)、基本的アルゴリズムコントロールブレークマッチング、マスタ-トランザクションソートマージetc.いよいよ時代がわかる……)の演習を(給料をもらいながら)やって、その後もプログラムとつかず離れずでフラフラと生きてきました。

こういう経験新卒カードがあるから有効もので、では1から始めるとしたら……、というときに、プログラミングスクール専門学校)というのは悪くない選択肢ではないかと思います。が、行ったことないので正直わかりません。

実際自分が1から始めるという立場になったら、まったくオロオロして元増田さんのように世のなか(の気にいらないヤツら)に呪詛を吐いて満足するだけだったと思います(当然ながらそれをいくらやってもプログラミングは上達しません)。

「なにか作ってみる」前に動機をはっきりさせる

話をプログラミングだけに限っていえば、一番大事なのはやりかたじゃなくて動機だろうと思います

「なにか作ってみよう」というのは、なにか作ってみようと思ってない人にはまったく心に響かないでしょう。

動機リブンで「なにか作ってみた」人といえば思いだすのは、MikuMikuDance樋口優さん(ミクを簡単に踊らせたい!)とhinadanの若宮正子さん(高齢者にも遊べるゲームが欲しい!)でしょうか。

ただかれらはわたしから見れば(モチベーションを維持しそれを行動に移す)天才で、あんまり参考にならないのも確かです。

作ってみた」は就職に使える経験

あと、元増田さんの動機は「プログラミング生業にしたい」ということなので、野良プログラマでは履歴書上でのアピール力が弱いかも、と思います

ビジネスで使われるアルゴリズムにはそれなりのルールがあります安全な(バグの出にくい)コードの書きかた、「車輪の再発明」はぜず、枯れた(将棋で言えば定跡のような)アルゴリズムを使う、ほかの人に使ってもらえるための工夫(可読性の向上など)、etc.です。

「なにか作ってみよう」を繰りかえしても、そういった作法的なものが身につくかどうか、それは才能に関わってくる問題だと思います。才能だのみの手法を推奨するのは無責任だと思いますね。

また、たとえば「例をコピーして解析する」というのもある意味有効プログラミング学習法ですが、「下手に習うと下手が伝染る」ともいいます。どれがお手本として優れているか、それを見る目はある程度ビジネス用途プログラムに関わっていないと持てないというジレンマがあります

野生のプログラマ就職有効なくらいの力を見せるとしたら、なにかのコミッター(なにする人かよく知りませんが)とかになって「××ならこの人」となったり、プログラミングコンテストで上位の成績を残したりしなければいけないのかもしれません。

どうしたものでしょうね。ブクマカのみなさんの反応を見ると、専門学校でもあまり就職に有利にならない(ホントか?専門学校意味あるのか?)という話ですが、目的就職ならば、一番の近道のような気がします。

じゃあどうすべきか?は他人にはわからない

そこらへんからは、元増田さんがなにをしたいか、あるいは聞いてみたいだけだったのかによります仕事には適性とやる気が大事です。あとは年齢と必要性かな。進路はオーダーメイド以外にはありえないので、提示された案を自分で選んでそれに賭けるしかないのかな、と思います

「なにか作ってみました」の記録

自分がまず作ったもの晒してみろよ

さて、この文章は実はこの一文に反応してのものです。(↑のは前書き)

GWあたりからトシも考えずにRubyの再入門をしていまして、手始めに「首相動静」の整形ツールを作ってみました。

初心者で(Rubyに関しては仕事で使ったことないので)なにか作ってみよう、というとこの程度ですね。

これで就職に有利になるかというと、あんまりそうは思えないなあ。Excelマクロが組めるとかのほうがどこかの事務所に潜りこめそうですよ(でもそれも最近インフレ気味かもしれませんね)。

なにをするツール

朝日新聞首相動静は詳細ですが、改行が入っておらず、大変読みにくいものです。こんな感じです。

首相動静の例(2018年12月11日……話題になったものです)

 【午前】9時31分、自民党本部。33分、同党役員会。10時2分、官邸。5分、閣議。21分、宇宙開発戦略本部。34分、柴山昌彦文部科学相。38分、岩屋毅防衛相。41分、山下貴司法相。11時3分安全保障と防衛力に関する懇談会

 【午後】0時11分、政府与党連絡会議。44分、山口那津男公明党代表。1時27分、日韓議員連盟額賀福志郎会長河村建夫幹事長。2時20分、行政改革推進会議。52分、兼原信官房副長官補、秋葉剛男外務事務次官。3時36分、麻生太郎財務相財務省岡本薫明事務次官太田主計局長。4時7分、太田氏出る。可部生理局長加わる。15分、全員出る。25分、黒川弘務法務事務次官。34分、谷内正太郎国家安全保障局長、北村内閣情報官宮川内閣衛星情報センター所長。41分、谷内、宮川両氏出る。5時3分北村氏出る。10分、東京永田町ザ・キャピトルホテル東急宴会場「鳳凰」で中曽根康弘世界平和研究所設立30周年記念式典に出席し、あいさつ。20分、官邸。6時18分、ガーナのアクフォアド大統領を出迎え。記念撮影。19分、儀仗(ぎじょう)隊による栄誉礼、儀仗。27分、アクフォアド大統領会談。7時12分、署名式、共同記者発表。32分、公邸首相主催の夕食会。8時43分、アクフォアド大統領見送り。9時、ヨルダンのアブドラ国王電話協議

首相動静フォーマット

ただ、これはフォーマットがはっきりしており、

  • 午前と午後はそれぞれ1行になっていて、行頭には【午前】/【午後】という文字列が付いている。
  • 午前と午後の間には空行がある。
  • ひとつひとつイベント時刻表示で始まり句点「。」で終わっている。
  • 時刻は「h時m分」型で、前ゼロはつかない。後にかならず読点「、」が付く。「h時」の部分が前の項目と同じ場合には省略する。
  • 午前いっぱい、午後いっぱいの予定の場合には時刻をつけない(他の首相動静から)。

と、例を見るかぎりキッチリとしたルールに則っているようです。

動機

なので、「これだったら整形できるかも」と思い、再び学びはじめたRubyで整形ツールを作ってみることにしました。

整形ツール
ツール仕様
整形後の例(上記動静を整形)

【午前】

09時31分、自民党本部

09時33分、同党役員会。

10時02分、官邸

10時05分、閣議

10時21分、宇宙開発戦略本部

10時34分、柴山昌彦文部科学相

10時38分、岩屋毅防衛相

10時41分、山下貴司法相

11時03分安全保障と防衛力に関する懇談会

【午後】

00時11分、政府与党連絡会議

00時44分、山口那津男公明党代表

01時27分、日韓議員連盟額賀福志郎会長河村建夫幹事長

02時20分、行政改革推進会議

02時52分、兼原信官房副長官補、秋葉剛男外務事務次官

03時36分、麻生太郎財務相財務省岡本薫明事務次官太田主計局長。

04時07分、太田氏出る。可部生理局長加わる。

04時15分、全員出る。

04時25分、黒川弘務法務事務次官

04時34分、谷内正太郎国家安全保障局長、北村内閣情報官宮川内閣衛星情報センター所長。

04時41分、谷内、宮川両氏出る。

05時03分北村氏出る。

05時10分、東京永田町ザ・キャピトルホテル東急宴会場「鳳凰」で中曽根康弘世界平和研究所設立30周年記念式典に出席し、あいさつ。

05時20分、官邸

06時18分、ガーナのアクフォアド大統領を出迎え。記念撮影

06時19分、儀仗(ぎじょう)隊による栄誉礼、儀仗。

06時27分、アクフォアド大統領会談

07時12分、署名式、共同記者発表。

07時32分、公邸首相主催の夕食会。

08時43分、アクフォアド大統領見送り

09時00分、ヨルダンのアブドラ国王電話協議

う~ん、見やすい!ことないですか?

あと、午後の時刻を24時間制にしたいな、とも思いますが、それは今後の課題(つぎに首相動静話題になったとき)とします。全角数字計算ってどうやるんだろう?

ソース

たぶんRubyistにいろいろ突っこまれると思うけど、こんな感じです。

プログラマ玉石混淆ですが、これは石のほうの例だと思っていただければさいわいです。

はてな記法にはシンタックスハイライトあるけど、増田だとInternal Server Errorになるのではずしました。見にくくてスマソ。

# encoding: utf-8
# 漢字コンバータライブラリを取りこむ(String漢字変換メソッドを付けてくれる。神)
require 'kconv'

# 正規表現パターン
# 時刻をh時m分形式からhh時mm分形式にする
# 否定後読みを使用する
# 時は行頭にある
OneDigitHour = /^((?<![0-1])[0-9]時)/
# 分は時のあとにある。このパターンマッチすると、\1が時、\2が分になる。
OneDigitMinute = /^([0-9]{1,2}時)(?<![1-5])([0-9]分)/
# 分のない、時だけの行のパターン否定先読み使用
HourWithoutMinute = /^([0-9]{1,2}時)(?![0-5]?[0-9]分)/

# 行頭のh時m分をhh時mm分にするサブ処理(これは関数といっていいの?)
def convTopHourMinute2TwoDigits(oneLine)
    # 時を変換
    oneLine.sub!(OneDigitHour, "0\\1")
    # 分を変換
    oneLine.sub!(OneDigitMinute, "\\10\\2")
    # 分がない場合"00分"を追加
    oneLine.sub!(HourWithoutMinute, "\\100分")
    # 戻り値
    oneLine
end

# 入力ファイル名前
InputFilename = "首相動静2018年12月11日.txt"
# 出力ファイル名前
OutputFilename = "首相動静2018年12月11日_編集済.txt"

# 入力ファイルオープン
inFile = File.open(InputFilename, "r")
# 出力ファイルオープン
outFile = File.open(OutputFilename, "w")

# 時刻パターンシンプルに、h時、m分、h時m分、という3パターンを結合する
# 1つのパターンで全部カバーするよりこちらのほうが見やすい。というか、脳の容量の問題で1文に書ききれなかった
jikokuPattern = /[0-9]{1,2}時[0-9]{1,2}分、|[0-9]{1,2}時、|[0-9]{1,2}分、/
# 午前/午後
ampm = /(【午前】|【午後】)/

# 午前/午後、あるいは時刻の前で改行するためのパターン
kaigyouSign = Regexp.union(ampm, jikokuPattern)

# ファイル一括読み込み
# 昔は1行ずつ読みこんでました。メインメモリが3MByteとかだったので
contents = inFile.read.toutf8

# 入力終了。閉じておきます
inFile.close

# スコープ関係から、ここでローカル変数に代入
# ※ Rubyスコープと暗黙の型には泣かされました。これに慣れるのがRubyのコツかしら
#  明示的な型宣言はあったほうがいいと思うなあ。エラー出力の理由がわからなかったりするので。
hour = ""

# デバッグ行はコメント化しています
# 時刻パターンチェックのため、コンテンツを出力してみる
# p jikokuPattern.match(contents)

# エントリを改行サインで行に分ける
contents.gsub!(kaigyouSign, "\n\\&") # "\\&"はマッチした文字列のもの。2重のエスケープ"\\"が必要

# 改行チェックのため出力
# p contents

# 入力を行で分割して各行ごとに処理
contents.split("\n") do |oneLine|
    # 午前/午後を示す開きカッコ"【"があるか
    if (oneLine =~ /^【/) then
        # そのまま出力
        outFile.write(oneLine + "\n")
        # p "午前午後:" + oneLine
        next
    # 空白行は無視スキップする)
    elsif (oneLine =~ /^[\s ]*$/) then
        # 出力しない
        # p " 空白行:<skip>"
        next
    # 行頭に「時」があるか
    elsif (oneLine =~ /^[0-9]{1,2}時/) then
        # あったら時間表示を抜きだしておく
        hour = oneLine.match(/^([0-9]{1,2}時)/)[0]
        # p "   時:" + oneLine
        outFile.write(convTopHourMinute2TwoDigits(oneLine) + "\n")
        next
    else
        # 「時」がなければつけて出力
        oneLine = hour + oneLine
        # p "普通の行:" + oneLine
        outFile.write(convTopHourMinute2TwoDigits(oneLine) + "\n")
    end
end
感想

手でやったほうが早いね

以上

2020-03-25

anond:20200325005731

知らんけど、ブロックチェーン上でトランザクションされないと同人誌が閲覧できない、という設定だとして人間頭脳のものブロックチェーンが入ってないと目コピー海賊版とか作れるから海賊版作成が防げないし帆布も当然にして防げないと思うんだが。

2020-01-15

anond:20200115150724

もう昔のことなので大分忘れてるのですが

(1) mojihame(Tsukubaiに含まれテンプレート置換ツール)によるJSON 処理が汎用性を欠く?

(2) 検索速度の最適化の為に検索クエリタイプ別にL5ファイルSELECT済の表)を作りL4ファイル更新の都度更新しないといけない?

(3) トランザクションの一意IDとしてミリ秒精度の時刻とプロセス番号を結合するのでここは別ノードに並列化できない?

2020-01-14

Paidyって担保 何とっているの?

話題になっているPaidyの支払い方法公式サイトで調べてみた。

https://paidy.com/payments/

Q.Paidyの支払い方法について教えてください。

1ヶ月間のご利用分を翌月にまとめてお支払いいただけます

記載のお支払い方法に沿って、10日までにコンビニまたは銀行振込でお支払いください。


え、これコンビニで支払わなかったらどうなるの?

PayPayなり楽天Payなり、店頭で決済するとき電子的に現金相当額が引き落とされたことをスマホ上で店員確認している。

クレジットカードも当然。

決済・商品受け渡しを一つのトランザクションとみなしたとき現金の引き落としが確定しない この仕組みそのものおかしくない?

paidyでの支払いがなかったら債権回収が店舗責任があるのは、決済システムとしてありなのか?

後払いなら、クレジットカードみたいに審査もないし、ブラックリストもないのかな?

経営陣見ると、金融に詳しそうなんだが、、、メディアは各個人に名指しで取材もしてほしいな

https://paidy.com/company/

ラッセル・カマー

代表取締役会長

メリルリンチ証券ゴールドマン・サックス証券を経て東京株式会社Paidy(旧エクスチェンジコーポレーション)を設立スタンフォード大学院数理ファイナンス修士

杉江 陸

代表取締役社長CEO

富士銀行(現みずほFG)、アクセンチュアを経て、新生フィナンシャル代表取締役社長新生銀行常務などを歴任東京大学卒、コロンビア大学MBA並びに金融工学修士

橋本 知周

副社長執行役員

楽天にてトラベル事業営業統括、イーブック事業の立ち上げ後、DeNAで渉外部長事業開発部長歴任PayPalにて大手加盟店の拡大や各パートナーとのアライアンス統括に従事

藪内 悠貴

取締役CFO

JPモルガンM&A・資金調達アドバイザリー従事後、カーライル投資評価・実行、企業価値向上施策から上場含むエグジットまで関与。東京大学薬学部卒、東京大学工学修士

ヒューストン・ロス

CTO

AXA生命CTOやNN生命COO/CIOなど、生命保険会社マネジメントに携わった経験を持つ。ITオペレーション業務に深い知見を持つ。リヴァプール大学MBA

ジョン・ネイバーハウス

VP of Risk and Analytics

キャピタルワン、クラーナなどにて勤務、リスクマネジメントに深い知見を持つ。Paidyではリスク・与信・分析業務に携わる。セントルイスワシントン大学卒。

ユキ・ハウス

VP of Experience

シリコンバレーサンフランシスコで約20年間、WalmartElectronic Arts、GlassdoorなどでUX/デザインディレクター経験を持つ。サンホゼ州立大学卒。

バリ・クレチマーリ・シルビア

CMO

東京ニューヨーク拠点に、Fortune 500及び日系大手企業事業戦略マーケティング戦略電通、EYやNetflixにて手掛けて来た。東京大学卒、Ashridge Hult MBA

ディビット・ケル

VP of Product

東京にて20年にわたりモバイルEコマース、ペイメントに従事VP PMO、CSOなどを経て、直近はPayPalMastercardにてHead of Productを歴任ラフバラ大学工学修士リヴァプール大学MBA

田中 大貴

VP of HCM, GA and Compliance

マッキンゼーヘイグループなどで戦略および組織・人事領域コンサルティング国内外の有力企業提供東京大学卒、INSEAD MBA一橋大学DBA。

2019-12-22

個人情報保護委員会も、公取委に言ってくれ……これ位。

公取委個人情報保護委員会とは別にオンラインサービス規制提案して、「サービスの対価として自らに関連するデータ提供する消費者」とか言い出してるけど、EUでも似たようなことが起きてたらしい。

欧州委員会オンラインサービス規制のための新しい指令を起草して、そこで「消費者サービスの対価を個人データで支払う……」とか書いてしまった。これに対し、欧州データ保護監督機関が「何すんじゃワレェ!」したのが以下の見解である

EDPS Opinion 4/2017

https://edps.europa.eu/sites/edp/files/publication/17-03-14_opinion_digital_content_en.pdf

EDPSはデータ駆動経済について、EUの成長のために重要であること、デジタル単一市場戦略として唱道されるデジタル環境において抜きんでていることを認めております消費者法とデータ保護法とが共同し相補しあう関係にあることは私たちが一貫して論じてきたところであります。ですから、「デジタル商品」の提供を受ける条件としてデータ差し出すことを要求される消費者保護を強化するために、デジタルコンテンツ供給にかかる契約に関する特有の側面にかかる2015年12月の委員会指令プロポーザル意図しているところを、私たちは支持しております

しかしながら、この指令のある側面は問題はらものです。というのも、これが適用可能なのはデジタルコンテンツのために価額が支払われる場合だけではなく、デジタルコンテンツ金銭以外の個人データその他何らかのデータの形での反対給付と引き換えに供給される場合にも適用可能からです。EDPSは、人々が金銭を支払うのと同じように自分達のデータを支払えるという考え方を導入するような規定を新たに定めることのないよう警告いたします。個人データ保護を受ける権利のような基本権は、単なる消費者利益に縮められるものではありませんし、単なるお値打ち品のように個人データを捉えることはできません。

最近採択されたデータ保護フレームワーク(以下「GDPR」といいます)は、未だ完全には適用可能でなく、新しい e-Privacy 制度は今も審議中でございます。ですからEUとしては、立法者が協議されている入念なバランスをひっくり返すようなプロポーザルは、何であれ避けるべきものです。イニシアティブの重複は、デジタル単一市場統一性意図せずとも損ない、規制断片化と法的不確実性をもたらすことになりかねません。デジタル経済における個人データ使用規制する措置として、EUGDPR適用することをEDPSは推奨いたします。

「反対給付としてのデータ」という概念……このプロポーザルでは未定義のままです……は、所与のトランザクションにおけるデータの正しい機能について混乱を引き起こす恐れがございます。この点で供給から明瞭な情報がないため、さらに難しいことになるでしょう。それゆえ私たちは、この問題解決する一助として、EU競争法におけるサービス定義を一考することをお勧めしますが、その地域範囲定義するうえでGDPRの用いている規定が役立つかもしれません。

見解では、このプロポーザルGDPRとどのように影響し合うことになりうるか検証いたします。

第一に、データ保護制度に基づく「個人データ」の定義が広範であるため、その効果により、この提案指令の対象となるデータが全て GDPRに基づく「個人データ」とみなされることは十分にありえます

第二に、(個人データの)取扱いが発生する厳密な条件はGDPR指定済みであり、この提案指令に基づく修正や追加を必要としておりません。このプロポーザルは反対給付としてデータを用いることを正当とみなしているようですが、GDPRでは、例えば、(本人の)同意有効性を検査し、デジタル取引文脈において(同意が)自由意思に基づくとみなしうるか決定するための、新たな条件を一式用意してございます

最後に、消費者に与えるものとして提案されている契約終了時に供給からデータを取得する権利供給者がデータ使用を控える義務は、GDPRに基づくアクセス及びポータビリティ権やデータコントローラデータ使用を控える義務オーバーラップしている可能性があります。このことで、適用する制度について意図しない混乱をもたらすことになりえます

EDPS Opinion 8/2018

https://edps.europa.eu/sites/edp/files/publication/18-10-05_opinion_consumer_law_en.pdf

見解は、EU消費者保護規則のより良い執行近代化に関する指令のプロポーザルと、消費者集団的利益保護のための代表訴訟に関する指令のプロポーザルからなる「消費者のための新しい取引」と題する立法パッケージに関するEDPSの立ち位置を概説しています

EDPSは、目標において最近近代化されたデータ保護フレームワークと密接した領域で、既存規則近代化しようという同委員会意図を歓迎します。EDPSは、個人データの大規模な収集収益化、およびターゲットコンテンツを介した人々の注意の操作依存するデジタルサービスの主要なビジネスモデルが提す課題対応するために、現在消費者法におけるギャップを埋める必要性を認識しています。 これは、消費者法を改善して、個人デジタル市場の強力な企業との間で拡大している不均衡と不公平是正する、またとない機会です。

特にEDPSは、指令2011/83 / EU範囲を拡大して、金銭的な価格にて提供されないサービスを受ける消費者が、同指令が提供する保護フレームワーク恩恵を受けることができるようにする意図を支持いたしますが、それはこのようなサービス今日経済的な現実ニーズを反映しているからです。

このプロポーザルでは、EDPS Opinion 4/2017の推奨事項を考慮して、「反対給付」という用語使用や、消費者によるデジタルコンテンツサプライヤーへのデータ提供が「積極的」か「受動的」か区別することを控えています。ただしEDPSは、プロポーザルで想定されている新しい定義により、消費者お金で支払うのではなく、個人データで「支払う」ことができるデジタルコンテンツまたはデジタルサービス提供に関する契約概念が導入されることに懸念を示しています。この新しいアプローチは、「反対給付」という用語使用したり、個人データ提供価格の支払いを類推したりすることで生ずる問題解決していません。特に、このアプローチは、個人データを単なる経済資産とみなしているために、データ保護の基本権としての性格を十分に考慮していないものとなっています

GDPRでは既に、デジタル環境にて個人データの処理が行われ得る状況に関するバランスを既に定めています。 このプロポーザルで、GDPRで定める個人データを完全に保護するとのEUコミットメント矛盾するやり方で解釈される可能性のあるアプローチを促すようなことは避けるべきです。データ保護法の原則を損なう危険を冒すことなく幅広い消費者保護提供するために、電子商取引指令における「サービス」の広範な定義や、GDPR地域範囲定義する規定、もしくデジタルコンテンツプロポーザルに関する理事会一般アプローチの第3条(1)などに基づくアプローチ代替することが考えられます

したがいまして、EDPSは、「有形媒体では提供されないデジタルコンテンツ供給に関する契約」や「デジタルサービス契約」の定義にて個人データを参照することを何であれ控えていただくことを推奨し、その代わりとして、次のような契約の考え方に依拠することを提案します。 それは、「消費者への支払いが必要かどうかに関係なく」特定デジタルコンテンツまたはデジタルサービスを売り手が消費者提供または提供することを約束するというものです。

その後

きちんと追えていないが、「EU消費者保護規則のより良い執行近代化に関する指令」は、昨月末に採択されたようで、前文に「digital services provided in exchange for personal data」という表現が残ったものの、個人データについては「GDPRに従う」とのことで落ち着いた様である

https://eur-lex.europa.eu/eli/dir/2019/2161/oj

2019-11-20

anond:20191120195532

そもそも論としてマスタースレイブでやってるとき

DBに2つのDBに トランザクションかかってなくて1レコードの差が生まれたら

って気にしないのがおおくて

いわれてもなんのこっちゃってなることもおおいからな

2019-09-13

twitter上でよく話してた友人にまた会いたいな

今頃なにやってんだろうな

PC攻撃するツール書いた」とかで公開してたスクショが、どっかからとってきたPythonコードパクリ

よく読むとMySQLの死活監視用の便利ツール全然関係ない人がブログで公開してたやつだったり

誰かとリプライ送り合って「@hogehoge つまりバリデートトランザクションは三層でプルリクしないと相手PC攻撃できないってわけ」みたいな専門用語まぜこぜのかっこよさそうな話をしてるんだけど

リプライ先のアカウント架空で、専門家同士のすごい話し合いを演出みたいなことをしてたり

素晴らしい行動をいっぱいしてくれてた。

もっといっぱい話を聞かせてほしかったのにある時アカウント消しちゃったんだよ。

陽キャになってても良いからまた話そうぜー

2019-08-12

マイ「ライトくんのここ本当に主キー」(////)

マイ「ライトくんのここ本当に主キー

ライト「あぁ俺もだ。マイの中に入ってる気がするよ。ここなんかNULL NULLしてるぜ」

マイ「やめてっぇ、非正規のとこ触らないで…汚いからぁ……」

ライト「どうせ他のヤツとよろしくJOINしてたんだろ?なぁ! レフトが好きなのか?おん!?

マイ「そんなことない!私はライトくんにユニークなんだから!誰にも従属してない!」

ライト整合性もない体でよく言うなあ!エンジンかかってきたわ。いいよもうお前。DROPするから

マイ「いやああああ!本当にスキーマなの!お願いだからGRANTして!せめてEXPLAINさせて!本当は寂しくてトランザクションレベル下げただけなの!ホストローカルだけにするからあああっ」

ライト「あーもうダメトランザクション終わるから;」

マイ「いやああああああああああああああああああああ」

ライト「\q」

2019-08-03

[]2019年7月あとで読むトップ20リスト

anond:20120303220901を見て何となく調べてみたくなった。デイリーホットエントリに入っているものだけだからけがあると思う。

482あとで/3046users 【永久保存版】「お金がもらえる・戻ってくる制度や手当」をまとめてみた→リプ欄にも続々情報が集まって有能「行政がやるべきことを無償で…神」 - Togetter

372あとで/2421users 【永久保存版Gitのあらゆるトラブル解決する神ノウハウ集を翻訳した - LABOT 機械学習ブログ

329あとで/1559users 初心者無料勉強できる良教材いろいろまとめ - orangeitems’s diary

271あとで/1298users すべての新米フロントエンドエンジニアに読んでほしい50の資料 - Qiita

258あとで/2327users お金の話について|ヨッピーnote

256あとで/1804users 認知バイアス一覧で社会心理学入門

254あとで/2207users YouTubeで500万再生された腹筋を割るトレーニングを1ヶ月続けてみた結果がヤバい

253あとで/3101users 重大事故の時にどうするか?|miyasaka|note

250あとで/1791users 「めんどくさい」の正体を脳科学者に聞く | Lidea(リディア) by LION

247あとで/1628users 中国だけで2100万部、話題性と本物のおもしろさを兼ね揃えたバケモノ級の中国SF──『三体』 - 基本読書

233あとで/1304users インフラエンジニアに便利な負荷計測コマンド【基礎編】 - はてな村定点観測

231あとで/1831users 東京から1泊2日で行けるおすすめ温泉チャート作りました - いつか住みたい三軒茶屋

227あとで/1304users 睡眠の質を高めるための方法(総まとめ編)

225あとで/1188users リクルートテクノロジーズ エンジニアコース新人研修の内容を公開します!(2019年度版) | リクルートテクノロジーズ メンバーズブログ

219あとで/1672users 四川料理のスゴイ人が猛プッシュする「肉味噌ストック」を大量に作り置きして毎日献立天国にする方法 - メシ通 | ホットペッパーグルメ

211あとで/1630users 「皆がこれ読んでたら読んでたら世の中もっと良くなるのに」本

210あとで/1024users この記事の元の本編は削除しました。|樫田光 | Hikaru Kashida|note

202あとで/1465users 5年間蓄積したシャツの襟首汚れも抹殺する魔のアイテムアタックプロEX石けん」がめっちゃ便利 - Togetter

187あとで/1018users 【スクレイピングツール】面倒な情報収集はGoogle Spreadsheetにやらせよう! | DAINOTE

185あとで/1241users 国は何に、誰にカネを使っているのか 政府の全事業予算をチェックするデータベースを作った人たちがいる

[あとで読む]が全体に占める比率で見たときに高いのはIT系のようだ。

86あとで/233users CI/CD原則デザインパターン (整理会)/20190722-jaws-ug-arch-pipeline-principle - Speaker Deck

80あとで/243users たのしOSSコードリーディング:Let's read "cookies"🍪 - Speaker Deck

75あとで/236users 【やる気を出したい人必見】科学的に証明されたやる気を出す方法5選 怠惰自分とは今日でおさらば - ホワイト心理学って何?

103あとで/340users なぜテストを書くの?(または書かないの?) 〜テストコードの7つの役割〜 / #tamarubykaigi01 - Speaker Deck

122あとで/407users これからVue勉強しようと思っている人への道しるべ(勉強方法)を書く - Qiita

前月、2019年6月も見てみる

451あとで/3146users 海外で7年働いて、今でもやっぱりメチャ使っている英語の補助ツール3選|__shinji__|note

261あとで/1368users あのGoogleアナティクス実践本が全文無料公開!インターネット最高 | DevelopersIO

258あとで/1339users 333枚のスライドで「インターネットはこれからどうなるのか」を示した貴重なレポートInternet Trends 2019」 - GIGAZINE

258あとで/1069users ソフトウェアアーキテクチャ歴史 - tasuwo's notes

242あとで/1396users プログラマーを30年間やってきた経験から学んだことまとめ - GIGAZINE

235あとで/1609users どうやって校閲記者は調べているか | 毎日ことば

234あとで/2027users 調べものリンク集 | 毎日ことば

186あとで/849users tmk.nom on Twitter: "すげーリポジトリ見つけた。Webサービスシステム設計が学べる。日本語もある。システム設計ってどうやって学ぶのが効率いいんだろうって思ってたけど、コイツを出発点にするのはアリな気がする。 https://t.co/1YMBP9UMHo"

184あとで/1174users 1時間で出来る!最強のWordPress環境構築(永久無料) - Qiita

182あとで/810users ウェブサイトが表示されるまでにブラウザはどういった仕事を行っているのか? - GIGAZINE

180あとで/916users 「Linuxのしくみ」をもっと早く読んでおけばよかったと後悔した - ばーろぐわにる

176あとで/1442users イエメン情勢

170あとで/875users 2019年前半の「JavaScriptちゃんとやるための地図

169あとで/828users 新メンバーが多い大型プロジェクトでの不確実性との戦い方 - Quipper Product Team Blog

167あとで/996users 楽しく読める!お金の基礎知識おすすめ本|深津 貴之 (fladdict)|note

166あとで/954users 「君、今日からクラウド担当ね」 未経験者が1人で始めた、ファミマAWS移行の舞台裏 (1/2) - ITmedia NEWS

163あとで/1251users クレジットカードの偽決済画面が稼働していたサーバーについて調べてみた - piyolog

160あとで/726users Dockerfile を書くためのベストプラクティス解説

158あとで/997users マイクロサービスにおける決済トランザクション管理 - Mercari Engineering Blog

158あとで/756users Visual Studio Codeのうれしい機能を使いこなして、初心者を最速で脱出する!《VSCode実践入門》 - エンジニアHub|若手Webエンジニアキャリアを考える!

追記2019年1月まで遡る(長くて2月までしか表示されない)

5月

421あとで/2838users The Elements of Styleの全訳

376あとで/2277users 総務省 ICTスキル総合習得プログラム

334あとで/3018users 簡単初心者向けの資産形成 (長期投資)

276あとで/2328users プログラマだったら当然知ってるよね?という知識一覧 | anopara

273あとで/1314users マネジメントで悩むすべてのエンジニアが見るべき完全無料テキストGoogle re:Work」 | DevelopersIO

234あとで/1641users 拝啓お客様Webサイト制作コストはここにかかります。 | 東京上野Web制作会社LIG

232あとで/1044users 数時間で完全理解!わりとゴツいKubernetesハンズオン!! - Qiita

225あとで/1095users AWSをこれから始める学生への圧倒的なインプット - Speaker Deck

207あとで/1046users 東大松尾研究室監修のエンジニア向け教育プログラム「DL4US」の演習コンテンツ無償公開 | Ledge.ai

204あとで/1453users ダサい英語しか書けない人はこの本を読むといい→多くの人がポチった結果Amazonの売り上げランキング上位に入り著者が喜ぶ「これがTwitter効果か」 - Togetter

194あとで/2105users WEB特集 潜入取材フォロワー3万人買ってみた | NHKニュース

192あとで/1829users まず楽天銀行楽天証券に口座を作りなさい。 それから楽天カードも作りな..

184あとで/1440users 松岡修造根拠理論に裏打ちされていない根性論が一番嫌い」【滝川クリステル対談】

182あとで/2364users 66歳男性風呂場で涙… 友人もいない老後を憂う相談者に鴻上尚史が指摘した、人間関係絶対言ってはいけない言葉 (1/6) 〈dot.〉|AERA dot. (アエラドット)

175あとで/928users AWSアカウントを作ったら最初にやるべきこと ~令和元年版~ | DevelopersIO

174あとで/1854users あなたの知らない「詐欺グラフ」の世界(随時更新中)|けんけん|note

173あとで/1316users 「マクドナルドの店内BGM」のディープさに感動して“中の人”に直撃したら本当にスゴかった話 | BUSINESS INSIDER JAPAN

171あとで/1490users 患者向け医療情報サイト総まとめ|病気になったらググる前に見てください | 外科医視点

171あとで/777users 君には1時間Gitについて知ってもらう(with VSCode) - Qiita

170あとで/1339users 「バカうま」「キャベツ1玉なくなった」 “ジェネリック叙々苑サラダのたれ”を小説家が開発、その作り方とは? - ねとらぼ

4月

495あとで/2948users これだけ守れば見やすくなるデザインの基礎 - Speaker Deck

460あとで/2809users 「お金を払ってセキュリティを学ぶ」のは平成で終わり? ある無料教本が神レベルで優れている件 (1/3) - ITmedia エンタープライズ

315あとで/1908users Google無償の『デジタルスキルトレーニング』を国内1000万人に提供 - Engadget 日本版

290あとで/2306users Excelで一番「え、そんなことできるの!?」って裏技書いたやつが優勝 BIPブログ

282あとで/1723users 仕事給与評価関係 - Speaker Deck

266あとで/3312users 平成31年度東京大学学部入学式 祝辞 | 東京大学 (上野千鶴子 - 認定NPO法人 ウィメンズ アクション ネットワーク理事長)

264あとで/1840users 騙されたと思ってやってみて!! ストレッチプロが教える 肩、腰、腕周りのストレッチまとめ「痛くてちぎれる」「生活の質が3段階上がる」 - Togetter

260あとで/1570users フォント選びに迷ったら見返したい、おすすめ定番フォント31選まとめ (欧文編)|原田 佳樹 Harada Yoshikinote

248あとで/1419users ディープラーニング入門:Chainer チュートリアル

244あとで/1800users 「という」と「こと」を減らすだけで、文章はぐっと読みやすくなる|Ryo Yoshitake | THE GUILDnote

233あとで/1839users 無料で“Google 翻訳”より高精度! “みらい翻訳”のお試し翻訳が便利 - やじうまの杜 - 窓の杜

217あとで/1266users AWSマンガ 全話を読む| AWS

184あとで/2627users 平成30年度卒業式総長告辞 | 東京大学

184あとで/1044users 「機械学習データ集めるのが一番大変・・・」⇛Googleが大量の機械学習データベース無料公開してた - Qiita

182あとで/1224users 優秀な人材がやめていくのは「計画グレシャムの法則」に陥っているからだ:ITソリューション塾:オルタナティブブログ

181あとで/1110users エンジニアが何か問題にぶつかったときにあるといい力を5個 - Mitsuyuki.Shiiba

177あとで/1205users プログラミングの変数メソッド命名でよく使う英単語を整理(備忘) - "BOKU"のIT日常

169あとで/754users 読書アウトプット書評おすすめです。書評の書き方をお話します。 - とある士業の知的日常

168あとで/1515users 【photoshop風景写真イラストアニメ風に加工する | briccolog東京渋谷区ウェブ制作会社ブリルール

166あとで/689users 不確実性と上手く付き合う意思決定手法 - Speaker Deck

166あとで/1103users 簡単過ぎる!GoogleスプレッドシートからPWAアプリを開発できる「Glide」を使ってみた! - paiza開発日誌

166あとで/896users 履歴を持つデータ設計 - Speaker Deck

3月

228あとで/1345users サーバーレスパターン

213あとで/1599users こうしてGoogle入社した(kumagi編) - Software Transactional Memo

210あとで/966users 入門 Docker

196あとで/1162users 配色はセンスじゃない、UIデザインで色をかんたんにキメるメソッド|Taiki IKEDA|note

196あとで/3940users ある日突然自分建物他人ショベルカー破壊しても「建造物損壊」にはならないのか? - GIGAZINE

192あとで/2393users アメリカに住んで初めてわかった「最大級」の違い - メソッド屋のブログ

186あとで/1645users イチロー引退会見を文字起こししてみた - 俺の遺言を聴いてほしい

183あとで/1767users 学生アパート大家と全力でバトルして敷金を全額取り返した話 - ゴミログ

181あとで/2627users 平成30年度卒業式総長告辞 | 東京大学

180あとで/905users サーバーサイドエンジニアも知っておくべきフロントエンドの今 - Speaker Deck

178あとで/983users 一時期プログラミングのデザインパターンというものが大流行しましたが、現在ではどのように評価されているのでしょうか? - Quora

175あとで/955users プレゼン本に書いていない生々しい8つのプレゼン技術のご紹介(前編)|Yasuhiro Yoshizawa|note

175あとで/1523users シンプルオススメの本教えて(ただし自身立場から

172あとで/1292users 筋トレしない人も「鶏むね肉とブロッコリーレンチンチーズ蒸し」を食べるのが大正義な3つの理由筋肉料理人】 - メシ通 | ホットペッパーグルメ

166あとで/1669users Google退職します|eqsan|note

164あとで/833users [書評] アウトプット大全 を一ヶ月試してみて毎日アウトプット力が着実に向上し始めた - My External Storage

163あとで/943users 未経験から7日間でコーダーとして現場投入させるまでのカリキュラムを忘れないようにメモっとく - Qiita

160あとで/973users なぜ作ったゲーム面白くならないのか?基礎にして奥義「フロー理論」|かえるD|note

159あとで/1009users まだExcelで消耗してるの?Pythonによる自動集計ガイド 基礎編 - Qiita

156あとで/1327users 横浜市「RPAの有効検証の成果について」を読んで、仕事とは何かを思い知らされる - orangeitems’s diary

2月

354あとで/2868users 家族が亡くなった後の「手続き地獄」早わかりカレンダー | マネーポストWEB

296あとで/1575users プログラマの採用面接で聞かれる、データ構造アルゴリズムに関する50以上の質問 | POSTD

220あとで/1135users コンテナ技術入門 - 仮想化との違いを知り、要素技術を触って学ぼう - エンジニアHub|若手Webエンジニアキャリアを考える!

210あとで/1199users 配色はセンスじゃない、UIデザインで色をかんたんにキメるメソッド|Taiki Ikeda|note

179あとで/1589users アメリカ流行ってるサービス: 俺と周りの場合

179あとで/1378users 「婚前交渉禁止」の家庭で育った戸田真琴は、なぜ【AV女優】になったのか?|転職サファリ

173あとで/1407users 「21時以降でもやっている都内おすすめ喫茶店教えてください」→超有益情報まりまくる - Togetter

172あとで/1832users 平成最後のキッチン革命「酒蒸し法」 :: デイリーポータルZ

170あとで/1322users とある厨房で実演→オムライスのあの卵の作り方をバイトさんに教えている動画話題に「これやりたかったやつ!」 - Togetter

168あとで/1971users 「4歳の娘が可愛くない」とSOSを出す母親に、鴻上尚史がまず最初に聞いたこと (1/4) 〈dot.〉|AERA dot. (アエラドット)

165あとで/1885users Google社員食堂に感じた、格差社会リアル。 | Books&Apps

153あとで/2005users アメリカでは仕事をいきなりクビになることがあると聞きますが、そのクビになった人が持っていた仕事はきちんと他の人に引き継がれるのでしょうか? - Quora

153あとで/1021users 電子工作趣味にすると何ができるようになるか(+電子工作のはじめかた) - nomolkのブログ

152あとで/1760users 経済制裁下のイランに行った|Yu Okada|note

151あとで/822users なぜコンピュータを学ばなければならないのか 21世紀君主論

149あとで/580users Firebase、そろそろ触っとかないとやばいんかな?と思っているあなたのための超基本Firebaseの勉強に役立つサイトまとめ - かとのぼダイアリー

149あとで/1663users Google転職していきなり3ヶ月の育休を貰った - Software Transactional Memo

148あとで/1580users 紙の辞書の方が単語などを覚えやすいというのは本当なのですか? - 最近... - Yahoo!知恵袋

143あとで/1218users たくさん獲るのをやめたら、儲かって休みも増えた。佐渡エビ漁に見えた希望 | Gyoppy!(ギョッピー) - 海から、魚から

2019-05-28

適当発言

最近特定技術への拘りがなくなってきた。

最近レバレッジが効く言語フレームワークを好きになるようになってきた。

もう言語何でもいいわ。やっぱ静的言語がいいのと十分に熟練度がついてきたのでAPI開発ではGolang使って開発するのは良い。PHP(Laravel)、Ruby(Rails)はやはり生産性が高いので良い。ScalaMonad Transformerを使ってモナドスタック解決していく程度あれでやっていき、あまり悩まないような構成になっていればサクサクやっていけそう。

実はJavaが一番いいんじゃないか…。Springガッツリやったこと無いけど、トランザクションとかもいい感じに効いてくれそうだし、そこそこ生産性高そうだし。

知らんけど。

なんでもいいや。

2019-05-21

池袋暴走死亡事故トランザクションの中での悪い奴

最も罪深いのは運転手だが、悪は「上級国民上級国民!」と加害者家族を的にして石を投げまくる人間にあると思うんだよ。

何故ならそれらの5割くらいがやりたいことは被害者の救済でなく、上級国民が叩かれること、没落を見て日ごろの留飲を下げたいことなんじゃないかと。

いや、自然だよ。人は自分のために行動するからな。でも被害者を『利用して』加害者属性を持つ人間を叩く行為は悪だろ。

被害者家族気持ちとして、今こういう時に世論が石を投げてくれるのは正直なところ「もっとやってくれ」と思うだろう。俺なら思う。

でも時間がたち先方と話したり考えたりするなかで、温度感は変わってくる。世論温度感がズレてくる。

そうなったとき当事者である自分を置いてけぼりにして石を投げ続ける人間に疑問がでる。てかイラついてくる。「おめーら関係ないだろ!」って。

でも強くは言えない。自分もかつてそれを望んでいたし、一応「自分たちのために」やってるという建前が向こうにあるから

温度感がズレれば矛先を変えるのは早い。「お前らだけの問題じゃない!」「お前が良ければいいって話じゃない!」「言いくるめられた!」「鈍感なんだ!」

果ては被害者叩きに到達する。(そういやこの前性別確認インタビューとかあったな)

俺は、復讐ってのは正しい感情だと思ってる。例えば今被害者家族運転手を殺しても、それは罪だが、悪ではないと思う。(そして罪だから償う必要がある)

だが何かに便乗して(ましてや人の死に便乗)、自分欲求のはけ口に誰かを攻撃したりすることは、悪だと思っている。

そういう攻撃をすることを、俺は悪だと思うから、それをやめて、再発防止の議論をしてほしいと思うんだ。被害者のためって言うなら、すべきはそれじゃないか

攻撃にくらべてこれは面倒くさいし欲求も満たせない。でも面倒なことをやるなら、それは確かに人のためだと言えるんじゃないか


罪を裁くのは裁判だ。妥当で公正なものを。それが人類にはハードルが高いのは分かる。しかし、頼む。

2019-04-10

anond:20190410160005

QRスマホ(読取装置)と電波(決済システムとの通信)が要るだろうが。

トランザクションとやらも発生するだろう?違うのか?

増田どもって、片方ばかり担ぐのな、普段から思考が偏ってる連中。

anond:20190410155649

Felicaリーダーの事ならその通りだが、Felicaで決済するためには読み取ったカード情報からなんか決済サーバーに決済トランザクション情報を送ったりなんだりせなあかんのやで。

まりPCが無いとダメなんだが、多分2019年現在でもそういうFelica決済を行えるPOS端末は月額1万円切るか切らないかくらいの費用が掛かるはず。

それよりは安いし導入しやすいやろ。

2019-03-24

anond:20190324094739

SQLアンチパターンではないが、デッドロックについても投げっぱなしのあのSELECT FOR UPDATEの説明はなんなのかね。

1回のトランザクションでupdateを2回発行する場合と1回のSQL複数行のアップデートをする時はデッドロックリスク考慮するってだけで、かなり初心者にはありがたいと思うんだけどね。

1回のトランザクション複数回update文を投げるケース

tA =# begin;
tA =# update t1 set column = value where id = 1;

tB =# begin;
tB =# update t1 set column = value where id = 2;

tA =# update t1 set column = value where id = 2;
tB =# update t1 set column = value where id = 1;
tB =# ERROR:  デッドロックを検出しました

1回のSQL複数行のアップデート文を発行するケース

tA =# begin;
tA =# update t1 set column = value where id = 1;

tB =# begin;
tB =# update t1 set column = value -- update all record

tA =# update t1 set column = value where id = 2;
tA =# ERROR:  デッドロックを検出しました

あと、先勝ち後負けを実現するのはSELECT FOR UPDATEではなく楽観的ロックな。

tA =# begin;
tA =# select updated_at from t1 where id = 1;
         updated_at         
----------------------------
 2019-03-24 06:17:37.952893

tB =# begin;
tB =# select updated_at from t1 where id = 1;
         updated_at         
----------------------------
 2019-03-24 06:17:37.952893

tA =# update t1 set column = column - 1 where id = 1 and update_at = '2019-03-24 06:17:37.952893' and column > 0;
UPDATE 1
tB =# update t1 set column = column - 1 where id = 1 and update_at = '2019-03-24 06:17:37.952893' and column > 0;
UPDATE 0

MySQL存在しないレコード更新しようとするとギャップロックになるから注意な。

SQLアンチパターンコピペするアンチパターン

キーレスエントリー(外部キー嫌い)

外部キー嫌いがアンチパターンなのは同意だが、間違った外部キーの使い方するほうがよっぽどアンチパターンじゃないか

外部キー貼らなかったことによって、俺はこんな被害だしたぜっての是非教えてほしい。

すぐに思いついたケースは

とかを思いついたがこんなケースで合ってるのか?こんなケースより間違った外部キーの使い方したほうが家に帰れなくなるケースのほうが多いと思うぞ。間違った使い方をしていて、システムが太ってくるとこんなケースが出てくる。

特に下2つは害悪で、SQLアンチパターンコピペして、「おまえらw外部キー嫌いはアンチパターンだぞwww」ってやるのもいいけど、同じくらい間違った使い方を注意喚起したほうがいいと思うよ。DB識者のなかでは「そんなの常識w」かもしれないが何もしらない初心者が真似をしてお家に帰れなくなるのは辛くないか

そんな経験していると、DB初心者は「せや!ユーザテーブルに退会フラグ論理削除フラグ持ったろwww うはw天才www」とかなって今度は削除フラグ持つなおじさんが出てくるぞ。しまいにはこれですよ。

http://b.hatena.ne.jp/entry/s/qiita.com/ponkotuy/items/6049388d564fb4385f4e

初心者どうしたらいいんでしょうね(*_*) 是非、DB識者には明るい未来を示して欲しいね

俺?俺はAndroidエンジニアSQLiteは使わないか関係いね

RDB初心者の俺が恐れ多くも案を出すと、FK作成する前に、そのテーブル性質予測することが大事なんじゃないかね?大量に発生するログデータなのか、大事トランザクションデータなのか、第2正規化しただけのただの情報テーブルなのか。大事トランザクションデータだったら親が削除された時にどこにどうやって退避するか。大量のログデータだったら、親が削除される時どうアプローチするか。とか恐れ多くも予測するね。

ちなみに外部キーいかER図出せないってのはそれはツールの作りであって、FK制約とは関係ないんじゃないの。バリデーション(外部キー)はセキュリティ対策(ER図を作成する)の為、実装するってのと個人的に同じことだと思っている。

から先ずは外部キー使用していなくて「こんな被害を出した」ってのを聞いてみたい。

2019-03-17

anond:20190317195914

用途の違い

マスター辞書みたいなので社員コード社員名とかを対応させる表

トランザクションは日々の処理だから日時の売上データ等を格納する

2019-02-06

COBOLってこんな言語

日経xTECHの元記事を読んでもCOBOLの特徴があんまり伝わってこない感じだし、かといってそれをディスってもしょうがないので、書いてみた。

https://anond.hatelabo.jp/20190205192741

COBOL本質的にはDSLなんだけど、一見汎用プログラミング言語に見えてしまってRubyPythonなんかと比較するのが誤解のもとではあると思う。今の人でも知ってそうなCOBOLに似ている言語はたぶんSQLで、データを処理するための専用言語。ただ、SQLは頑張ればすごく複雑なこともできるパワフルな言語で、だからこそ現代でも生き延びているわけだけど、COBOLはわりとシンプルデータ処理を想定している感じ。

SQLだけでアプリケーションを作れないのは触ったことある人なら誰でもわかると思う。普通JavaRubyで全体の流れを記述してデータベース入出力をSQLで書く。COBOLもそんな感じで、全体の流れをJCLやShellスクリプト、あるいはJP1のような運用管理ソフトで書く。SQLの1個の処理に相当するのがCOBOLコンパイル単位で、それごとにソースファイルが分割される。ひとつソースファイルに2個以上の処理を書くこともできるけど普通はしない。ここまで理解すると古いCOBOLに1ファイル内のすべての処理に影響するグローバル変数しかないのや、今のCOBOLコンパイル単位をまたぐ真のグローバル変数がないのも、それほどクリティカルではないことがわかると思う。もし、本当に複数の処理にまたがる値が必要なら、データベースに格納してしまえばいいんだし。

で、SQLでいうところのデータベースに相当するのがCOBOLではデータファイルsedawkテキストファイルCSVファイルを行ごとに処理するのとちょっと似てるけど、COBOL場合は固定長ファイルという点が違う。改行文字は入ってなくて、たとえば150バイトごとに次のレコードみたいな形式。これの1レコードごとに何月何日何時に〇〇という商品を□□円で売ったとか書いてあるのが典型的データの内容。それを集計して今日は〇〇が何個売れて売上がどれだけあったとか、出金合計がいくらで入金合計がいくらで、みたいな財務諸表を作ったり。SQLと同じように税率なんかが書いてあるマスタデータと、日々の売り上げが書いてあるトランザクションデータがあって、突き合わせたりということもする。こういう集計処理だからUIはなくて、夜中に自動起動するようなバッチプログラムが主な使われ方。(混乱するから余談だけど、今のCOBOLSQLを使って普通RDBにもアクセスできる。ただ使い方としては、RDBファイル処理→ファイル処理→ファイル処理→ファイル処理→ファイル処理→RDBみたいに、最初最後だけみたいなのが普通

入出力がファイルから今の感覚で考えるとアクセスは遅い。でもメリットもあって、1回に1行しかメモリに乗せないからどんな巨大なデータでも時間さえかければ処理できる。それこそ国民ひとりひとりの年金データとかね。あと、途中でバグ不正データで止まってもデータを失うのは最小限で済むので復旧が比較的楽だったり。

データベースの話に戻ると、テーブル定義はどこに書いてあるかというとデータファイル側ではなくてCOBOLプログラム側、というのがSQLと一番違うところかも。つまり、このデータファイル構造はこれこれこうなっていると想定して読みます、とソースコードに自分で書く。当然実際のデータ構造がそれと違ってたらおかしくなる。

まあそんな感じで80年代くらいに会計処理をする目的だったら悪い言語ではなかったので、銀行官公庁とか、電力水道ガスといったライフラインを扱う大企業がこぞって導入して今に至る感じ。普通大企業は途中でSunかに置き換えてその後Linuxクラウドさらに置き換えたりしたけど、最初に作ったシステムが大きければ大きいほど、重要であれば重要であるほど現代的な環境に置き換えられないというのが今の課題

2018-12-20

自分デッドロック対策トランザクションかけてる時は、primary key昇順で更新するように気をつけるてるんだよ、

でも他の人はselect ... for updateで別トランザクション更新後の値を取得しつつデッドロック対策してて、自分もその書き方に直すとなると結構手間だな

2018-11-28

チケット転売技術的に防ぐアイディア

チケットを「そのチケットの何倍もの価値を引き出せる秘密鍵の所有者」に販売することで、転売を防ぐというアイディア

 

話を具体的にするためにビットコイン説明する。

・1000円のチケット販売すると、チケット購入者が持つ「1万円以上が入ったビットコインアドレス」に結び付けられる。

・この1万円は特に問題が起きなければ常に購入者の所持しているものであり、デポジットのように一時的販売者に渡す必要はない。

チケット購入者は、チケットを利用する際にこのビットコインアドレス秘密鍵を使って送金トランザクション作成することでチケットを持っていることを証明する。

・その瞬間にビットコインアドレスに入っている金額が1万円未満になった場合、そのチケット無効判断される。

・これは単に秘密鍵を持っていることの証明なので、その送金トランザクションは実際に処理される必要はなく即座に破棄していい。

 

これによって、いくつかの転売防止効果が期待できる。

1つ目の防止効果は、1000円のチケット譲渡するときに1万円が引き出せる権利とセットでないとそれを譲渡できなくなるというもの転売屋はチケットを売った後に客が1万円を持ち逃げするリスクを負う。

2つ目の防止効果は、転売から購入したチケット転売屋がいつでも無効化できるチケットだというもの転売はいつでも1万円を引き出せる秘密鍵を所持しているため、客は購入したチケット無効になるリスクを負う。

3つ目の防止効果は、1000円のチケットを100枚購入するためには、100万円の価値を持っている必要があるという点。単純に買い占めがしづらくなる。

2018-11-20

イエロースター互助会考えた

クロールして自動スター1000個ぐらいつけて常にトップコメにするの。

イエロースターは1垢で何個でもつけられるし賢くない?

1ブクマスター100個10円ぐらいのマイクロトランザクションでやろうと思うんだけどどう?

2018-08-29

anond:20180829102525

言うてNoSQLでアクロバティックなトランザクション処理するよりは大人しくRDB使うやろ。

実際google検索したときに出てくるリンクデータをどういうデータだと位置付けているかは知らんけど。

ログイン ユーザー登録
ようこそ ゲスト さん