カテゴリー: 未分類

Home / カテゴリー: 未分類

DockerのDNSかなんかの不具合で詰まる

2019-01-31 | 未分類 | コメントはまだありません

Dockerでbuildするぞーみたいなときに、どうもネットワーク周りのエラーで処理が完了しない。あたしの手元で起きた症状は、pipインストールするにもパッケージを落としてくることができず、リトライを繰り返して死ぬというもの。

Step 4/14 : RUN pip install –upgrade pip && pip install -r /app/requirements.txt
—> Running in d75750d3ae36
Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by ‘NewConnectionError(‘: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution’)’: /simple/pip/

(docker buildのログ抜粋)


Failed to establish a new connection.
あーもうはいはいってくらいあちこちで見かけるやつだが、Dockerでこれって一体?
調べてみると、どうも一部ではよく知られた話っぽくて、対処法もある。

DockerのLinuxコンテナ内で名前解決エラーに困っていたら、もくもく会参加者に助けられた話 – Qiita
https://qiita.com/tatamiya/items/d40dab5bb7b23be3548f

うちの場合は、daemon.jsonというファイルを探して(Windowsだと二箇所以上にあるかもしれない。ProgramData\Docker\configと、Users\YOU\.dockerの二箇所)、以下を追記した。

{"dns": ["8.8.8.8", "8.8.4.4"]}

んでDockerをリスタートして、おわり。無事ビルドできるようになってめでたしめでたし。

8.8.8.8ってなってんだけどなー

じつはもともとDockerの設定はこうなってるんだけども、それとは別にjsonへの追記がいるってことなのね?このへんちょっとピンときてない。

Goはじめる

2018-12-14 | 未分類 | コメントはまだありません

まあすぐ放り出すと思うけれども。
Tour of Goの4ページ目で日付をプリントする例が載っていて、じゃあフォーマットするのはどうやんの?というとこでさっそく脱線している。
なんか、4桁の西暦を表現するためのフォーマット文字列は2006だという。
1234でもyyyyでも%Yでもだめで、固定で2006年1月2日15時45分じゃないとだめだと。

答えは単純だ。これはアメリカ式の時刻の順番なのだ。”1月2日午後3時4分5秒2006年”(つまり「自然な順番」で1, 2, 3, 4, 5, 6)を指しているのである。

Goのtimeパッケージのリファレンスタイム(2006年1月2日)は何の日? – Qiita 

なるほどそうか理由はわかった。
ぜんぜんわかんねえ。
本気だったんだろうか、この言語のデザインをやった人。少しはおかしいと思わなかったんだろうか。世界中どこでも日付の表記が一定だとでも?仮にそうだとして、15時を3時と表現してまでやることなんだろうか。
由来知らんけど、ジョークのつもりで書き始めた言語だったりするのかね。
毎日使ってれば麻痺して、そういうもんだよ〜みたいなメンタルになれるんだろう。

ということで、京都伏見の自転車のあんちゃんばりにキモイキモイと連呼して怒りのあまりこのエントリを書いている。こういうとこでカチンときて躓くと、その後の学習曲線に必ず悪い影響が出る。相容れない嫌なものを学ぶ、みたいな姿勢になってしまい、ただでさえ物覚えの悪い脳が記憶の定着を拒む。

なんでgoさわりはじめてるかっつーと、GAEのスタンダード環境でGo動くというので、たかだかjsonしゃべるだけならそれでいいんじゃないっていう程度の理由です。goって言語自体の換金性高そうだし。
なんかHaskellで仕事するのは(あたしのスペック的に)現実味薄いし、Elixirはまだまだ理解に掛かりそう。Nimはあんなに書いてる感じがイイのにRustのほうが妙に人気があり、そのRustはもうなんだがぞっとする記法だらけで近寄りたくないしみたいな。いまんとこPython書いてるのが一番しっくりきてはいる。

FF14の地図と座標の話

2018-12-01 | 未分類 | コメントはまだありません

はりぺこです。
半年くらいかかってヨロヨロ作っていたサイトをいまプレビュー的に公開(ロケハンちゃん(https://halipe.co/)しています。
あちこちの風景を切り取って素敵な写真にしてる人とかに使ってもらえたらと思ってます。

地図のスクリーンショットを撮ってはつなげる作業というのをやってます。言うまでもないことですがロケハンちゃんに使う地図をつくってるわけです。
スクリーンショットを保存するフォルダにはこれからやろうとする主にザナラーン地方とクルザス地方の地図の断片183ファイルがあたしの作業開始を待っております。
これは3ファイルが一枚の地図に、つまり地図61枚ぶんという、全部やろうとするとめまいを感じずにはおれない物量だったりします。
むろんそんなもんでは終わらない。ギラバニアもドラヴァニアも他のエリアもあるので、嫌になっちゃってブログ記事をかきはじめています。

よく、エオルゼアで見つけたいろんなことを文章にして残す立派な人々がいるのを思い出したので、大抵の人は気にもとめないであろう、地図の話を書いておこうと思います。
深い考察とかをしているわけじゃなくて、見てる範囲じゃこんなふうだよ~みたいなのを書きなぐるだけのエントリになるはずです。
あまりにも地味な話なんで、お暇な時にでもどうぞ。

座標の基本

学校で方程式と一緒にグラフ描きましたね。あれは(高等数学に行く前までは)左下がx=0,y=0で、右に行くについれてxが大きく、上に行くにつれてyが大きくなるというルールでした。
コンピュータの場合は、左上をx=0,y=0として画面をとらえます。
FF14の座標系も同じです。左上が1.0、右下がなんぼかの値を取り、必ず正方形の空間として設定がされています。

フィールド

フィールドとは、中央ラノシアとかああいう、いわゆるお外のことを指します。こいつらは(おそらく)例外なく、マップの左上の端を1.0、右下の端を42.0、もしくは44.0として設定されています(書いてて気づいたため冷や汗が出ております。一律42.0だと思ってた!!!)。これはもうラノシアなどの古いエリアが42.0で、3.0以降のフィールドだと44.0あるっぽい。
いやーまじか。これまじか。42と44あるんか。わー。一部データ直さないとずれるわ。。。

ダンジョン

いわゆるアイディーとかいうてルレでアレしてる遺跡や洞窟やその他諸々。バリエーションは実に豊かですが、いくつかの例外を除いて左上が1.0、右下が21.4となっています。サスタシャでも闇の世界でも同じです。

ダンジョン4枚とフィールド1枚が同じ広さなのね。
フィールドでも都市でも、うちのはりぺこさんやあなたのキャラクタは一定のスピードでの歩行と走行が可能です。一定時間内に移動できる距離の単位はIDでもフィールドでも同じでしょうから、そのルールに基づいて地図や空間が作られているということでしょう。
そのうち実際に測量でもしてみようかとは思ってますけど、おそらくダンジョンで使っている座標の数字の間隔は、フィールドとは同じと思われます。
ひとたび設定となるとすみずみまで偏執的にやりつくし、とくに空間に対するレギュレーションが厳しく設定されているFF14の場合、座標の設定を雑にするというのは考えにくいです。

ほとんどのエリアは1.0~21.4で空間が作られていますが、たとえばイシュガルド教皇庁は「いくつかの例外」に該当します。

ここはほんとに変わっていて、左上6.1、右下16.2という設定になってます。
迷宮や要塞、海賊の島やらと違って、たった一つの建物内に展開されているダンジョンですので自然と扱う範囲は狭くなります。地図はそのぶん拡大した状態のものを持たせてくれているということでしょう。IDの地図ってスカスカなのが多いので、教皇庁くらい拡大してくれると個人的には嬉しい。

これは古城アムダプール(Hard)のB1F。余白がもはや余っているとかいう次元でない。
あたしの作業的にはすごいしんどくなるんだけど、でもやっぱある程度拡大した地図を搭載してほしい。。。こんな要望間抜けすぎて出しにくい。。。

その他のエリア

変わり種というとウルヴズジェイル係船場があります。ハートマン軍曹みたいなおじさんがいたり、Pitがあるとこですね。
ここは左上3.5、右下8.6です。

なんで1.0~6.1じゃないんだろうという疑問はあるものの、たぶんこの島のある位置が半端なことに起因した数字なんでしょう。大変にこだわり(もしくはレギュレーション)のある設定の中にそれぞれの空間が切り取られているのだなあということがわかります。

へーそうなんだ~、というところでそろそろ作業に戻ります。よい週末を。

週末の進捗

2015-02-16 | 未分類 | コメントはまだありません

色々つまみ食いで飽きなかったな

batch:
Androidアプリを解凍する
ACK?が単なるZipだというのを知らなかった
Zipから目当てのファイルを取り出し、保存

sqlalchemy経由で取り出したsqliteのファイルを読み込み
flaskで簡単なアプリを立ち上げ
nginxでproxy

フロント側の一部でangularjsを使うので、それ用にjson吐かせたり、吐いた形式があんばいよくなかったり