未分類

昨日の昼過ぎから走らせていたシミュレーションのロングランが止まっていました。

正確には、現在、3台のPC(シミュレータ本体用PCと、2台のDB用PC)が、全部ログイン状態に戻っていて、昨日からのシミュレーション結果が、全部パーになりました。

現状、ソースファイル等には影響はないようですが(一応、寝る前にコードのフルバックアップはしているので、そこも大丈夫かと)

昨夜、勝手にWindows Updateが走ったという公算が高いのですが、そのような場合、事前通知(あるいはスタートメニューに表示)がされるものです。

『2台同時に』というのが、どうにもひっかかっています。

どなたか、本日未明から、現時点までの間に、"Windows Update"、"瞬電"、"その他"なんでも結構ですので、気がつかれた方で、かつ、私の為に時間を割て頂ける親切な方がいらっしゃったら、数行で結構ですので御一報頂けましたら幸いと存じます

よろしくお願い致します。

江端

未分類

コホート分析について調べていたのですが、チームから『良く分からん』と言われました(遠回しに)。

で、実際に、私自身も「よく分からんなぁ」と、困っていたのですが、以前この言葉を、何度も書いていたことを思い出しました。

で、昔、執筆したコラムを読み直して、思い出してきました。

我が国に新型コロナウィルスが上陸した当初、日本中でマスク有用/無用について論争が発生し、マスクの奪い合いが発生していました。

今は、WHOおよび各国政府が、感染症に対するマスクの有効性を宣言して、各種の研究や統計結果からも、マスクの有効性はもはや疑う余地はありませんが ―― あの当時は、本当に大変でした。

ダイヤモンド・プリンセス号集団感染という、人類史上例を見ない完全な"コホート"によって、これらの結果が得られたのですが ――

少なくとも「コホート」に関しては、私は、他の人に語るべき義務のある人間の一人でなければならないはずです。

そう思うと、『これは恥じ入るべきことだ』と落ち込んでいます。

 

未分類

このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。

未分類

今朝(深夜)にChatGPTと議論してグタグタな内容になっていました。

「アルジャーノンに花束を」について、以前から気になっていたことをChatGPTに質問してみた件

で、今朝、頭を整理して質問を完結に纏めました。(因みにLatexが面倒になったので、ChatGPTの回答のハードコピーを貼りつけるだけにしました(私が分かればいいので))。

ChatGPTの価値は、「回答」ではなく、「回答に至るプロセスで考えを纏めることができる」だなぁ、と実感しています。

ダニエルキイスの「アルジャーノンに花束を」に登場する、主人公の結論「人為的に誘発された知能は、その増大量に比例する速度で低下する」を以下の2つのケースで、それぞれ微分方程式で示して下さい

(1)人為的に誘発された知能が、時刻t=0において定数として与えられる場合
(2)人為的に誘発された知能が、時刻t=0から段階的に定量的(線形)に与え続けられる場合

ただし、t=∞において、知能は、人為的に誘発される前の知能に戻る、として下さい。

 

やっと、私の頭の中でイメージできる数式(一般解)が出てきました。ChatGPT様々です。

特に最後の式は、『人為的に知能を誘発する技術や薬剤の処方をし続けたとしても、いつかは必ず知能が元のレベルに戻る』という(物語の中の)現実を示す式として現われています(微分方程式の条件として加えているので当然だけど)。

『人為的に誘発された知性』によって、この式を導出してしまった主人公の絶望感に、深く共感できてしまいました。

後日、エクセルかGnuplotで、この「アルジャーノン=ゴードン効果」をグラフで示してみたいと思います。

-----

ちなみに、私、こちらのコラムの最初のページで、『有用性の観点で言えば、三角関数より微分方程式の方が、はるかに役に立つ』という論旨を展開しています。

ただ、問題は、『微分方程式の一般解を導く為には、三角関数が必要となる(今回のケースでは指数関数だけで済みましたが)』という点が、やっかいなのです。

って、たった今気がついたのですが、石丸さんって「あの石丸さん」?

ちょっとビックリしています。

未分類

太字が江端の質問です(Latexが上手く表示できませんが、後日何とかします)

Latex表示のテスト(ここから)

[math jax] $$ e = \lim_{n \to +\infty} \biggl( 1+\frac{1}{n} \biggl)^{n} $$

$$ e = \lim_{n \to +\infty} \biggl( 1+\frac{1}{n} \biggl)^{n} $$

Latex表示のテスト(ここまで)

アルジャーノンに花束に、「人為的に生成された知能は、その生成された量に比例して減少する」というようなセリフがありました。正確なセリフを教えて下さい。

ChatGPT

「アルジャーノンに花束を」(原題:Flowers for Algernon)で言及されているセリフは以下の通りです:

「人工的に高められた知能は、上昇した度合いに比例して急激に衰える。」

このセリフは、チャーリー・ゴードンが自身の知能の急激な向上と、その後の衰えについて理解する過程で述べられます。このフレーズは、彼が知能の一時的な向上と、その後の不可避な衰えを予見し、受け入れることの難しさを反映しています。

4o

「人工的に高められた知能は、上昇した度合いに比例して急激に衰える。」 を微分方程式で表現して下さい

ChatGPT

「人工的に高められた知能は、上昇した度合いに比例して急激に衰える」という文を微分方程式で表現する場合、知能のレベル I(t)I(t)I(t) が時間 ttt に対してどのように変化するかを考えます。この文の解釈に基づいて、知能の衰えがその知能レベルに比例することを意味します。つまり、知能の減少速度が現在の知能レベルに比例するという形で表現できます。

この考えに基づいて、知能の時間に対する微分方程式は以下のようになります:

$$ \frac{dI}{dt} = -kI $$

ここで:

$$\frac{dI}{dt}$$ は知能の時間に対する変化率(衰えの速度)です。
$$I(t)$$ は時間$$t$$ における知能レベルです。
$$k$$ は比例定数で、知能の衰えの速さを決定します。$$k$$ は正の定数です。

この微分方程式は、知能の衰えがその知能レベルに比例していることを示しています。解くことで、知能の時間経過に伴う変化を表す式を得ることができます。

解法

この微分方程式を解くと、知能 $$I(t)$$は指数関数的に減少することがわかります。

$$\frac{dI}{dt} = -kI$$

この方程式を分離変数法で解くと、

dII=−k dt\frac{dI}{I} = -k \, dtIdI​=−kdt

両辺を積分すると、

∫1I dI=−k∫dt\int \frac{1}{I} \, dI = -k \int dt∫I1​dI=−k∫dt

ln⁡∣I∣=−kt+C\ln |I| = -kt + Cln∣I∣=−kt+C

ここで CCC は積分定数です。両辺の指数を取ると、

∣I∣=e−kt+C|I| = e^{-kt + C}∣I∣=e−kt+C

I=Ce−ktI = Ce^{-kt}I=Ce−kt

この式は一般解を示しています。初期条件 I(0)=I0I(0) = I_0I(0)=I0​ を適用すると、

I0=Ce0I_0 = Ce^0I0​=Ce0

C=I0C = I_0C=I0​

したがって、知能の時間経過に伴う変化は次のようになります:

I(t)=I0e−ktI(t) = I_0 e^{-kt}I(t)=I0​e−kt

この解は、時間とともに知能が指数関数的に減少することを示しています。

4o

この方程式には「人工的に高められた知能」の内容が入っていないように思えます。

ChatGPT

ご指摘ありがとうございます。「人工的に高められた知能」の部分を考慮に入れて、さらに詳しいモデルを構築してみましょう。

「人工的に高められた知能」が徐々に減少するという現象を表現するために、知能の自然な状態を I0I_0I0​ とし、人工的に高められた知能を I(t)I(t)I(t) として、それが時間とともに減少していく過程を考慮します。

仮定と設定
I0I_0I0​ は元の知能レベル(自然な知能レベル)とします。
I(t)I(t)I(t) は時間 ttt における人工的に高められた知能レベルとします。
知能の減少速度は現在の知能レベルに比例し、知能の自然なレベルからの増分に対しても比例するものとします。

これを反映するために、次のような微分方程式を提案します:

dIdt=−k(I(t)−I0)\frac{dI}{dt} = -k (I(t) - I_0)dtdI​=−k(I(t)−I0​)

ここで:

dIdt\frac{dI}{dt}dtdI​ は知能の時間に対する変化率です。
I(t)I(t)I(t) は時間 ttt における知能レベルです。
I0I_0I0​ は元の知能レベル(自然な知能レベル)です。
kkk は比例定数です。
解法

この微分方程式を解くと、次のような形式の解が得られます。

dIdt=−k(I(t)−I0)\frac{dI}{dt} = -k (I(t) - I_0)dtdI​=−k(I(t)−I0​)

まず、変数を分離します:

dII−I0=−k dt\frac{dI}{I - I_0} = -k \, dtI−I0​dI​=−kdt

両辺を積分します:

∫1I−I0 dI=−k∫dt\int \frac{1}{I - I_0} \, dI = -k \int dt∫I−I0​1​dI=−k∫dt

ln⁡∣I−I0∣=−kt+C\ln |I - I_0| = -kt + Cln∣I−I0​∣=−kt+C

ここで CCC は積分定数です。両辺の指数を取ると:

∣I−I0∣=e−kt+C|I - I_0| = e^{-kt + C}∣I−I0​∣=e−kt+C

I−I0=±eCe−ktI - I_0 = \pm e^C e^{-kt}I−I0​=±eCe−kt

積分定数 eCe^CeC を C′C'C′ と置き換えると:

I(t)=I0±C′e−ktI(t) = I_0 \pm C' e^{-kt}I(t)=I0​±C′e−kt

初期条件 I(0)=IinitialI(0) = I_{\text{initial}}I(0)=Iinitial​ を適用すると:

Iinitial=I0±C′I_{\text{initial}} = I_0 \pm C'Iinitial​=I0​±C′

したがって、定数 C′C'C′ は Iinitial−I0I_{\text{initial}} - I_0Iinitial​−I0​ となります。これにより、解は次のようになります:

I(t)=I0+(Iinitial−I0)e−ktI(t) = I_0 + (I_{\text{initial}} - I_0) e^{-kt}I(t)=I0​+(Iinitial​−I0​)e−kt

この式は、時間とともに知能が自然なレベル I0I_0I0​ に向かって指数関数的に減少する様子を示しています。

4o

これも変です。I_initial はI_0と同じ値なので、第二項の係数が0になりますよね。

ChatGPT

おっしゃる通りです。初期条件に関する考え方に誤りがありました。人工的に高められた知能が時間とともに減少する過程を適切にモデル化するためには、知能の初期値が自然な知能レベル I0I_0I0​ とは異なることを明確にする必要があります。ここでは、人工的に高められた知能レベル ImaxI_{\text{max}}Imax​ を導入し、その変化を考慮します。

次のような状況を考えます:

I0I_0I0​ は自然な知能レベル
ImaxI_{\text{max}}Imax​ は人工的に高められた知能レベルのピーク
I(t)I(t)I(t) は時間 ttt における知能レベル

人工的に高められた知能が時間とともに減少する過程を次のように表現します:

dIdt=−k(I(t)−I0)\frac{dI}{dt} = -k (I(t) - I_0)dtdI​=−k(I(t)−I0​)

初期条件として、I(0)=ImaxI(0) = I_{\text{max}}I(0)=Imax​ を考えます。

この微分方程式を解くと、

dIdt=−k(I(t)−I0)\frac{dI}{dt} = -k (I(t) - I_0)dtdI​=−k(I(t)−I0​)

変数分離して積分します:

dII−I0=−k dt\frac{dI}{I - I_0} = -k \, dtI−I0​dI​=−kdt

両辺を積分します:

∫1I−I0 dI=−k∫dt\int \frac{1}{I - I_0} \, dI = -k \int dt∫I−I0​1​dI=−k∫dt

ln⁡∣I−I0∣=−kt+C\ln |I - I_0| = -kt + Cln∣I−I0​∣=−kt+C

ここで CCC は積分定数です。両辺の指数を取ると:

∣I−I0∣=e−kt+C|I - I_0| = e^{-kt + C}∣I−I0​∣=e−kt+C

積分定数 eCe^CeC を C′C'C′ と置き換えると:

I−I0=C′e−ktI - I_0 = C' e^{-kt}I−I0​=C′e−kt

初期条件 I(0)=ImaxI(0) = I_{\text{max}}I(0)=Imax​ を適用すると:

Imax−I0=C′I_{\text{max}} - I_0 = C'Imax​−I0​=C′

したがって、定数 C′C'C′ は Imax−I0I_{\text{max}} - I_0Imax​−I0​ となります。これにより、解は次のようになります:

I(t)=I0+(Imax−I0)e−ktI(t) = I_0 + (I_{\text{max}} - I_0) e^{-kt}I(t)=I0​+(Imax​−I0​)e−kt

この式は、時間とともに知能が自然なレベル I0I_0I0​ に向かって指数関数的に減少する様子を正しく表しています。

4o

人工的に加えられた知性を定数とするのは不自然です。人工的に加えられた知性も時間関数で増えるものとして下さい。ここでは簡単にするために、人工的に加えられた知性は線形増加する、としていいです。

ChatGPT

ご指摘ありがとうございます。人工的に加えられた知性が時間とともに線形に増加する場合を考慮して、より適切なモデルを構築します。

仮定と設定
I0I_0I0​ は元の自然な知能レベルとします。
Ia(t)I_a(t)Ia​(t) は時間 ttt における人工的に加えられた知能の量で、線形に増加すると仮定します。具体的には、Ia(t)=atI_a(t) = atIa​(t)=at とします。
I(t)I(t)I(t) は時間 ttt における総合的な知能レベルで、自然な知能レベル I0I_0I0​ と人工的に加えられた知能 Ia(t)I_a(t)Ia​(t) の和です。

人工的に加えられた知能が時間とともに線形に増加し、総知能レベルが減少していく過程を次のように表現します:

I(t)=I0+Ia(t)I(t) = I_0 + I_a(t)I(t)=I0​+Ia​(t)

ここで Ia(t)=atI_a(t) = atIa​(t)=at です。知能の減少速度が現在の知能レベルに比例することを考慮すると、次の微分方程式になります:

dIdt=−kI(t)\frac{dI}{dt} = -kI(t)dtdI​=−kI(t)

この I(t)I(t)I(t) は自然な知能と人工的に加えられた知能の合計です:

I(t)=I0+atI(t) = I_0 + atI(t)=I0​+at

したがって、この関係を微分方程式に代入すると:

dIdt=−k(I0+at)\frac{dI}{dt} = -k (I_0 + at)dtdI​=−k(I0​+at)

しかし、上記の形では、線形増加する人工知能の影響をうまくモデル化できないため、以下のように考えます。実際に、人工的に加えられた知能 Ia(t)=atI_a(t) = atIa​(t)=at の効果を考慮しつつ、総合的な知能 I(t)I(t)I(t) の減少を考慮します。

微分方程式の構築

総合的な知能 I(t)I(t)I(t) が時間とともに減少する一方で、人工的に加えられた知能が線形に増加する場合を考えます。

知能の変化は次のようにモデル化できます:

dI(t)dt=ddt[I0+Ia(t)−βI(t)]\frac{dI(t)}{dt} = \frac{d}{dt}[I_0 + I_a(t) - \beta I(t)]dtdI(t)​=dtd​[I0​+Ia​(t)−βI(t)]

ここで Ia(t)=atI_a(t) = atIa​(t)=at は人工的に加えられた知能、β\betaβ は減少率です。

したがって、全体の知能レベル I(t)I(t)I(t) は以下のような微分方程式に従います:

dI(t)dt=a−βI(t)\frac{dI(t)}{dt} = a - \beta I(t)dtdI(t)​=a−βI(t)

解法

この微分方程式を解くと、総合的な知能 I(t)I(t)I(t) の時間に対する変化が得られます。

dI(t)dt=a−βI(t)\frac{dI(t)}{dt} = a - \beta I(t)dtdI(t)​=a−βI(t)

変数分離して積分します:

dI(t)a−βI(t)=dt\frac{dI(t)}{a - \beta I(t)} = dta−βI(t)dI(t)​=dt

積分すると:

∫1a−βI(t) dI=∫dt\int \frac{1}{a - \beta I(t)} \, dI = \int dt∫a−βI(t)1​dI=∫dt

−1βln⁡∣a−βI(t)∣=t+C-\frac{1}{\beta} \ln |a - \beta I(t)| = t + C−β1​ln∣a−βI(t)∣=t+C

両辺に −β-\beta−β を掛けて整理すると:

ln⁡∣a−βI(t)∣=−βt+C′\ln |a - \beta I(t)| = -\beta t + C'ln∣a−βI(t)∣=−βt+C′

ここで C′C'C′ は新たな積分定数です。指数を取ると:

∣a−βI(t)∣=e−βt+C′|a - \beta I(t)| = e^{-\beta t + C'}∣a−βI(t)∣=e−βt+C′

初期条件 I(0)=IinitialI(0) = I_{\text{initial}}I(0)=Iinitial​ を適用すると:

a−βIinitial=eC′a - \beta I_{\text{initial}} = e^{C'}a−βIinitial​=eC′

これを C′′C''C′′ と置き換えると:

a−βI(t)=C′′e−βta - \beta I(t) = C'' e^{-\beta t}a−βI(t)=C′′e−βt

したがって、総合的な知能レベル I(t)I(t)I(t) は次のように表現されます:

I(t)=aβ+(Iinitial−aβ)e−βtI(t) = \frac{a}{\beta} + \left(I_{\text{initial}} - \frac{a}{\beta}\right) e^{-\beta t}I(t)=βa​+(Iinitial​−βa​)e−βt

この解は、人工的に加えられた知能が線形に増加しつつ、全体の知能レベルが時間とともに減少する様子を示しています。

未分類

江端さんのひとりごと

「危ない漂白剤」

大学で4年、大学院で2年、就職して2年。

一人暮らしも9年目に突入すると、男と言えども家事に精通してくるものです。

料理、掃除などもそうですが、洗濯でも、色柄ものとそうでないものの仕分けなどは当然できなくてはなりません。でないと真っ赤なジャージと一緒に洗濯して、ピンク色のYシャツを作ってまうことになりますし、しっかり乾かしてから保管しなかったために、タンスの底にくっついて離れないブルゾンを呆然と眺める羽目になります。

さて、衣類の洗濯には、水よりもお湯を使った方が汚れが落ちるようです。これはお湯を使った方が、洗剤を『活性化』しやすいからですが、同じように、コップやふきんを消毒するときに用いる漂白剤も、お湯の方が早く汚れを落とすことができます。

この前部屋の掃除をしたとき、ついでにコップなどの漂白もしておこうと思い立ち、部屋にある全てのガラスのコップや金属のコップに漂白剤を溶かした漂白液を作って、コップ一杯なみなみと入れておいておきました。こうして小一時間ほど放っておけば漂白はできるのです。

ふと私はちょっとした『活性化』の実験がしたくなりました。

それは「金属性のコップを直接火にかけて、漂白液を煮立てれば、凄く速くコップの漂白できるのではないだろうか?」と言う極めて素朴な疑問でした。寮では火気の使用が禁じられ、普段私は電磁調理器を使っていましたから、私はこの電磁調理器の上に直接、鉄でできたコップを乗せて、コップごと漂白液を煮立てることにしました。

2分もないうちに、あのプール独特の塩素の匂いが部屋中に立ちこめてきました。コップの中を覗いてみると、すでに汚れはすっかり落ちて、新品同様の美しさになっていました。結果に満足した私は、もう2、3分だけ煮沸を続けて様子を見ることにしました。

しかし、何だかどんどん頭がガンガンと痛みだして、息苦しくなってきました。そして、ようやく大変なことをしでかしたことに気がついたのでした。

「しまった!、次亜塩素酸ナトリウム!!」

有毒ガスの一つであり、かつては殺人兵器としても使用されたことのあるこの物質は、漂白剤だけでなく水道水にも消毒用として微量使用されているものの、その原液を煮沸なんかしたら、この部屋は実に理想的なガス室と化してしまいます。私の脳裏には、ナチスドイツ時代のアウシュビッツの写真がぼんやりと浮かび上がりました。

やばい!と思い、慌てて窓に駆け寄ろうとしたものの、ふらふらして思うに任せません。ようやく窓にたどり着きおもいっきり窓を全開し、急いで2、3回深呼吸をして、電磁調理器のスイッチを切るやいなや、泥酔した酔っぱらいのようにふらふらになって部屋の外に逃げだしたのでありました。

---------------

これは、私にとってかなり恐い経験の一つでありますけど、今になって考えると、もっと現実的な恐怖を感じずにはいられません。

新聞の見出しに
『2×歳、研究員。家庭用漂白剤を煮沸。自分の部屋で窒息死。』

世間の笑い物です。

(出展:https://www.kobore.net/tex/alone93/node20.html)

未分類

現時点が、これがベースとなる座標 (2024/07/07)

var polygon = [][]float64{
    {35.36394967, 139.61846500},
    {35.3618532453048, 139.61890414751684}, // 変更 35.3618532453048, 139.61890414751684
    {35.36170465505306, 139.6220415552594},
    {35.36163108058289, 139.62334070015595},
    {35.363117271878345, 139.62314221968566},
    {35.36335187635167, 139.62481739887647},
    {35.36310056060587, 139.62485183402688},
    {35.36376860001917, 139.6288186562702},
    {35.36420166714637, 139.6297897196359},
    {35.36754482323006, 139.6296024603071},
    {35.37126945661188, 139.62886244945108},
    {35.37375189636854, 139.62615207124352},
    {35.37464657021711, 139.623189740366},
    {35.37574882601201, 139.6213765671167},
    {35.37527643251494, 139.6210117866997},
    {35.37306314467156, 139.6217413475337},
    {35.37268696718477, 139.62013202216457},
    {35.37018828750506, 139.61840497406456},
    {35.370782160278, 139.61705458898427},
    {35.36947068533102, 139.61641732865053},
    {35.370596575495014, 139.61476348635583},
    {35.37078029225879, 139.61403393574466},
    {35.36864433631068, 139.61438212951467},
    {35.36653571408147, 139.61453772192408},
    {35.3633959839821, 139.61469428997398}, // 追加
    {35.36351410, 139.61626070},
    {35.36394967, 139.61846500},
}

 

 

(図面)F:\しゅらばしゅう\有吉先生データ\富岡エリア_座標.pptx
(コード) C:\Users\ebata\tomioka_school\src\trip_school\main.go

Polygon使う時の注意点(赤丸に注意: db.Query()で簡単にエラーにされる

 

// C:\Users\ebata\tomioka3B\src\others\main35.go
/*
	実験用の座標を作る
	修正後 (富岡西5丁目を削除し、富岡6丁目の下1/4を削除)
*/

package main

import (
	"database/sql"
	"fmt"
	"log"
	"regexp"
	"strconv"

	_ "github.com/lib/pq"
)

func main() {
	// 取り扱うDBによってノード番号が代わるので注意すること
	// 例えばtomioka_db_c とtomioka_dbは全く異なる
	db, err := sql.Open("postgres",
		"user=postgres password=password host=192.168.0.23 port=15432 dbname=tomioka_db sslmode=disable")
	if err != nil {
		log.Fatal("OpenError: ", err)
	}
	defer db.Close()

	// 修正後のターゲットの富岡地区 (富岡西5丁目を削除し、富岡6丁目の下1/4を削除)

	query := `
	SELECT st_asText(
		ST_GeneratePoints(
			ST_GeomFromText(
				'POLYGON((
					35.36394967 139.61846500,
					35.36216810 139.61890850,
					35.36170465505306 139.6220415552594,
					35.36163108058289 139.62334070015595,
					35.363117271878345 139.62314221968566,
					35.36335187635167 139.62481739887647,
					35.36310056060587 139.62485183402688,
					35.36376860001917 139.6288186562702,
					35.36420166714637 139.6297897196359,
					35.36754482323006 139.6296024603071,
					35.37126945661188 139.62886244945108,
					35.37375189636854 139.62615207124352,
					35.37464657021711 139.623189740366,
					35.37574882601201 139.6213765671167,
					35.37527643251494 139.6210117866997,
					35.37306314467156 139.6217413475337,
					35.37268696718477 139.62013202216457,
					35.37018828750506 139.61840497406456,
					35.370782160278 139.61705458898427,
					35.36947068533102 139.61641732865053,
					35.370596575495014 139.61476348635583,
					35.37078029225879 139.61403393574466,
					35.36864433631068 139.61438212951467,
					35.36653571408147 139.61453772192408,
					35.36394967 139.61846500
				))'
			),
		25)
	)
	`
	rows, err := db.Query(query) // この25が生成する乱数座標

	if err != nil {
		log.Fatal(err)
	}
	defer rows.Close()

	var msg string

	for rows.Next() {
		if err := rows.Scan(&msg); err != nil {
			fmt.Println(err)
		}

		// まずはMULTIPOINTをバラバラに分解する
		arr1 := regexp.MustCompile("[() ,]").Split(msg, -1) // '('か、')'か、' 'か、","で分割する → "[中身]" という構造でまぎらわしい

		// 2つの値を一度に取得する (最初の値" MULTIPOIN"をスキップする為に、i:=1から始める)
		for i := 1; i < len(arr1); i += 2 {
			// arr1[i]とarr1[i+1]は2つの値を表します
			if i+1 < len(arr1) {
				value1, _ := strconv.ParseFloat(arr1[i], 64)   // 乱数の緯度
				value2, _ := strconv.ParseFloat(arr1[i+1], 64) // 乱数の経度
				fmt.Println(value1, value2)
			}
		}
	}
}

未分類

読者さんからのメールに返信しようとしたのですが、エラーリターンが連発しました。エラーメールの文面を解析したら、どうやら、これが原因だったようです。

Gmailへのメール送信がエラーになって返ってくる現象でお困りのお客様へ | さくらのサポート情報

そりゃ、まあ、kobore.netなんぞという弱小ドメインを、Googleが怪しいと思うのは当然かもしれませんが(と、ちょっと拗ねてみる)

-----

kobore.netのドメインでのメールアドレスは、普段使いしておらず、また、別メールに転送されており、運が悪いとそこでフィルタリングがかけられて、見落としすることが多々あります。(定期的にフォルダのチェックはしておりますが)。

江端からの返信がない場合、しばらくお待ち下さい。思い出したころに、返信を差し上げることがあります(もし、見逃してしまったら、大変申し訳ありません)。

 

未分類

このコンテンツはパスワードで保護されています。閲覧するには以下にパスワードを入力してください。