Derby

まあ、またwin5を解体って話よ。今回は1万円に抑えたい。で、最後の一頭はソールオリエンス、お前に決めた。頼んだぞ。まじで。 東京9R マリオは来ない。2章で勝ち上がったときのやつも雑魚だし。 エコロファルコン。こいつはちょっと怖いけど、先行だし。まあ叩きだと信じたい。あー、調教の南wで93.8秒か。流石におそすぎるね。やる気なさすぎ。ということできりだね。 結果:絵ころファルコンはブービーと。 そこからもきりのやつが続く。 で、カラフルキューブはちょっと気になるね。気にはなる。 グランツアーテム。こいつも気にはなる。馬体重次第ではあるのだが、そうだね、 ベジャールがないのは、初ダートだからだね。3章クラスでいきなりダート来て勝てるほど甘くはないだろ。 プラチナトレジャーも同じ。急に勝てるわけがなかろう。 結果:プラチナとれじゃーは11着 ミッキーが来ないで3万人域のメン・アット・ワークが来るわけがない。なぜなら、タイム勝ちがすぎる。どう考えてもミッキーのほうが強い。まじでそう思う。ここはミッキー一頭で切りに受けたい。 ミッキー貫花いったく。 結果:ミッキーは4着と。だめだね。終了。 15番ミッキー (1頭) 結果:ベジャールが来て終了。ミスりました。だめだね、初ダートだからって来ないって決めつけちゃ。くるやつは来る。 にちゃく、首差でグランつあーてむ。マー惜しかったね。 京都9R ここが一番わからないまじで。6頭くらい行っていいかもマジでわからんから。 2章クラスだからね。まだわからんのよね。上がっていくやつは一発で上がっていくし。だめなやつはずっとここにいる。 1−3は問答無用で消しなんだよね ヴォル語はじつは強い。最近調子出ていないけど本当は強い。 例クリエータは消し。1章で買ったときの相手が雑魚すぎる。たまたま上がれてきた説が濃厚である。 ここは5頭出いける気がしてきた。 インテンスフレイムは切りだ。そもそも1色ラスで勝ち上がれなかったやつが2章に来て急に勝てるとは考えづらい。 変わりに早稲田くんを入れる 4,5,7,11,15 早稲田はーつくんんが来やがった。まあ入れておいてよかった。 東京10R ローシャムパークは抜いていく。なんだかだめらしい。 デコラシオンが来ない理由は、中山専用機だから。東京みたいに長くいい足を使うところでは来ない通れは思っている。 デービットバローズ カーペン足りた 新保 カーペンタリア トー染料 ルージュリナージュ ローシャムも入れておくか 6,7,14,16,17,5 森野環奈ちゃんも保険買っておいてくれ。 5頭 結果:入れておいて政界や。ローシャムがちゃんと来た。で、デービットバローズはなんか知らんがぼろ負けや(笑) 京都10R ルプ流フォール 継子茶 びーあすとにっしど この三頭だな。 里のラムセスは普通にタイムがそんなに良くないです。 17番のルージュは切った。その代わりに 保険馬券を買っておくこと。 あと、レッドベルオーブ お願いします。馬連とかでいいと思います。 保険、 レッドベルオーブ ルージュ 結果:これは継子茶が圧勝でした。 東京11R ソールオリエンス一択 で、ここまで残っていた場合だが、ファントムシーフを軸に3連ぷくを買おう。3万円分ほどね。それがいいのではないか??それがいいね。 二列目、 ソールオリエンス、 足すティえーら トップナイフ シャザーン (4とう) 3列め 、鳳凰ビスケッツ、ハーツコンチェルト、 メタルスピード ドゥラエレーで 里のグランツ ...

May 26, 2023 · 1 min · 73 words · Me

Web_vulnerbility_checker

注意: この記事はハッカーが主人公の物語から抜粋した一部である。 これだからWebは最高だ はい、なんていうんでしょうかね、Webアプリケーションのペネトレーションテストができるめっちゃ便利なツールを見つけてしまったんです。まあ、これを見つけたきっかけは、あるサイトのAPIフォーマットを特定したかったっていうことなんですけど、いかんせん最近のサイトはSSLで暗号化されているからWireshark等のNICでパケットをキャプチャするツールじゃあ中身は解析できないんですよね。そこで見つけたのが、ZAP、通称man-in-the-middle-proxyってい神ツールです。クライアントとサーバの間に立って動作するこのツールは、まあプロキシとして働いてくれて、SSLの内容を見放題。その他にも便利な機能がたくさんついている。まじで神!! zapのインストール zapはjava上で動く。Ghidraといい、すごいツールはなんかJavaで書かれているんだけど、その理由は何だろう。まあいいや。まずはJavaをインストールする。11+がいい。 sudo apt install default-jre sudo apt install default-jdk その次、 ZAPの公式からinstallerを持ってきてあとは、シェルスクリプトを走らせるだけ。 ZAPの使い方 基本的にはWebブラウザでアクセス可能なページの診断だったり脆弱性のチェックに使う。で、完全に自動化された脆弱性診断のAutomated scanっていうのと、ブラウザを普通にいじっているみたいに自分で脆弱性を見つけるManual scanっていうのがある。 気をつけてほしいのが、scanをするともう攻撃とみなされても仕方がない、ということ。 しかし、モードを選べて、safe modeっていうのを選択すると、攻撃とみなされないかも。わからん。 Automated Scan これは、ターゲットとなるサイトのディレクトリ構造をクローリングして各ページに対して、脆弱性チェックのリポートを出してくれるツールになっている。うん、結構便利だと思う。 manual scan これがこのツールの真骨頂だと思う。HUDっていう、新しい機能なんだけど。HUDの説明簡単に下に書いておくか。 The HUD is a completely new way to interact with ZAP. It overlays security information on top of the application you are testing and allows you to access key ZAP features. It is easier for people new to security to understand but it also allows experienced penetration testers to focus on the application they are testing. By default, the HUD is injected into all of the HTML pages proxied through the ZAP desktop. You can turn it on and off easily using the [green radar] button on the ZAP toolbar. It is not injected by default into pages proxied through ZAP when it is running in headless/daemon mode as that could break unit tests. This behaviour can be changed via the HUD options. まずは、各ページ、さらに今まで訪れたページ (そのサイトの)に対して、脆弱性のレポートを出してくれるってところは前と同じ。だが、ここからがすごい。まじで。httpとwebsocketのリクエストの内容が全部見られるってところ。これはやばくないか???やばいね。 さらに、変更が許されていないフォームを変更したり、リクエストを送るときにリクエストの内容を書き換えたり、リクエストをpendingしたりできる。これはやばい。見放題だね。ちょっと怖いね。今日の夜が楽しみすぎるって話なんだわ。ちょっとできることまとめるわ。 ...

May 26, 2023 · 4 min · 762 words · Me

Development_guide

開発をするときの流れ 何を作るかを考える 紙とペンでシステムの構成を考える。このときにコンポーネントを洗い出す。更に、コンポーネント同士のやり取りについても考える。APIを作ることを考えて、入出力関係も簡単に考えておくのがいいでしょう。 データベース設計をする。このときにどんなデータが必要かをすべて洗い出しておく必要がある。テーブルの設計もここでやります。.sqlファイルにどんどん書いていくのがいいでしょう。 OpenAPI Specification formatでAPIの仕様書をかく。 コンポーネントに分ける。コンポーネントのAPIを設計する 実装 テスト

May 25, 2023 · 1 min · 10 words · Me

Let_us_encrypt

まあ便利なこと。無料でSSL証明書が発行できるなんて!! ということでね、Let’s encryptを使って期限が切れたSSL証明書を再発行していきたいと思います。 参考サイトは以下のとおりです。 ref step1 クライアントソフトのインストール sudo apt install certbot python3-certbot-nginx step2 443のポート開放 & ファイアウォールの設定 step3 SSL証明書の発行 sudo certbot certonly これでインタラクティブに設定できる。聞かれたことを書けばいいだけです。 Saving debug log to /var/log/letsencrypt/letsencrypt.log How would you like to authenticate with the ACME CA? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Spin up a temporary webserver (standalone) 2: Place files in webroot directory (webroot) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2 Plugins selected: Authenticator webroot, Installer None Please enter in your domain name(s) (comma and/or space separated) (Enter 'c' to cancel): ingenboy.com Obtaining a new certificate IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/ingenboy.com-0001/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/ingenboy.com-0001/privkey.pem Your cert will expire on 2023-08-22. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le step4 nginx or apacheの設定を変更する。 nginxが証明書にアクセスできるようにパスをnginx.confに書き込むわけですね。はい、以上。 ...

May 24, 2023 · 2 min · 261 words · Me

Machine_learning_using_sklearn

まえがき 前の記事で、pandasをつかってデータフレームを扱う基礎を学んだね。 めちゃめちゃ便利だということがわかったと思うが、pandasを使ってデータを整形して、最終的に何がしたいかというと、データの分析がしたいんだよね。なぜ分析したいかというと、データから何かしらの情報を得てそれを今後に役立てたいから。 今後への役立て方の一つに予測があるわけだね。そう、回帰だ。深層学習も回帰だよね。深層学習をやるにはTensorFlowっていうライブラリがめっちゃ便利だが、統計的機械学習をやるには、sklearnがある。ということでsklearnを使って統計的機械学習をやっていこう! の前に、pandas + sklernをGPUでバク速でやってくれるのがrapidsっていうフレームワークだったよね!実際に大量のデータを使って運用するときは予測にも時間をかけていられないと思うので、GPUを使った運用を考えたほうがいいですね。というか、一回現場で働いてみて、そのあと博士課程で戻ってくるのは全然ありだな。楽しそう。そっちのほうが実際の問題がわかるので有用だと思います。 はい、そのまま載せます。ちなみに、standard deviationは標準偏差です。 1. preperocessing # 5.1.1 game_sales = pd.read_csv('sales.csv', encoding='CP932').dropna() na_sales_0_to_3 = game_sales["NA_Sales"].between(0.01,3) game_sales = game_sales[na_sales_0_to_3] na_sales_reshape = game_sales["NA_Sales"].values.reshape(-1,1) from sklearn.preprocessing import StandardScaler scaler = StandardScaler() scaler.fit(na_sales_reshape) na_sales_scaled = scaler.transform(na_sales_reshape) game_sales["NA_Sales_Std"] = pd.Series(na_sales_scaled.flatten()) print(game_sales["NA_Sales_Std"].head(10), end='\n\n') # 5.1.2 old_mean_std = game_sales['NA_Sales'].agg(["mean","std"]).round(2) new_mean_std = game_sales['NA_Sales_Std'].agg(["mean","std"]).round(2) print(old_mean_std, end='\n\n') print(new_mean_std, end='\n\n') # 5.1.3 fig, axes = plt.subplots(2,1,figsize=(8,6)) sns.boxplot(data=game_sales, x='NA_Sales', ax=axes[0]) sns.boxplot(data=game_sales, x='NA_Sales_Std', ax=axes[1]) plt.show() linear regression # 5.2.1 game_sales = pd.read_csv('sales.csv', encoding='CP932').dropna() col_list = ['NA_Sales', 'EU_Sales', 'JP_Sales', 'Other_Sales', 'Global_Sales', 'Critic_Count', 'User_Score', 'Critic_Score'] from sklearn.preprocessing import scale X = scale(game_sales[col_list].values) y = scale(game_sales['User_Count'].values) from sklearn.linear_model import LinearRegression reg_model = LinearRegression() reg_model.fit(X,y) # 5.2.2 reg_coef = reg_model.coef_ report = [f'{a}\t: {b}' for a, b in zip(col_list, reg_coef)] for info in report: print(info) print(f'Regression Score :{reg_model.score(X,y)}') # 5.2.3 fig = sns.regplot(x='User_Count', y='Global_Sales', data=game_sales) fig.set(xlim=(100, 4000), ylim=(2, 20)) plt.show() Logistic Regression ロジスティック回帰分析は、いくつかの要因(説明変数)から「2値の結果(目的変数)」が起こる確率を説明・予測することができる統計手法です。 らしいです。はい、2値しか予測できない、というところがめちゃめちゃポイントですね。しっかりと頭に入れておきましょう。 ...

May 24, 2023 · 1 min · 201 words · Me

Learn_pd_and_dataframe

学校のデータ分析の授業でやっとpandasやdataframeの基礎を学んだのでまとめてきたいと思う。これでkaggleもできるようになると思うよ!! chapter 1 importing import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import sklearn as sl reading csv salary = pd.read_csv('salary.csv') dataframe meta operation # print first 5 rows df.head() # print first n rows df.head(n) # print shape print(df.shape) # print columns print(df.columns) # print info print(df.info()) converting dataframe to list or numpy # convert dataframe's columns to string list string_list = df.columns.values getting specific column game_name = df['game_name'] getting dummiy of specific column (prefix is optional) dummy_column = pd.get_dummies(df['specific_row'],prefix='pref') slice specific row and column # get slice of rows from 100 to 199 slieced = df.iloc[100:200,:] # get specific columns all_scores = ['Critic_Score', 'User_Score'] reg_sales_df = game_sales[all_scores] # get specific clumns like specified all_sales = game_sales.filter(like='Sales') # get specific rows and columns sample_info = eng_salary.loc[:11244,['Degree', 'Specialization', 'Salary']] chapter 2 (Filtering) filter by condition # get rows where Year_of_Release is 2016 filter = game_sales['Year_of_Release'] == 2016 year_of_2016 = game_sales[filter] # get rows which satisifes the multiple condition and print specific columns pub_is_Nintendo = game_sales['Publisher'] == 'Nintendo' year_is_85_to_95 = (game_sales['Year_of_Release'] >= 1985) &\ (game_sales['Year_of_Release'] <= 1995) Nintendo_85_to_95 = game_sales[year_is_85_to_95 & pub_is_Nintendo] print(Nintendo_85_to_95[['Name', 'Publisher', 'Year_of_Release']], end='\n\n') # same as above but in one line. sp_omit = 'information technology' cond1 = eng_salary['Specialization'] != sp_omit cond2 = eng_salary['English'] <= 400 cond = cond1 & cond2 output = eng_salary.loc[cond,['Specialization','English']] grouping (IMPORTANT) まずはgroupingがどんなことをするのかだけど、ある列について、同じものをまとめるって感じだな。そして、その列についてまあ、色々と操作をするわけです。例えば各出版社ごとの売上とかもかんたんに計算できるようになるってことです。これはクッソ便利ですよね??はい、マジで便利なんです。 ...

May 24, 2023 · 4 min · 829 words · Me

Openvpn_client_from_ubuntu

ubuntuからopenvpnサーバにつなぐときの設定方法 いや、 settings -> network -> openvpn で一発や!笑 デフォルトでopenVPNのサーバに接続はできるようになっているみたいだ。 ここでメモしておきたいのは、ubuntuでLayer 2 Tunnel Protocolを使ったVPNの設定方法だね。これはデフォルトの設定ではできなくなっていて、ソフトをインストールする必要があるんです。以下のコマンドで一発です。 sudo apt-get update sudo apt-get install network-manager-l2tp sudo apt-get install network-manager-l2tp-gnome あとは、書かれているとおりに設定すれば問題なしです。

May 24, 2023 · 1 min · 25 words · Me

Comments_on_the_design_of_web_api

web apiの設計という本をまとめる なぜ読もうと思ったか? 自分がIT企業にエンジニアとして就職するから。また、研究でデータベースを作っているが、そのAPIの設計に役立てられると思ったから。大学の図書館で借りた本だけど、一周してみて良本だったら自分で買おう。ということでさっさと読みましょう。 1章 APIとは何か?APIの設計はなぜ重要か?APIの設計は何を意味するのか?うーん、わかりきっていることですね。 No, a function is not an API (Application Programming Interface) in itself. A function is a self-contained block of code that performs a specific task or operation. It encapsulates a set of instructions that can be called and executed when needed. Functions can take input parameters and return values or perform actions without returning a value. On the other hand, an API refers to a collection of functions, protocols, and tools that allow software components to interact with each other. APIs define the interfaces and rules for communication between different software systems, enabling them to exchange data and execute specific operations. In essence, an API encompasses a set of functions or methods, along with the associated rules and protocols, that define how different software components can communicate and interact with each other. Functions themselves are building blocks within an API that provide specific functionality or perform specific tasks. と思って、じゃあライブラリはAPIだよね?って聞いたら、 ...

May 18, 2023 · 3 min · 601 words · Me

20230514win5

1レース目 4頭 (3頭) ヴェルとハイム:休養明け、確かに京都は得意そうな感じはする。しかし、休養明けっていうのがでかすぎる。過去、休養明けには全然買っていないイメージ。そうね、本当に休養明けはだめなイメージ?だったんだけど、そんなこともないか?場体重次第だな。明日、+-5に収まっていたら考える必要が出てくるかもしれない。 露ワンディシティー:まあ、ぶっちゃけ2章クラスから上がってきたばかりなんですわ。上がってきたときの2着は里のヘリオス。ぶっちゃけ里のヘリオスはザコ。そいつに0.1秒差で買っただけの露ワンディシティー、実は雑魚かもしれん。うん、シーザリオ母だしね。4歳だし、もう全盛期終わってるよ。うん、3諸クラスの一発目は3位だったんだけど、2位との差が2馬身差以上。これはぶっちゃけ雑魚ですわ。こいつは来ない。悪い。2諸クラスで2着になったと胃の1着が3諸クラスで活躍できていないのをいても、まあないのではないか?と思ってしまうのだが、どうだろう。 調教を見ても、最後の1ハロンで落としてしまっているイメージだな。正直。これはないかな、うん、キリでオッケーです!! 鈴鹿とおっぷばご:なるほd、切除したんだな。だからワンちゃんあると思っていらっしゃる。確かに、そう考えるとワンチャンあるんだわ、鈴鹿とっぷばご。 いや、調教を見たら、やっぱりしぇいリーンやグランディアにはかなわなそうです。ということで、ここはキリです。 しぇいリーン:逃げ。絶対に入れておきたい。こいつは最後まで逃げ粘って勝利って可能性、全然ある。 パーソナルはい:しぇいリーンと同じです。 ヴィあるーくす:こいつは時計がかかる馬場で力を発揮するタイプだと思う。1600はめちゃめちゃ走ってきているけど、1:33.5がベスト。正直これは微妙な数字だと思ってしまうね。いや、東京で1:32.4を出しているけど、まあ、場体重次第かな。あまり伸びるタイプでもないし、別に輸送が苦手だったわけでもないし。うん、京都には向かないと思うけど。どうだろう??あと、前走の旗手が1400がベストなイメージといっているが、本当にそんな感じがする。最後追い抜かれているしね。チョット挑戦する場所が違うのではないか?と思ってしまいます。キリだね。 トオヤリト生徒:こいつ、ちん子切ってから安定しやがった。それが前回の中山だったわけね。後は単純に主馬場巧者だわ、こいつ。うん、こいつの馬連とか、買ってもいいかもしれないね。うん、こいつの馬単を買うことにした。 4 > (1,3,6,8,10,11,12) で、行きたいと思います!!200円ずつかな。まあ遊びとしてもいいでしょう。 で、最後に確認するのは、ヴィあるーくすを入れるか。まあ今のところ入れる気はないです。はい。 入れません。結果、3当 (10,11,12) 2レース目 (2頭) クールミラボーが来ない理由は、初の関東遠征だから。以上。 リバートゥルーが来ない理由は、タイムが雑魚すぎるから。話にならん。めちゃめちゃスローなレースで買っているだけよ。 どんでん返しが来ない理由は、ダート代わりだから。おそらくダートもそんなに得意ではない。見た感じね。 ラップスターが来ない理由は、確かに上がり速いけど、不良馬場だったから。あと、輸送もそんなに得意そうじゃない。しかし、先行馬であるところはめちゃめちゃ魅力的。こいつは買ってもいいかもしかし、ゆてぃたむもウェイいくも選考なんだよなー。後勝ち上がった時の対戦相手が雑魚すぎる。キリ。 ということで、 うん、ここはウェイくざぼーどとゆてぃたむの二党で決定だな。 はい、この二党でまったく問題ない。 (2,6) 3レース目 新潟芝、1800m 6頭 (5頭) まずは、アンダープロット、はーランズハーツ、ソウルトレイン、の三党はちょっと話にならないので除外します。 グランスラムアスク:削除です。前回2章クラス買って、3章クラスに上がってkチアわけですが、マジで座濃い、話にならないレースでした。今回も無理でしょう。キリ。 いや、馬体重をみて、というのはありますが、こいつ、逃げ馬なんですよ。で、ワンチャンありそうなので、入れておきます。逃げ馬で痛い目に合っているので。はい。入れます。 差じぇす:京都や小倉など、最後にスピードに乗っていく感じのところはかなり得意なイメージしかし、新潟はだめだな。しかも3章クラスに上がっていきなり勝てるわけがなかろうとね。そんなに甘くはないのですよ。 襟おとろーぴお:こいつ、未勝利から3章クラスまで一気に来たね。前回の福島でいい感じの成績を残しているが、今回はどうだろうね。と思ったが、前回の福島ではトップハンデとなんと7キろも差があっての2着だからね。(笑)。今回はまた元に戻って56キロです。まあ、ないでしょうね。キリです。 うん、 2,6,8,9,11,12 6頭です。 この中から一番人気が低くなりそうなやつを一頭選んで削除。そいつの馬連を買いましょう。いいでしょうか? 後はもちろん場大樹。 ここまでで40通り。 4レース目 6頭 (2頭) 京都のダート1400。最後の、残り800mから600mまで2メートル下って、そのままスピードに乗ってゴールする感じ。雨予報だし、これはマジで差しが決まる。っていうのと、意外とパワーがないやつでも残る可能性がかなり高い。この2つを頭に入れておこう。ダートはパワー型が勝つイメージがあるが、今回はそうならない可能性があるということだ。つまりサンデーサイレンス系が勝つ可能性があるということだ。 ちゅうことで、まずは絶対にないと思われる、1,2,6,7,8,11,13を消しました。はい。 つぎ、 多賀野クリステル。こいつ、上がってきたね、3諸クラスから。で、こいつ、阪神とか中京で買ってるんだけど、こういうのは最後、パワーで押し粘る感じ。 京都は東京、新潟に近い。ということで、前回阪神で勝ち上がったこいつは、完全にキリなんですわ。 セキふうは、ダート良で走るイメージだな。逆に、多賀野クリステルは不良ダートの表が走るイメージがある。サンデーサイレンス系だしね。うん、積風波入れたほうがいいかも。 いまのところ、 (3,4,9,10,12,15,16)の7等を選んだけど、 ここから、馬体重を見て1頭を減らし、さらに、最もにんきがひくいやつをはずし、 5 race 1頭 (1でもいいかも) 反省 1レース目 2レース目 3レース目 4レース目 5レース目

May 10, 2023 · 1 min · 66 words · Me

Raspi_lustre

ラズパイでLustre、分散ファイルシステムを構築して、I/Oのバンド幅を爆上げしたいって話 まずはいきなり参考文献ですね。 GlusterFS んで、早速壁にぶち当たるわけですね。Lustreはbinaryが配布されているらしいんですが、x86用らしいんですよね。ということで、raspiで動かすためにはソースコードをビルドしないといけないんですね。 まあ、これだけ書いて終わりっていうの残念なので、分散ファイルシステムについて知っていることを書いていきたいと思います。 まず、ファイルシステムっていうのは、OSの機能で、ブロックデバイスの操作をするためのデバイスドライバをラッピングしてくれているOSの機能。デバイスドライバへのAPIを提供してくれているOSの機能。で、ファイルシステムがあるから、我々はOSにお願いするだけでいい感じにファイルを作れるし、どこにどのファイルがあるか、とかそういう管理もしなくていいのよね。ただね、ファイルシステムもただのプログラムに過ぎないんですわ。何が言いたいかというと、内部ではカチカチとデバイスドライバーを動かしているわけで。いや、何が言いたいかっていうと、1ファイルにつき1プロセスしか操作を許されないってことね。つまり、複数のプロセスが一気に一つのファイルに書き込むとか、そういうのは無理なわけよ。これまず大事なポイントね。だからね、書き込みたいデータがたくさんあってもsingule writingをするしかないんだよね。 はい、GPT先生に聞いてみた。 Is it impossible for multiple processes to write data to a same file simultaniously? In traditional file systems, it is generally not possible for multiple processes to write data simultaneously to the same file without coordination or synchronization mechanisms. Concurrent writes to the same file can lead to data corruption, inconsistencies, or conflicts. When multiple processes attempt to write to the same file simultaneously, several issues can arise: Data Corruption: Simultaneous writes from multiple processes can result in data corruption, where the written data becomes mixed or garbled. This can happen if the file system interleaves or merges the write operations from different processes in an uncontrolled manner. Inconsistent Data: If processes are writing to different parts of the same file simultaneously, it can lead to inconsistent data. For example, if two processes write different values to the same location within the file at the same time, the final content of that location becomes unpredictable. File Locking and Concurrency Control: File systems often employ locking mechanisms to control access to files and ensure data integrity. These locks allow processes to acquire exclusive or shared access to a file, preventing simultaneous writes by multiple processes. Without proper coordination, conflicts may arise, and processes may contend for file locks, leading to delays and reduced performance. To enable multiple processes to write data to the same file simultaneously, coordination mechanisms such as file locking, semaphores, or other synchronization techniques need to be employed. These mechanisms ensure that processes take turns or serialize their write operations to maintain data integrity and consistency. However, it's worth noting that some distributed file systems or specialized I/O middleware, like ADIOS, may provide mechanisms to support parallel or concurrent writes to a file. These systems typically implement internal coordination and synchronization mechanisms to manage concurrent access safely. In such cases, the middleware handles the coordination and ensures data integrity, allowing multiple processes to write to the same file efficiently. しかし一つのファイルに同時書き込みを許可しているふぃあるシステムもある。XFSは一つのファイルに同時書き込みを許可しているらしいのだが。そんなことできるのか??? ...

May 9, 2023 · 8 min · 1583 words · Me