タグ

2023年9月6日のブックマーク (12件)

  • 【SQL】Window関数を使ってみた|テクニカルブログ|日本情報通信株式会社

    NI+C マーケソリューションチームです:) 今回のTech Blogでは、新入社員が学習と備忘も兼ねて、Window関数を用いてデータを操作してみようと思います! まずはじめに Window関数ってそもそも何なのでしょうか?また何ができるのでしょうか・・・? Window関数とは? データベースを使って、リアルタイム(オンラインで)にデータ分析を行うための処理のことで、2000年代中盤くらいからトレンドになっている古くからあるデータベース技術の中でも、比較的新しい技術です。 なお、OracleSQL Serverでは、「分析関数」と呼んでいたりします。 (出典元URL:http://www.code-magagine.com/?p=4892) こちら先輩社員の方に教えていただきました。データベース技術の中でも新しいものなんですね。 また、別名でOLAP関数とも呼ばれているそうです。 W

    【SQL】Window関数を使ってみた|テクニカルブログ|日本情報通信株式会社
  • MySQLとPostgreSQLの述語ロックについて - 角待ちは対空

    MySQLはともかくPostgreSQLはあまり詳しくないのだが、PostgreSQLの述語ロック(Predicate Locks)が気になったので調べた。 述語ロック 一般的にロックには粒度とモードという概念がある。前者はレコードロックとかテーブルロックとかロックの範囲に関わるもので、後者は排他ロックだとか共有ロックだとか両立性に関わるものである。述語ロックは前者に属する概念であると理解している。 述語ロックがなにの役に立つのか?それはファントムの防止である。粒度ロック(典型的にはレコードロックとテーブルロック)が存在するシステムにおいて2相ロック:Two-Phase Lock(2PL)に従ってレコードロックしているだけでは、ファントムのようなAnomalyが防止できることは保証できない。リレーショナルデータベース入門には「SQLのSERIALIZABLEという隔離性水準は、2PLに加え

    MySQLとPostgreSQLの述語ロックについて - 角待ちは対空
  • SELECT ... FOR UPDATEとUPDATEでデッドロックが出る人へ - 41から始めました

    はじめに 最近は主に花粉症に悩まされており、目が痒くてたまりません。 また、娘の生活がガラッと変わったせいで、毎日貧乏ヒマ無しです。 そんな中、たまたま早起きできたので奮起して久々に書いてみました。 問題が起きる環境 MySQL8.0.17以前 transaction_isolationがREAD-COMMITTED WHERE句の条件が一意ではない。(フルテーブルスキャンだと発生しやすくなる) キーの値がたすきがけになってる トランザクション開始+SELECT ...FOR UPDATE→UPDATEのようにロックを取っている 先に実行されたトランザクションが、たすきがけになっているキー値の若い(っていうのかな?)方のロックを取る 何が起きるかと言うと、SELECT ...FOR UPDATEのWHERE句で抽出した行に対してロックを取ってるのに、 後から別セッションで実行されたSELE

    SELECT ... FOR UPDATEとUPDATEでデッドロックが出る人へ - 41から始めました
  • ユーニックス総合研究所

    home archives rust-result RustのResultでエラーハンドリング処理を行う 作成日: 2023-01-05更新日: 2023-12-24 カテゴリ: Rust RustのResultでエラーハンドリングをする Rustでエラー処理をしたい場合によく使われるのがResultを使ったエラーハンドリングです。 Resultは正常時の返り値とエラー時の返り値を1つにまとめたものです。 関数が正常終了したら正常時の返り値を、エラーになったらエラー時の返り値を返します。 その関数を呼び出した側はmatch演算子などで返り値をチェックし、エラー時の処理などを記述します。 この記事ではRustのResultを使ったエラーハンドリングを解説します。 関連記事 RustでJSONの読み書きを行う RustでTCPクライアント/サーバーを作る【ソケット通信】 Rustでファイルサイ

    ユーニックス総合研究所
  • ネットワークプログラミングの練習にインターネット自由協会の電子公告表示プログラムを作ろう - きしだのHatena

    登さんがインターネット自由協会の電子公告をTELNETで公開されていました。 TELNETであれば簡単に内容を見れるので、誰でも見れることを目指すべき電子公告には適していますね! 登さんがこういうツイートをされていました。 最近の法務局登記官のインターネット・リテラシは、極めて高くなってきたようだ。インターネットにおける Telnet歴史的重要性を、理解されている。大変に素晴らしいことなのである。 pic.twitter.com/WUN4nC48oZ— Daiyuu Nobori (登 大遊) (@dnobori) 2023年9月4日 TELNETを使う理由のひとつに次のようなことがあげられています。 HTTP を用いて電子公告を公開していると、外国人の意志ひとつで、突然日人の電子公告を閲覧者が事 実上閲覧できない状態になってしまうリスクがあります。他方、TELNET プロトコルは、

    ネットワークプログラミングの練習にインターネット自由協会の電子公告表示プログラムを作ろう - きしだのHatena
  • 図解がつくれると伝わり方が変わる! 初心者のための図解作成ガイド【事例あり】|鷹野 雅弘

    「図解」は資料作成やプレゼンスライドの制作に欠かせません。その一方で「図解を作成してみたいけれど、経験がない」「これから図解をどんどん取り入れていきたい」という方のために、図解作成のノウハウを基中の基からまとめてみました。 今回の記事はアドビ社のPR企画「みんなの資料作成」に参加して執筆しています。 1 | 図解の定義まずは「図解」の定義について考えてみましょう。 たとえば、書籍『たのしいインフォグラフィック入門』の中で著者の櫻田 潤さんは次のように定義されています。 図解とは、単純な図形と短い言葉で、物事を説明するグラフィック 非常に明快ですが、人によって定義が異なりますし、また時代によって移り変わっています。 類語から「図解」の定義を探る言葉の定義を考える際に有効なのが〈類語〉を集めてみること。 そこで、日語/英語に分けて、2つのマンダラート(9マスのメモ)をつくり、「図解」の類

    図解がつくれると伝わり方が変わる! 初心者のための図解作成ガイド【事例あり】|鷹野 雅弘
  • 宮台真司さんのトリチウム生物濃縮デマにガチ化学研究者さんが反論・解説

    神崎星辰 @chiee007 たぶんメチル水銀とかとのアナロジーで考えておられて悪意はないのだろうが、生物濃縮という現象に対する浅い理解含めて、ちょっと世間的にデマとなっては危ないので専門的見地から下記スレッドにコメントします。 twitter.com/miyadai/status… 2023-09-03 16:12:01 宮台真司 @miyadai 貴殿は有機結合トリチウムを見逃している。生体内でトリチウム水のままなら短時間(4日以内)で代謝されて生体濃縮の機会がないが、それを構成するトリチウム原子が有機物(蛋白や脂肪や核酸)と結合すると生体内に長く留まる間に(大部分は生物半減期40日で一部は1年)捕されて生体濃縮されうる。 有機結合化のメカニズムは水素置換。植物の光合成過程や動物の消化過程で、有機物内の水素原子が他の水素原子に置換されるので、トリチウム原子にも置換される。このメカニズ

    宮台真司さんのトリチウム生物濃縮デマにガチ化学研究者さんが反論・解説
  • 校正なんて賎業だろ

    (追記) 「俺は今でも、あの41話をチェックした人のことを思っている」の末尾に句点なし。「一番最後」は口語的表現でOKなのかな。 ありがとう、助かる。 どっか落としてるだろうとは思ってたが、仕事終わりに自分の文章なんかマトモに読めねえんだよな。 句点イレル。そういや同じ現場だった校正者もよくやらかしてたな。元気してるだろうか。 「一番最後」はママで。副詞的用法だと「ぶっちぎり」みたいなニュアンスを感じるから、おっしゃる通り強調表現の範囲内として個人的には違和感ないかな。もちろん要指摘事項だが。 “?”の後ろに文章が続けばスペースあり、後ろが “」”の記号ならスペースなし、“これはいったい何年前の学説なんだ?って” と促音でもスペースなし、が校正ルールってことかなーと思いながら読んだ。 だいたいそう。最後の場合はスペース入れる表記ルールも多いけど、俺は一文としてつながりがあるならアキなしの方

    校正なんて賎業だろ
  • マイクロサービスを支えるメッセージング技術:Redis Streams

    はじめに この記事は、airCloset Advent Calendar 2021 16 日目の記事です! ここ最近は、複数サービス間の連携やマイクロサービスの設計に関わらせてもらうことが多く、そこでの技術選定について紹介させていただきます。 実現したいこと さて、やりたいことは次のことでした。 ユーザーの認証基盤を外だしし、複数サービスで共通のアカウントでログインできるようにする 複数サービスで同じ項目のデータを、共通化したい ※認証基盤の話はここでは割愛します。 解決したい問題 このアプローチとして、共通の API/DB を使って外だしすることを検討しました。いわゆるマイクロサービスです。 「よっしゃ、API 作るでー!」と、気合を入れた矢先、次のような懸念を抱えました パフォーマンス: ユーザー関連のアクセスはマイクロサービス化した際の読み取り速度の懸念がある。 参照箇所が多すぎるた

    マイクロサービスを支えるメッセージング技術:Redis Streams
  • apt upgradeでセキュリティアップデートのみ適用する

    ubuntuにsshでログインするとセキュリティアップデートの有無が確認できます。 以下の例では6件あります。 Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-72-generic x86_64) 25 updates can be installed immediately. 6 of these updates are security updates. To see these additional updates run: apt list --upgradable myname@host:~$ apt upgradeだと全てのアップデートを適用してしまいますが、 番環境などでは実行できなくなるリスクを最小限にするためにセキュリティアップデートのみを入れたいときがあります。 そこで、セキュリティアップデートだけを入れる場合は unat

    apt upgradeでセキュリティアップデートのみ適用する
  • 同時接続数30万超のチャットサービスのメッセージ配信基盤をRedis Pub/SubからRedis Streamsにした話

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog Overview 30万を超える同時接続数を持つチャットサービスにおいて、リアルタイムでメッセージの受信などのイベントを配信するメッセージブローカーとして、私たちはRedis ClusterのPub/Subを使用していました。 私たちのサービスでは、ユーザー数の増加に伴い、Redis Clusterのシャード数を増やすことでクラスターの性能を向上させてきました。しかし、Redis ClusterのPub/Subでは、シャード数の増加に伴ってネットワーク帯域が圧迫される問題が生じ、これ以上シャードを追加することができない状況になりました。 この課題を解決するために、メッセージブローカーをRedis Pub/SubからRedis

    同時接続数30万超のチャットサービスのメッセージ配信基盤をRedis Pub/SubからRedis Streamsにした話
  • 今さら聞けないログの基本と設計指針 - Qiita

    はじめに 皆さんのログに対する理解はどんなものでしょうか?仕組みから設計方法まで完璧に理解しているエンジニアもいれば、なんとなく使用しているエンジニアも多いことでしょう。 ログとは、システムに着いてエラーや障害の発生、利用者による操作や設定の変更、外部との通信などを時系列に記録したものです。ログに関する理解を深めることで、複雑なシステム開発や運用が可能となります。また、AWS、Azure、GCPなどのクラウドサービスを利用している場合はシステムの開発が可能になるだけでなく、経費削減に繋がる可能性も考えられます。 記事では、ログの基を押さえるためにその設計方法について解説します。少しでも自信がない方は、ご一読ください。 ログを出力する理由は? ログの基や、ログの設計について解説する前にそもそもログを出力する理由を押さえましょう。大きく4つの理由が考えられます。 ・問題が発生した時に調査

    今さら聞けないログの基本と設計指針 - Qiita