diff options
| author | nsfisis <nsfisis@gmail.com> | 2024-12-04 03:58:43 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2024-12-04 03:58:43 +0900 |
| commit | c8496e7bfb58bab4283d405d2f1a8e343ab2b0ff (patch) | |
| tree | 810f0f57beefc7ca2b07b0bc5107c6800c949a77 | |
| parent | a92d3782661b1e1ee57b50fd0f781ba89977b51f (diff) | |
| download | nsfisis.dev-c8496e7bfb58bab4283d405d2f1a8e343ab2b0ff.tar.gz nsfisis.dev-c8496e7bfb58bab4283d405d2f1a8e343ab2b0ff.tar.zst nsfisis.dev-c8496e7bfb58bab4283d405d2f1a8e343ab2b0ff.zip | |
feat(blog/content): new post /posts/2024-12-04/cohackpp/
| -rw-r--r-- | vhosts/blog/TODO | 1 | ||||
| -rw-r--r-- | vhosts/blog/content/posts/2024-12-04/cohackpp-report.ndoc | 213 | ||||
| -rw-r--r-- | vhosts/blog/content/posts/2024-12-04/cohackpp-report/lt.png | bin | 0 -> 43816 bytes | |||
| -rw-r--r-- | vhosts/blog/content/slides/2024-11-30/cohackpp.toml | 2 | ||||
| -rw-r--r-- | vhosts/blog/public/atom.xml | 10 | ||||
| -rw-r--r-- | vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html | 277 | ||||
| -rw-r--r-- | vhosts/blog/public/posts/2024-12-04/cohackpp-report/lt.png | bin | 0 -> 43816 bytes | |||
| -rw-r--r-- | vhosts/blog/public/posts/atom.xml | 10 | ||||
| -rw-r--r-- | vhosts/blog/public/posts/index.html | 15 | ||||
| -rw-r--r-- | vhosts/blog/public/slides/2024-11-30/cohackpp/index.html | 6 | ||||
| -rw-r--r-- | vhosts/blog/public/tags/cohackpp/atom.xml | 10 | ||||
| -rw-r--r-- | vhosts/blog/public/tags/cohackpp/index.html | 15 | ||||
| -rw-r--r-- | vhosts/blog/public/tags/index.html | 4 | ||||
| -rw-r--r-- | vhosts/blog/public/tags/php/atom.xml | 10 | ||||
| -rw-r--r-- | vhosts/blog/public/tags/php/index.html | 15 |
15 files changed, 578 insertions, 10 deletions
diff --git a/vhosts/blog/TODO b/vhosts/blog/TODO new file mode 100644 index 00000000..5fc3ca6e --- /dev/null +++ b/vhosts/blog/TODO @@ -0,0 +1 @@ +`./content/posts/<date>/<slug>/` 以下に置いた画像が `./public/` にコピーされない。 diff --git a/vhosts/blog/content/posts/2024-12-04/cohackpp-report.ndoc b/vhosts/blog/content/posts/2024-12-04/cohackpp-report.ndoc new file mode 100644 index 00000000..632c1521 --- /dev/null +++ b/vhosts/blog/content/posts/2024-12-04/cohackpp-report.ndoc @@ -0,0 +1,213 @@ +--- +[article] +uuid = "ea0593d3-691c-4e08-8db4-98b8925717ec" +title = "紅白ぺぱ合戦に参加<しました" +description = "2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。" +tags = [ + "cohackpp", + "php", +] + +[[article.revisions]] +date = "2024-12-04" +remark = "公開" +--- +<article> + <section id="intro"> + <h>はじめに</h> + <p> + 2024-11-30 に開催された<a href="https://connpass.com/event/329428/">紅白ぺぱ合戦</a>なる催しに参加しました。私は「ぺ」陣営のメンバとして LT をおこないました。 + </p> + <p> + 紅白ぺぱ合戦のイベントページにある説明を以下に引用します。 + </p> + <blockquote> + <p> + Webエンジニアの<a href="https://x.com/asumikam">asumikam</a>とWebエンジニアの<a href="https://x.com/stefafafan">stefafafan</a>が2024年7月7日に結婚しました。 + </p> + <p> + せっかくなので技術トークとかで紅白戦をしませんか?いいですね!やっていきます! + </p> + <p> + 場所はァ!小田原ァ!盛り上がっていきましょゥ!!! + </p> + </blockquote> + <p> + ざっくりと言えば、テックカンファレンスの形式をとった結婚披露宴です。タイトルの「ぺ」は PHPer、「ぱ」は Perl Monger の略です。 + </p> + </section> + <section id="thoughts"> + <h>感想</h> + <p> + 私は「ぺ」陣営のスピーカーとして LT をしていたのですが、その前にまずは登壇以外の感想を。 + </p> + <p> + いや~最高でしたね。どの枠のスピーチの方も良かったのですが、特に「育てた」枠のお二方が印象に残っています。 + 「育てられた」枠としてお世話になった方に声をかけることはできると思うんですよ。 + それだけでなく、「自分が育てたのだ」と言える人がいて、そしてそれに 100 点で応える人がいるということ。この素晴しさ。人徳。 + </p> + <p> + 改めて、asumikam さん、stefafafan さん、ご結婚おめでとうございます! + </p> + </section> + <section id="lt"> + <h>LT</h> + <section id="lt--prepare"> + <h>合戦準備</h> + <p> + さて、時を合戦の前に戻しまして、「ぺ」陣営の登壇者3名が発表され徐々に謎のイベントの輪郭が見えてきた頃、asumikam さんから次のような連絡を受けました。 + </p> + <img src="/posts/2024-12-04/cohackpp-report/lt.png" alt="asumikam「いまむらさんおつかれさまです。ぺぱ合戦で、LTタイムあることになり、技術で3人「ぺ」側を選出することになったのですが、いまむらさん、LTやりませんか。「ぺ」陣営で一緒に頂きを目指しませんか。」nsfisis「OKです!」"></img> + <p> + 最初は直近のカンファレンスに出して落選したプロポーザルテーマを LT に編集して話そうとしていたのですが、この機会でなければ話せない・この機会で話すことに意味があるテーマにしようとネタ出しをおこない、最終的に次のテーマでの登壇となりました。 + </p> + </section> + <section id="lt--battle"> + <h>いざ尋常に勝負</h> + <p> + 当日は、「プログラミングマナー講座」と題して発表をおこないました。 + 結婚式のマナー、特に「忌み言葉」へフォーカスし、これを無理やりプログラミングに適用するというものです。 + <a href="/slides/2024-11-30/cohackpp/">スライドはこちらにアップロードしています。</a> + </p> + <p> + 最終的にお祝いのメッセージを仕込んだソースコードで締めるという構成は、我ながら綺麗にまとまったと思っています。忌み言葉の案は他にも大量にあったのですが、技術 LT かつ結婚祝いスピーチにするためにどうしても最後のソースコードが必要だったので、時間の関係上それらには犠牲となってもらいました (<a href="https://x.com/nsfisis/status/1862798137452327206">ボツになった案のひとつ</a>)。 + </p> + <p> + そもそも結婚式・披露宴でのスピーチ自体が初めてだったのでそれなりに緊張していたのですが、登壇時やその後の反応を伺う限り概ね好評だったようで良かったです。 + </p> + </section> + </section> + <section id="congrats"> + <h>ご結婚おめでとうございます</h> + <p> + <a href="https://github.com/nsfisis/cohackpp/blob/main/congrats.php">https://github.com/nsfisis/cohackpp/blob/main/congrats.php</a> + </p> + <codeblock language="php"> + <![CDATA[ + <?php + $s=<<<'Q' + <?php + % + $s=<<<'Q' + @$c=[`]; + $m="";for($k=0;$k<min(13,intdiv(__LINE__-119,80)+1);$k++){$C=str_replace("\n","", + $c[$k]);$f=!0;foreach(str_split(base64_decode($C))as$l){$L=ord($l);$m.=str_repeat + ($f?"#":chr(32),$L&127);$f=!$f;if($L&128){$m.="\n";$f=!0;continue;}}}print( + str_replace([chr(96),chr(37),chr(64)],[implode("\n",array_map(fn($C)=>"'".trim( + chunk_split(str_replace("\n","",$C),80,"\n"))."',",$c)),"\n{$m}","{$s}\nQ;\n"],$s)); + Q; + $c=['0AFOgQFOgQFOgQFOgQFOgQFEAgiBAUIECIEBQwQHgQE8AQYFBoEBOgQGBAaBAToEBwQFgQE6BQYFBIEB + OwQHBASBATwEBgUDgQE8BQYEA4EBPQQGBAOBAT0FBgEFgQERBhsIBAQMgQERKQQFC4EBESkFAQ6BAREp + FIEBESkUgQERKRSBAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6B + AU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAQ4EPIEBDQY7gQENBjuBAQ0GO4EBDQU8gQENBTyBAQwG + PIEBDAY8gQEMBjyBAQwGPIEBDAY8gQEMBjyBAQwHO4EBDAc7gQENBzqBAQ0IOYEBDgg4gQEOCiUCD4EB + DwwdBw+BARAQDhEPgQERLg+BARItD4EBFCsPgQEXJRKBARsbGIEBToEBToEBToEBToEBToHQ', + '0AFOgQFOgQFOgQEPASMFFoEBDwMhBRaBAQ4FIAUWgQEOBSAFFoEBDQUhBRaBAQ0FIQUWgQEMBSIFFoEB + DAUiBRaBAQsFIwUWgQELBQgBGgUWgQEKBQkDGAUWgQEKBQgGBCoDgQEJBQkFBSoDgQEFAQMECQYFKgOB + AQQDAQUJBQYqA4EBBAgJBQcqA4EBAwkJBRkFFoEBBAcJBRoFFoEBBQYIBRsFFoEBBgYHBRsFFoEBBwYF + BRwFFoEBCAYDBR0FFoEBCQYCBR0FFoEBCgseBRaBAQsJHwUWgQEMByAFFoEBDAcFAxgFFoEBDQUFBBgF + FoEBDQQGBRYGFoEBDAUHBAcmBYEBCwUIBQYmBYEBCwQKBAYmBYEBCgQLBQUmBYEBCQUMBS+BAQgFDAYv + gQEDHC+BAQMdLoEBAx0ugQEDHi2BAQMJBAUIBC2BARAFCAQtgQEQBQgELYEBEAUJAS+BARAFESEHgQEQ + BREhB4EBBwEIBQYBCiEHgQEHBAUFBAQJIQeBAQcEBQUEBAkEGAUHgQEGBQUFBAUIBBgFB4EBBgUFBQUE + CAQYBQeBAQYFBQUFBAgEGAUHgQEGBAYFBQUHBBgFB4EBBgQGBQYEBwQYBQeBAQUFBgUGBQYEGAUHgQEF + BQYFBwQGBBgFB4EBBQQHBQcEBgQYBQeBAQUEBwUHBQUEGAUHgQEEBQcFBwUFBBgFB4EBBAUHBQgEBQQY + BQeBAQQECAUIBAUEGAUHgQEDBQgFCAEIBBgFB4EBAwUIBREEGAUHgQECBQkFEQQYBQeBAQIFCQURIQeB + AQQCCgURIQeBARAFESEHgQEQBREhB4EBEAURIQeBARAFEQQYBQeBARAFEQQYBQeBARAFEQQYBQeBARAF + EQQYBQeBAU6BAU6BAU6B0A==', + '0AFOgQFOgQFOgQEOAjEBDIEBDgUqBwqBAQ0FJwwJgQENBSETCIEBDQURAQcXDIEBDQURGxCBAQ0FERcU + gQENBBIOBAUUgQEMBRIGDAUUgQEMBRIFDQUUgQEMBRIFDgQUgQEMBRIFDgQUgQEMBBMFDgQUgQELBRMF + DgQUgQELBRMFDgUTgQELBRMFDgUTgQEDGQcFDgUTgQEDGwUoA4EBAxsFKAOBAQMbBSgDgQEDGwUoA4EB + CgUKBQUFDwUSgQEKBAsEBgUQBBKBAQkFCwQGBRAFEYEBCQULBAYFEAURgQEJBQoFBgUQBRGBAQkFCgUG + BREFEIEBCQQLBQYFEQUQgQEIBQsFBgUSBQkBBYEBCAULBQYFEgUJAwOBAQgFCwUGBQoFBAUIBAKBAQgF + CwQHBQQLBAYHAwOBAQgECwUHFAUGBQQDgQEHBQsFAxgFBwQEA4EBBwULBQMVCQ4DgQEHBQsFAw8QDQOB + AQcEDAUDCRcLBIEBBgULBQUCHwgFgQEGBQsFKAQHgQEGBQsFM4EBBgULBTOBAQYFCgUKIgiBAQUHCQUK + IgiBAQUICAUKIgiBAQUKBgUKIgiBAQULBAULBRgFCIEBBA0DBQsFGAUIgQEEBQIHAgULBRgFCIEBBgMD + DAwFGAUIgQENCwwFGAUIgQEOCgwFGAUIgQEQBw0FGAUIgQERBwwFGAUIgQERCAsiCIEBEAoKIgiBARAL + CSIIgQEPDQgiCIEBDwUCBwcFGAUIgQEOBgMHBgUYBQiBAQ0GBQcFBRgFCIEBDAcGBgUFGAUIgQELBwgE + BgUYBQiBAQoHCgMGBRgFCIEBCQcMAQcFGAUIgQEIBxUFGAUIgQEHCBUiCIEBBggWIgiBAQQJFyIIgQEF + BxgiCIEBBQUaBRgFCIEBBgMbBRgFCIEBJAUYBQiBAU6BAU6BAU6B0A==', + '0AFOgQFOgQFOgQFOgQFOgQFOgQFOgQEZBi+BARkGL4EBGgUvgQEaBS+BARoFL4EBGgUvgQEaBS+BARoF + L4EBGgUvgQEaBRkBFYEBGgUZAxOBARoFDwEIBRKBARoFCwUIBxCBARoFBgoHCg6BARoVCQkNgQEJJgsJ + C4EBCSYMCQqBAQohEgkIgQEKGxoIB4EBChUhCQWBARkFIwkEgQEZBSUGBYEBGQUmBAaBARkFKAIGgQEZ + BTCBARkFMIEBGQUwgQEZBTCBARkFMIEBGQUwgQEZBTCBARkFCRAXgQEZBQQYFIEBGSMSgQEZJBGBARkS + CAwPgQEXDhIJDoEBFQwYCA2BARMMGwcNgQESDB0HDIEBEA4eBgyBAQ8IAwQfBguBAQ4IBAQfBguBAQ0H + BgQgBQuBAQwHBwQgBQuBAQsHCAUfBQuBAQoGCgUfBQuBAQoGCgUfBQuBAQkGCwUfBQuBAQkFDAUeBguB + AQgGDAUeBguBAQgGDAUdBwuBAQgGDAUdBgyBAQgGDAUcBwyBAQkFDAUbBw2BAQkGCwUZCQ2BAQkHCgUY + CQ6BAQoIBwYVCw+BAQsIBQcSDRCBAQwSChURgQENEQoTE4EBDhAKERWBARANDA4XgQESCwwLGoEBFQYO + BSCBAU6BAU6BAU6BAU6BAU6BAU6B0A==', + '0AFOgQFOgQFOgQFOgQFOgQFOgQFOgQEuBhqBAS4FG4EBLgUbgQEuBRuBARICGQYbgQEPBRkGG4EBDgYZ + BRyBAQ8FGQUcgQEPBhgFHIEBDwYXBhyBARAFFwUdgQEQBRcFHYEBEAYNERqBAREFChcXgQERBQccFYEB + EQYEIBOBARIFAg4DExGBARIRBwYEChCBARIOCgUHCQ+BARMKDQUJCA6BARIJDgYKCA2BAREIEAUNBwyB + ARAJEAUOBgyBAQ8KDwYPBguBAQ4MDgUQBwqBAQ4MDgURBgqBAQ0GAgYMBRMFCoEBDAYEBQwFEwYJgQEM + BgQFCwYTBgmBAQsGBQYKBRUFCYEBCgYHBQkGFQYIgQEKBQgGCAYVBgiBAQkGCQUIBRcFCIEBCQUKBgYG + FwUIgQEJBQsFBgUYBQiBAQgFDAYEBhgFCIEBCAUNBQMGGQUIgQEIBQ0GAgYZBQiBAQcFDwwaBQiBAQcF + DwwaBQiBAQcFEAobBQiBAQcFEAoaBgiBAQcFEQgbBgiBAQcFEgYcBgiBAQcFEQgbBQmBAQcFEAoZBgmB + AQcFEAoZBgmBAQcFDwwXBgqBAQcFDg4VBwqBAQcGDAcCBxQGC4EBCAULBwQEFQcLgQEIBggIBgIVBwyB + AQgIBAkHARUHDYEBCRMcCQ2BAQoRHAkOgQELDhwKD4EBDAwbChGBAQ4HGwwSgQEsDxOBASgRFYEBKQ4X + gQEpDBmBASoIHIEBKwMggQFOgQFOgQFOgQFOgQFOgQFOgQFOgdA=', + '0AFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQE1DwqBASkbCoEBHiYKgQETMQqBAQc9CoEBBjQU + gQEGIQQKGYEBBhcOBxyBAQcOFAcegQEHBhsHH4EBJwYhgQEmBiKBASUGFgEMgQEkBhUDDIEBIwYWBAuB + ASMGFwQKgQEiBg8DBgQKgQEhBg8EBwQJgQEhBhAEBwQIgQEgBhEFBgQIgQEgBRMEBwQHgQEfBhQEBgUG + gQEfBhQEBwQGgQEfBRYEBgIIgQEeBhYEEIEBHgYXBA+BAR4FGAMQgQEeBSuBAR0GK4EBHQYrgQEdBiuB + AR0GK4EBHQYrgQEdBiuBAR0GK4EBHQYrgQEdBiuBAR4FK4EBHgYqgQEeBiqBAR4HKYEBHwYpgQEfByiB + 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 + FYEBGxoZgQFOgQFOgQFOgQFOgdA=', + '0AFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQEJBz6BAQkGP4EBCQY/gQEJBigDFIEB + CQYlBhSBAQkGJQcTgQEJBiYHEoEBCQYnBhKBAQkGJwcRgQEJBigGEYEBCQYoBxCBAQkGKQYQgQEJBioG + D4EBCQYqBg+BAQkGKgcOgQEJBisGDoEBCgUrBg6BAQoFLAYNgQEKBSwGDYEBCgUtBgyBAQoFLQYMgQEK + BS0GDIEBCgUuBguBAQoFLgYLgQEKBS4GC4EBCgYtBguBAQoGLgYKgQEKBi4GCoEBCgYuBgqBAQoGLwYJ + gQELBS8GCYEBCwUvBgmBAQsFLwYJgQELBhMBGgYJgQELBhMCGgYIgQELBhMDGQYIgQEMBRMEGAYIgQEM + BhEGFwYIgQEMBhEGFwYIgQEMBhAGGQUIgQENBg8GGQUIgQENBg8GGQUIgQENBg4GGgILgQEOBg0GJ4EB + DgcLBiiBAQ4HCgcogQEPBwgHKYEBEAcGCCmBARAKAQkqgQEREiuBARIRK4EBEhAsgQETDi2BARULLoEB + FwcwgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgdA=', + '0AFOgQFOgQFOgQFOgQFOgQFOgQFOgQElBiOBASYFI4EBJgUjgQEmBSOBASYFI4EBJgUjgQEmBSOBASYF + I4EBJgUQBQ6BAQ4IEAUGDw6BAQ4yDoEBDjIOgQEOMg6BAQ4rFYEBGhIigQEmBSOBASYFI4EBJgUjgQEm + BSOBASYFI4EBJgUjgQEmBSOBASYFI4EBJgUjgQEmBRQCDYEBDQMWBQwKDYEBDQ8JHA2BAQ4zDYEBDjMN + gQEOMg6BARAnF4EBJQYjgQEmBSOBASYFI4EBJgUjgQEmBSOBASYFI4EBJgUjgQEmBSOBASYFI4EBJgUj + gQEmBSOBAR0EBQUjgQEXFCOBARQZIYEBEh4egQERIRyBARAJDBAZgQEPBxARF4EBDgYSExWBAQ4FEwYD + CxSBAQ4FEwYFCxKBAQ0FFAYHChGBAQ0FFAYJCg+BAQ0FFAYKCg6BAQ0GEwYMCQ2BAQ4FEwYNCQyBAQ4G + EQYQBg2BAQ4HDwcRBQ2BAQ8IDAgSAw6BAQ8bFAEPgQERGCWBARIWJoEBFBIogQEXDSqBAU6BAU6BAU6B + AU6BAU6BAU6B0A==', + '0AFOgQFOgQFOgQFOgQFOgQFOgQEpBh+BASkGH4EBKQYfgQEqBR+BASoFH4EBKgUfgQEqBR+BASoFH4EB + KgUfgQEqBR+BARkuB4EBBkEHgQEHQAeBAQdAB4EBB0AHgQEHDBcFH4EBKgUfgQEqBR+BASoFH4EBKgUf + gQEqBR+BASoFH4EBKgUfgQEgDx+BAR4RH4EBHBMfgQEbFB+BARoIBAkfgQEZBwkGH4EBGQYLBh6BARgG + DQUegQEYBQ4GHYEBFwYPBR2BARcFEAUdgQEXBRAFHYEBFwUQBhyBARcFEAYcgQEXBQ8HHIEBFwUPBxyB + ARcGDgccgQEXBg0IHIEBGAYMBx2BARgHCggdgQEZCAYKHYEBGhcdgQEbFh2BARwVHYEBHgsBBh6BASAG + BAYegQEpBh+BASkGH4EBKAYggQEnByCBASYHIYEBJQcigQEkCCKBASIJI4EBIAokgQEeCyWBARwLJ4EB + GQ0ogQEWDiqBARcMK4EBGAktgQEZBTCBARoCMoEBToEBToEBToEBToEBToEBToHQ',]; + $m="";for($k=0;$k<min(13,intdiv(__LINE__-119,80)+1);$k++){$C=str_replace("\n","", + $c[$k]);$f=!0;foreach(str_split(base64_decode($C))as$l){$L=ord($l);$m.=str_repeat + ($f?"#":chr(32),$L&127);$f=!$f;if($L&128){$m.="\n";$f=!0;continue;}}}print( + str_replace([chr(96),chr(37),chr(64)],[implode("\n",array_map(fn($C)=>"'".trim( + chunk_split(str_replace("\n","",$C),80,"\n"))."',",$c)),"\n{$m}","{$s}\nQ;\n"],$s)); + ]]> + </codeblock> + </section> +</article> diff --git a/vhosts/blog/content/posts/2024-12-04/cohackpp-report/lt.png b/vhosts/blog/content/posts/2024-12-04/cohackpp-report/lt.png Binary files differnew file mode 100644 index 00000000..1075d95f --- /dev/null +++ b/vhosts/blog/content/posts/2024-12-04/cohackpp-report/lt.png diff --git a/vhosts/blog/content/slides/2024-11-30/cohackpp.toml b/vhosts/blog/content/slides/2024-11-30/cohackpp.toml index 7554018d..d62d6c2e 100644 --- a/vhosts/blog/content/slides/2024-11-30/cohackpp.toml +++ b/vhosts/blog/content/slides/2024-11-30/cohackpp.toml @@ -5,8 +5,8 @@ event = "紅白ぺぱ合戦" talkType = "LT" link = "/slides/2024-11-30/cohackpp/slides.pdf" tags = [ - "php", "cohackpp", + "php", ] [[slide.revisions]] diff --git a/vhosts/blog/public/atom.xml b/vhosts/blog/public/atom.xml index 5ec32a90..24e37854 100644 --- a/vhosts/blog/public/atom.xml +++ b/vhosts/blog/public/atom.xml @@ -7,7 +7,15 @@ <author> <name>nsfisis</name> </author> - <updated>2024-11-30T00:00:00+09:00</updated> + <updated>2024-12-04T00:00:00+09:00</updated> + <entry> + <id>urn:uuid:ea0593d3-691c-4e08-8db4-98b8925717ec</id> + <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-12-04/cohackpp-report/"></link> + <title>紅白ぺぱ合戦に参加&LTしました</title> + <summary>2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。</summary> + <published>2024-12-04T00:00:00+09:00</published> + <updated>2024-12-04T00:00:00+09:00</updated> + </entry> <entry> <id>urn:uuid:e1ca4664-f6f1-4de2-b4a5-ea2b64006708</id> <link rel="alternate" href="https://blog.nsfisis.dev/slides/2024-11-30/cohackpp/"></link> diff --git a/vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html b/vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html new file mode 100644 index 00000000..de1b0b11 --- /dev/null +++ b/vhosts/blog/public/posts/2024-12-04/cohackpp-report/index.html @@ -0,0 +1,277 @@ +<!DOCTYPE html> +<html lang="ja-JP"> + <head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <meta name="author" content="nsfisis"> + <meta name="copyright" content="© 2024 nsfisis"> + <meta name="description" content="2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。"> + <meta name="keywords" content="紅白ぺぱ合戦,PHP"> + <meta property="og:type" content="article"> + <meta property="og:title" content="紅白ぺぱ合戦に参加<しました|REPL: Rest-Eat-Program Loop"> + <meta property="og:description" content="2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。"> + <meta property="og:site_name" content="REPL: Rest-Eat-Program Loop"> + <meta property="og:locale" content="ja_JP"> + <link rel="icon" type="image/svg+xml" href="/favicon.svg"> + <title>紅白ぺぱ合戦に参加&LTしました|REPL: Rest-Eat-Program Loop</title> + <link rel="stylesheet" href="/style.css?h=0656606dcfb3f6fa094a976e05df9007"> + <link rel="stylesheet" href="/hl.css?h=340e65ffd5c17713efc9107c06304f7b"> + </head> + <body class="single"> + <header class="header"> + <div class="site-logo"> + <a href="/">REPL: Rest-Eat-Program Loop</a> + </div> + <nav class="nav"> + <ul> + <li> + <a href="/about/">About</a> + </li> + <li> + <a href="/posts/">Posts</a> + </li> + <li> + <a href="/slides/">Slides</a> + </li> + <li> + <a href="/tags/">Tags</a> + </li> + </ul> + </nav> + </header> + <main class="main"> + <article class="post-single"> + <header class="post-header"> + <h1 class="post-title">紅白ぺぱ合戦に参加&LTしました</h1> + <ul class="post-tags"> + <li class="tag"> + <a href="/tags/cohackpp/">紅白ぺぱ合戦</a> + </li> + <li class="tag"> + <a href="/tags/php/">PHP</a> + </li> + </ul> + </header> + <div class="post-content"> + <section> + <h2 id="changelog">更新履歴</h2> + <ol> + <li class="revision"> + <time datetime="2024-12-04">2024-12-04</time>: 公開 + </li> + </ol> + </section> + <section id="section--intro"> + <h2><a href="#section--intro">はじめに</a></h2> + <p> + 2024-11-30 に開催された<a href="https://connpass.com/event/329428/">紅白ぺぱ合戦</a>なる催しに参加しました。私は「ぺ」陣営のメンバとして LT をおこないました。 + </p> + + <p> + 紅白ぺぱ合戦のイベントページにある説明を以下に引用します。 + </p> + + <blockquote> + <p> + Webエンジニアの<a href="https://x.com/asumikam">asumikam</a>とWebエンジニアの<a href="https://x.com/stefafafan">stefafafan</a>が2024年7月7日に結婚しました。 + </p> + + <p> + せっかくなので技術トークとかで紅白戦をしませんか?いいですね!やっていきます! + </p> + + <p> + 場所はァ!小田原ァ!盛り上がっていきましょゥ!!! + </p> + </blockquote> + + <p> + ざっくりと言えば、テックカンファレンスの形式をとった結婚披露宴です。タイトルの「ぺ」は PHPer、「ぱ」は Perl Monger の略です。 + </p> + </section> + + <section id="section--thoughts"> + <h2><a href="#section--thoughts">感想</a></h2> + <p> + 私は「ぺ」陣営のスピーカーとして LT をしていたのですが、その前にまずは登壇以外の感想を。 + </p> + + <p> + いや~最高でしたね。どの枠のスピーチの方も良かったのですが、特に「育てた」枠のお二方が印象に残っています。 「育てられた」枠としてお世話になった方に声をかけることはできると思うんですよ。 それだけでなく、「自分が育てたのだ」と言える人がいて、そしてそれに 100 点で応える人がいるということ。この素晴しさ。人徳。 + </p> + + <p> + 改めて、asumikam さん、stefafafan さん、ご結婚おめでとうございます! + </p> + </section> + + <section id="section--lt"> + <h2><a href="#section--lt">LT</a></h2> + <section id="section--lt--prepare"> + <h3><a href="#section--lt--prepare">合戦準備</a></h3> + <p> + さて、時を合戦の前に戻しまして、「ぺ」陣営の登壇者3名が発表され徐々に謎のイベントの輪郭が見えてきた頃、asumikam さんから次のような連絡を受けました。 + </p> + + <img alt="asumikam「いまむらさんおつかれさまです。ぺぱ合戦で、LTタイムあることになり、技術で3人「ぺ」側を選出することになったのですが、いまむらさん、LTやりませんか。「ぺ」陣営で一緒に頂きを目指しませんか。」nsfisis「OKです!」" src="/posts/2024-12-04/cohackpp-report/lt.png"> + </img> + + <p> + 最初は直近のカンファレンスに出して落選したプロポーザルテーマを LT に編集して話そうとしていたのですが、この機会でなければ話せない・この機会で話すことに意味があるテーマにしようとネタ出しをおこない、最終的に次のテーマでの登壇となりました。 + </p> + </section> + + <section id="section--lt--battle"> + <h3><a href="#section--lt--battle">いざ尋常に勝負</a></h3> + <p> + 当日は、「プログラミングマナー講座」と題して発表をおこないました。 結婚式のマナー、特に「忌み言葉」へフォーカスし、これを無理やりプログラミングに適用するというものです。 <a href="/slides/2024-11-30/cohackpp/">スライドはこちらにアップロードしています。</a> + </p> + + <p> + 最終的にお祝いのメッセージを仕込んだソースコードで締めるという構成は、我ながら綺麗にまとまったと思っています。忌み言葉の案は他にも大量にあったのですが、技術 LT かつ結婚祝いスピーチにするためにどうしても最後のソースコードが必要だったので、時間の関係上それらには犠牲となってもらいました (<a href="https://x.com/nsfisis/status/1862798137452327206">ボツになった案のひとつ</a>)。 + </p> + + <p> + そもそも結婚式・披露宴でのスピーチ自体が初めてだったのでそれなりに緊張していたのですが、登壇時やその後の反応を伺う限り概ね好評だったようで良かったです。 + </p> + </section> + </section> + + <section id="section--congrats"> + <h2><a href="#section--congrats">ご結婚おめでとうございます</a></h2> + <p> + <a href="https://github.com/nsfisis/cohackpp/blob/main/congrats.php">https://github.com/nsfisis/cohackpp/blob/main/congrats.php</a> + </p> + + <pre class="highlight" language="php"><code class="highlight"><span class="hljs-meta"><?php</span> +<span class="hljs-variable">$s</span>=<span class="hljs-string"><<<'Q' +<?php +% +$s=<<<'Q</span><span class="hljs-string">' +@$c=[`]; +$m="";for($k=0;$k<min(13,intdiv(__LINE__-119,80)+1);$k++){$C=str_replace("\n","", +$c[$k]);$f=!0;foreach(str_split(base64_decode($C))as$l){$L=ord($l);$m.=str_repeat +($f?"#":chr(32),$L&127);$f=!$f;if($L&128){$m.="\n";$f=!0;continue;}}}print( +str_replace([chr(96),chr(37),chr(64)],[implode("\n",array_map(fn($C)=>"'</span><span class="hljs-string">".trim( +chunk_split(str_replace("</span>\n<span class="hljs-string">","</span><span class="hljs-string">",<span class="hljs-subst">$C</span>),80,"</span>\n<span class="hljs-string">"))."</span><span class="hljs-string">',",$c)),"\n{$m}","{$s}\nQ;\n"],$s)); +Q; +$c=['</span><span class="hljs-number">0</span>AFOgQFOgQFOgQFOgQFOgQFEAgiBAUIECIEBQwQHgQE8AQYFBoEBOgQGBAaBAToEBwQFgQE6BQYFBIEB +OwQHBASBATwEBgUDgQE8BQYEA4EBPQQGBAOBAT0FBgEFgQERBhsIBAQMgQERKQQFC4EBESkFAQ6BAREp +FIEBESkUgQERKRSBAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6B +AU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAQ4EPIEBDQY7gQENBjuBAQ0GO4EBDQU8gQENBTyBAQwG +PIEBDAY8gQEMBjyBAQwGPIEBDAY8gQEMBjyBAQwHO4EBDAc7gQENBzqBAQ0IOYEBDgg4gQEOCiUCD4EB +DwwdBw+BARAQDhEPgQERLg+BARItD4EBFCsPgQEXJRKBARsbGIEBToEBToEBToEBToEBToHQ<span class="hljs-string">', +'</span><span class="hljs-number">0</span>AFOgQFOgQFOgQEPASMFFoEBDwMhBRaBAQ4FIAUWgQEOBSAFFoEBDQUhBRaBAQ0FIQUWgQEMBSIFFoEB +DAUiBRaBAQsFIwUWgQELBQgBGgUWgQEKBQkDGAUWgQEKBQgGBCoDgQEJBQkFBSoDgQEFAQMECQYFKgOB +AQQDAQUJBQYqA4EBBAgJBQcqA4EBAwkJBRkFFoEBBAcJBRoFFoEBBQYIBRsFFoEBBgYHBRsFFoEBBwYF +BRwFFoEBCAYDBR0FFoEBCQYCBR0FFoEBCgseBRaBAQsJHwUWgQEMByAFFoEBDAcFAxgFFoEBDQUFBBgF +FoEBDQQGBRYGFoEBDAUHBAcmBYEBCwUIBQYmBYEBCwQKBAYmBYEBCgQLBQUmBYEBCQUMBS+BAQgFDAYv +gQEDHC+BAQMdLoEBAx0ugQEDHi2BAQMJBAUIBC2BARAFCAQtgQEQBQgELYEBEAUJAS+BARAFESEHgQEQ +BREhB4EBBwEIBQYBCiEHgQEHBAUFBAQJIQeBAQcEBQUEBAkEGAUHgQEGBQUFBAUIBBgFB4EBBgUFBQUE +CAQYBQeBAQYFBQUFBAgEGAUHgQEGBAYFBQUHBBgFB4EBBgQGBQYEBwQYBQeBAQUFBgUGBQYEGAUHgQEF +BQYFBwQGBBgFB4EBBQQHBQcEBgQYBQeBAQUEBwUHBQUEGAUHgQEEBQcFBwUFBBgFB4EBBAUHBQgEBQQY +BQeBAQQECAUIBAUEGAUHgQEDBQgFCAEIBBgFB4EBAwUIBREEGAUHgQECBQkFEQQYBQeBAQIFCQURIQeB +AQQCCgURIQeBARAFESEHgQEQBREhB4EBEAURIQeBARAFEQQYBQeBARAFEQQYBQeBARAFEQQYBQeBARAF +EQQYBQeBAU6BAU6BAU6B0A==<span class="hljs-string">', +'</span><span class="hljs-number">0</span>AFOgQFOgQFOgQEOAjEBDIEBDgUqBwqBAQ0FJwwJgQENBSETCIEBDQURAQcXDIEBDQURGxCBAQ0FERcU +gQENBBIOBAUUgQEMBRIGDAUUgQEMBRIFDQUUgQEMBRIFDgQUgQEMBRIFDgQUgQEMBBMFDgQUgQELBRMF +DgQUgQELBRMFDgUTgQELBRMFDgUTgQEDGQcFDgUTgQEDGwUoA4EBAxsFKAOBAQMbBSgDgQEDGwUoA4EB +CgUKBQUFDwUSgQEKBAsEBgUQBBKBAQkFCwQGBRAFEYEBCQULBAYFEAURgQEJBQoFBgUQBRGBAQkFCgUG +BREFEIEBCQQLBQYFEQUQgQEIBQsFBgUSBQkBBYEBCAULBQYFEgUJAwOBAQgFCwUGBQoFBAUIBAKBAQgF +CwQHBQQLBAYHAwOBAQgECwUHFAUGBQQDgQEHBQsFAxgFBwQEA4EBBwULBQMVCQ4DgQEHBQsFAw8QDQOB +AQcEDAUDCRcLBIEBBgULBQUCHwgFgQEGBQsFKAQHgQEGBQsFM4EBBgULBTOBAQYFCgUKIgiBAQUHCQUK +IgiBAQUICAUKIgiBAQUKBgUKIgiBAQULBAULBRgFCIEBBA0DBQsFGAUIgQEEBQIHAgULBRgFCIEBBgMD +DAwFGAUIgQENCwwFGAUIgQEOCgwFGAUIgQEQBw0FGAUIgQERBwwFGAUIgQERCAsiCIEBEAoKIgiBARAL +CSIIgQEPDQgiCIEBDwUCBwcFGAUIgQEOBgMHBgUYBQiBAQ0GBQcFBRgFCIEBDAcGBgUFGAUIgQELBwgE +BgUYBQiBAQoHCgMGBRgFCIEBCQcMAQcFGAUIgQEIBxUFGAUIgQEHCBUiCIEBBggWIgiBAQQJFyIIgQEF +BxgiCIEBBQUaBRgFCIEBBgMbBRgFCIEBJAUYBQiBAU6BAU6BAU6B0A==<span class="hljs-string">', +'</span><span class="hljs-number">0</span>AFOgQFOgQFOgQFOgQFOgQFOgQFOgQEZBi+BARkGL4EBGgUvgQEaBS+BARoFL4EBGgUvgQEaBS+BARoF +L4EBGgUvgQEaBRkBFYEBGgUZAxOBARoFDwEIBRKBARoFCwUIBxCBARoFBgoHCg6BARoVCQkNgQEJJgsJ +C4EBCSYMCQqBAQohEgkIgQEKGxoIB4EBChUhCQWBARkFIwkEgQEZBSUGBYEBGQUmBAaBARkFKAIGgQEZ +BTCBARkFMIEBGQUwgQEZBTCBARkFMIEBGQUwgQEZBTCBARkFCRAXgQEZBQQYFIEBGSMSgQEZJBGBARkS +CAwPgQEXDhIJDoEBFQwYCA2BARMMGwcNgQESDB0HDIEBEA4eBgyBAQ8IAwQfBguBAQ4IBAQfBguBAQ0H +BgQgBQuBAQwHBwQgBQuBAQsHCAUfBQuBAQoGCgUfBQuBAQoGCgUfBQuBAQkGCwUfBQuBAQkFDAUeBguB +AQgGDAUeBguBAQgGDAUdBwuBAQgGDAUdBgyBAQgGDAUcBwyBAQkFDAUbBw2BAQkGCwUZCQ2BAQkHCgUY +CQ6BAQoIBwYVCw+BAQsIBQcSDRCBAQwSChURgQENEQoTE4EBDhAKERWBARANDA4XgQESCwwLGoEBFQYO +BSCBAU6BAU6BAU6BAU6BAU6BAU6B0A==<span class="hljs-string">', +'</span><span class="hljs-number">0</span>AFOgQFOgQFOgQFOgQFOgQFOgQFOgQEuBhqBAS4FG4EBLgUbgQEuBRuBARICGQYbgQEPBRkGG4EBDgYZ +BRyBAQ8FGQUcgQEPBhgFHIEBDwYXBhyBARAFFwUdgQEQBRcFHYEBEAYNERqBAREFChcXgQERBQccFYEB +EQYEIBOBARIFAg4DExGBARIRBwYEChCBARIOCgUHCQ+BARMKDQUJCA6BARIJDgYKCA2BAREIEAUNBwyB +ARAJEAUOBgyBAQ8KDwYPBguBAQ4MDgUQBwqBAQ4MDgURBgqBAQ0GAgYMBRMFCoEBDAYEBQwFEwYJgQEM +BgQFCwYTBgmBAQsGBQYKBRUFCYEBCgYHBQkGFQYIgQEKBQgGCAYVBgiBAQkGCQUIBRcFCIEBCQUKBgYG +FwUIgQEJBQsFBgUYBQiBAQgFDAYEBhgFCIEBCAUNBQMGGQUIgQEIBQ0GAgYZBQiBAQcFDwwaBQiBAQcF +DwwaBQiBAQcFEAobBQiBAQcFEAoaBgiBAQcFEQgbBgiBAQcFEgYcBgiBAQcFEQgbBQmBAQcFEAoZBgmB +AQcFEAoZBgmBAQcFDwwXBgqBAQcFDg4VBwqBAQcGDAcCBxQGC4EBCAULBwQEFQcLgQEIBggIBgIVBwyB +AQgIBAkHARUHDYEBCRMcCQ2BAQoRHAkOgQELDhwKD4EBDAwbChGBAQ4HGwwSgQEsDxOBASgRFYEBKQ4X +gQEpDBmBASoIHIEBKwMggQFOgQFOgQFOgQFOgQFOgQFOgQFOgdA=<span class="hljs-string">', +'</span><span class="hljs-number">0</span>AFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQE1DwqBASkbCoEBHiYKgQETMQqBAQc9CoEBBjQU +gQEGIQQKGYEBBhcOBxyBAQcOFAcegQEHBhsHH4EBJwYhgQEmBiKBASUGFgEMgQEkBhUDDIEBIwYWBAuB +ASMGFwQKgQEiBg8DBgQKgQEhBg8EBwQJgQEhBhAEBwQIgQEgBhEFBgQIgQEgBRMEBwQHgQEfBhQEBgUG +gQEfBhQEBwQGgQEfBRYEBgIIgQEeBhYEEIEBHgYXBA+BAR4FGAMQgQEeBSuBAR0GK4EBHQYrgQEdBiuB +AR0GK4EBHQYrgQEdBiuBAR0GK4EBHQYrgQEdBiuBAR4FK4EBHgYqgQEeBiqBAR4HKYEBHwYpgQEfByiB +ASAHJ4EBIAcngQEhByaBASEJJIEBIgkjgQEjCiGBASQLH4EBJQwdgQEmDxmBASgTE4EBKhMRgQErEhGB +AS4PEYEBMAwSgQE0CBKBAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6B0A==<span class="hljs-string">', +'</span><span class="hljs-number">0</span>AFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQEXATaBARQENoEBEgY2gQESBzWBARMGNYEBEwc0gQEUBjSB +ARQGNIEBFQYzgQEVBiABEoEBFgYeAxGBARYGHAYQgQEWBxoHEIEBFwYYCg+BARcHFQsQgQEYBhMLEoEB +GAYRCxSBARkGDgsWgQEZBgwLGIEBGgYJCxqBARoHBwocgQEbBgUKHoEBGwcCCiCBARwRIYEBHA8jgQEd +DCWBAR0KJ4EBHAoogQEbCSqBARoILIEBGQgtgQEXCC+BARYIMIEBFQgxgQEVBzKBARQHM4EBEwc0gQES +BzWBARIGNoEBEQY3gQERBjeBAREFOIEBEAY4gQEQBjiBARAGOIEBEAY4gQEQBjiBARAGOIEBEAY4gQEQ +BjiBARAHN4EBEAc3gQERBzaBAREINYEBEgkzgQETCiEDDYEBEw0WCw2BARQtDYEBFisNgQEXKg2BARon +DYEBHSARgQEjDxyBAU6BAU6BAU6BAU6BAU6BAU6BAU6B0A==<span class="hljs-string">', +'</span><span class="hljs-number">0</span>AFOgQFOgQFOgQFOgQFOgQFOgQFOgQEXBDOBARcLLIEBFxQjgQEXIRaBARchFoEBGh4WgQEiFhaBASsN +FoEBNgEXgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQEkDR2BAR4WGoEBGR0YgQEVIxaBARApFYEB +DRcLCxSBAQ4QFAkTgQEODBoIEoEBDgkeBxKBAQ4GIgcRgQEPAiYGEYEBNwcQgQE4BhCBATgGEIEBOAYQ +gQE4BhCBATkFEIEBOQUQgQE5BRCBATgGEIEBOAYQgQE4BhCBATgGEIEBNwcQgQE3BhGBATcGEYEBNgcR +gQE1BxKBATUHEoEBNAcTgQEzCBOBATIIFIEBMQgVgQEvCRaBAS4JF4EBLAoYgQEqCxmBAScMG4EBJQ0c +gQEhDx6BARwTH4EBGBQigQEZESSBARoNJ4EBGgoqgQEbBS6BAU6BAU6BAU6BAU6BAU6BAU6BAU6B0A==<span class="hljs-string">', +'</span><span class="hljs-number">0</span>AFOgQFOgQFOgQFOgQFOgQFDAgmBAUEECYEBQgQIgQE7AQYFB4EBOQQGBAeBATkEBwQGgQE5BQYFBYEB +OgQHBAWBATsEBgUEgQE7BQYEBIEBPAQGBASBATwFBgEGgQEQBhsIBAQNgQEQKQQFDIEBECkFAQ+BARAp +FYEBECkVgQEQKRWBAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6B +AU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAU6BAQ0EPYEBDAY8gQEMBjyBAQwGPIEBDAU9gQEMBT2BAQsG +PYEBCwY9gQELBj2BAQsGPYEBCwY9gQELBj2BAQsHPIEBCwc8gQEMBzuBAQwIOoEBDQg5gQENCiUCEIEB +DgwdBxCBAQ8QDhEQgQEQLhCBAREtEIEBEysQgQEWJROBARobGYEBToEBToEBToEBToEBToHQ<span class="hljs-string">', +'</span><span class="hljs-number">0</span>AFOgQFOgQFOgQFOgQFCAwmBAUEECYEBQQUIgQE5AwYFB4EBOAQHBAeBASkCDgQGBQaBASYGDQUGBAaB +ASYGDgQHBAWBASYGDgUGBAWBAScFDwQHBASBAScGDwQGAwWBAScGDwUNgQEoBRAEDYEBKAUQAw6BASgG +IIEBKQUQAw2BASkFDAcNgQEpBgYMDYEBCgMdFw2BAQsVAh8NgQELNQ6BAQsxEoEBCysYgQELJh2BARkI +CwUdgQEsBhyBAS0FHIEBLQUcgQEuBRuBAS4FG4EBLwUagQEvBRqBATAFGYEBMAYYgQExBRiBATEGF4EB +MgUXgQEyBhaBATMGFYEBNAUVgQE0BhSBATUGE4EBEAIWCgMHEoEBEAYSFRGBAQ8GExURgQEPBRQUEoEB +DgYaDROBAQ4GIwQTgQEOBTuBAQ0GO4EBDQY7gQENBTyBAQ0FPIEBDQU8gQENBTyBAQ0FPIEBDQU8gQEN +BjuBAQ0GO4EBDgY6gQEOBzmBAQ4IOIEBDwg3gQEQCh4BFYEBEQwVBxWBARInFYEBEyYVgQEVJBWBARgh +FYEBGxoZgQFOgQFOgQFOgQFOgdA=<span class="hljs-string">', +'</span><span class="hljs-number">0</span>AFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQEJBz6BAQkGP4EBCQY/gQEJBigDFIEB +CQYlBhSBAQkGJQcTgQEJBiYHEoEBCQYnBhKBAQkGJwcRgQEJBigGEYEBCQYoBxCBAQkGKQYQgQEJBioG +D4EBCQYqBg+BAQkGKgcOgQEJBisGDoEBCgUrBg6BAQoFLAYNgQEKBSwGDYEBCgUtBgyBAQoFLQYMgQEK +BS0GDIEBCgUuBguBAQoFLgYLgQEKBS4GC4EBCgYtBguBAQoGLgYKgQEKBi4GCoEBCgYuBgqBAQoGLwYJ +gQELBS8GCYEBCwUvBgmBAQsFLwYJgQELBhMBGgYJgQELBhMCGgYIgQELBhMDGQYIgQEMBRMEGAYIgQEM +BhEGFwYIgQEMBhEGFwYIgQEMBhAGGQUIgQENBg8GGQUIgQENBg8GGQUIgQENBg4GGgILgQEOBg0GJ4EB +DgcLBiiBAQ4HCgcogQEPBwgHKYEBEAcGCCmBARAKAQkqgQEREiuBARIRK4EBEhAsgQETDi2BARULLoEB +FwcwgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgQFOgdA=<span class="hljs-string">', +'</span><span class="hljs-number">0</span>AFOgQFOgQFOgQFOgQFOgQFOgQFOgQElBiOBASYFI4EBJgUjgQEmBSOBASYFI4EBJgUjgQEmBSOBASYF +I4EBJgUQBQ6BAQ4IEAUGDw6BAQ4yDoEBDjIOgQEOMg6BAQ4rFYEBGhIigQEmBSOBASYFI4EBJgUjgQEm +BSOBASYFI4EBJgUjgQEmBSOBASYFI4EBJgUjgQEmBRQCDYEBDQMWBQwKDYEBDQ8JHA2BAQ4zDYEBDjMN +gQEOMg6BARAnF4EBJQYjgQEmBSOBASYFI4EBJgUjgQEmBSOBASYFI4EBJgUjgQEmBSOBASYFI4EBJgUj +gQEmBSOBAR0EBQUjgQEXFCOBARQZIYEBEh4egQERIRyBARAJDBAZgQEPBxARF4EBDgYSExWBAQ4FEwYD +CxSBAQ4FEwYFCxKBAQ0FFAYHChGBAQ0FFAYJCg+BAQ0FFAYKCg6BAQ0GEwYMCQ2BAQ4FEwYNCQyBAQ4G +EQYQBg2BAQ4HDwcRBQ2BAQ8IDAgSAw6BAQ8bFAEPgQERGCWBARIWJoEBFBIogQEXDSqBAU6BAU6BAU6B +AU6BAU6BAU6B0A==<span class="hljs-string">', +'</span><span class="hljs-number">0</span>AFOgQFOgQFOgQFOgQFOgQFOgQEpBh+BASkGH4EBKQYfgQEqBR+BASoFH4EBKgUfgQEqBR+BASoFH4EB +KgUfgQEqBR+BARkuB4EBBkEHgQEHQAeBAQdAB4EBB0AHgQEHDBcFH4EBKgUfgQEqBR+BASoFH4EBKgUf +gQEqBR+BASoFH4EBKgUfgQEgDx+BAR4RH4EBHBMfgQEbFB+BARoIBAkfgQEZBwkGH4EBGQYLBh6BARgG +DQUegQEYBQ4GHYEBFwYPBR2BARcFEAUdgQEXBRAFHYEBFwUQBhyBARcFEAYcgQEXBQ8HHIEBFwUPBxyB +ARcGDgccgQEXBg0IHIEBGAYMBx2BARgHCggdgQEZCAYKHYEBGhcdgQEbFh2BARwVHYEBHgsBBh6BASAG +BAYegQEpBh+BASkGH4EBKAYggQEnByCBASYHIYEBJQcigQEkCCKBASIJI4EBIAokgQEeCyWBARwLJ4EB +GQ0ogQEWDiqBARcMK4EBGAktgQEZBTCBARoCMoEBToEBToEBToEBToEBToEBToHQ<span class="hljs-string">',]; +$m="";for($k=0;$k<min(13,intdiv(__LINE__-119,80)+1);$k++){$C=str_replace("\n","", +$c[$k]);$f=!0;foreach(str_split(base64_decode($C))as$l){$L=ord($l);$m.=str_repeat +($f?"#":chr(32),$L&127);$f=!$f;if($L&128){$m.="\n";$f=!0;continue;}}}print( +str_replace([chr(96),chr(37),chr(64)],[implode("\n",array_map(fn($C)=>"'</span><span class="hljs-string">".trim( +chunk_split(str_replace("</span>\n<span class="hljs-string">","</span><span class="hljs-string">",<span class="hljs-subst">$C</span>),80,"</span>\n<span class="hljs-string">"))."</span><span class="hljs-string">',",$c)),"\n{$m}","{$s}\nQ;\n"],$s));</span></code></pre> + </section> + </div> + </article> + </main> + <footer class="footer"> + © 2021 nsfisis + </footer> + </body> +</html> diff --git a/vhosts/blog/public/posts/2024-12-04/cohackpp-report/lt.png b/vhosts/blog/public/posts/2024-12-04/cohackpp-report/lt.png Binary files differnew file mode 100644 index 00000000..1075d95f --- /dev/null +++ b/vhosts/blog/public/posts/2024-12-04/cohackpp-report/lt.png diff --git a/vhosts/blog/public/posts/atom.xml b/vhosts/blog/public/posts/atom.xml index 9c91d293..4a638ae1 100644 --- a/vhosts/blog/public/posts/atom.xml +++ b/vhosts/blog/public/posts/atom.xml @@ -7,7 +7,15 @@ <author> <name>nsfisis</name> </author> - <updated>2024-09-28T00:00:00+09:00</updated> + <updated>2024-12-04T00:00:00+09:00</updated> + <entry> + <id>urn:uuid:ea0593d3-691c-4e08-8db4-98b8925717ec</id> + <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-12-04/cohackpp-report/"></link> + <title>紅白ぺぱ合戦に参加&LTしました</title> + <summary>2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。</summary> + <published>2024-12-04T00:00:00+09:00</published> + <updated>2024-12-04T00:00:00+09:00</updated> + </entry> <entry> <id>urn:uuid:ee7289ee-ff2e-439d-b343-7f87504192fd</id> <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-09-28/mncore-challenge-1/"></link> diff --git a/vhosts/blog/public/posts/index.html b/vhosts/blog/public/posts/index.html index 1fd191d5..31d600e3 100644 --- a/vhosts/blog/public/posts/index.html +++ b/vhosts/blog/public/posts/index.html @@ -43,6 +43,21 @@ <h1>投稿一覧</h1> </header> <article class="post-entry"> + <a href="/posts/2024-12-04/cohackpp-report/"> + <header class="entry-header"> + <h2>紅白ぺぱ合戦に参加&LTしました</h2> + </header> + <section class="entry-content"> + <p> + 2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。 + </p> + </section> + <footer class="entry-footer"> + <time datetime="2024-12-04">2024-12-04</time> 投稿 + </footer> + </a> + </article> + <article class="post-entry"> <a href="/posts/2024-09-28/mncore-challenge-1/"> <header class="entry-header"> <h2>MN-Core Challenge #1 参加レポ</h2> diff --git a/vhosts/blog/public/slides/2024-11-30/cohackpp/index.html b/vhosts/blog/public/slides/2024-11-30/cohackpp/index.html index 09736f69..d6d1b0c9 100644 --- a/vhosts/blog/public/slides/2024-11-30/cohackpp/index.html +++ b/vhosts/blog/public/slides/2024-11-30/cohackpp/index.html @@ -6,7 +6,7 @@ <meta name="author" content="nsfisis"> <meta name="copyright" content="© 2024 nsfisis"> <meta name="description" content="プログラミングマナー講座"> - <meta name="keywords" content="PHP,紅白ぺぱ合戦"> + <meta name="keywords" content="紅白ぺぱ合戦,PHP"> <meta property="og:type" content="article"> <meta property="og:title" content="紅白ぺぱ合戦 (LT)|REPL: Rest-Eat-Program Loop"> <meta property="og:description" content="プログラミングマナー講座"> @@ -45,10 +45,10 @@ <h1 class="post-title">プログラミングマナー講座</h1> <ul class="post-tags"> <li class="tag"> - <a href="/tags/php/">PHP</a> + <a href="/tags/cohackpp/">紅白ぺぱ合戦</a> </li> <li class="tag"> - <a href="/tags/cohackpp/">紅白ぺぱ合戦</a> + <a href="/tags/php/">PHP</a> </li> </ul> </header> diff --git a/vhosts/blog/public/tags/cohackpp/atom.xml b/vhosts/blog/public/tags/cohackpp/atom.xml index a37d3a1c..77c35943 100644 --- a/vhosts/blog/public/tags/cohackpp/atom.xml +++ b/vhosts/blog/public/tags/cohackpp/atom.xml @@ -7,7 +7,15 @@ <author> <name>nsfisis</name> </author> - <updated>2024-11-30T00:00:00+09:00</updated> + <updated>2024-12-04T00:00:00+09:00</updated> + <entry> + <id>urn:uuid:ea0593d3-691c-4e08-8db4-98b8925717ec</id> + <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-12-04/cohackpp-report/"></link> + <title>紅白ぺぱ合戦に参加&LTしました</title> + <summary>2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。</summary> + <published>2024-12-04T00:00:00+09:00</published> + <updated>2024-12-04T00:00:00+09:00</updated> + </entry> <entry> <id>urn:uuid:e1ca4664-f6f1-4de2-b4a5-ea2b64006708</id> <link rel="alternate" href="https://blog.nsfisis.dev/slides/2024-11-30/cohackpp/"></link> diff --git a/vhosts/blog/public/tags/cohackpp/index.html b/vhosts/blog/public/tags/cohackpp/index.html index 9cba8215..e56a0135 100644 --- a/vhosts/blog/public/tags/cohackpp/index.html +++ b/vhosts/blog/public/tags/cohackpp/index.html @@ -44,6 +44,21 @@ <h1>タグ「紅白ぺぱ合戦」一覧</h1> </header> <article class="post-entry"> + <a href="/posts/2024-12-04/cohackpp-report/"> + <header class="entry-header"> + <h2>紅白ぺぱ合戦に参加&LTしました</h2> + </header> + <section class="entry-content"> + <p> + 2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。 + </p> + </section> + <footer class="entry-footer"> + <time datetime="2024-12-04">2024-12-04</time> 投稿 + </footer> + </a> + </article> + <article class="post-entry"> <a href="/slides/2024-11-30/cohackpp/"> <header class="entry-header"> <h2>登壇: 紅白ぺぱ合戦 (LT)</h2> diff --git a/vhosts/blog/public/tags/index.html b/vhosts/blog/public/tags/index.html index 2efeaa3c..350881fa 100644 --- a/vhosts/blog/public/tags/index.html +++ b/vhosts/blog/public/tags/index.html @@ -57,7 +57,7 @@ <h2>紅白ぺぱ合戦</h2> </header> <footer class="entry-footer"> - 1件のスライド + 1件の記事、1件のスライド </footer> </a> </article> @@ -187,7 +187,7 @@ <h2>PHP</h2> </header> <footer class="entry-footer"> - 17件の記事、18件のスライド + 18件の記事、18件のスライド </footer> </a> </article> diff --git a/vhosts/blog/public/tags/php/atom.xml b/vhosts/blog/public/tags/php/atom.xml index b3f201ee..62ab2fd2 100644 --- a/vhosts/blog/public/tags/php/atom.xml +++ b/vhosts/blog/public/tags/php/atom.xml @@ -7,7 +7,15 @@ <author> <name>nsfisis</name> </author> - <updated>2024-11-30T00:00:00+09:00</updated> + <updated>2024-12-04T00:00:00+09:00</updated> + <entry> + <id>urn:uuid:ea0593d3-691c-4e08-8db4-98b8925717ec</id> + <link rel="alternate" href="https://blog.nsfisis.dev/posts/2024-12-04/cohackpp-report/"></link> + <title>紅白ぺぱ合戦に参加&LTしました</title> + <summary>2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。</summary> + <published>2024-12-04T00:00:00+09:00</published> + <updated>2024-12-04T00:00:00+09:00</updated> + </entry> <entry> <id>urn:uuid:e1ca4664-f6f1-4de2-b4a5-ea2b64006708</id> <link rel="alternate" href="https://blog.nsfisis.dev/slides/2024-11-30/cohackpp/"></link> diff --git a/vhosts/blog/public/tags/php/index.html b/vhosts/blog/public/tags/php/index.html index 58b2b0ea..e9724a09 100644 --- a/vhosts/blog/public/tags/php/index.html +++ b/vhosts/blog/public/tags/php/index.html @@ -44,6 +44,21 @@ <h1>タグ「PHP」一覧</h1> </header> <article class="post-entry"> + <a href="/posts/2024-12-04/cohackpp-report/"> + <header class="entry-header"> + <h2>紅白ぺぱ合戦に参加&LTしました</h2> + </header> + <section class="entry-content"> + <p> + 2024-11-30 に開催された紅白ぺぱ合戦に参加し、ぺ陣営のメンバとして LT しました。 + </p> + </section> + <footer class="entry-footer"> + <time datetime="2024-12-04">2024-12-04</time> 投稿 + </footer> + </a> + </article> + <article class="post-entry"> <a href="/slides/2024-11-30/cohackpp/"> <header class="entry-header"> <h2>登壇: 紅白ぺぱ合戦 (LT)</h2> |
