並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 295件

新着順 人気順

排他制御の検索結果241 - 280 件 / 295件

  • 飲食店モバイルオーダー・トレタO/Xの開発反省会 - トレタ開発者ブログ

    こんにちは、トレタのモバイルオーダー事業でプロダクトマネージャーを行なっている北川です。 こちらはトレタアドベントカレンダー2日目の記事です。この記事では2022年の振り返りとして、今年の前半に取り組んだモバイルオーダー・トレタO/Xでの決済トラブルについてどう対応していったのかを記そうと思います。 toreta.in 決済でのトラブルというのは基本的に起こしてはならないものであり、それを記事にすることは憚られましたが、自分が苦闘しているなかで同様に決済への試みをしている記事を大いに参考にさせていただいたので、自分も誰かの助けになればと思いこの記事を公開します。 あらためて、導入店の飲食店様と来店してご利用いただいていたお客様には、多大なご迷惑をおかけしたことをこの場を借りてお詫び申し上げます。 トレタO/Xの決済の概要 まずはトレタO/Xでの決済について説明します。 トレタO/Xでは店員

      飲食店モバイルオーダー・トレタO/Xの開発反省会 - トレタ開発者ブログ
    • [Go言語]sync.Mapでローカルキャッシュを作ろう! | セルフノート

      Sync.Mapとは sync.Mapは、Go言語のMapの様にメモリにKey/Valueの形式で値を保存できる仕組みです。 内部的にsyncパッケージのMutexでリソースの排他制御を行ってくれるので、goroutine上で動かしても安全で、使いやすいです。 使える機能は以下の通りです。 type Map func (m *Map) Delete(key interface{}) func (m *Map) Load(key interface{}) (value interface{}, ok bool) func (m *Map) LoadAndDelete(key interface{}) (value interface{}, loaded bool) func (m *Map) LoadOrStore(key, value interface{}) (actual interf

        [Go言語]sync.Mapでローカルキャッシュを作ろう! | セルフノート
      • 【物騒な言葉編】「人柱」とは、開発現場の神に捧げられる生贄のことである|#エンジニアあるある システム開発現場・実録IT用語辞典

        お疲れさまです。先日、知り合いのエンジニアと電話で話している時に、「さっさとkillすればいいのに」という発言をしました。言った後にふと、普通に聞くと物騒な発言だなぁと思いました。 システム開発関連の用語には、「隠ぺいする」など、割と物騒な言葉が多かったり、一般的な使い方とは異なる言葉があるなぁと思います。 こういった言葉を織り交ぜて話しているのをエンジニアでない人に聞かれた場合に、妙な勘違いをされたりしないか少し心配です。 #エンジニアあるある 実録IT用語辞典【物騒な言葉編】INDEX killする 隠ぺいする 悲観的 人柱 小人 レガシー 冗長 強力な 柔軟な あちらを立てればこちらが立たぬ 「killする」とは コンピュータ上で動いているプロセスを強制的に止めること。 Linuxのコマンドの「kill」が語源。動いているプロセスを問答無用で停止させることができる、その名にふさわしい

          【物騒な言葉編】「人柱」とは、開発現場の神に捧げられる生贄のことである|#エンジニアあるある システム開発現場・実録IT用語辞典
        • 使い倒し系Laravelコーディング規約

          「このLaravelとあのLaravel、全く別物じゃないか。」 Laravelは自由度が高い。Eloquentなどハイレベルな機能も提供されているが低レイヤーのAPIも存在し実装クラスの配置にも制限はほぼ無い。これら自由度のおかげで他フレームワーク経験者もスムーズにLaravelに入門できる一方、現場でしばしば聞かれるのが冒頭に挙げた声だ。 自由度は重要だが状況(プロジェクトの規模や背景)をある程度固定した上でのルール導入もまた有用と考え、今回は 小中規模の案件 を対象に Laravelを使い倒す という観点で規約を作成した。 小中規模のみ想定。設計のレイヤー化が生産性を大きく左右するような規模は想定しない。 (この想定を超えるプロジェクトはそもそもLaravelを採用すべきでない) フレームワークへのロックイン防止も考慮しない。 (小中規模であれば、ここにコストを払うより必要に応じ使い

          • sync.Poolの使い方 - 体はドクペで出来ている

            はじめに Golangには平行処理でよく使う機能がまとめられたパッケージ sync があります。この中には Pool という構造体がありその名の通り何らかの使うものを貯めておけ、必要なタイミングでそれを取り出し不要になったらまたしまう、という仕組みを簡単に作ることができます。 少し触ってみて面白かったので使い方を書き留めておきます。 考え方 一般的にITの文脈でいうところの「プール」と考えてOKです。プールには待機状態になっている何らかのリソースがあり、それを取得して処理が終わったらまた戻してやることで再利用できるようになります。 Golangのプール機能においては取得時にリソースが不足している場合は自動的に新規作成され、それが使用後にプールに戻されるので需要の逼迫度合いに応じてリソースが増えていきます。 このような特性から「調達コストが重いオブジェクトを使い回したい」「調達コストが重いの

              sync.Poolの使い方 - 体はドクペで出来ている
            • Differential Serving の実装に module-nomodule pattern を使うべきではない - 徒然技術日記

              タイトルはやや誇張気味ですが,最近某所で differential serving を導入しようとして考えたことのまとめです. なお,differential serving の概念には CSS や画像なども含まれることがありますし,実現方法にも polyfill.io などの外部ソリューションが存在しますが,本稿では JS の bundle を自前でなんとかする場合に絞って議論することをあらかじめお断りしておきます. TL;DR module-nomodule pattern は differential serving を始める一歩としてはよいが,長期的には負債になる可能性がある きちんとやるなら UA sniffing なり feature detection なりで分岐させるべき Differential Serving とは そもそも differential serving と

                Differential Serving の実装に module-nomodule pattern を使うべきではない - 徒然技術日記
              • 意図的にファイルをロックする

                質問 2017年5月18日木曜日 12:39 forfiles /p <パス名> /d -1 /m "<ファイル名>" /c "cmd /c del @file" で対象のファイルを削除する際、意図的にファイルをロックしてファイル削除に失敗するテストを行いたいと考えています。 サクラエディタなど排他制御機能のあるアプリケーションを使用してファイルを開けば、失敗する事は確認できてますが、 サーバ上でテストをする際、排他制御機能を持ったアプリケーションが無い場合、 コマンドプロンプトやPowershellコマンドで上記を再現する方法はありますでしょうか? すべての返信 (2) 2017年6月1日木曜日 5:37 ✅回答済み | 1 票 以下はどうでしょうか。 $file = [System.IO.File]::Open($filePath,'Open','Read','None') #Unlo

                  意図的にファイルをロックする
                • Terraform stateファイル管理用のリソース(S3,DynamoDB)作成のCFnをService Catalogに登録してみる | DevelopersIO

                  Terraform stateファイル管理用のリソース(S3,DynamoDB)作成のCFnをService Catalogに登録してみる 「Terraform Backend用のリソースをService Catalogで管理したら便利かも」 個人的にはTerraform Cloudでstateファイルを管理する方法が好きですが、S3とDynamoDBを使用することがあると思います。 このリソースは、Terraform以外の方法で作成する必要があります。(stateファイルどこに置く問題が発生するため) 毎回手動でS3とDynamoDBを作るのは面倒なので、CloudFormation(以下CFn)テンプレート化してみました。 CFn化したことで楽にはなったんですが、組織内で楽に共有する方法はないかなと探していたらService Catalogを見つけました。 Service Catalo

                    Terraform stateファイル管理用のリソース(S3,DynamoDB)作成のCFnをService Catalogに登録してみる | DevelopersIO
                  • DBサービスを作ろう その0 準備 - 豪鬼メモ

                    Tkrzw本体でやりたい事をやり切ったので、データベースサービスでも作ってみよう。既にガチなデータベースサービスは山ほどあるので、レッドオーシャンに敢えて飛び込むのも気が引ける。とはいえ、gRPCを使うとかなり気軽に高性能なサービスを実装できるので、日曜大工のつもりで取り組む。おそらく10回くらいの連載になるだろうか。これからしばらくデータベースサービスの設計と実装について述べていきたい。 初回は、gRPCの基本的な使い方を確認する。インストール方法、ビルドの自動化、APIの定義、実装、そしてテストまでの一連の流れを追う。 まず技術選定についてだが、これはもうgRPC一択なのだ。Tokyo TyrantやKyoto Tycoonでは、socketとかselectとかpollとかepollとかkqueueとかいったシステムコールを駆使して自分でRPC機能を実装していたが、面倒くさすぎる。競争

                      DBサービスを作ろう その0 準備 - 豪鬼メモ
                    • “巨人の肩”を踏み台にもっと上へ SEとQAが「顧客と一緒に価値を生み出す仕事」になるために必要なこと

                      ソフトウェアの教科書が見つかった 宮田一雄氏(以下、宮田):富士通の宮田です。こんばんは。一言で言うと、私にとって今回のEssenceは、ソフトウェア工学の教科書が見つかった。そんな印象です。 日経BPの木村岳史さんは「日本のソフトウェア業界は、ゆでガエル状態のSIerとIT部門がずっとその状態のままでいるからぜんぜんダメなんだ」とずっと構造的な問題を指摘されています。私はSIerの立場ですが、悔しいけれど彼の指摘はある意味本質的なことを突いていて、これをなんとかしないといけないと思っています。 SIerを頂点とした多重下請けモデルで、ものすごく無駄なコストをかけてみんなで一生懸命やっているんだけど、それが価値につながらない。若者が3K職として(SEを)避けることに対しての指摘は、ちゃんと受け止めないといけないと思っているわけです。私世代は、SEの仕事はクリエイティブな仕事だったわけで、そ

                        “巨人の肩”を踏み台にもっと上へ SEとQAが「顧客と一緒に価値を生み出す仕事」になるために必要なこと
                      • 電動キックボードの危険性について力学的に考えると「小さな段差でも前へ転びやすくヘルメットなしに乗るのはとても危険」という結論になった

                        shiura @shiura 特定小型原付の制度にも問題大ありだけど、仮にそれを受け入れるとしても、レンタルバイクがなぜglafit glafit.com やKOTTO swallow-scooter.com/products/kotto みたいな自転車型でないのか理解に苦しむ。乗り捨て型レンタルなら、置き場所とか運びやすさも問題にならないだろうに。座れて楽だし。 2023-07-07 12:58:44 shiura @shiura glafitの特定原付、これはこれでペダルなしが残念。ペダルと電動を排他制御する or 電動アシスト自転車と同等の動作モードを持つことで、ペダルを残せなかったものかと。そうすれば電池切れでも走れて良い乗り物になるのに。 itmedia.co.jp/news/articles/… 2023-07-07 13:06:59

                          電動キックボードの危険性について力学的に考えると「小さな段差でも前へ転びやすくヘルメットなしに乗るのはとても危険」という結論になった
                        • セキュリティエンジニアは楽しい? 儲かる? 一番印象に残っている脆弱性は?【セキュリティエンジニアだけど何か質問ある?】 - #FlattSecurityMagazine

                          #FlattSecurityMagazineでは「セキュリティエンジニアだけど何か質問ある?」と題して、「セキュリティエンジニアに答えてほしい質問」をTwitterで募集。ゆるい質問からちょっと答えづらい質問まで、多くの質問をいただきました。 今回は、セキュリティエンジニアという職業や仕事内容にまつわる質問にFlatt Securityのセキュリティエンジニアたちがお答えします! ▼「情シスからセキュリティエンジニアになるには?」などの質問に答えた後編はこちら flatt.tech Q.セキュリティエンジニアとは? 回答者:fujir 回答者:moosan63 Q.プログラマより儲かりますか? 回答者:akiym 回答者:fujir Q.セキュリティエンジニアは楽しいですか?しんどくないですか? 回答者:azara 回答者:fujir 回答者:ishikawa 回答者:Jiroken 回答

                            セキュリティエンジニアは楽しい? 儲かる? 一番印象に残っている脆弱性は?【セキュリティエンジニアだけど何か質問ある?】 - #FlattSecurityMagazine
                          • ESP32の高精度タイマー割り込みを調べる

                            上記の対応になっていて、ペリフェラル周波数の上限は80MHzで、それ以下の場合にはCPU周波数と同一です。 つまり、1カウントの時間をわかりやすい1マイクロ秒に設定したい場合には、ペリフェラル周波数に合わせて変える必要があります。変更していない場合、80Mクロックで設定していたタイマーを、ペリフェラル周波数40MHzで動かすと2秒になります。 最小構成スケッチ #define LED_PIN 10 hw_timer_t * timer = NULL; void IRAM_ATTR onTimer() { digitalWrite(LED_PIN, !digitalRead(LED_PIN)); } void setup() { Serial.begin(115200); pinMode(LED_PIN, OUTPUT); timer = timerBegin(0, 80, true); t

                              ESP32の高精度タイマー割り込みを調べる
                            • システム設計のセオリーまとめ - Qiita

                              システム設計の考え方まとめ 主に上流部分 目的 設計の原理原則を知るため ウォーターフォールを知る事により、アジャイルとの違いを知るため 基本の工程 上流工程 要求分析 要求定義 要件定義 外部設計 論理設計 下流工程 内部設計 物理設計 実装 テスト 運用 基本原則 論理から物理へ 抽象から具体へ 概要から詳細へ 基本方針 最小の労力で、最大の効果 成果物はより少なく、より良く システムの究極目的を理解する 適切な時(タイミング)に、 適切な人(場所)が、 適切な(品質の)情報をインプット(入力)することにより、 必要な時(タイミング)に、 必要な人(場所)へ、 必要な(品質の)情報をアウトプット(出力)すること 情報システムの価値とは 「唯一の使命」を果たせること 設計図の存在意義 合意形成のためのもの 設計書の性質 納品された直後から劣化すること 実体との乖離が発生し始め、結局コード

                                システム設計のセオリーまとめ - Qiita
                              • 複数サーバーでE2Eテストを並列実行してみた - RAKUS Developers Blog | ラクス エンジニアブログ

                                noriharu3 です。 E2Eテストの実行時間短縮を目指して、複数サーバーでテストを並列実行してみましたのでご紹介します。 複数のサーバーでE2Eテストを実行する方法 E2Eテストを並列実行させる E2Eテストを複数のサーバーで並列実行させる 結果 Before After 最後に 複数のサーバーでE2Eテストを実行する方法 元々E2Eテストは以下の構成で実装されていました。 Java Gradle Selenium Gradleを使用していたので並列実行するだけなら、パラメーターを設定するのみ。 なのですが、今回はE2Eテストを1つのサーバーで並列実行するのではなく、複数サーバーでE2Eテストを並列実行できないか模索しました。 理由としては、E2Eのテストケース毎にDBのロールバックが必要となっていたため、 1つのサーバーで並列実行することがそもそもできなかったからです。 E2Eテス

                                  複数サーバーでE2Eテストを並列実行してみた - RAKUS Developers Blog | ラクス エンジニアブログ
                                • Epoch-based {Logging, Checkpointing, Index} - nikezono

                                  #長編 皆さん,初めまして.NTT SICの中園 (nikezono) です. この記事は 自作DBMS Advent Calender 2020 の 18 日目の記事です. この記事では,前日にご紹介したLineairDBを実装するうえで用いたインメモリDBの最適化手法について解説します. 3つの最適化があり,それぞれ{Logging, Checkpointing, Index}についての話になります.3日に分けようかと一瞬思いましたが,どれも小粒なのでまとめました. 未執筆のリンク先 が多く含まれる記事になるかと思いますが,随時書いていきます. 記事の構成 1. インメモリDBの性能上の問題 1. a Logging 1. b Checkpointing 1. c Index 2. 銀の弾丸? Epoch Framework 3. Epoch Frameworkを使った最適化手法3種

                                    Epoch-based {Logging, Checkpointing, Index} - nikezono
                                  • 動かないコンピュータ14連発

                                    本特集では、日経コンピュータの看板コラム「動かないコンピュータ」の過去記事の中から、セキュリティー関連の事例を14本取り上げていく。トラブルの真相から、今後のリスク回避につなげてほしい。 Strutsの脆弱性でサイト閉鎖が続出、「サポート切れ」の危うさを振り返る 大型連休を目前にした2014年4月28日、情報処理推進機構(IPA)は4月29、30日に予定していたITパスポート試験の中止を決めた。オープンソースソフトウエア(OSS)の開発フレームワークである「Apache Struts 1」に、脆弱性が見つかったのがきっかけだ。 2019.08.09 バーコード決済に潜むワナ、いま参考にすべきdポイント不正利用事件 NTTドコモの共通ポイント「dポイント」で不正利用が発覚した。2018年8月のことである。加盟店サイトが不正アクセスを受け、dポイントのポイント残高が盗み見られた。残高の大きなd

                                      動かないコンピュータ14連発
                                    • サイボウズのiOSプロダクトで利用しているProperty WrapperをOSSとして公開しました! - Cybozu Inside Out | サイボウズエンジニアのブログ

                                      はじめに こんにちは、モバイルエンジニアのオジマです。 Swiftにはバージョン 5.1からProperty Wrapperという強力な言語機能が追加されています。SwiftUIの@Stateなどでも馴染みが深いのではないでしょうか。 Property Wrapperは@StateなどのすでにAppleが用意しているもの以外にも、自身でオリジナルなProperty Wrapperを作成し利用することができます。私が携わっているプロダクトでも自作のProperty Wrapperを利用しています。 今回、サイボウズのiOSプロダクトで利用している自作のProperty Wrapperのうち2つをOSSとして公開しました。 この記事では、公開したそれぞれのProperty Wrapperの利用方法について紹介します。 CachePropertyKit 概要 CachePropertyKitはi

                                        サイボウズのiOSプロダクトで利用しているProperty WrapperをOSSとして公開しました! - Cybozu Inside Out | サイボウズエンジニアのブログ
                                      • [Rails] Active Jobをロックしたい - Qiita

                                        はじめに Active Job にてRailsバックグラウンドジョブを実行する際の、排他制御(ロック)に関するメモ 目的: ジョブのキューイング自体をロックしたい (ジョブの処理をロックするだけではなく、そもそもEnqueしない) Active Job自体の使い方は↑こちらの記事を大いに参考にしています。 (ジョブ内での処理のロック方法は、こちらにも記載されています) 環境 Ruby on Rails (最近6.0系にアップデート), MySQL, Resque scheduler が各ジョブを時間ごとに管理し Redis がジョブのキューを保持し Resque がキューをもとにジョブを管理・実行 やりたいこと そもそも Active Job でロックを導入する理由はなんでしょうか? それは、同じジョブがEnqueされすぎて詰まるのを避けるためです。 例えば、処理に30分かかるジョブがあっ

                                          [Rails] Active Jobをロックしたい - Qiita
                                        • JavaScript のasync/awaitで再帰呼び出しのような長時間かかる処理の途中経過を表示する方法 - Qiita

                                          1.はじめに javascriptに限らず長い処理をフロントエンドで実行すると画面がフリーズします。長い処理をしながら画面フリーズを回避するいろいろな仕組みがあります。本記事では、javaacriptでPromise,await,asyncを使って、長い処理(例として巡回セールスマン問題を再帰呼び出しで全経路計算)の、処理途中経過をプログレスバーで表示して、ボタンにより処理中の計算を中断するにはどのようにプログラミングすればよいのかを調べてゆきます。 以下の例は都市数を入力すると、総当たりで最短経路を求める計算をフロントエンドだけで実行し、途中経過と最終結果(10都市で10!=約360万経路のパスコスト計算)を表示するコード例です。リンクコストは接続される都市番号の相乗平均としています。どうやって、途中経過を画面に表示させているのかが本記事の主題です。 See the Pen Factor

                                            JavaScript のasync/awaitで再帰呼び出しのような長時間かかる処理の途中経過を表示する方法 - Qiita
                                          • はじめに - スマートロック開発日誌 #1

                                            この記事は、スマートロック開発日誌の第1回の記事です。 その他の記事はこちら なにするの? 個室ジムを運営する株式会社ハコジムで、スマートロックを開発しています。 スマートロックのソフトウェアに加え、ハードウェアも開発します! ドメイン駆動設計をライトに適用して開発しています。 ここでは実際の開発を例に、わかりやすくまとめた記事を投稿していきたいと思います。 ※ ドメイン駆動設計やアクターモデルについて、ある程度理解していることを前提とします ドメイン駆動設計やアクターモデルについて知らなくても理解できるよう書いていきます! スマートロックとは 簡単に言うと、マイコン制御のロック(錠)です! スタンドアローンで動くものや、ネットワークと連携するものもあります。 ロック(錠)とキー(鍵)で様々な種類があります。 ロック 既存のロックを置き換えるもの 既存のロックを利用するもの モータでサムタ

                                              はじめに - スマートロック開発日誌 #1
                                            • MySQLやPostgreSQLなど多くのフリーDBはそれぞれ何が違いますか?同じSQL文だし使う側としては違いはわかりませんか?

                                              回答 (4件中の1件目) MySQLは今はフリーのDBとは言えない(少なくとも最新版は)ですね。(フリーを求める人は多分、MariaDBなどに避難しています。) SQL自体は規格で決まっているので、コアな部分に大きな違いはありませんが、周辺の機能、例えばデータとして jsonや xmlが直接扱えるかとか、ユーザー定義の関数がどのくらい使えるかどうかとか、検索の最適化の優劣とか、排他制御の方法とか、耐障害性とか(データサーバーを、分散できるかとか、複製がリアルタイムに作れるかどうかとか)、CPUのコア数に比例した性能がでるかとか、その辺で差別化を図っているように見えます。

                                                MySQLやPostgreSQLなど多くのフリーDBはそれぞれ何が違いますか?同じSQL文だし使う側としては違いはわかりませんか?
                                              • スプレッドシートをDB代わりにGASのWebアプリを作成しデータ更新させてみた - Qiita

                                                はじめに GoogleスプレッドシートをGAS(GooglAppsScript)を使って Webアプリを作成しデータベース代わりに使えるよう考えてみた。 インターフェースはHTMLベースだが、これもGASにて提供されているので、 自分でサーバを用意する必要はない。 自分用の住所録にするもいいと思うし、 ブログするのは嫌な人は、趣味のことを日記風にまとめてもいいんじゃないかと思う。 また、会社での案件管理をエクセルで行って行っているのであれば こちらに移行するのも手ではないかと思う。 以下お読みになっていただければと思う。 セキュリティ範囲は自己責任でお願いしたく。 第2弾はこちら、スプレッドシートをDB代わりにGASのWebアプリを作成しデータ更新させてみた2 ここが長めなので早めに告知(^^A 用意するもの ・Googleアカウント(スプレッドシートが使えること) ここに記載しないこと

                                                  スプレッドシートをDB代わりにGASのWebアプリを作成しデータ更新させてみた - Qiita
                                                • インタビュー 「Gatebox株式会社 Developer Program プラットフォーム構築」

                                                  好きなキャラクターが自分の部屋に現れて、いっしょに暮らす。Gatebox はそんな「キャラクター召喚装置」です。 Gatebox では、スマートフォンのアプリケーションと同じように、キャラクターなどのアプリケーションをストアで購入したり、自分で開発してストアで公開したりできるようになっています。そのためのプラットフォームの開発を、われわれシグマコンサルティングが担当しました。 開発にあたってどう考え、少数精鋭で実装したのか。Gatebox 株式会社 取締役 CSAO (Chief Service Architecture Officer) の久森達郎氏と、シグマコンサルティングの CTO の冨田順、CRO / リードエンジニアの鈴木孝明、アーキテクトの阿武野悠香が振り返りました。 (左から)シグマコンサルティングの CTO の冨田順、Gatebox 株式会社 取締役 CSAO (Chief

                                                    インタビュー 「Gatebox株式会社 Developer Program プラットフォーム構築」
                                                  • 週刊Railsウォッチ(20190918-2/2後編)RubyPrize 2019候補者発表、GoogleがTypeScript 3.5に熱烈フィードバック、日本語形態素分析kagomeほか|TechRacho by BPS株式会社

                                                    2019.09.18 週刊Railsウォッチ(20190918-2/2後編)RubyPrize 2019候補者発表、GoogleがTypeScript 3.5に熱烈フィードバック、日本語形態素分析kagomeほか こんにちは、hachi8833です。 各記事冒頭には⚓でパーマリンクを置いてあります: 社内やTwitterでの議論などにどうぞ 「つっつきボイス」はRailsウォッチ公開前ドラフトを(鍋のように)社内有志でつっついたときの会話の再構成です👄 毎月第一木曜日に「公開つっつき会」を開催しています: お気軽にご応募ください ⚓週刊Railsウォッチ「公開つっつき会」第15回のお知らせ(無料) お申込み: 週刊Railsウォッチ公開つっつき会 第15回|IT勉強会ならTECH PLAY[テックプレイ] 第15回目公開つっつき会は、10月5日(木)19:30〜にBPS会議スペースにて開

                                                      週刊Railsウォッチ(20190918-2/2後編)RubyPrize 2019候補者発表、GoogleがTypeScript 3.5に熱烈フィードバック、日本語形態素分析kagomeほか|TechRacho by BPS株式会社
                                                    • F# Programming

                                                      WHAT'S NEW 2022/07/23 F# Junk Scripts: 二分木と Lisp のリストを追加 2022/07/18 F# Junk Scripts: 哲学者の食事を追加 2022/07/17 F# 入門: 並行プログラミングに排他制御を追加 2022/07/03 F# 入門: 並行プログラミングにタスク式を追加 CONTENTS 2022/03/06 はじめに .NET SDK のインストール、hello, F#!!、dotnet fsi、簡単なベンチマーク 2022/03/19 F# Junk Scripts 2022/03/06 参考文献・URL 2022/03/06 権利・免責事項など 2022/03/06 F# の基礎知識 使ってみよう、整数と実数、算術演算子、文字と文字列、比較演算子、論理演算子、条件分岐、変数、タプル、関数、局所変数と大域変数、軽量構文、コメ

                                                      • LayerXのリサーチャーが考える、Account/Balanceモデルのシャーディングの課題

                                                        ブロックチェーンに関わる技術の普及や知識・情報の共有を目的としたイベント「blockchain.tokyo」。オンライン開催第2弾となる今回は、LayerX R&Dチームが直近の研究成果について解説を行いました。Researcherの岡南直哉氏は、「Account/Balanceモデルのシャーディングと課題点」というテーマで登壇。バリデータのシャッフルによるオーバーヘッドやクロスシャードトランザクションによるUXの悪化、特定シャードへの負荷集中といった課題の原因や解決法について、最新の研究も含めて解説しました。講演資料はこちら シャーディングやEthereum、CBC Casperについて研究 岡南直哉氏:「Account/Balanceモデルのシャーディングと課題点」というタイトルで岡南が発表します。 まず自己紹介です。Layer XのResearcherとして働いていまして、2019年

                                                          LayerXのリサーチャーが考える、Account/Balanceモデルのシャーディングの課題
                                                        • Ptyhonでプロセス間排他を試す(Windows限定)

                                                          色々あったのでPythonでプロセスをまたいだ排他制御が出来ないか試しました。 今回プロセス間排他にはWindows APIのMutexを利用しました。 用語 クリティカルセクション 排他処理で必ずと言っていいほど出てくる用語がこのクリティカルセクション(Critical Section)です。 直訳すると、危険な範囲とか重要な範囲とかそういう感じです。辞書には危険領域と記述されていました。 プログラムの世界でクリティカルセクションとは一度に1つのシステムからだけで処理してもラわないと困るコード上の範囲です。 例えば、ログファイルへの記述を考えます。 ユーザーが入力した内容 計算結果 の2つをログに残すとします。 疑似コードとしては inputData = 入力値 print inputData #print1 computedData = inputData + 1 print comp

                                                            Ptyhonでプロセス間排他を試す(Windows限定)
                                                          • Goを用いたPOS連携実装の学びとTIPS チャネルとgoroutineをどうビジネスロジックに当てはめるか

                                                            Goの初心者から上級者までが1年間の学びを共有する勉強会、「GeekGig #1 ~Goと私の一年~」。ここで株式会社Showcase Gigの照井氏が登壇。Goを用いたPOS連携実装で学んだことを紹介します。 アジェンダと自己紹介 照井寛也氏(以下、照井):「POSレジとGo」というタイトルでさっそく発表します。今回話す内容ですが、チャネルとgoroutineを、実際のビジネスロジックでどのように使っているかの事例の共有と、そこから得た学びを共有します。 アジェンダとしてはこのようなかたちになっています。まず自己紹介をし、Showcase Gigが提供する次世代店舗プラットフォーム「O:der(オーダー)」とPOSレジの関係性、そこからチャネルとgoroutineを用いたPOS連携開発について話します。あとはそれらを開発実装したうえでの学びを共有します。 というところで、さっそく自己紹介

                                                              Goを用いたPOS連携実装の学びとTIPS チャネルとgoroutineをどうビジネスロジックに当てはめるか
                                                            • CloudWatchEvents (EventBridge) + StepFunctionsを使ったCron処理で同時起動を防ぐ方法 - Qiita

                                                              CloudWatchEvents (EventBridge) + StepFunctionsを使ったCron処理で同時起動を防ぐ方法AWSDynamoDBlambdaCloudWatchEventsstepfunctions コンテナ化やサーバレス化が進み、従来実装していた方法が通用しない場面が出てきています。 その代表的なものの一つがバッチ処理です。 従来はバッチ処理を行うサーバが存在し、crontabコマンドで設定などを行っていました。 しかしコンテナ化、サーバレス化の影響でバッチサーバというものは存在しなくなります。 AWS上でサーバレスなバッチ処理システムを構築するための方法の一つにCloudWatchEvents(最近、EventBridgeになりました。以下CWEと略します)を利用する方法があります。 しかし、このCWEにはイベントが多重に発生するという仕様があります。なお、K

                                                                CloudWatchEvents (EventBridge) + StepFunctionsを使ったCron処理で同時起動を防ぐ方法 - Qiita
                                                              • 新人に悲観ロックによる排他制御を体験してもらう - Qiita

                                                                1. はじめに 新人に悲観ロックによる排他制御を説明する際、実際にPostgreSQLを操作して見せたデモの評判がよかったため、今回Qiitaの記事にしてみました。排他制御は並列実行のイメージが掴めないと知識だけで理解するのは難しいので、体験してみると多少は理解しやすくなるかと思います。 なお、排他制御の説明については、他の方の良い記事やWebサイトがあるのでそちらを参照ください。 排他制御のあれこれ データベースさわったこと無い新人向けトランザクション入門 TERASOLUNA5.xのガイドラインの6.4. 排他制御 2. 悲観ロックを試してみる 2.1. 事前準備 今回は「PostgreSQL 9.3」を利用して悲観ロックを試してみます。 PostgreSQLのインストールについては他の方の記事を参考にしてみてください。 Windows環境でPostgreSQL 新人研修用(DB編)

                                                                  新人に悲観ロックによる排他制御を体験してもらう - Qiita
                                                                • SMB と NFS のロックについて - note

                                                                  こんにちは。辻村です。 今回は、「ロック」を通して、SMBとNFSのプロトコルの差を考えてみたいと思います。この記事は、古いブログにあった「SMB と NFS のロックについて」のアンコールです。加筆・訂正がしてあります。 1. ロックはなぜ必要か?コンピュータが稼働している中で、同じファイルが必要であったり、同じリソースを使いたいことがある。しかしながら、同時に使えないときに何らかの形で使う側の数を制御する必要がある。これを排他制御という。ロックはこの排他制御をおこなうための一つの手段である。例えば、複数のアプリケーションやクライアントから同じファイルを操作していた場合、ある瞬間特定のアプリケーションやクライアントが他に邪魔されることなく読みだしや書き込みを行えることが必要がある。書き込みの場合は特に同時に書き込むことはファイルやデータが壊れることになるので、この仕組みは大切である。 ロ

                                                                    SMB と NFS のロックについて - note
                                                                  • reallocによる配列拡張の償却時間計算量 - 豪鬼メモ

                                                                    reallocを使ってメモリアロケーションのサイズを少しずつ伸ばしていく際に、償却時間計算量はO(N)になるだろうか、それともO(N^2)だろうか。結論としては、普通にやるとO(N^2)になる。ただし、セオリー通りにアプリケーション側で工夫するとO(N)にできる。性能テストをしてきちんと確認しておこう。 長さが事前にわからない文字列や配列を扱うには、動的に領域を確保する必要がある。標準C言語にはreallocという関数があり、それは既存の確保領域を拡張することが可能である。これを使うと、既に確保してある領域の直後にまだ確保されていない領域があってそこを合わせて確保できる場合、領域の再確保をせずに、利用可能なサイズだけを増やしてくれる。それが不可能な場合、別の領域を確保してから既存の領域のデータをコピーして、古い領域は削除してくれる。C++のnew/deleteにはこの機能はない。 同じ領域

                                                                      reallocによる配列拡張の償却時間計算量 - 豪鬼メモ
                                                                    • エンジニアの新卒研修を受けた学びと感想 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

                                                                      株式会社ラクーンホールディングスのエンジニア/デザイナーから技術情報をはじめ、世の中のためになることや社内のことなどを発信してます。 はじめまして。2021年4月に入社したエンジニアの齊藤初輝です。 今回はラクーンの新卒研修を受けた学びと感想について書きたいと思います。 新卒研修が作られた背景や研修のゴールなどは以下の記事をご覧ください。 ゼロから始める新人エンジニア研修 入社のきっかけ ラクーンへの入社を決断した1番の理由は、人が良かったからです。 ラクーンを知ったきっかけはエンジニア限定の逆求人イベントでした。 スライドを使って自己紹介し、お笑い鑑賞が趣味でおすすめのお笑い芸人さんの動画を紹介していました。 後日行った1次面接で動画の内容について話ができました。 正直見なくてもいい動画だったと思います。でもちゃんと見てくれていた。 ここなら自分もちゃんと見てもらえると思い、入社を決めま

                                                                        エンジニアの新卒研修を受けた学びと感想 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
                                                                      • 安易にフラグ変数を利用すべきでない3つの理由

                                                                        プログラムが動作する上で必須に近い、「boolean」変数。安易に使いすぎると可読性の低下などにより、不利益を被ってしまうことがあります。 フラグの使用例 たとえば、改行コードを含んだ文字列の内容をheader部とbody部に分けるコードを考えてみましょう。 import java.util.*; public class Main { public static void main(String[] args) throws Exception { String input = "header\nbody1\nbody2\nbody3"; String[] lines = input.split("\n"); String header = null; List<String> body = new ArrayList<>(); // ヘッダー情報取得済フラグ boolean flag

                                                                        • 楽観的ロックでいいじゃん (2004年10月19日 14:58 PASSJブログで公開した内容のまま)

                                                                          ※ 以前にPASSJブログで累計25,000人くらいに読まれたエントリーです。SQL Server以外のコミュニティにも参照していただきました。原文のまま、MSDNブログに転載します。 データベースというよりは、トランザクション処理ネタなのですが、皆さんは、データベースのトランザクション処理を実行される場合、対象となる行をどのように排他制御されていますか。排他制御というのは、同時実行処理において必要不可欠なものなのですが、使い方を誤ると簡単なはずの処理が難しくなってしまう可能性があります。一般的にリソース(資源)をロックする必要がある場合、2種類の方法が選択できます。 ・悲観的ロック(Pessimistic lock) ・楽観的ロック(Optimistic lock) この記事では、トランザクション処理の大半は「楽観的ロックでいいじゃん!」という話を書いてみたいと思います。 スタンドアロン

                                                                            楽観的ロックでいいじゃん (2004年10月19日 14:58 PASSJブログで公開した内容のまま)
                                                                          • 悲観ロックと楽観ロックの違い

                                                                            排他制御って何?排他制御とは、共有資源に対して同時にアクセスしても問題なく動作できる制御のことをいいます。 排他制御を行うことで共有資源のデータに不整合が起きることを防ぎます。 例えば、ショッピングサイトがあるとします。ショッピングサイトの商品(共有資源)を同時に購入した時、排他制御が行われていないとどうなるのでしょうか。 ① 共有資源の商品を同時に購入共有資源の同じ商品をタイミング的に2人同時に購入する事は、そこまで発生する事ではないかもしれません。ただ人気のショッピングサイトであればあるほど、その可能性は高くなります。 ② 在庫を確認するまず購入した商品の在庫が残っているか確認します。今回の例では在庫は残り"10"とします。 ③ 在庫を減らす次に在庫を減らします。在庫の残りは"10"なので、1つ減らして"9"にします。 スポンサーリンク ここで問題になるのは、排他制御をしていない為、同

                                                                              悲観ロックと楽観ロックの違い
                                                                            • 【Pacemaker】HAクラスタの運用で注意すべき「スプリットブレイン」とは? - RAKUS Developers Blog | ラクス エンジニアブログ

                                                                              はじめに こんにちは。ラクスでインフラを担当しております渡邊(kw21)と申します。 今回はサーバ・アプリケーションの冗長化に今なお広く利用されているHAクラスタソフト「Pacemaker」について、 特にActive/Standby(1+1)構成クラスタで発生しうるスプリットブレインに焦点を当ててご紹介いたします。 はじめに HAクラスタとは? Pacemakerとは? クラスタノード間の通信とインターコネクト スプリットブレインとは? クォーラム(定足数)とは? 2ノード構成でのクォーラムの考え方とPacemakerでスプリットブレインを防ぐ仕組み スプリットブレイン発生後の対処 Pacemaker まとめ 参考 HAクラスタとは? HAクラスタとは「複数のコンピュータをつなげ、全体で1つのコンピュータのように振る舞わせることでシステム全体の稼働率を高める技術」のことです(LINUX-

                                                                                【Pacemaker】HAクラスタの運用で注意すべき「スプリットブレイン」とは? - RAKUS Developers Blog | ラクス エンジニアブログ
                                                                              • 工学基礎シリーズ オペレーティングシステム | Ohmsha

                                                                                第1章 OSの概要 1.1 なぜOSが必要か 1.2 OSの構成 1.3 OSの歴史 1.4 組込みシステムのOS 1.5 スーパーコンピュータのOS 演習問題 第2章 コンピュータのハードウェア 2.1 ハードウェアの概要 2.2 プロセッサ 2.3 メモリ 2.4 ハードウェアクロックとタイマ 2.5 入出力装置 2.6 ブートストラップ 演習問題 第3章 プロセス 3.1 プロセスとスレッド 3.2 スケジューリング 3.3 排他制御と同期 3.4 プロセス間通信 演習問題 第4章 メモリ管理 4.1 メモリ管理とは 4.2 物理記憶ベースのメモリ管理 4.3 仮想記憶 4.4 動的リンク 4.5 共有メモリの実現 演習問題 第5章 ファイルシステム 5.1 ファイルシステムとは 5.2 ファイル 5.3 ディレクトリ 5.4 ファイルの保護 5.5 ファイルシステムの実装方法 5.

                                                                                  工学基礎シリーズ オペレーティングシステム | Ohmsha
                                                                                • M5StickC(ESP32)でのマルチタスク利用例

                                                                                  概要 原理はいろいろ説明していますが、実際の利用例があまりなかったので作ってみました。排他制御にキューを利用しての、マルチタスク例になります。 マルチタスクとは? 複数の処理を同時に実行しようとした場合にはマルチタスクにする必要があります。通常のloop()関数だけですと、長時間処理を行うと他の処理ができなくなってしまうことがあります。 loop()関数のみで実行しているのはシングルタスクで、複数のタスクで同時に実行することをマルチタスクといいます。ただし、タスクには優先順位がありますので、優先順位が高いタスクが長時間CPUを独占すると、他のタスクが実行できなくなってしまうことがあります。 キューとは? マルチタスクの場合には、複数のタスクが特定の変数を同時に更新してしまうことがあります。そのため排他処理などが必要になります。キューも排他処理の一種で、他のタスクへ安全に変数などを送信して、

                                                                                    M5StickC(ESP32)でのマルチタスク利用例