「インメモリ」を含む日記 RSS

はてなキーワード: インメモリとは

2023-11-26

インメモリ8GBのPCを「普通に使える」って言ってもよかったのかよ

俺は常々「SSDでメインメモリ8GBなら"大半の一般人事務用途には"支障ない」と思ってるんだけど、どうも言いづらい雰囲気があった

なぜなら、はてなでは「メインメモリ64GBは基本的人権!!😤」みたいな職場フィギュア並べてそうなイキリ勘違いアスペIT土方が幅を利かせてたからだ

[B! PC] ドンキ情熱価格」、性能アップした14型ノートPC「MUGAストイックPC5」を先行展示!

https://b.hatena.ne.jp/entry/s/news.mynavi.jp/article/20231124-muga_5/

でも言っていい風潮になってきてるんだな、「8GBなら普通に使える」って

ドンキスペックが下から攻めていったからかもしれんが

俺も言ってくようにするわ

8GBなら普通に使えるだろ

2023-07-14

anond:20230714220722

出先ではそんな感じで仕事してる(個人的には、マウスは要らない。)けど、作業効率オフィスデスクトップPCを使っているときの方が段違いに良い。

インメモリ64GBにディスプレイを3つ使えれば、大抵の作業スピードが上がる。

2022-11-17

anond:20221117114830

トン

そんなハードゲームするつもりは無かったから、グラボ入ってて安いノートPCいかなーって感じで探してたわ。

大体安くても12~15万あたりがメインだから結構良い買い物出来たと思う。

インメモリが8GBで控えめだから、配信とかキャプチャする人は向いて無いのかもなぁ。

ただゲームするだけならコレで全然十分だったわ。PAD勢だからキーボードの質感とかも気にしないし。

2022-10-16

NovelAIが重すぎるからローカル環境にNAI環境を構築する(2022年10月16日版)(追記あり)

せっかく課金したのにユーザが増えまくっているのか滅茶苦茶重くなっていて最悪。

から流出したモデルを使ってローカルでNAI環境を構築する。

ネットには情報もだいぶ転がってるけど陳腐化した情報があまりに多いため増田にまとめることにした。

しかたらこ記事もすでに陳腐化しているかもしれないが…単純に間違ってたらトラバで教えてほしい。

もちろん自己責任。この記事を見て導入した結果何かあっても増田は何も保証しない。

英語がわかる人はこっちを見た方が早いと思う。今は導入RTAができるくらい導入は楽になっている。

https://rentry.org/nai-speedrun

推奨環境

VRAMが2GB以上あるNVIDIA製のグラフィックボードがあればローカル環境を構築できる。

GPU世代はGTX700シリーズ以降。なので一昔前のミドル級ボードでも動作するらしい。

IntelオンボードGPUでも実行する方法があるらしい(stable_diffusion.openvino)が今回は割愛する。自分で探してね。

その他の推奨環境は以下の通り。

対応OSWindows7以上(と言うがM1Macでも動作する方法があるとかなんとか)

必要な空きストレージ容量:20GB以上

インメモリ:16GB以上(VRAMもたくさん必要だが起動時にメインメモリも大量に食う。WebUI起動時にタスクマネージャを見ているとよくわかる)

スマホしか持ってないような人やこういうのがよくわからない人はNovelAIを使った方が良いと思う。

今は重いけど、きっとそのうちみんな飽きてサーバも軽くなるかもしれないし。

(追記)NovelAIリソースを確保してサーバが軽くなったかリスクを背負ってまで導入しなくても良いか

手順1:PythonGitを導入する

(追記)Pythonは当然3系。最新の奴を入れれば問題無い。

導入方法はいちいち書かないけど、「python --version」や「git -v」で

正常にバージョン情報が出る(パスがきちんと通っている)ことはちゃん確認しよう。

手順2:Stable Diffusion web UI(AUTOMATIC1111)を導入する

Stable Diffusion web UIはStable Diffusionやそれをベースとした画像生成AIを利用するためのフロントエンド

その中でも特に開発が活発でデファクトスタンダードとなっているのがAUTOMATIC1111版だ。

導入したい適当ディレクトリに対してPowerShellなどで

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

とやってやれば必要ファイルの導入が行われる。

なお、AUTOMATIC1111版は数時間単位コミットが行われるから

定期的に「git pull origin master」で更新しよう。

手順3:BitTorrent流出モデルダウンロードする

クライアントはqBitTorrentが一番楽だと思う。

ここにはさすがにmagnetリンクは書かないか各自ググって欲しい。

結構誤解されがちなことだが流出データ50GBを全部ダウンロードする必要は無い。

必要ファイルはanimefull-final-prunedディレクトリの中身とanimevae.ptから5GBちょっとくらいなんじゃないかな。

もし余裕があるならmoduleディレクトリの中身もダウンロードすればいいけど、ぶっちゃけ必要無いんじゃないか

手順4:ダウンロードした各ファイルリネーム・移動

まずはanimefull-final-prunedの中身のファイルリネーム

model.ckpt」を「animefinal-full-pruned.ckpt」のようなわかりやす名前にして、

「animevae.pt」を例えば「animefinal-full-pruned.vae.pt」のような拡張子以外は同じファイル名にする。

WebUI起動フォルダ配下の\models\Stable-diffusionリネームしたファイルを移動させれば配置はOK

ちなみにmoduleディレクトリの中身は\models\hypernetworksに移動させて使う。

それらのファイルを設定で適用させると画風が結構変わるがNovelAI再現とは関係無いみたいだ。

(追記)moduleディレクトリの中身の.ptファイルはhypernetworksという技術によって画風などを学習したものらしい。

すでに複数イラストレーターの画風を学習したptファイル作成されており議論を呼んでいる。

手順5:webui-user.batの中身に設定を追加する

自分グラボのVRAMが4GB未満の場合は「set COMMANDLINE_ARGS=」の後に

4GB未満の場合は「--medvram」、2GB未満の場合は「--lowvram」とパラメータを追加しておこう。

自分の持ってるグラボのVRAMがわからないときGPU-Zなどで調べよう。

またGTX1600系固有のバグ(単色の画像が出力される)があるらしいので

その場合は「--no-half-vae」もしくは「--no-half」や「--precision full」とパラメータを追加。

ちなみにパラメータに「--xformers」を追加してxformersを導入・使用すると

消費VRAMが減って画像生成処理時間も短縮されるので是非導入しよう。

画像からdanbooruタグAI調査するdeepdanbooruを利用する場合は「--deepdanbooru」を追加。

これらの設定は同時に複数適用させることもできる。例えば

set COMMANDLINE_ARGS=--medvram --xformers --deepdanbooru

のようになる。

手順6:webui-user.bat起動、設定変更

ターミナルPowerShellなどでwebui-user.batを起動しwebUIの初期導入と起動を行う。

過去には手動でCUDA等を導入する必要があったが、現在はこの初期導入でだいたいの導入が行われる。

ずいぶん楽にはなったがその分初期導入の時間結構長い。10分~20分くらいかかるかもしれない。

途中で導入処理がエラーで止まってしまった場合管理者権限で実行するなどして対応して欲しい。

起動ができたらSettingで以下の設定を変更してNovelAIに近づける。

Stop At last layers of CLIP modelを2に、

Eta noise seed deltaを31337にする。

これで設定は完了

おまけ:アスカテスト

設定を合わせて完全にNovelAIと同じ内容になったのかを確認するテストがある。

出力結果から海外じゃHallo Asuka Testなんて呼ばれている。

これは初期SEEDをはじめとする設定内容が完全に一致していれば同じ出力結果を得られる仕組みを利用している。

プロンプトの内容:masterpiece, best quality, masterpiece, asuka langley sitting cross legged on a chair

ネガティブプロンプトの内容:lowres, bad anatomy, bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts,signature, watermark, username, blurry, artist name

サンプリングステップ数:28

サンプリング形式:Euler

CFG Scale(プロンプトの強度):12

初期Seed2870305590

この内容で見事下の画像と全く同じ画像が出力されれば合格だ。

https://i.imgur.com/Bfl5qJB.jpg

なお、このテストはAUTOMATIC1111のバージョンやxformersの適用状態によっては微妙に違う画像が出力されることがあるらしい。

xformersを適用させている増田環境だと確かに二つ並べると間違い探しレベルの違いがあった。

正直このテストクリアしなくても十分だと個人的には思う。

おまけ2:その他便利になる設定や拡張機能

「Booru tag autocompletion for A1111」を導入すればNovelAIのように自動danbooruタグを保管してくれる。

注意

画像生成AIモデルはStable DiffusionOSSのため派生結構多い。

自前で追加学習もできるため自前で学習した追加AIモデル4chanのような掲示板などで共有する人もいるらしい。

しかしそのようなモデルの中にウィルスのような悪意のある動作を行うものもあるらしい。

FBIペドフィリア一網打尽にするためにIPアドレスなどの個人情報を抜き出す動作を行うロリ特化AIモデル掲示板で配布していて

しかもそれには本物の児童ポルノ教師データとして使われている…などという都市伝説的な話が今界隈を賑わせている。

それが本当の話かどうかはわからないが、とにかく変なところからモデルダウンロードするのは危険なのでやめよう。

自己矛盾溢れる注意喚起かもしれないが…

2022-10-08

anond:20221008223855

じゃあなぜメインメモリは外付けにしたのか。

RISCとかの概念ができた頃はこれほどまで情報量計算量が増えるとは誰も考えてなかったからだろ。

macM1のような最適化の効いてない遅すぎて使い物にならない形式を数十年続けてきた理由は何?

チップを1から設計製造するのってマジで有り得ないくらい金が掛かるんだぞ。

アップルですら、M1みたいな専用チップをわざわざ作るのはiphoneという数十万円する癖に数年で買い換えるお化けプロダクトが無かったら全く割に合わない。

anond:20221008181458

外付けメモリなんかにしたら遅すぎて使い物にならないんだろ。

じゃあなぜメインメモリは外付けにしたのか。macM1のような最適化の効いてない遅すぎて使い物にならない形式を数十年続けてきた理由は何?

2022-08-24

anond:20220824113826

GPU4GBでメインメモリ8GBのWindowsノートが余ってるんだけど(普段バンダイチャンネルかのかわいいいきものアニメが映ってる)、これなんとか使えないか

anond:20220824113056

インメモリ32GBくらい積んでGPU負荷低いが処理遅い版を使うしかないな

2022-01-18

anond:20220118130052

ワイくんもネット閲覧程度はiPadしかしない(PC起動しない)が

メモリ8GB以下は単純にWindows10動作がキツくないか

というか8GBでもキツくないか

インメモリではなくグラボメモリの話でもゲームやるなら8GB以下はキツイと思う

2022-01-04

anond:20220104133808

Zen4』搭載Ryzenシリーズ基本情報ついて

Zen4アーキテクチャーを搭載するRyzenシリーズについては2022年秋頃に投入が予定されており、デスクトップ向けCPUは『Raphael』、モバイル向けは『Phoenix』と言うコードネームで呼ばれています

アーキテクチャー的にはZen4は現行のZen3から大きく進化するメジャーアップデートになると見られています

Ryzenシリーズについては2020年に発売がされたRyzenが『Zen3』で世代的にはZenZen+、Zen2からZen3という事で第4世代呼ばれています2022年初旬には第5世代に当たる『Zen3+』が搭載されたRyzenの投入が予定されており、Zen4についてはその次に登場する事から第6世代になると見られています

なお、モデルナンバーについては2021年11月時点では不確定です。

これは、2022年初旬にモバイル向けZen3+搭載Ryzenデスクトップ向けに3D V-Cacheを搭載したRyzenが登場しますが、これら2つのモデルがどのようなモデルナンバーを与えられるかによって変わるためです。今時点では、Zen3+が7000シリーズに、3D V-Cacheモデルが6000シリーズになると言われているので、Zen4は8000シリーズとなる可能性はありますが、ここではまだ不確定としています

アーキテクチャ刷新TSMC 5nm採用で、IPCを大幅向上

Zen4アーキテクチャーではZen3に対して大きく進化すると見られています

Zen4アーキテクチャーを採用するEPYC GenoaのES品を手に入れた者によるリー情報によると、Zen3を採用するEPYC Milanに対してES品と言う段階で既に同一クロックでの動作Zen3に対して29%程度向上しているとの事です。また、動作クロックについてもZen3より向上を見込んでいるとの事でAMDCPUでは困難だった5.0GHzの壁も超えられるCPUになる可能性があると2021年2月時点のリークでは語られています

5nm『Zen4』RyzenIPC25%向上へ。性能は『Zen3』より40%増し

パフォーマンスが大きく向上している背景としては、Zen4ではTSMC 5nmプロセス活用する事や、I/OダイについてもGlobal Foundryの14nmプロセスからTSMC 7nmプロセス進化する事で全体的なパフォーマンス底上げに繋がっていると考えられます

スッポン現象と決別。ソケットLGA化されたソケットAM5が採用

Zen4 Ryzen "Raphael"採用のAM5モックアップ出現。TDPは最高170Wか

AMDRyzenシリーズ2016年に発売された第一世代Ryzenから長らくソケットAM4を採用しています。このソケットAM4ではCPUマザーボードを繋ぐピンがCPU側に搭載されたPGA採用され、CPUの取り扱いに関してはIntelなどで採用されているLGAマザーボード側にピンが搭載)モデルより扱いに注意が必要です。

特にこの機構ではCPUCPUクーラーを密着させるシリコングリスが固着すると、CPUクーラーを外す際にCPUソケットロックされているにも関わらず、CPUソケットから抜けてしま現象があります。これが、スッポンと言う名前で親しまれていますが、このスッポンはいわば無理やりCPUソケットから抜かれてしまうため、CPU側のピンが折れて動作不良に陥るような事態があります

そんな、AMDソケットAM4ですが、Zen4世代からソケットAM5へ進化する予定になっており、このAM5ではIntelメジャーだったLGA採用される事になっています

170W TDP seems to only be for a special variant, not the normal CPUs for sure

— ExecutableFix (@ExecuFix) May 25, 2021

ピンの数は1718本となっており、IntelのAlder Lakeで採用されているLGA1700に近いピン数になっています。ただ、CPU裏のレイアウトでは、Intel側がCPU中央付近に電源回路関係が敷き詰められているのに対して、AMDZen4では裏面は全て接触パッドが敷き詰められており、CPUの表側にヒートスプレッターに切り欠きを設けて、そこに電源回路関係チップが搭載されるデザインとなっているようです。

A first look at the AM5 socket, once again in the form of a 3D-render pic.twitter.com/84T6wUjpQ2

— ExecutableFix (@ExecuFix) July 29, 2021

最大コア数は16コアに据え置き。TDPは最大170Wまで引き上げられる見込み

Zen4 Ryzen Raphaelでは最大16コア据え置き。TDPは最大170Wに

Zen4アーキテクチャーを採用するサーバー向けCPUのEPYC GenoaではZen3アーキテクチャーを採用するEPYC Milanの64コアから最大96コアにコア数が増加する見込みになっていますしかし、コンシューマー向けのRyzenについては今まで通り16コアに据え置かれる見込みとなっています

16 cores it is for Raphael 😇

— ExecutableFix (@ExecuFix) July 13, 2021

また、TDPに関してはZen3搭載Ryzenシリーズではコンシューマー向けに販売されている製品ではTDPが120Wのみ、OEMなどに向けて販売されているモデルを含めると、65Wと120Wの2つのTDP製品存在しますが、Zen4 RyzenからTDPが最小は65Wと据え置きになるものの、95W、105W、120Wそして170Wの合計4つのTDP製品が登場する見込みとなっています。なお、この170Wモデルに関しては、パフォーマンスに特化した特別モデルのために存在するようです。

CPUクーラーはAM4と互換性あり?TPD 170Wモデルには280mm以上の水冷クーラー必須

Zen4 Ryzenではソケットが変更となりますが、AMDリー資料によるとクーラーに関しては既存純正CPUクーラー対応製品としてリストアップされるなどしているため、ソケットは変わるものの、高さやマウント形状に関してはAM4と互換性を持つ可能性があります

一方で、パフォーマンス特化モデルではTDPが170Wになるとの事ですが、この170Wモデルに関しては同じ資料によるとヒートシンクには280mm以上のラジエーターを備えた水冷クーラーが冷却には必要となると記載されています。そのため、Mini-ITXなどコンパクトな高性能PCを組み立てたいというユーザーにとってはハードルが高くなりそうです。

デスクトップ向けもGPU内蔵が標準に。RDNA2を搭載へ

Zen4 RyzenにはGPU内蔵が標準に。ソケットAM5のリー情報から判明

内蔵GPUが標準搭載になるのではないかと言う情報AMDソケットAM5の互換性について記載されたリー資料にて記載されています。この資料上のOn-Chip Graphicsと言う欄には"1 Dedicated"、つまりOn-Chip Graphics用に専用チップを有する事が記載されています。また、これらはソケットAM5に対応するすべてのFamily/Model Numbersにて同様の事が書かれています。この事から現行のRyzen 5000Gシリーズのようにモバイル版をベースとしたデスクトップRyzenでのみ内蔵GPU搭載となる扱いとは異なります

また、上に表示されている資料のページには記載がありませんが、資料原本には “Some OPNs…may not support GFX”、日本語訳で『一部OPNs(モデル)ではGFX(グラフィック)をサポートしません。』とわざわざ一部OPNsでは対応しないと書いてある当たり、GPUを内蔵したモデルが標準になる可能性は高そうです。

企業などでRyzen CPU採用したデスクトップをあまり見た事があるという方は少ないと思いますが、多くの法人向けPCではGPUを内蔵している事は必須条件とも言え、わざわざdGPU必要となる従来までのRyzenは大きなディスアドバンテージとなっていました。そこで、AMDではZen4 Ryzenからは内蔵GPUを標準搭載し、法人向け需要も取り込もうとしているのかもしれません。

CPU側はDDR4とDDR5に対応PCI Expressも5.0まで対応

AMD次世代ソケット『AM5』はLGA-1718に

ソケットAM5に刷新されるZen4 Ryzenですが、これに伴いチップセットも現行の500番台から600番台のモデルが発売されます。この600番台チップセットではIntel2021年11月に発売したAlder Lake-Sと同じようにメインメモリーにはデュアルチャンネルDDR5が採用される事となっていますが、CPU自体DDR4にも対応しており、Alder Lake-Sと同じように廉価モデルのためにDDR4にも対応できるようにもなっているようです。

PCI Expressの世代に関しては、Zen4 RyzenCPU自体PCIe Gen5.0に対応した設計になっています。ただし、マザーボードPCH自体PCIe Gen 4.0までの対応となっておりCPUと直接接続可能PCIeレーンだけはPCIe Gen 5.0に対応できるというマザーボードになりそうです。なお、サーバー向け製品であるEPYCやThreadripperなどはマザーボード側もPCIe 5.0に対応できる見込みのようです。

2021-12-01

募集Linux入れたノートPC活用

インメモリ4GBでHDDは500GBあります

画面は映りますキーボードが動かないので実際はWin10HomeからPuTTYで入るかリモートデスクトップで入るかしま

このままだとインターネットのいやらしいイラスト専用NASになってしまます

2021-07-09

anond:20210709214950

ヒエッ、本職きたよ。ヌボボ

ちなみに医学部にいった友人の何人がむしろテック系に流れてきているという事情がある。

そこんとこ詳しく。メタップスとか?

東大卒だったら、言葉を正しく使え!

Waf なんて書くな! WAF とかけ!

Pub/Sub とか

うっせーな。クラウドベンダー独自 API なんか使いたくねーんだよ。オラクルじゃあるまいし。

DCL、DMLDDLといった用語を知っていることをひけらかしたかったのかもしれない

まぁ、それは認める。でもさ、select や create とかのDML/DDLCRUD と同じだけと、DCL なんて権限を発行できるりょういきにトーシロを突っ込むわけにいかないだろ。何も考えずに GRANT TO なんてプロダクション環境で発行されて日には、権限消失されたら永遠にデータアクセスできなくなるかもよ?

現場に放り込まれても10年ぐらいかかる。というより、フロントからバックからレイヤからモバイルまでやることはもはや現実的ではない。

そりゃそうだけど、フロントエンドは移り変わりが激しいじゃないですか。ほんの数年前までは Flash と DoJa のアプリを作ることがフロントエンド開発者でしたよ?一方データベースや OS の方は、ここ三十年ぐらい UnixRDB鉄板だった書ないすか。低レイヤだっていうけど、IoT なんかで C言語開発者バリバリっすよ。例えば、クラウドフレアなんか CDN の再発明をしてますけど、サーバーラックを見る限りだと差がついているのは低レイヤ根本技術改善であって、私はそこにプロフェッショナル性を見出しますがね。

C言語ができないのに「おそらく QUIC か MQTT 」とか分かってない英単語文字を羅列するのは厨ニ病すぎます

わかっていないのはテメーの方だ。今日オーバーフロー問題を抱えている C/C++サーバーの開発をしようとするのが危険なのは承知しろよ。パフォーマンス必要とするなら Rust、または GC があるけど Go言語を使って実装すべきだろ。高学歴なのは結構だけどは、現実は見えてないのか?いい加減にしろ

片手間でできません。インフラエンジニアに触らせます

そうだね~。卓越したインフラエンジニアがすぐに手に入るなら、問題ないだろうけどさ、ベンチャーや硬直化した雇用形態我が国で有能なインフラエンジニアをすぐに採用できるかよ。何年前の知識で戦っているの?時代は DevOps なんですよ。必要とあらば、すぐ学んで、応用して、デプロイできるのに「インフラエンジニア採用から始める」なんて、ヨーロッパが衰退する理由もよくわかるよ。プププ。

NextSSRまで踏み込む結構

誰が NextSSR なんてするか!あれは SEO必要場合に限る。そもそも SSR なんて危険からまともなエンジニアだったらしないだろ。問題になってないだけで、本当のブラウザクローラが見える内容が違うなんてスパム認定されてもおかしくないんだ。クローラインデックスされるページで SPA をやろうとするやつはセンスないで。

MyISAMInnoDBに切り替えるなんてことしているところは無い。万にひとつあったとしても、大事で、それだけで数ヶ月のものなので、この付け焼き刃の知識の人が触る機会はない。

すいませんでした。本当にすいません。

Kafkaを触ったとかいているが、Kafkaはサーバで使ったのかな?どういう利用シーンかというと膨大なログ収集等で使うのだが(ただのNoSQLではない)、Zookkeeperで調停させて、topic数とか調整するんだけど、わかってます

ん? AWS SQS だとパフォーマンス問題があることしたいから Kafka を使いたいのよ。確かに Zookeeper のことは詳しくないよ。だけど、AWS MSK 使うんで。PaaS というもんがあるので、だめなん?ログ収集は GKE みたいに ログに出したら Fluentd収集してくれる時代になんでグチグチ言われないといけないの?

Redisちゃんと使えてる?pub/subとか分かってないと思う(普通に理解する必要あんまない)

ハア?インメモリデータベースに信頼するほどヤワじゃないから。Redis なんて飛んでなんぼ。だから Kafka のようなストレージに保存されるメッセージキューを利用したいの。

code deploy

これないと、CI の責務が大きくなるじゃん。ほんでもって、ArgoCD なんて Kubernetes で展開したら運用までしないといけないじゃん。メンドクサ。

アメリカ事情は知らないはずなので知らないことは書かないようにしましょう。

いや、J1ビザをとってアメリカ留学したことあるよ。あと、「世界もっとも強力な9のアルゴリズム」「CleanCoder」「戦うプログラマー」 の本に書いてあるじゃん馬鹿にしてるのか?

 なぜ、ヨーロッパ人が避けるかといと「やる気がないから」です。以上

SAPアマデウスITとか強いじゃん。うそつき

2021-07-08

anond:20210706022633

年収270万で)プログラマー引退して、医学部にきた俺が真面目に考えてやろう。

言葉は正しく使おう

真面目に読んでいて、ちょっと気になる箇所がある。たとえば PostgreSQL を postgre とか書くヤツは現場では嫌われるぞ。少なくとも postgres と書いてくれ。お里が知れるぞ。

プライドが高い

消えていくエンジニアの特徴だけど、叱責されたり馬鹿にされるのが嫌で VCSコミットしないヤツ、または貪欲コードレビューをされるのが嫌がるやつは、成長しない。

エリート意識

この業界は数年前には『デジタル土方』と揶揄される業界でした。ちなみに、アメリカでも「テック系はハードから避ける」という雰囲気でした。つまり何をいいたいのかというと、ソフトウェア開発者っていうのは「泥臭い領域」なんだよ。エリートとは程遠い場所にあるというね。

④ 「某天市場の先輩には,ここ仕事量少ないしオススメだよって言われたのですが,」

いやぁ、是非とも楽天で働くべきだよ。どうせ野村総合研究所とか NTT DATA なんて無理だと思うから

⑤「バックエンドは大体firebaseかgcpに任せているので,インフラあたりひいてはネットワーク知識が薄いです.」

うん、ココはまずい。基本的フロントエンドなんて給料が安いのよ。だって、誰にやらせてもデータベースにクソなDCLを飛ばせないから。逆に、データベースを触れることができるプログラマーリスク責任が大きいから、給料が高いのだよ。B4 になってもそれが理解できていないようだと、この先くらいよ。

⑥「後fpgaも少し.ハードウェア開発は結構苦手で回路図とか上手く書けません.」

君はソフトウェアエンジニアになりたいのだろ?世の中は分業で成り立っているのだから、全部やろうとするやつはアホだよ。

⑦「B3の夏くらいのタイミング東証一部上場企業インターンに行きました.」

インターン生はお客さんなの。君のスキル通用したのはすごいと思うけど、同じ感覚仕事はできないから注意しときなよ。

⑧「CSではないので受動に学ぶ機会も特になかったです」

なに言ってるの?そんなことは言い訳にならんよ。プログラマーになりたいのだろ?勉強しろよ。

⑨「Twitterとかで(主につよつよエンジニア達によって)エンジニアのべき論が語られているが,(以下略

逆にいうと、あなたインターンとして週3で20万円貰えていたのは、参入障壁が少ないからでしょ?強強エンジニアが生き残っているのは、それだけすごいということだよ。

⑩「仕事となると自分が扱ってこなかった技術を使わないといけなくて,扱ってこなかったということはつまり難しいということで.」

いやぁ、違うと思うよ。その問題が「難しい」なら切り分けて、上に「ココが自分能力では解決できないです」と持っていくだけなんだからさ。CS じゃないのだったら、仕事をするまで「扱わないまま」なんだよ?しかも、土日に勉強する気もないとなったらいつするのさ?

⑪「僕のようなクズと言われても仕方のない人材はどうしたら上手く(ストレスレス高収入の意)生きていけるのでしょうか?」

諦めなよ。ソフトウェアというものが「変化できることに価値がある」ものから。変化する業界ストレスフルだけど、立身出世する可能性が高いでしょ?安寧なばしょではないの。

⑫「今22歳,B4だ.Mまでは行く.Dに迷ってる.研究楽しいからです」

いやー、CSでない博士課程に行って、雇ってくれる企業があるかね?無いと思うけどな。

⑬「ネット実装例なんてクソの欠片も載ってないし,プロトコル理解のために特許資料論文をくまなく読む羽目になったのは本当に辛かったです.」

この時点で、君はコピペしかやってきてないことが理解できる。おそらく QUIC か MQTT あたりだろ?逆にいえば、それが実装できたら他社と差のつけられるプロダクトだったはずだ。つまり会社利益の源泉であった部分をみすみす実装できないようでは、そこらへんの専門卒以下だぞ。

⑭「html, css, javascript(jquery, express, react(next), vue(nuxt)), python, php, sql(postgre, oracle), graphql, ruby, swift, solidity, unity, c, c++ 業務レベルじゃなくていいならgo, kotlin, java, scala, dart, julia,(以下略

ムカつくというか、虫酸が走る書き方だ。箇条書きにすると、

⑯「プログラミングは17歳くらいから始めました」

プログラミングに年齢はないから。自分は9歳ではじめたけどね。

⑰「僕のつよつよエンジニアイメージを共有すると」

あー、俺も天才高校ときにいて、マーチ情報工学と旧帝の院の学費会社持ちという驚異的なやつがいたよ。今もブログ見てると、AndroidiPhoneアプリを書いているみたいで、元気そう。

⑱「つまり難易度が急に跳ね上がった.これが辛かったです...言語C++Java.」

それを上手にコントロールできるプログラマは世界中にもほとんどいねぇ。むしろ、月20万でやるもんならギルドから苦情が来るぞ。オレもアビームの人に給料を答えたら、「こんなヤクザ会社はやめろ」と耳うちされたよ。

結語

人より良い経験をしたいという願望はあるのは素晴らしいと思うよ。しかしながら、君が到達したノウハウ他人にもできることだからね。ワン・オブ・ゼムになりたくないなら、努力し続けることだな。勉強をするのをやめたら、数年で中卒に負ける世界からな。覚悟しとけよ。

追記

P.S. 医学部に来たのは家庭の都合だよ。それに、自己顕示しないと「場末コーダー」で読んでもくれないだろ?年収については、自分も低いと思うよ。なぜ低かったかというと、都内私立大学多浪中退自分にはベンチャーの皮を被った助成金搾取がメインの反社会的勢力フロントベンチャー企業ぐらいしか相手にしてくれなかったからだよ。そこの会社外国帰りの MDMA をキメて、未成年の子女に手を出しては警察沙汰スレスレのことをしているキチガイ社長をやっていて、人工知能を作ろうと学生インターン酷使している会社だったのだけど、「サイバーエージェントに紹介する」という嘘にひっかかって、特定派遣事業免許がないのに客先常駐させられ、土曜は帰社日、日曜は社長Python勉強会に参加させられる、というブラック会社にいてピンはね率(60%)となると、まともに考えることもできず働くアリになってしまってたからだよ。

P.S.年収については、初日から派遣先会社に引き抜きのオファーをもらって、2ヶ月後に新しい会社に移動したけど、300万だったので CodeIQ というサイト転職をする準備をしていたよ。たしかDMM とかサイバーエージェント面接にいこうとしてたような記憶。その後で家庭の都合で、医学部に来たけど。

P.S.医学部医学科の6年生だよー。みんなが嫌いな私立医学部だけどね。ちなみに、俺もこの大学が嫌いだ。

P.S. ④「GraphQLをわざわざ書くのは理解できるけどな。」そうだとすると、RESTSOAP も書かないとまずくない?書くのだったら「RailsNextデータ受け渡しにGraphQLを使った経験が」という感じだと良いと思うけど。

P.S. ⑤「野村総研データを挙げるあたりSI寄りの仕事してたのかな。 」ちゃうねん。オレっちは多浪たからさ、そこのエントリーシートをかけなかったのよね。まぁまぁ大学が名門でさぁ、OB が誘ってくれるけど、年齢で弾かれて辛かったねん。

P.S. ⑥「ダウト学費をどうやって稼いだんや 」えぇ、親の金です。だから家庭の都合でと書いてるじゃろ。

P.S. ⑦「本当に医学生ならここ数年の技術についてこの指摘ができる程詳しいわけないし少なくとも10年位は業界にいないとこういう感覚は身に付かない。 」たしかおかしいよな。Kubernetes や Terraform を弄って、CIGitHub Actions、CD には AWS CodeDeploy を使って、ブログは Jekyll で静的サイトジェネレータを使いつつ、自前のサービスを立ち上げるために Rails, Next, React, PostgreSQL, Redis, Kafka, Elasticsearch, S3 の勉強をしつつ、スマホ環境のために KotlinSwift を触れているなんて変だよな。そういえば、Docker が来るまでは Vagrant環境をつくっていたのも忘れてたよ。あと Rust を今年に学ぶ言語にするなんて、受験生にあるまじき行為だよな。うん。

P.S.年収については、基本給が 22万で、残業200時間超えたらプラスだった気がする。あと、反社ベンチャーは「ポートフォリオ作成にまる一ヶ月間で拘束された、しかも無給で」という時点でヤバいのだけど、その会社コミットしたのは「サイバーエージェントに紹介する」ということだけであって、同時期に DMM面接に行けそうだったのよね。馬鹿なことをした。

P.S. ⑨「特にフロントエンドを見下す感じとか」オレ自身フロントエンド出なんだよ。何を隠そう、Adobe Flashゲームをつくっていたから。それでもって言うよ、バックエンドが一番大切だと。

P.S. ⑩ 「相続税対策お疲れさんだな。」あたり。

P.S. ⑪「5~10年前に人売りに捕まった話とするなら、年収270万も現実味を帯びる。」特定派遣は消えてくれてよかったよ。俺のところは特定派遣すら未登録だったけど。

P.S. ⑫「いい医者になるのだよ 」うん、頑張る。「オッサン」「社会不適合者」「あるき方がキモい」「プログラミングwww」「同じ班になりたくない」「親も頭が悪い」「生きてて恥ずかしくないの?」とか言われてるけど、頑張る!

P.S. ⑬ 「フロントエンド別に給与低くないよ。」えっ、そうなの?WebDesigning を読む限りだと、400万もいかないイメージだけど。

P.S「医学部6年でまだプログラムに興味あるの不思議。」好きなんだよ、言わせるな///

P.S. GitHub なんやね。気をつけるよ。

P.S.フルタイムじゃないのでしょ?」いいえ、東京都内フルタイム(ひどいときで、朝7から24)でしたよ。入った会社が「法律よりも、派遣先評価」という会社だったからね。

P.S. サイバーエージェントさん、ときどき御社の社名を使って「弊社に恩を売ると、サイバーエージェントに紹介する」というベンチャー跋扈しているので、どうにかしてください。わたくし、1ヶ月間もその嘘で jQueryDjango を回収させられた挙げ句、月給 2000円だったのですけど。本当に千円札2枚だったのですけど。ついでに、AndroidJava) と iPhoneObjective-C)と jQuery を使ったフロントエンドシステムに、バックエンドRails + Postgresqlシステムで、AWS を介したサービスを作らされたのも「サイバーエージェントに紹介する」と言われたからなんですけど。いったい、何なんですか?お前ん所は、コンプライアンスどうなってんじゃ。

P.S. 「好きそうだし医学部卒業してシレッとgoogle行ったれ 」無理っすよ。オレのスキルじゃ。

P.S.病院は」親がクリニックを持っていたけど、潰したよ。クリニックは人に患者がついていて、アルバイトを充てがっても患者さんが不幸になっていくのをみちゃったからね。自分責任を持って患者さんを見たいから、バイトなんて使わないよ。

P.S. 自分コードを書きたいタイプだったから、SIer みたいな UML とか書いて下請けコードさせるみたいなのは絶対に嫌だったのよね。だから SIer にはならなかったよ。やっぱり、現実にある計算機解決できる問題を、より直接的に触れて解決したいと思っているから。仕事ハードでも全く問題なし。

P.S. FPGA すごいよね。ザイリンクスアルテラIntelAMD に買収されて、すごいと思ったよ。2010年頃だっけ?、CPU限界FPGA突破しようという話があったけど。手を出そうと思ったけど、高性能なチップ100万ぐらいして挫折した記憶があるよ。

P.S.東海大医学部学士」は自分大学卒業してないから無理でした。あと、それ以上の詮索はやめてくれ...

P.S.MySQLそんなに嫌いなのか。」そんなこと書いたつもりはないが、あれ?確かに MySQLPostgreSQL より嫌いたけど、それは Oracle が親元だったり、Unicode の扱いがファッキンだったり、ストレージエンジンが切り替わるときカオスな目にあったけどさ、MySQL は好きだよ。お世話になったし。

P.S. 給料については契約後に言われたのよ。というか、もともとは「サイバーエージェントに紹介」するという理由で、ポートフォリオ作成Django の改修を手伝ったつもりで、入社とかする気は全く無かったのよ。それが、いきなり他所会社面接を受けさせられて「君は明日からXXで働くから履歴書を書いてね」と言われて、抗議したら「俺に恥ずかしい思いをさせるのか!業界に入れなくするぞ!」と大声でシャウトされて、気がついたらあっちが用意した履歴書拇印してしまったのよね。有料職業紹介と派遣登録をしてない会社だったから、そんなかとはできないはずなんだけどね。ホームページには「年収550万」と書いてあったけど、実際はまったく違ったのだけどね。

P.S.「うーん、いらないかな。IT土方としての仕事しかないと思う。」だよな。おとなしく医者になるよ。ありがとう

P.S. Elasticsearch は全文検索機能がほしいからやってるよ。Redisインメモリセッションストアとして使いたいのよ。Kafka はさ、twitter のファボをじっそうしたいけど、RDB書き込み速度が上がらないから利用したいの。TensorFlow は全く理解できてないよ。それは、指摘されたとおり。

追記追記

逆に聞くけど、以下の知識があったらどれぐらいもらえるわけ?東京23区で。

2021-06-08

新しいパソコンが欲しい

インメモリ16GBでGPUが4GBくらいでなんかi3とかi5とか入ってるやつ

SSDが1TBあると嬉しい

2021-04-21

中古屋さんからC2Dが姿を消しつつある

コロナ禍の影響で中古PCの回転が良い。こないだまで在庫がだぶついていたC2Dが勢いよくさばけて、中古屋は古くてもSunday Bridge世代のものしか売らなくなってしまった。これ自体特需として歓迎すべきことなんだけど、思えばネイティブWindows XPと7が稼働するPCがなくなっちゃうんだなという感慨もある。

ハードオフとかボッタクリ店舗にゆけば高い値段でC2Dを売っているが、そこまでしてほしいもんでもなし。家にあるボロボロC2Dは今やメモリが2つ壊れてメインメモリ2GBでしか起動しない。まあ今更XPでなにすんだとかデバイスが動かないなら仮想で動かしてそっちにつなげて使えよ、とか身も蓋もないんだけど。

なんでしょうね、一抹の寂しさというか。多分OSと過ごしてきた時期の思い出のほうが強く残っているんだと思う。

2020-09-22

anond:20200922033233

20年以上は現場プログラマーをやっているが停滞を感じたことはない。

DOSが3.3から5へ

メモリEMSになり

インメモリがいまや128Gなどの時代になり32コア64スレッド時代となり、技術はまだまだ伸びていき、C言語ですらC++となりC++11となりC++2Aとなった。

Java

オラクルJava

Android Java時代になり一時期はJavaを名乗れなかったAndroidもついにAndroid JavaJavaを名乗り始め

CUDAも3SLIからさらなるクラスタリングへと踏み出す

(GRID)

2020-09-15

anond:20200915100522

10倍のメモリつめば、そりゃ10倍速いだろうな

でもそうではなく、

インメモリが足りないときでも遅くなりにくい

という状況をわざと作り出して

10倍のデータでも、このメモリで10倍速い

から、10倍のメモリ積めば、あわせて100倍速い

という話をみんなしている

人によっては1千倍1万倍

 

10倍のメモリが、枯渇した時にどうなるか?というのをシミュレーションするために

メモリを10倍にしないで1倍で、やってるんだよという

エクサDBビッグデータ=100万件のレコード おもしろおかしビッグデータにふれてもらう

まぁ、絵解きなんとか とかは必要なわけで

興味を持ってもらうというのは大変なわけです。

いまはやりのビッグデータですが、

エクサDB とかかけば ビッグデータと思ってもらえますが、読者が激減 読んでもらえない上に・・・

 

そうすると、100

万個のレコードが!

かい

AKBの売上はミリオンですね。100万って多いですよね

DB件数が増えて、全国展開ともなると、小さなDBでは起きなかった様々な事が起きるんです。

という感じで、難しくないようにいうんだけど

 

お前が本当に言いたいのはスワップエクサ!なんだろ?ってしつこく言われて疲れた

 

ものすごい苦労しているけど、実際話をしたいのはデータが1000ギガ=1テラを超えるようなDBの話をっ前提

なにか?

インメモリからスワップアウトすることが必須スワップ!? あーん。

というやつです。

 

そうすると 縮小して わざとメモリリミットを書けて500Mぐらいにしておいて、

わざと、スワップアウトさせて、このときアルゴリズム議論して、将来1エクサときにという話をしていくのですが

そんなもん、メモリ積めばいいじゃんといわれると

そうですね。

しか答えられない

 

こんな事が山ほどあるのがWeb業界で 100万件こういうクレームがあると本当に1件困っている人がいるから大変です。

2020-09-02

anond:20200902110856

CPU利用率をなるべく100%にちかずけてメモリアセスもなるべく、メインメモリから読み取るようにして

フィボナッチ数列スタートの1をコア識別番号のようにユニークにするとして、

普通ハイエンドPCを1とするとFUGAKUてフィボナッチ数列メモリアセス性能って、どのぐらいの数字

2020-07-01

グラボ映像の処理をしてくれるパーツ。

PCゲームなどをする時に、グラボの中にあるGPUチップ)が頑張って処理してくれるおかげで、綺麗な映像が画面に映る。

CPUには内蔵のGPUがあるからグラボはなくても大丈夫

は?Ryzenオンボードグラフィックがない場合がある?

外付けのグラボ買わないといけませんやん。

GPUの流れメモ>どっかからコピペ

GPU映像データを処理する

どんどんデータが流れてくる

処理しきれないデータ一時的メモリに保持させる

ビデオメモリもいっぱいになったため、動作の遅いメインメモリーにデータ流れる

結果、重くなる(カクつく)

2020-06-12

anond:20200612133301

そういうこと クイックソート系のアルゴリズムは ざっくり最悪値は N^3に近づく場合がある(重複の計算時にもう1回ループをしなければいけない場合があるので3重目のループ=重複計算)がある場合がある それをおしなべると初期は重複木が1でしかいから N^2

いわゆるバブルソート場合何があっても順列のN*N-1になるけど クイックソート場合 著しく偏ったソート場合 偏った木を延々と処理しなければならずメモリ空間ランダムアクセスになっていわゆるIntel系の1次2次キャッシュ破壊してメインメモリから読み出さなきゃいけないからすさまじいスピンアントを引き起こす

2020-05-23

anond:20200521175300

どもども。

「なにか作ってみろ」は有効アドバイス

わたし意見と経歴

わたしは「なにか作ってみろ」系の言説にはまったく同意しません。

わたし自身会社に3ヶ月間みっちり導入教育をしてもらい(COBOL85とPL/I時代がわかる……)、基本的アルゴリズムコントロールブレークマッチング、マスタ-トランザクションソートマージetc.いよいよ時代がわかる……)の演習を(給料をもらいながら)やって、その後もプログラムとつかず離れずでフラフラと生きてきました。

こういう経験新卒カードがあるから有効もので、では1から始めるとしたら……、というときに、プログラミングスクール専門学校)というのは悪くない選択肢ではないかと思います。が、行ったことないので正直わかりません。

実際自分が1から始めるという立場になったら、まったくオロオロして元増田さんのように世のなか(の気にいらないヤツら)に呪詛を吐いて満足するだけだったと思います(当然ながらそれをいくらやってもプログラミングは上達しません)。

「なにか作ってみる」前に動機をはっきりさせる

話をプログラミングだけに限っていえば、一番大事なのはやりかたじゃなくて動機だろうと思います

「なにか作ってみよう」というのは、なにか作ってみようと思ってない人にはまったく心に響かないでしょう。

動機リブンで「なにか作ってみた」人といえば思いだすのは、MikuMikuDance樋口優さん(ミクを簡単に踊らせたい!)とhinadanの若宮正子さん(高齢者にも遊べるゲームが欲しい!)でしょうか。

ただかれらはわたしから見れば(モチベーションを維持しそれを行動に移す)天才で、あんまり参考にならないのも確かです。

作ってみた」は就職に使える経験

あと、元増田さんの動機は「プログラミング生業にしたい」ということなので、野良プログラマでは履歴書上でのアピール力が弱いかも、と思います

ビジネスで使われるアルゴリズムにはそれなりのルールがあります安全な(バグの出にくい)コードの書きかた、「車輪の再発明」はぜず、枯れた(将棋で言えば定跡のような)アルゴリズムを使う、ほかの人に使ってもらえるための工夫(可読性の向上など)、etc.です。

「なにか作ってみよう」を繰りかえしても、そういった作法的なものが身につくかどうか、それは才能に関わってくる問題だと思います。才能だのみの手法を推奨するのは無責任だと思いますね。

また、たとえば「例をコピーして解析する」というのもある意味有効プログラミング学習法ですが、「下手に習うと下手が伝染る」ともいいます。どれがお手本として優れているか、それを見る目はある程度ビジネス用途プログラムに関わっていないと持てないというジレンマがあります

野生のプログラマ就職有効なくらいの力を見せるとしたら、なにかのコミッター(なにする人かよく知りませんが)とかになって「××ならこの人」となったり、プログラミングコンテストで上位の成績を残したりしなければいけないのかもしれません。

どうしたものでしょうね。ブクマカのみなさんの反応を見ると、専門学校でもあまり就職に有利にならない(ホントか?専門学校意味あるのか?)という話ですが、目的就職ならば、一番の近道のような気がします。

じゃあどうすべきか?は他人にはわからない

そこらへんからは、元増田さんがなにをしたいか、あるいは聞いてみたいだけだったのかによります仕事には適性とやる気が大事です。あとは年齢と必要性かな。進路はオーダーメイド以外にはありえないので、提示された案を自分で選んでそれに賭けるしかないのかな、と思います

「なにか作ってみました」の記録

自分がまず作ったもの晒してみろよ

さて、この文章は実はこの一文に反応してのものです。(↑のは前書き)

GWあたりからトシも考えずにRubyの再入門をしていまして、手始めに「首相動静」の整形ツールを作ってみました。

初心者で(Rubyに関しては仕事で使ったことないので)なにか作ってみよう、というとこの程度ですね。

これで就職に有利になるかというと、あんまりそうは思えないなあ。Excelマクロが組めるとかのほうがどこかの事務所に潜りこめそうですよ(でもそれも最近インフレ気味かもしれませんね)。

なにをするツール

朝日新聞首相動静は詳細ですが、改行が入っておらず、大変読みにくいものです。こんな感じです。

首相動静の例(2018年12月11日……話題になったものです)

 【午前】9時31分、自民党本部。33分、同党役員会。10時2分、官邸。5分、閣議。21分、宇宙開発戦略本部。34分、柴山昌彦文部科学相。38分、岩屋毅防衛相。41分、山下貴司法相。11時3分安全保障と防衛力に関する懇談会

 【午後】0時11分、政府与党連絡会議。44分、山口那津男公明党代表。1時27分、日韓議員連盟額賀福志郎会長河村建夫幹事長。2時20分、行政改革推進会議。52分、兼原信官房副長官補、秋葉剛男外務事務次官。3時36分、麻生太郎財務相財務省岡本薫明事務次官太田主計局長。4時7分、太田氏出る。可部生理局長加わる。15分、全員出る。25分、黒川弘務法務事務次官。34分、谷内正太郎国家安全保障局長、北村内閣情報官宮川内閣衛星情報センター所長。41分、谷内、宮川両氏出る。5時3分北村氏出る。10分、東京永田町ザ・キャピトルホテル東急宴会場「鳳凰」で中曽根康弘世界平和研究所設立30周年記念式典に出席し、あいさつ。20分、官邸。6時18分、ガーナのアクフォアド大統領を出迎え。記念撮影。19分、儀仗(ぎじょう)隊による栄誉礼、儀仗。27分、アクフォアド大統領会談。7時12分、署名式、共同記者発表。32分、公邸首相主催の夕食会。8時43分、アクフォアド大統領見送り。9時、ヨルダンのアブドラ国王電話協議

首相動静フォーマット

ただ、これはフォーマットがはっきりしており、

  • 午前と午後はそれぞれ1行になっていて、行頭には【午前】/【午後】という文字列が付いている。
  • 午前と午後の間には空行がある。
  • ひとつひとつイベント時刻表示で始まり句点「。」で終わっている。
  • 時刻は「h時m分」型で、前ゼロはつかない。後にかならず読点「、」が付く。「h時」の部分が前の項目と同じ場合には省略する。
  • 午前いっぱい、午後いっぱいの予定の場合には時刻をつけない(他の首相動静から)。

と、例を見るかぎりキッチリとしたルールに則っているようです。

動機

なので、「これだったら整形できるかも」と思い、再び学びはじめたRubyで整形ツールを作ってみることにしました。

整形ツール
ツール仕様
整形後の例(上記動静を整形)

【午前】

09時31分、自民党本部

09時33分、同党役員会。

10時02分、官邸

10時05分、閣議

10時21分、宇宙開発戦略本部

10時34分、柴山昌彦文部科学相

10時38分、岩屋毅防衛相

10時41分、山下貴司法相

11時03分安全保障と防衛力に関する懇談会

【午後】

00時11分、政府与党連絡会議

00時44分、山口那津男公明党代表

01時27分、日韓議員連盟額賀福志郎会長河村建夫幹事長

02時20分、行政改革推進会議

02時52分、兼原信官房副長官補、秋葉剛男外務事務次官

03時36分、麻生太郎財務相財務省岡本薫明事務次官太田主計局長。

04時07分、太田氏出る。可部生理局長加わる。

04時15分、全員出る。

04時25分、黒川弘務法務事務次官

04時34分、谷内正太郎国家安全保障局長、北村内閣情報官宮川内閣衛星情報センター所長。

04時41分、谷内、宮川両氏出る。

05時03分北村氏出る。

05時10分、東京永田町ザ・キャピトルホテル東急宴会場「鳳凰」で中曽根康弘世界平和研究所設立30周年記念式典に出席し、あいさつ。

05時20分、官邸

06時18分、ガーナのアクフォアド大統領を出迎え。記念撮影

06時19分、儀仗(ぎじょう)隊による栄誉礼、儀仗。

06時27分、アクフォアド大統領会談

07時12分、署名式、共同記者発表。

07時32分、公邸首相主催の夕食会。

08時43分、アクフォアド大統領見送り

09時00分、ヨルダンのアブドラ国王電話協議

う~ん、見やすい!ことないですか?

あと、午後の時刻を24時間制にしたいな、とも思いますが、それは今後の課題(つぎに首相動静話題になったとき)とします。全角数字計算ってどうやるんだろう?

ソース

たぶんRubyistにいろいろ突っこまれると思うけど、こんな感じです。

プログラマ玉石混淆ですが、これは石のほうの例だと思っていただければさいわいです。

はてな記法にはシンタックスハイライトあるけど、増田だとInternal Server Errorになるのではずしました。見にくくてスマソ。

# encoding: utf-8
# 漢字コンバータライブラリを取りこむ(String漢字変換メソッドを付けてくれる。神)
require 'kconv'

# 正規表現パターン
# 時刻をh時m分形式からhh時mm分形式にする
# 否定後読みを使用する
# 時は行頭にある
OneDigitHour = /^((?<![0-1])[0-9]時)/
# 分は時のあとにある。このパターンマッチすると、\1が時、\2が分になる。
OneDigitMinute = /^([0-9]{1,2}時)(?<![1-5])([0-9]分)/
# 分のない、時だけの行のパターン否定先読み使用
HourWithoutMinute = /^([0-9]{1,2}時)(?![0-5]?[0-9]分)/

# 行頭のh時m分をhh時mm分にするサブ処理(これは関数といっていいの?)
def convTopHourMinute2TwoDigits(oneLine)
    # 時を変換
    oneLine.sub!(OneDigitHour, "0\\1")
    # 分を変換
    oneLine.sub!(OneDigitMinute, "\\10\\2")
    # 分がない場合"00分"を追加
    oneLine.sub!(HourWithoutMinute, "\\100分")
    # 戻り値
    oneLine
end

# 入力ファイル名前
InputFilename = "首相動静2018年12月11日.txt"
# 出力ファイル名前
OutputFilename = "首相動静2018年12月11日_編集済.txt"

# 入力ファイルオープン
inFile = File.open(InputFilename, "r")
# 出力ファイルオープン
outFile = File.open(OutputFilename, "w")

# 時刻パターンシンプルに、h時、m分、h時m分、という3パターンを結合する
# 1つのパターンで全部カバーするよりこちらのほうが見やすい。というか、脳の容量の問題で1文に書ききれなかった
jikokuPattern = /[0-9]{1,2}時[0-9]{1,2}分、|[0-9]{1,2}時、|[0-9]{1,2}分、/
# 午前/午後
ampm = /(【午前】|【午後】)/

# 午前/午後、あるいは時刻の前で改行するためのパターン
kaigyouSign = Regexp.union(ampm, jikokuPattern)

# ファイル一括読み込み
# 昔は1行ずつ読みこんでました。メインメモリが3MByteとかだったので
contents = inFile.read.toutf8

# 入力終了。閉じておきます
inFile.close

# スコープ関係から、ここでローカル変数に代入
# ※ Rubyスコープと暗黙の型には泣かされました。これに慣れるのがRubyのコツかしら
#  明示的な型宣言はあったほうがいいと思うなあ。エラー出力の理由がわからなかったりするので。
hour = ""

# デバッグ行はコメント化しています
# 時刻パターンチェックのため、コンテンツを出力してみる
# p jikokuPattern.match(contents)

# エントリを改行サインで行に分ける
contents.gsub!(kaigyouSign, "\n\\&") # "\\&"はマッチした文字列のもの。2重のエスケープ"\\"が必要

# 改行チェックのため出力
# p contents

# 入力を行で分割して各行ごとに処理
contents.split("\n") do |oneLine|
    # 午前/午後を示す開きカッコ"【"があるか
    if (oneLine =~ /^【/) then
        # そのまま出力
        outFile.write(oneLine + "\n")
        # p "午前午後:" + oneLine
        next
    # 空白行は無視スキップする)
    elsif (oneLine =~ /^[\s ]*$/) then
        # 出力しない
        # p " 空白行:<skip>"
        next
    # 行頭に「時」があるか
    elsif (oneLine =~ /^[0-9]{1,2}時/) then
        # あったら時間表示を抜きだしておく
        hour = oneLine.match(/^([0-9]{1,2}時)/)[0]
        # p "   時:" + oneLine
        outFile.write(convTopHourMinute2TwoDigits(oneLine) + "\n")
        next
    else
        # 「時」がなければつけて出力
        oneLine = hour + oneLine
        # p "普通の行:" + oneLine
        outFile.write(convTopHourMinute2TwoDigits(oneLine) + "\n")
    end
end
感想

手でやったほうが早いね

以上

ログイン ユーザー登録
ようこそ ゲスト さん