From 77d1d07fbc1b8e27125d5d727e1551e9aeaac6c2 Mon Sep 17 00:00:00 2001
From: nsfisis
- サーバレス
-
- サーバ・インフラの管理が不要
-
- アプリケーションコードの知識だけで保守可能
-
- クエリの順番を決める
-
- 空の値のルールを決めておく
-
- リダイレクトすればインデックスはうまくいく
-
- リンクが存在する限りクロールはされる
-
- 標準の HTML を適切に使う
-
- WAI-ARIA
-
- キーボードフレンドリー
-
- マシンフレンドリー
-
- SEOフレンドリー
-
- ロール
-
- 何をするのか?
-
- ユーザーアクションによって変化しない
-
- プロパティ
-
- 関連づけられたデータ
-
- ステート
-
- 現在の状態
-
- 特定の C の関数を呼ぶことで filesystem が作れる
-
- FFI を持つ言語なら FUSE が使える
-
- dokany (on Windows)
-
- osxfuse
-
- grep できる
-
- sed できる
-
- 編集できる
-
- ユーザーストーリー
-
- ユニットテスト
-
- CI/CD
-
- Q1: 技術面 & チーム支援
-
- TDD
-
- ユニットテストなど
-
- Q2: ビジネス面 & チーム支援
-
- ATDD
-
- ビジネス面の受け入れテストで駆動する
-
- UI Tests
-
- Service Tests
-
- Unit Tests
-
- 異なる粒度のテストを書く
-
- 高レベルになるほど、持つべきテストは少なくなる
-
- ピラミッド型になる
-
- cucumber
-
- gauge
-
- behat
-
- PHPStan
-
- Phan
-
- Psalm
-
- 捕捉すべきもの
-
- recoverable
-
- 捕捉すべきでないもの
-
- unrecoverable
-
- 開発時に対処できるもの
-
- 本番で起きてはいけない
-
- 本番で起きてはいけない →生じないのだから捕捉もしない
-
- 起こるかもしれないので本番環境でも考慮する
-
- deptrac
-
- phpat
-
- the identifiers that are keywords cannot be used for other purposes;
-
- The only place they can be used as non-keywords is in an attribute-token. (e.g. [[private]] is a valid attribute) (since C++11)
-
-
-
-
-
-
-
-
- 通常は改行しておけばよい
-
- 3.0 で入る予定の
- Ruby の構文を正確に知るには (現状)
-
-
-
-
- →
-
- →
-
- →
-
- →
-
-
-
-
-
-
-
-
-
- 1文字は 5x5 のセルからなる
-
- 出力されるのは、完全な PHPer トークンである
-
- フォントファイルを読み込む
-
- コマンドライン引数を Shift-JIS に変換する (フォントが Shift-JIS 基準で並んでいるため)
-
- 1文字ずつレンダリングしていく
-
- プロポーザルを出す
-
- PHPer チャレンジのトークン問題を 5題作成する
-
- 現地に行く
-
- PHPer チャレンジで圧勝する
-
- コマンドライン引数の第1引数で受けとる
-
- 結果は標準出力に出す
-
- コンマの直後にはスペースを1つ置く
-
- 末尾コンマは禁止
-
- 数字でないものは入ってこないものとする
-
- 負数は入ってこないものとする
-
- 1行あたりの文字数は2文字までに収めること (ただし
- 厳密な定義:
- スペースやタブを使用しないこと
-
- ループのアンロールをしないこと
-
- 100 回ループの代わりに 100 回コードをコピペ、というのは禁止
-
- PHP 7.4〜8.1 で動作すること
-
- 実行時に Notice や Warning が出ないこと
-
- 標準的なインストール構成の PHP で実現できること (デフォルトで有効になっていない拡張等を使わないこと)
-
-
-
-
- 標準的なインストール構成の PHP で実現できること (デフォルトで有効になっていない拡張等を使わないこと)
-
- PHP 7.4〜8.1 で動作すること
-
- スペースやタブを使用しないこと
-
-
-
-
2023 年 3 月 23 日から 25 日にかけて開催予定 (記事執筆時点) のPHPerKaigi 2023において、 昨年と同様に、弊社デジタルサーカス株式会社からトークン問題を出題予定である。
@@ -183,27 +177,19 @@
@@ -242,33 +228,23 @@
@@ -282,49 +258,32 @@
@@ -407,15 +362,11 @@
@@ -433,21 +384,15 @@
@@ -469,21 +414,15 @@
@@ -501,41 +440,27 @@
@@ -660,21 +566,15 @@
@@ -828,35 +728,23 @@
@@ -898,9 +784,7 @@
@@ -911,9 +795,7 @@
@@ -1070,15 +952,11 @@
diff --git a/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html b/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
index 39ab3cd..98c9e3c 100644
--- a/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
+++ b/public/posts/2021-10-02/cpp-you-can-use-keywords-in-attributes/index.html
@@ -107,15 +107,10 @@ std::cout << "Hello, World!" &l
diff --git a/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html b/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
index f66ae0b..25fb3bb 100644
--- a/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
+++ b/public/posts/2021-10-02/ruby-then-keyword-and-case-in/index.html
@@ -260,29 +260,20 @@ c
<%→{
- <%→{
%>→}
- %>→}
<:→[
- <:→[
:>→]
- :>→]
%:→#
- %:→#
%:%:→##
- %:%:→##
まとめ
diff --git a/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html b/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
index f45df6b..0e1e296 100644
--- a/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
+++ b/public/posts/2021-10-02/vim-difference-between-autocmd-bufwrite-and-bufwritepre/index.html
@@ -74,21 +74,15 @@
ifやcaseの条件の後ろにはthen、;、改行のいずれかが必要
- ifやcaseの条件の後ろにはthen、;、改行のいずれかが必要
case-inでもthen等が必要になる
- case-inでもthen等が必要になる
parse.yを直接読めばよい
- parse.yを直接読めばよい
@@ -176,57 +170,37 @@ to |EncodingChanged|.
BufRead/BufReadPost
- BufRead/BufReadPost
BufWrite/BufWritePre
- BufWrite/BufWritePre
BufAdd/BufCreate
- BufAdd/BufCreate
BufAdd/BufCreate
- BufAdd/BufCreate
BufCreateは歴史的な理由により (`for historic reasons'') 存在しているため、新しい方 (`BufAdd) を使う
- BufCreateは歴史的な理由により ("for historic reasons") 存在しているため、新しい方 (BufAdd) を使う
BufRead/BufReadPost
- BufRead/BufReadPost
BufReadPreとの対称性のため、あるいはBufWritePostとの対称性のためBufReadPostを使う
- BufReadPreとの対称性のため、あるいはBufWritePostとの対称性のためBufReadPostを使う
BufWrite/BufWritePre
- BufWrite/BufWritePre
BufWritePostとの対称性のため、あるいはBufReadPreとの対称性のためBufWritePreを使う
- BufWritePostとの対称性のため、あるいはBufReadPreとの対称性のためBufWritePreを使う
FileEncoding/EncodingChanged
- FileEncoding/EncodingChanged
FileEncodingは`Obsolete'' と明言されているので、`EncodingChangedを使う
- FileEncodingは`Obsolete'' と明言されているので、`EncodingChangedを使う
@@ -425,27 +411,19 @@
$👉:>
- $👉:>
$👈:<
- $👈:<
$👍:+
- $👍:+
$👎:-
- $👎:-
$📝:.
- $📝:.
$🤡:[
- $🤡:[
$🎪:]
- $🎪:]
diff --git a/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html b/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
index 8ae0fa6..d8e5dee 100644
--- a/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
+++ b/public/posts/2022-04-24/term-banner-write-tool-showing-banner-in-terminal/index.html
@@ -99,21 +99,15 @@
Nそれ自体は、42 や 8128 といったような特別な意味を持たず、ランダムに決められている
- Nそれ自体は、42 や 8128 といったような特別な意味を持たず、ランダムに決められている
$tokenの各要素は、1文字を表す
- $tokenの各要素は、1文字を表す
diff --git a/public/posts/2022-05-01/phperkaigi-2022/index.html b/public/posts/2022-05-01/phperkaigi-2022/index.html
index a722db0..8bad748 100644
--- a/public/posts/2022-05-01/phperkaigi-2022/index.html
+++ b/public/posts/2022-05-01/phperkaigi-2022/index.html
@@ -226,27 +226,19 @@
diff --git a/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html b/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
index 1e124bf..b6fdf5a 100644
--- a/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
+++ b/public/posts/2022-08-27/php-conference-okinawa-code-golf/index.html
@@ -81,39 +81,27 @@
diff --git a/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html b/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
index 7546291..93a0a0c 100644
--- a/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
+++ b/public/posts/2022-09-29/write-fizzbuzz-in-php-2-letters-per-line/index.html
@@ -68,55 +68,37 @@
@@ -224,21 +206,15 @@ c\
<?phpタグは除く)
- <?phpタグは除く)
<?phpタグ以降のソースコードが、2 byte ごとに ラインフィード (LF) で区切られること
- <?phpタグ以降のソースコードが、2 byte ごとに ラインフィード (LF) で区切られること
@@ -253,9 +229,7 @@ c\
_:gettextのエイリアス
- _:gettextのエイリアス
dl: 拡張モジュールをロードする
- dl: 拡張モジュールをロードする
pi: 円周率を返す
- pi: 円周率を返す
@@ -354,9 +328,7 @@ a'
@@ -670,9 +642,7 @@ o\
diff --git a/public/posts/2022-10-28/setup-server-for-this-site/index.html b/public/posts/2022-10-28/setup-server-for-this-site/index.html
index 2f458ad..a290046 100644
--- a/public/posts/2022-10-28/setup-server-for-this-site/index.html
+++ b/public/posts/2022-10-28/setup-server-for-this-site/index.html
@@ -153,21 +153,15 @@
diff --git a/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html b/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
index 61d9880..d851f53 100644
--- a/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
+++ b/public/posts/2023-01-10/phperkaigi-2023-unused-token-quiz-3/index.html
@@ -53,8 +53,8 @@
- Portを変更
- Portを変更
PermitRootLoginをnoに
- PermitRootLoginをnoに
PasswordAuthenticationをnoに
- PasswordAuthenticationをnoに
はじめに
+ はじめに
- すでに 2023 年用の問題は作成済みであるが、その制作過程の中でいくつかボツ問ができた。せっかくなので、PHPerKaigi 開催を待つ間に紹介しようと思う。 + すでに 2023 年用の問題は作成済みであるが、その制作過程の中でいくつかボツ問ができた。 せっかくなので、PHPerKaigi 開催を待つ間に紹介しようと思う。
@@ -73,21 +73,17 @@
- その 1 はこちら:PHPerKaigi 2023: ボツになったトークン問題 その 1 -
+ その 1 はこちら:PHPerKaigi 2023: ボツになったトークン問題 その 1- その 2 はこちら:PHPerKaigi 2023: ボツになったトークン問題 その 2 -
+ その 2 はこちら:PHPerKaigi 2023: ボツになったトークン問題 その 2注意: これはボツ問なので、得られたトークンを PHPerKaigi で入力してもポイントにはならない。
@@ -231,15 +227,11 @@- エラーを処理している途中に起こった別のエラーに、元のエラー情報を含める -
+ エラーを処理している途中に起こった別のエラーに、元のエラー情報を含める- 内部エラーをラップして作られたエラーに、内部エラーの情報を含める -
+ 内部エラーをラップして作られたエラーに、内部エラーの情報を含める
- f()の引数が足りないことによる呼び出し失敗
-
f()の引数が足りないことによる呼び出し失敗
- f(0)の呼び出しで発生したゼロ除算
-
f(0)の呼び出しで発生したゼロ除算
- f(1)の呼び出しで発生したゼロ除算
-
f(1)の呼び出しで発生したゼロ除算
- …​ -
+ …
- f(37)の呼び出しで発生したゼロ除算
-
f(37)の呼び出しで発生したゼロ除算
「行数」というのはトークン文字列をデコードする対象として優れている。
- トークンの一部や全部が陽に現れない -
+ トークンの一部や全部が陽に現れない
- __LINE__で容易に取得できる
-
__LINE__で容易に取得できる