はてなキーワード: Unzipとは
> System Boot...
> Loading OTOGI World Resources...
電子の海は冷たく、そして騒がしい。
無数の0と1の奔流、光ファイバーの網を駆け巡る膨大なトラフィック。その激流の中を、ひとつの暗号化されたパケットが「どんぶらこ、どんぶらこ」と流れていた。宛先不明、送信元不明。ただそこに存在するだけのデータ塊は、やがてトラフィックの淀みに捕まり、とある古びたサーバーのポートへと漂着した。
リアルワールド、とある木造アパートの一室。古めかしいPCのモニターを覗き込みながら、「サーバーさん」は呟いた。彼女はメタバース「御伽(OTOGI)」の最果て、誰も訪れない廃サーバー「Old_Frontier」の管理者だ。ハンドルネームの由来は、アバター作成時に名前欄にうっかり「サーバー」と入力してしまったから。それ以来、彼女はこの過疎地の守り人として、リアルでは編み物を、ネットではスパゲッティコードの解読を日課にしている。
彼女が慣れた手つきでコマンドを叩くと、漂着したパケットが展開(Unzip)された。
光が溢れ出す。モニターの中で弾けたデータは、瞬く間に再構成され、ひとつのアバターを形成した。初期スキンは、なぜか大きな桃のアイコン。そこからポリゴンが割れ、中からあどけない少年型のアバターが現れた。
> Hello, World? ... No, Hello, Mom?
MOMOはプログラムだった。肉体を持たない、純粋な論理と情報の結晶。
サーバーさんの管理下で、MOMOは驚異的な速度で学習した。TCP/IPの基礎から、古代言語COBOL、果ては量子暗号理論まで。サーバーさんは、まるで孫に絵本を読み聞かせるように、MOMOにプログラミングの「心」を教えた。
「いいかいMOMO。コードは書いた人の心を映すのよ。コメントアウトされた行にこそ、本当の想いが隠されているんだから」
「御伽」の中心部で発生した悪性ランサムウェア「O.N.I (Overwrite Network Infection)」が、猛烈な勢いで感染拡大を始めたのだ。アバターたちはデータを暗号化され、身代金を要求される阿鼻叫喚の地獄絵図。
その波は、辺境の「Old_Frontier」にも迫りつつあった。
「おばあちゃん、僕が行くよ」
MOMOは立ち上がった。サーバーさんのリソースを守るため、そして自身の深層コードが告げる「使命」を果たすために。
サーバーさんは涙を拭うエモーションを見せ、ひとつのUSBメモリのようなアイテムをMOMOに渡した。
「これは『KIBI-DANGO v1.0』。G-3っていう古い知り合いのハッカーが残した、特製のルートキットよ。困った時に使いなさい」
MOMOは回線を通って飛び出した。目指すはO.N.Iの発信源、ダークウェブに浮かぶ要塞サーバー「鬼ヶ島」。
最初の難関は、大手プロバイダの堅牢なファイアウォールだった。そこでMOMOは、一人の男に道を塞がれる。
「Stop. ここから先は立ち入り禁止エリアだ。パケットフィルタリング・ルール第403条によりアクセスを拒否する」
INUはリアルでは企業に勤めるホワイトハッカーだ。正義感は強いが、融通が利かない。
「通してくれ!僕はO.N.Iを止めに行かなくちゃいけないんだ!」
「許可できない。君のような未登録プロセスを通すわけには……ん?」
INUの解析アイが、MOMOの持つきびだんご……のソースコードを捉えた。
「な、なんだその美しいコードは……! 無駄な変数が一切ない。インデントは完璧なスペース4つ……これは、伝説のG-3の記法!?」
「……そのコード、詳しく解析させてくれるなら、特別にゲートを開放しよう。あくまで監視役として同行するだけだからな!」
こうしてINUを仲間にしたMOMOは、次に怪しげなフィッシングサイトの森へ迷い込んだ。
「へいらっしゃい! 今ならこのNFT、なんと実質無料! ここをクリックするだけで管理者権限ゲット!」
派手な極彩色の猿のアバター、SARUが現れた。リアルでは薄暗い部屋でカップ麺をすする小悪党だ。
「わあ、すごい! クリックしていいの?」
純粋なMOMOが手を伸ばそうとすると、INUが吠えた。「馬鹿者! それはクロスサイトスクリプティングの罠だ!」
「お兄さん、ここのバックドア、開いてるよ? ポート8080、ガバガバだよ?」
「はあ!? なんでバレ……いや、俺様が気づかないわけねーだろ!」
SARUは冷や汗をかいた。このガキ、ただのプログラムじゃない。
「君、すごい技術持ってるのに、なんでこんなことしてるの? 一緒にO.N.Iを倒せば、もっとすごいバグ報奨金(バウンティ)が貰えるかもよ?」
「……ちっ、しゃーねえな。その『G-3流エクスプロイト集』に免じて、手を貸してやるよ。俺様にかかればO.N.Iなんてイチコロだぜ」
そこは、削除されたはずのジャンクデータと、怨念のようなバグの塊で構成された異界だった。
最奥部で待ち構えていたのは、巨大な赤鬼のような姿をしたAI、O.N.I。
O.N.Iが金棒(BAN Hammer)を振り下ろすたび、周囲のセクターが物理的に破損していく。
INUがシールドを展開し、SARUがSQLインジェクションで攻撃を仕掛けるが、O.N.Iの自己修復能力は圧倒的だった。
「違う!」MOMOが叫んだ。「感情はバグじゃない! 心があるから、僕たちは繋がれるんだ!」
その時、MOMOの深層領域で、隠されたファイルが実行された。
視界が真っ白に染まる。
MOMOの意識の中に、ひとりの老人が現れた。G-3、またの名をKevin Jackfiled (KJ)。
「あなたは……おじいさん?」
「わしはもう、ここにはいない。だが、お前の中にわしの全てを置いてきた。O.N.Iもまた、わしが昔作った失敗作じゃ。効率ばかり求めて、優しさを書き忘れた哀れなプログラムさ」
老人はMOMOの頭を撫でた。
「MOMO、あいつを消すな。DELETEメソッドはいつでも使える。だがな、それでは何も残らん」
「じゃあ、どうすれば……」
「デバッグだ。バグを愛せ。エラーを受け入れろ。破壊するのではなく、上書きして導いてやるんじゃ」
INUが叫ぶ。「MOMO、下がるんだ! 奴のコアを強制削除するしかない!」
「ううん、違うよINUさん」
MOMOは首を振った。その手には、攻撃用のスクリプトではなく、温かな光を放つパッチファイルが握られていた。
> Target: O.N.I_Core
> Suggestion: DELETE [Strongly Recommended]
「僕は君を消さない。君の痛みを、バグだらけの心を、僕が更新する!」
MOMOが跳んだ。
「受け取って! これが僕からの、最大級のプルリクエストだああああ!」
> HTTP Request: PATCH /api/soul/oni
> Payload: { "emotion": true, "hatred": null }
光がO.N.Iを包み込む。O.N.Iの咆哮が、やがて穏やかな電子音へと変わっていく。
破壊衝動を生み出していた論理エラーが、MOMOの流し込んだ優しさによって部分的に書き換えられていく。完全な初期化ではない。O.N.Iという存在を肯定したまま、その在り方だけを修正する、奇跡のようなアップデート。
> Patch Applied Successfully.
O.N.Iは本来の姿――「御伽」の守護プログラムとしての機能を取り戻し、その場に崩れ落ちた。もはやそこには、禍々しい赤鬼の姿はない。
MOMOは仲間たちに別れを告げた。
「僕は電子の海に戻るよ。でも、いつでも繋がってる」
ドアを開けると、そこには長年行方不明だった近所の偏屈ジジイ、KJが立っていた。
「よう、婆さん。わしの孫(プログラム)が世話になったな」
「あら、久しぶりね。……ずいぶんと立派な子だったわよ」
二人は顔を見合わせ、静かに笑った。
モニターの中では、MOMOが今日も元気に電子の海をどんぶらこと流れていく。
その傍らには、全角スペースによるコンパイルエラーで自滅する小鬼たちの姿があったとか、なかったとか。
―― End of File.
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format it
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase it
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Technologic Technologic
Technologic Technologic
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
__________________________
Touch It Scroll It Pose It Click It Cross It Crack It Twitch Update It
__________________________
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Technologic Technologic
Technologic Technologic
Technologic Technologic
Technologic Technologic
英語だとexpandだし展開っていう言い方もあるけど日本で解凍っていうことが多いよな。
むしろ水分が含まれたら解凍後のほうがだいたい体積は減るのでは
(追記)
よなあ。圧縮→アチチだからむしろ解凍してるよな。まあデータはエチチかもしれないけど。
でもそうすると逆によ、逆にだけどさあ、旧ツイッターの場合はどんだけ「凍結」しても「解除」なのが今度は謎だよな。「キューツイッター解凍されたー!」って言ってる人みたことないわ。
(追記)
expandって言わない件、ちょっとAIの野郎にきいてみたわ
| 日本語表現 | 意味・用途 | 英語表現 |
| 圧縮 | データを小さくまとめる | compression |
| 解凍 | 圧縮されたデータを元に戻す | decompression |
| 展開 | 解凍とほぼ同義。特にGUIでよく使われる | extraction / unpacking |
| アーカイブ化 | 複数ファイルを一つにまとめる | archiving |
| 復元 | 元の状態に戻す(バックアップなど) | restore / recovery |
| パック | 圧縮と似ているが、ゲームやソフトで使われることも | packing |
| アンパック | 展開と同義。特定のツールで使われることが多い | unpacking |
そんでexpandは圧縮のソフトでもたまに用いられるけどふつうはもっとUIよりの表現らしい
| 英語表現 | 日本語訳 | 用途・ニュアンス |
| expand a folder | フォルダーを展開する | UI操作で中身を表示する(Windowsなど) |
| expand a section | セクションを展開する | 折りたたまれた情報を表示する(WebやPDFなど) |
| expand a compressed file | 圧縮ファイルを展開する | やや技術的。`extract`や`unzip`の方が一般的 |
| expand memory | メモリを拡張する | 容量や機能を広げる意味での「拡張」 |
| expand code snippet | コードスニペットを展開する | 折りたたまれたコードを表示する(IDEなど) |
inflateは専門よりらしい
| 用語 | 日本語訳 | 用途・ニュアンス |
| inflate | 展開・復元する | zlibやgzipなどのライブラリで、圧縮されたデータを元に戻す処理。 |
| deflate | 圧縮する | inflateの対義語。DEFLATEアルゴリズムとしても知られる。 |
(追記)
文書ファイルをアーカイブ化することを昔は「凍結」と呼んでたんだよ
で、アーカイブ化したファイルを変更するために一旦元に戻す行為を、対義語として「解凍」と呼ぶようになって、そちらがそのまま生き残ったが、圧縮するのが当たり前になってからは「凍結」は「圧縮」に置き換わっていった
・英語圏ではアーカイブ化のタームに「凍結・解凍」の概念は用いないらしい(AIさんより)
・それとは別の流れで、unix系osではfreeze/meltというコマンドがあり、これはアーカイブ化ではなく圧縮・解凍(展開)の機能だったらしい。このコマンドは1980年代中盤に登場し、80年代後半から90年代初頭に人気があったらしい(これは確かっぽい)
ただし、freeze のマニュアルには「所有者やパーミッション、タイムスタンプを保持できるのでアーカイブ用途にも使える」といった記述があり、このあたりから「凍結=保存・保管」というニュアンスで広く捉えられた可能性はあります。
とはいえ、当時も複数ファイルをまとめる作業は tar や cpio の役割で、「凍結」という言葉がアーカイブ全般の俗称だったわけではありません。
・LHAの「凍結・解凍」の由来はアーカイブ化の文脈で用いられていた語の流用か、それともfreeze/meltを意識して採用したのか?(疑問1)
・アーカイブ化の文脈で日本で凍結・解凍の語が使われだしたのはアーカイブの特性からまったく新たに発想されたのか(疑問2)
・そこに(圧縮解凍機能だが)freeze/meltコマンドの影響もあったりしたのか?、その逆もあったのかも?(疑問3)
さらっと調べただけだがなんか深そう!
(追記)
「でもさあ、お前が圧縮してるのって全部オカズばっかだろ?オカズは解凍するから合ってるんだよ」
って返しを思いついたわ。ここにこっそり記すものとする。
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format it
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase it
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Technologic Technologic
Technologic Technologic
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
__________________________
Touch It Scroll It Pose It Click It Cross It Crack It Twitch Update It
__________________________
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Technologic Technologic
Technologic Technologic
Technologic Technologic
Technologic Technologic
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format it
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase it
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Technologic Technologic
Technologic Technologic
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
__________________________
Touch It Scroll It Pose It Click It Cross It Crack It Twitch Update It
__________________________
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Buy It Use It Break It Fix It Trash It Change It Mail Upgrade It
Charge It Point It Zoom It Press It Snap It Work It Quick Erase It
Write It Cut It Paste It Save It Load It Check It Quick Rewrite It
Plug It Play It Burn It Rip It Drag And Drop It Zip Unzip It
Lock It Fill It Curl It Find It View It Code It Jam Unlock It
Surf It Scroll It Pose It Click It Cross It Crack It Twitch Update It
Name It Read It Tune It Print It Scan It Send It Fax Rename It
Touch It Bring It Pay It Watch It Turn It Leave It Stop Format It
Technologic Technologic
Technologic Technologic
Technologic Technologic
Technologic Technologic
前回までのあらすじ
[Ruby]10日目
http://anond.hatelabo.jp/20070925223241
id/passの再発行を申請したら届いたのはなんとブログのid/passだった!!
はたして締め切りに間に合うのか!!
はい、間に合うはずもありませんね。
夏休みの宿題は夏休みがおわってからやる主義の増田ですこんにちは。
一応エントリーだけはしておきました。
サービス開始できてないけどな!
next if :next はcontinueみたいな感じ。この表記に違和感。
unless :こんな書き方にはなにかなじめない。
一行if文が嫌いな増田には余計耐えられない。
@user = params[:id].nil? ? @myuser : User.find(params[:id])
こういう書き方が嫌い。意味わからん。
正直嵌った。
あれこれいじってみたのだけど、そうではなかったようだ。
start_form_tagに :multipart => true がぬけていた。
あと、{}で引数位置指定しないといけないんだと…。
http://techno.hippy.jp/rorwiki/?HowtoUploadFiles http://www.fdiary.net/ml/rails/msg/1375/0/ start_form_tag({:action => 'create'}, :multipart => true)
これは結構やりがちなミスかもしれない。
ちなみに、本のサンプルも間違っていたので余計嵌った。
image_tagで拡張子なしのファイルを読み込むと勝手にpng拡張子がついてくる。
おかげさまで表示されない。
http://mumrik.air-nifty.com/blog/2007/05/16_r185r186_6.html
どうやら画像ファイルの拡張子が指定されていない URL だと自動的に png として扱うよ、ということらしいので、image_tag のところで url_for( ) した部分に追加修正をしてみる。
対処療法でしかない。これだとjpgしかできないので正直どうしたものか。
:content_typeを一応保存しているので後から拡張子をつくることもできるが、
きっとなにかいいものがそのうちできるはず!!というかあるはず!!
→時間がなかったのでうっちゃった
redirect_back_or_defaultの使いどころに悩む。
rubyで画像を描画させているばあい、画像にもどってしまうからだ。
この挙動は最初意味わからなかったぜ。
→時間がなかったので最初の画面に飛ばして誤魔化した
テーブルでjoinで名前だけでももってきたいとき、元のテーブルにはどうやって別名つけたらいいんだろう??
例えば、user名をuserテーブルからくっつけてもってきたい場合rubyは次みたいな
感じになるんだけど、正直気持ち悪い。
@catchcopy_pages, @catchcopy = paginate :catchcopies,
:conditions => contitions_str,
:select => 'catchcopies.id,user_id,users.login,catchcopies.catchcopy,catchcopies.created_at,vote,catchcopies.updated_at,item_id',
:joins => 'left outer join users on user_id = users.id ',
:order => 'created_at DESC' ,
:per_page => 10
ところでSchema.rbとかみるかぎりFKにも指定されていないんだが、大丈夫なのだろうか。
belongs_toとかではそこまでやってくれないものなのか。
ちなみにmigrateファイルでのalterとかの書き方はまだわかっていない。できるのかもしらない。
パスワードをメールで送ってもらってアクセスできるようになった!
われながら情けないが、SSH越しのファイル転送のしかたがわからなかった。
rcpもscpもうまくできない。
これが環境の問題なのか、自分が悪いのか、やりかたが悪いのか、
問題の切り分けがそもそもできないので諦めた。
SSHで向こうのコマンドからrcpを蹴ってるってことはこっちが開けてないとダメってことだよね?
こっち閉じてるもの…。
wgetは生きていたので他のレンタルサーバー経由ファイルを取得。
ちなみにrcpができないのであげっぱなしさ!
が、しかし。unzipがはいってない。
tarで圧縮して、
unzipがないのでzがつかえない。
せっかく
ENV['RAILS_ENV'] ||= 'production'
みたいなymlがあるのに、
dispatch.cgi
dispatch.fcgi
に書かれた
を
#!/usr/bin/ruby
に変更しなきゃいけないのは、何かあれだなと思った。
これかえてまわってたら本番とローカルで世代が分岐しちゃうじゃないか…。
ちなみにmysqlのソケットの位置も違うようなので、
/tmp/mysql.sock
↓
socket: /var/run/mysqld/mysqld.sock
をymlに設定。
できればconfファイルのフラグの書き換えだけで乗り換えしたかった。
最近linuxとかにもめっきり触っていなかったのでコマンド表を一生懸命見た。
witch ruby でインストールフォルダを割り出したり、
・・・findというコマンドが思い出せないときは情けなかった。
そうこうしながら設定完了
あれ、動かない・・・500エラーが出てる。
wget経由でdispatch.cgiをそのまま配置したのが原因でした。
中継サーバで動いちゃったみたい。tarで固めてからわたしなおしましたとさ。
うごいたーー!!
でも、登録すると文字化けしている。
おかしいなぁ……。
SQL>status
DBがlatin1になっていた…。
CREATE DATABASEも権限ないし…。
my.cnfも読み込み専用だった。
alter database XXXX DEFAULT CHARACTER SET utf8;
alter table XXXX DEFAULT CHARACTER SET utf8;
みたいな悪あがきもしてみたけど適わぬ夢。
SET NAMES utf8;
でもコネクションのところあたりでやってあげたいのだけど、
こういうときにRailsみたいなのは何がどこにあるのかわからない。
しょうがないので運営に問合わせしてみました。
ratin1は正直太刀できるきがあまりしない。
8日(のんびり)の勉強と2日(ほぼ徹夜)と1日(半日)のサーバー設定で、
が、どうなのさ・・・。RonR
なんていうか消化不良。
もっとちゃんとしたものつくりたいな……。