,āĻā§āϝāĻžāĻā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻ â āĻļā§āϧ⧠āĻŽāĻžāϰā§āĻāĻĄāĻžāĻāύ āϞāĻŋāĻā§āύāĨ¤ +- icon: "đ" + title: āĻāĻĄāĻŋāĻāϰ⧠āĻĻā§āĻāϤ⧠āĻāĻžāϞ⧠+ desc: āĻŽāĻžāϰā§āĻāĻĄāĻžāĻāύ āĻāϧā§āύāĻŋāĻ IDEs (Integrated Development Environments) āĻāĻŦāĻ āĻā§āĻā§āϏāĻ āĻāĻĄāĻŋāĻāϰāĻā§āϞā§āϤ⧠āϏā§āύā§āĻĻāϰāĻāĻžāĻŦā§ āϰā§āύā§āĻĄāĻžāϰ āĻāϰā§āĨ¤ +support: + description: JDK 23 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2024) āĻĨā§āĻā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/language/module-import-declarations.yaml b/translations/content/bn/language/module-import-declarations.yaml new file mode 100644 index 0000000..f2966c8 --- /dev/null +++ b/translations/content/bn/language/module-import-declarations.yaml @@ -0,0 +1,18 @@ +--- +title: āĻŽāĻĄāĻŋāĻāϞ āĻāĻŽā§āĻĒā§āϰā§āĻ āĻĄāĻŋāĻā§āϞāĻžāϰā§āĻļāύ (Module Import Declarations) +oldApproach: āĻ āύā§āĻ āĻāĻŽā§āĻĒā§āϰā§āĻ +modernApproach: import module +summary: āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āĻĄāĻŋāĻā§āϞāĻžāϰā§āĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻāĻŋ āĻŽāĻĄāĻŋāĻāϞā§āϰ āϏāĻŽāϏā§āϤ āĻāĻā§āϏāĻĒā§āϰā§āĻ āĻāϰāĻž āĻĒā§āϝāĻžāĻā§āĻ āĻāĻŽā§āĻĒā§āϰā§āĻ āĻāϰā§āύāĨ¤ +explanation: āĻŽāĻĄāĻŋāĻāϞ āĻāĻŽā§āĻĒā§āϰā§āĻ āĻĄāĻŋāĻā§āϞāĻžāϰā§āĻļāύ (Module import declarations) āĻāĻĒāύāĻžāĻā§ āĻāĻāĻāĻŋ āĻŽāĻĄāĻŋāĻāϞ āϝāĻž āĻāĻā§āϏāĻĒā§āϰā§āĻ āĻāϰā§, āϤāĻžāϰ āϏāĻŦāĻāĻŋāĻā§ āĻāĻ āϞāĻžāĻāύ⧠āĻāĻŽā§āĻĒā§āϰā§āĻ āĻāϰāϤ⧠āĻĻā§ā§āĨ¤ āĻāĻāĻŋ java.base āĻāϰ āĻāύā§āϝ āĻŦāĻŋāĻļā§āώāĻāĻžāĻŦā§ āĻāĻĒāϝā§āĻā§, āϝāĻž āĻāĻžāϞā§āĻāĻļāύ, I/O, āϏā§āĻā§āϰāĻŋāĻŽ āĻāĻŦāĻ āĻāϰāĻ āĻ āύā§āĻ āĻāĻŋāĻā§ āĻāĻāĻžāϰ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ§š" + title: āĻāĻ āϞāĻžāĻāύ + desc: āĻ āύā§āĻāĻā§āϞ⧠āĻāĻŽā§āĻĒā§āϰā§āĻ āϏā§āĻā§āĻāĻŽā§āύā§āĻāĻā§ āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āĻŽāĻĄāĻŋāĻāϞ āĻāĻŽā§āĻĒā§āϰā§āĻ āĻĻāĻŋā§ā§ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āύāĨ¤ +- icon: "đĻ" + title: āĻŽāĻĄāĻŋāĻāϞ-āĻ ā§āϝāĻžāĻā§āĻžāϰ (Module-aware) + desc: āĻĒā§āϝāĻžāĻā§āĻā§āϰ āϏā§āϏāĻāĻāϤ āϏā§āĻ āĻāĻŽā§āĻĒā§āϰā§āĻ āĻāϰāϤ⧠āĻŽāĻĄāĻŋāĻāϞ āϏāĻŋāϏā§āĻā§āĻŽāĻā§ āĻāĻžāĻā§ āϞāĻžāĻāĻžā§āĨ¤ +- icon: "đ" + title: āĻĻā§āϰā§āϤ āĻļā§āϰ⧠+ desc: āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻŦāĻ āĻĒā§āϰā§āĻā§āĻāĻžāĻāĻĒā§āϰ āĻāύā§āϝ āĻĒāĻžāϰāĻĢā§āĻā§āĻ, āϝā§āĻāĻžāύ⧠āĻāĻŽā§āĻĒā§āϰā§āĻ āϞāĻŋāϏā§āĻ āϤā§āϰāĻŋ āĻāϰāĻž tediousāĨ¤ +support: + description: JDK 25 LTS (JEP 511, āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2025) āĻ āĻā§āĻĄāĻŧāĻžāύā§āϤ āĻšāϝāĻŧā§āĻā§āĨ¤ \ No newline at end of file diff --git a/translations/content/bn/language/pattern-matching-instanceof.yaml b/translations/content/bn/language/pattern-matching-instanceof.yaml new file mode 100644 index 0000000..db52e61 --- /dev/null +++ b/translations/content/bn/language/pattern-matching-instanceof.yaml @@ -0,0 +1,18 @@ +--- +title: instanceof-āĻāϰ āĻāύā§āϝ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŽā§āϝāĻžāĻāĻŋāĻ (Pattern matching for instanceof) +oldApproach: instanceof + Cast +modernApproach: āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ (Pattern Variable) +summary: āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŽā§āϝāĻžāĻāĻŋāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻžāĻāĻĒ āĻā§āĻ (type check) āĻāĻŦāĻ āĻāĻžāϏā§āĻ (cast) āĻā§ āĻāĻ āϏā§āĻā§āĻĒā§ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰā§āύāĨ¤ +explanation: instanceof-āĻāϰ āĻāύā§āϝ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŽā§āϝāĻžāĻāĻŋāĻ āĻāĻžāĻāĻĒ āĻā§āĻā§āϰ āĻĒāϰ⧠āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻžāϏā§āĻāĻā§ āĻĻā§āϰ āĻāϰā§āĨ¤ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āϏā§āĻā§āĻĒāĻĄ (scoped) āĻšāϝāĻŧ āϝā§āĻāĻžāύ⧠āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻāĻŋ āĻŽā§āϝāĻžāĻ āĻāϰā§, āϝāĻž āĻā§āĻĄāĻā§ āĻāϰāĻ āύāĻŋāϰāĻžāĻĒāĻĻ āĻāĻŦāĻ āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻāϰ⧠āϤā§āϞā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āĻā§āύ⧠āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻžāϏā§āĻ āύā§āĻ + desc: āĻāĻžāĻāĻĒ āĻā§āĻ āĻāĻŦāĻ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ āĻŦāĻžāĻāύā§āĻĄāĻŋāĻ āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύā§āĻ āϏāĻŽā§āĻĒāύā§āύ āĻšāϝāĻŧāĨ¤ +- icon: "đ" + title: āĻāĻŽ āϞāĻžāĻāύ + desc: āĻĻā§āĻāĻŋāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻāĻāĻāĻŋ āϞāĻžāĻāύ â āĻāĻžāϏā§āĻ āϞāĻžāĻāύāĻāĻŋ āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āĻŦāĻŋāϞā§āĻĒā§āϤ āĻšā§ā§ āϝāĻžā§āĨ¤ +- icon: "đĄī¸" + title: āϏā§āĻā§āĻĒ āϏā§āĻĢāĻāĻŋ (Scope Safety) + desc: āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϏā§āĻ āϏā§āĻā§āĻĒā§ āĻĨāĻžāĻā§ āϝā§āĻāĻžāύ⧠āĻāĻžāĻāĻĒāĻāĻŋ āύāĻŋāĻļā§āĻāĻŋāϤ (guaranteed) āĻšā§āĨ¤ +support: + description: JDK 16 (āĻŽāĻžāϰā§āĻ 2021) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/language/pattern-matching-switch.yaml b/translations/content/bn/language/pattern-matching-switch.yaml new file mode 100644 index 0000000..d49845f --- /dev/null +++ b/translations/content/bn/language/pattern-matching-switch.yaml @@ -0,0 +1,18 @@ +--- +title: āϏā§āĻāĻ-āĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŽā§āϝāĻžāĻāĻŋāĻ (Pattern matching in switch) +oldApproach: if-else āĻā§āĻāύ +modernApproach: āĻāĻžāĻāĻĒ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāϏ (Type Patterns) +summary: āĻĒāϰāĻŋāώā§āĻāĻžāϰ āϏā§āĻāĻ āĻāĻžāĻāĻĒ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠if-else instanceof āĻā§āĻāύāĻā§āϞā§āĻā§ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āύāĨ¤ +explanation: āϏā§āĻāĻ-āĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŽā§āϝāĻžāĻāĻŋāĻ āĻāĻĒāύāĻžāĻā§ āϏāϰāĻžāϏāϰāĻŋ āĻāĻžāĻāĻĒā§āϰ āϏāĻžāĻĨā§ āĻŽā§āϝāĻžāĻ āĻāϰāϤ⧠āĻĻā§ā§, āĻāĻžāĻāĻĒ āĻā§āϏā§āĻ, āĻāĻžāϏā§āĻ āĻāĻŦāĻ āĻŦāĻžāĻāύā§āĻĄāĻŋāĻāĻā§ āĻāĻāĻāĻŋ āϏā§āϏāĻāĻā§āώāĻŋāĻĒā§āϤ āĻā§āĻāϏ āϞā§āĻŦā§āϞ⧠āĻāĻāϤā§āϰāĻŋāϤ āĻāϰā§āĨ¤ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āĻāĻŽāĻĒā§āϞāĻŋāĻāύā§āϏ āĻā§āĻ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰā§āĻĄ āĻĄāĻŋāϏāĻĒā§āϝāĻžāĻ (Structured Dispatch) + desc: āϏā§āĻāĻ āĻŦā§āϰāĻžāĻā§āĻāĻŋāĻ āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰāĻā§ āϏā§āϏā§āĻĒāώā§āĻ āĻāĻŦāĻ āϏā§āĻā§āϝāĻžāύā§āĻŦāϞ āĻāϰ⧠āϤā§āϞā§āĨ¤ +- icon: "đ¯" + title: āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ āĻĢāϰā§āĻŽ (Expression Form) + desc: āϏāϰāĻžāϏāϰāĻŋ āĻāĻāĻāĻŋ āĻā§āϝāĻžāϞ⧠āϰāĻŋāĻāĻžāϰā§āύ āĻāϰ⧠â āĻā§āύ⧠āĻŽāĻŋāĻāĻā§āĻŦāϞ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +- icon: "â " + title: āĻāĻā§āϏāĻšāϏā§āĻāĻŋāĻāύā§āϏ (Exhaustiveness) + desc: āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰ⧠āϝ⧠āϏāĻŦ āĻāĻžāĻāĻĒ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰāĻž āĻšā§ā§āĻā§āĨ¤ +support: + description: JDK 21 LTS (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2023) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/language/primitive-types-in-patterns.yaml b/translations/content/bn/language/primitive-types-in-patterns.yaml new file mode 100644 index 0000000..57a0fea --- /dev/null +++ b/translations/content/bn/language/primitive-types-in-patterns.yaml @@ -0,0 +1,18 @@ +--- +title: āĻĒā§āϝāĻžāĻāĻžāϰā§āύ⧠āĻĒā§āϰāĻŋāĻŽāĻŋāĻāĻŋāĻ āĻāĻžāĻāĻĒāϏ (Primitive Types in Patterns) +oldApproach: āĻŽā§āϝāĻžāύā§ā§āĻžāϞ āϰā§āĻā§āĻ āĻā§āĻāϏ (Manual Range Checks) +modernApproach: āĻĒā§āϰāĻŋāĻŽāĻŋāĻāĻŋāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāϏ (Primitive Patterns) +summary: āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŽā§āϝāĻžāĻāĻŋāĻ āĻāĻāύ āĻļā§āϧ⧠āĻ āĻŦāĻā§āĻā§āĻ āύāϝāĻŧ, āĻĒā§āϰāĻŋāĻŽāĻŋāĻāĻŋāĻ āĻāĻžāĻāĻĒāĻā§āϞā§āϰ (primitive types) āϏāĻžāĻĨā§āĻ āĻāĻžāĻ āĻāϰā§āĨ¤ +explanation: Java 25 āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŽā§āϝāĻžāĻāĻŋāĻāĻā§ āĻĒā§āϰāĻŋāĻŽāĻŋāĻāĻŋāĻ āĻāĻžāĻāĻĒāĻā§āϞā§āϤ⧠āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻāϰā§āĻā§āĨ¤ āĻāĻĒāύāĻŋ int, long, double āĻāϤā§āϝāĻžāĻĻāĻŋāϰ āĻŽāϤ⧠āĻĒā§āϰāĻŋāĻŽāĻŋāĻāĻŋāĻ āĻāĻžāĻāĻĒāĻā§āϞ⧠when āĻāĻžāϰā§āĻĄ (when guards) āϏāĻš āϏā§āĻāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ⧠(switch patterns) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ, āϝāĻž āĻŦāĻā§āϏāĻŋāĻ āĻŦāĻž āĻŽā§āϝāĻžāύā§ā§āĻžāϞ āϰā§āĻā§āĻ āĻā§āĻā§āϰ (manual range checks) āĻĒā§āϰā§ā§āĻāύā§āϝāĻŧāϤāĻž āĻĻā§āϰ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đĻ" + title: āĻā§āύ⧠āĻŦāĻā§āϏāĻŋāĻ (Boxing) āύā§āĻ + desc: āĻĒā§āϰāĻŋāĻŽāĻŋāĻāĻŋāĻ āĻāĻžāĻāĻĒāĻā§āϞā§āĻā§ āϏāϰāĻžāϏāϰāĻŋ āĻŽā§āϝāĻžāĻ āĻāϰā§āύ â āĻā§āύ⧠Integer āϰâā§āϝāĻžāĻĒāĻžāϰā§āϰ (wrapper) āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +- icon: "đ¯" + title: āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻāύāϏāĻŋāϏā§āĻā§āύā§āϏāĻŋ (Pattern Consistency) + desc: āĻ āĻŦāĻā§āĻā§āĻ āĻāĻŦāĻ āĻĒā§āϰāĻŋāĻŽāĻŋāĻāĻŋāĻ āĻāĻžāĻāĻĒāĻā§āϞā§āϰ āĻāύā§āϝ āĻāĻāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏāĨ¤ +- icon: "âĄ" + title: āĻāύā§āύāϤ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ + desc: āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŽā§āϝāĻžāĻāĻŋāĻāϝāĻŧā§ āĻ āĻā§āĻŦāĻā§āϏāĻŋāĻā§ā§āϰ (autoboxing) āĻ āϤāĻŋāϰāĻŋāĻā§āϤ āϞā§āĻĄ āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āϝāĻžāύāĨ¤ +support: + description: JDK 25-āĻ āĻĒā§āϰāĻŋāĻāĻŋāĻ (āϤā§āϤā§āϝāĻŧ āĻĒā§āϰāĻŋāĻāĻŋāĻ, JEP 507)āĨ¤ --enable-preview āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤ \ No newline at end of file diff --git a/translations/content/bn/language/private-interface-methods.yaml b/translations/content/bn/language/private-interface-methods.yaml new file mode 100644 index 0000000..b89d071 --- /dev/null +++ b/translations/content/bn/language/private-interface-methods.yaml @@ -0,0 +1,18 @@ +--- +title: āĻĒā§āϰāĻžāĻāĻā§āĻ āĻāύā§āĻāĻžāϰāĻĢā§āϏ āĻŽā§āĻĨāĻĄ (Private Interface Methods) +oldApproach: āĻĄā§āĻĒā§āϞāĻŋāĻā§āĻā§āĻĄ āϞāĻāĻŋāĻ +modernApproach: āĻĒā§āϰāĻžāĻāĻā§āĻ āĻŽā§āĻĨāĻĄāϏ (Private Methods) +summary: āĻĒā§āϰāĻžāĻāĻā§āĻ āĻŽā§āĻĨāĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāύā§āĻāĻžāϰāĻĢā§āϏ⧠āĻļā§ā§āĻžāϰāĻĄ āϞāĻāĻŋāĻ (shared logic) āĻāĻā§āϏāĻā§āϰā§āϝāĻžāĻā§āĻ āĻāϰā§āύāĨ¤ +explanation: Java 9 āĻāύā§āĻāĻžāϰāĻĢā§āϏ⧠āĻĒā§āϰāĻžāĻāĻā§āĻ āĻŽā§āĻĨāĻĄ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§āϝāĻŧ, āϝāĻž āĻāĻĒāύāĻžāĻā§ āĻāĻŽāĻĒā§āϞāĻŋāĻŽā§āύā§āĻāĻŋāĻ āĻā§āϞāĻžāϏāĻā§āϞā§āϰ (implementing classes) āĻāĻžāĻā§ āĻāĻŽāĻĒā§āϞāĻŋāĻŽā§āύā§āĻā§āĻļāύ āĻĄāĻŋāĻā§āĻāϞāϏ āĻāĻā§āϏāĻĒā§āĻ āύāĻž āĻāϰā§āĻ āĻĄāĻŋāĻĢāϞā§āĻ āĻŽā§āĻĨāĻĄāĻā§āϞā§āϰ āĻŽāϧā§āϝ⧠āĻā§āĻĄ āĻļā§ā§āĻžāϰ āĻāϰāϤ⧠āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ§Š" + title: āĻā§āĻĄ āϰāĻŋāĻāĻāĻ (Code Reuse) + desc: āĻĄā§āĻĒā§āϞāĻŋāĻā§āĻļāύ āĻāĻžāĻĄāĻŧāĻžāĻ āĻĄāĻŋāĻĢāϞā§āĻ āĻŽā§āĻĨāĻĄāĻā§āϞā§āϰ āĻŽāϧā§āϝ⧠āϞāĻāĻŋāĻ āĻļā§ā§āĻžāϰ āĻāϰā§āύāĨ¤ +- icon: "đ" + title: āĻāύāĻā§āϝāĻžāĻĒāϏā§āϞā§āĻļāύ (Encapsulation) + desc: āĻāĻŽāĻĒā§āϞāĻŋāĻŽā§āύā§āĻā§āĻļāύ āĻĄāĻŋāĻā§āĻāϞāϏ āĻāĻŽāĻĒā§āϞāĻŋāĻŽā§āύā§āĻāĻŋāĻ āĻā§āϞāĻžāϏāĻā§āϞ⧠āĻĨā§āĻā§ āϞā§āĻāĻžāύ⧠āĻĨāĻžāĻā§āĨ¤ +- icon: "đ§š" + title: DRY āĻāύā§āĻāĻžāϰāĻĢā§āϏ + desc: āĻĄāĻŋāĻĢāϞā§āĻ āĻŽā§āĻĨāĻĄāĻā§āϞā§āϰ āĻŽāϧā§āϝ⧠āĻāϰ āĻāĻĒāĻŋ-āĻĒā§āϏā§āĻā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +support: + description: JDK 9 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2017) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/language/record-patterns.yaml b/translations/content/bn/language/record-patterns.yaml new file mode 100644 index 0000000..68dc0db --- /dev/null +++ b/translations/content/bn/language/record-patterns.yaml @@ -0,0 +1,18 @@ +--- +title: āϰā§āĻāϰā§āĻĄ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ (Destructuring) +oldApproach: āĻŽā§āϝāĻžāύā§ā§āĻžāϞ āĻ ā§āϝāĻžāĻā§āϏā§āϏ +modernApproach: āĻĄāĻŋāϏā§āĻā§āϰāĻžāĻāĻāĻžāϰāĻŋāĻ (Destructuring) +summary: āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻā§āϞā§āϤ⧠āϏāϰāĻžāϏāϰāĻŋ āϰā§āĻāϰā§āĻĄāĻā§āϞ⧠āĻĄāĻŋāϏā§āĻā§āϰāĻžāĻāĻāĻžāϰ āĻāϰā§āύ â āĻāĻ āϏā§āĻā§āĻĒā§āĻ āĻĢāĻŋāϞā§āĻĄ āĻāĻā§āϏāĻā§āϰā§āϝāĻžāĻā§āĻ āĻāϰā§āύāĨ¤ +explanation: āϰā§āĻāϰā§āĻĄ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ (Record patterns) āĻāĻĒāύāĻžāĻā§ instanceof āĻāĻŦāĻ switch āϏā§āĻā§āĻāĻŽā§āύā§āĻā§ āĻāĻāĻāĻŋ āϰā§āĻāϰā§āĻĄā§āϰ āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻā§āϞ⧠āϏāϰāĻžāϏāϰāĻŋ āĻĄāĻŋāĻāĻŽā§āĻĒā§āĻ (decompose) āĻāϰāϤ⧠āĻĻā§ā§āĨ¤ āύā§āϏā§āĻā§āĻĄ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻ āϏāĻžāĻĒā§āϰā§āĻā§āĻĄ, āϝāĻž āĻāύā§āĻāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧā§āĻ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ āĻāĻžā§āĻžāĻ āĻĄāĻŋāĻĒ āĻŽā§āϝāĻžāĻāĻŋāĻ (deep matching) āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ¯" + title: āϏāϰāĻžāϏāϰāĻŋ āĻāĻā§āϏāĻā§āϰāĻžāĻāĻļāύ (Direct Extraction) + desc: āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āĻ ā§āϝāĻžāĻā§āϏā§āϏāϰ (accessors) āĻāϞ āύāĻž āĻāϰā§āĻ āϰā§āĻāϰā§āĻĄ āĻāĻŽā§āĻĒā§āύā§āύā§āĻāĻā§āϞ⧠āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰā§āύāĨ¤ +- icon: "đĒ" + title: āύā§āϏā§āĻā§āĻŦāϞ (Nestable) + desc: āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻā§āϞ⧠āύā§āϏā§āĻ āĻāϰāĻž āϝāĻžā§ â āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ⧠āĻāύāĻžāϰ āϰā§āĻāϰā§āĻĄāĻā§āϞ⧠āĻŽā§āϝāĻžāĻ āĻāϰāĻž āϝāĻžā§āĨ¤ +- icon: "đ" + title: āĻāĻŽāĻĒā§āϝāĻžāĻā§āĻ āĻā§āĻĄ + desc: āĻĒāĻžāĻāĻ āϞāĻžāĻāύā§āϰ āĻā§āĻĄ āĻĻā§āĻ āϞāĻžāĻāύ⧠āĻĒāϰāĻŋāĻŖāϤ āĻšā§ â āĻāĻŽ āĻāύā§āώā§āĻ āĻžāύāĻŋāĻāϤāĻž, āĻāĻāĻ āϏā§āĻŦāĻā§āĻāϤāĻžāĨ¤ +support: + description: JDK 21 LTS (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2023) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/language/records-for-data-classes.yaml b/translations/content/bn/language/records-for-data-classes.yaml new file mode 100644 index 0000000..1f6ce09 --- /dev/null +++ b/translations/content/bn/language/records-for-data-classes.yaml @@ -0,0 +1,18 @@ +--- +title: āĻĄā§āĻāĻž āĻā§āϞāĻžāϏā§āϰ āĻāύā§āϝ āϰā§āĻāϰā§āĻĄ (Records for data classes) +oldApproach: āĻāĻžāϰā§āĻŦā§āϏ POJO +modernApproach: āϰā§āĻāϰā§āĻĄ +summary: āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āϞāĻžāĻāύ āĻāĻŽāĻŋāĻāĻā§āĻŦāϞ āĻĄā§āĻāĻž āĻā§āϝāĻžāϰāĻŋāϝāĻŧāĻžāϰā§āϰ (immutable data carriers) āĻāύā§āϝ 30+ āϞāĻžāĻāύā§āϰ āĻŦāϝāĻŧāϞāĻžāϰāĻĒā§āϞā§āĻāĻā§ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āĨ¤ +explanation: āϰā§āĻāϰā§āĻĄāĻā§āϞ⧠āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ, āĻ ā§āϝāĻžāĻā§āϏā§āϏāϰ (x(), y()), equals(), hashCode(), āĻāĻŦāĻ toString() āĻā§āύāĻžāϰā§āĻ āĻāϰā§āĨ¤ āĻāĻā§āϞ⧠āĻĄāĻŋāĻāĻžāĻāύāĻāϤāĻāĻžāĻŦā§ āĻāĻŽāĻŋāĻāĻā§āĻŦāϞ āĻāĻŦāĻ DTOs, āĻā§āϝāĻžāϞ⧠āĻ āĻŦāĻā§āĻā§āĻ (value objects) āĻāĻŦāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŽā§āϝāĻžāĻāĻŋāĻāϝāĻŧā§āϰ āĻāύā§āϝ āĻāĻĻāϰā§āĻļāĨ¤ +whyModernWins: +- icon: "âĄ" + title: āĻāĻ-āϞāĻžāĻāύ āĻĄā§āĻĢāĻŋāύāĻŋāĻļāύ (One-line Definition) + desc: āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āϞāĻžāĻāύ āĻāύāϏā§āĻā§āϰāĻžāĻā§āĻāϰ, āĻā§āĻāĻžāϰā§āϏ (getters), equals, hashCode, toString -āĻā§ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āĨ¤ +- icon: "đ" + title: āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āĻāĻŽāĻŋāĻāĻā§āĻŦāϞ (Immutable by default) + desc: āϏāĻŦ āĻĢāĻŋāϞā§āĻĄ āĻĢāĻžāĻāύāĻžāϞ (final) â āĻā§āύ⧠āϏā§āĻāĻžāϰ āĻĢā§āĻāĻāĻžāύ (setter footguns) āύā§āĻāĨ¤ +- icon: "đ§Š" + title: āĻĒā§āϝāĻžāĻāĻžāϰā§āύ-āĻĢā§āϰā§āύā§āĻĄāϞāĻŋ (Pattern-friendly) + desc: āϰā§āĻāϰā§āĻĄāĻā§āϞ⧠āϏā§āĻāĻ (switch) āĻāĻŦāĻ instanceof-āĻ āĻĄāĻŋāϏā§āĻā§āϰāĻžāĻāĻāĻžāϰāĻŋāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻā§āϞā§āϰ (destructuring patterns) āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰā§āĨ¤ +support: + description: JDK 16 (āĻŽāĻžāϰā§āĻ 2021) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/language/sealed-classes.yaml b/translations/content/bn/language/sealed-classes.yaml new file mode 100644 index 0000000..1d9508b --- /dev/null +++ b/translations/content/bn/language/sealed-classes.yaml @@ -0,0 +1,18 @@ +--- +title: āĻāĻžāĻāĻĒ āĻšāĻžā§āĻžāϰāĻžāϰā§āĻāĻŋāϰ (Type Hierarchies) āĻāύā§āϝ āϏāĻŋāϞāĻĄ āĻā§āϞāĻžāϏ (Sealed Classes) +oldApproach: āĻāĻĒā§āύ āĻšāĻžā§āĻžāϰāĻžāϰā§āĻāĻŋ (Open Hierarchy) +modernApproach: sealed permits +summary: āĻā§āύ āĻā§āϞāĻžāϏāĻā§āϞ⧠āĻāĻāĻāĻŋ āĻāĻžāĻāĻĒāĻā§ āĻāĻā§āϏāĻā§āύā§āĻĄ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§ āϤāĻž āϏā§āĻŽāĻžāĻŦāĻĻā§āϧ āĻāϰā§āύ â āϝāĻž āĻāĻā§āϏāĻšāϏā§āĻāĻŋāĻ āϏā§āĻāĻāĻā§ (exhaustive switches) āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤ +explanation: āϏāĻŋāϞāĻĄ āĻā§āϞāĻžāϏāĻā§āϞ⧠āϏāĻžāĻŦāĻāĻžāĻāĻĒāĻā§āϞā§āϰ (subtypes) āĻāĻāĻāĻŋ āĻā§āϞā§āĻāĻĄ āϏā§āĻ āĻĄāĻŋāĻĢāĻžāĻāύ āĻāϰā§āĨ¤ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āϏāĻŽāϏā§āϤ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āĻā§āĻāϏāĻā§āϞ⧠āĻāĻžāύā§, āϝāĻž āĻĄāĻŋāĻĢāϞā§āĻ āĻŦā§āϰāĻžāĻā§āĻ āĻāĻžā§āĻžāĻ āĻāĻā§āϏāĻšāϏā§āĻāĻŋāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŽā§āϝāĻžāĻāĻŋāĻāĻā§ āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤ āϰā§āĻāϰā§āĻĄāĻā§āϞā§āϰ āϏāĻžāĻĨā§ āĻŽāĻŋāϞāĻŋāϤ āĻšā§ā§, āĻāĻā§āϞ⧠āĻ ā§āϝāĻžāϞāĻā§āĻŦā§āϰāĻžāĻāĻ āĻĄā§āĻāĻž āĻāĻžāĻāĻĒ (algebraic data types) āĻŽāĻĄā§āϞ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŋāϤ āĻšāĻžā§āĻžāϰāĻžāϰā§āĻāĻŋ (Controlled Hierarchy) + desc: āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒāĻžāϰāĻŽāĻŋāĻā§āĻĄ (permitted) āϏāĻžāĻŦāĻāĻžāĻāĻĒāĻā§āϞ⧠āĻāĻā§āϏāĻā§āύā§āĻĄ āĻāϰāϤ⧠āĻĒāĻžāϰ⧠â āĻā§āύ⧠āĻ āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤ āϏāĻžāĻŦāĻā§āϞāĻžāϏ (surprise subclasses) āύā§āĻāĨ¤ +- icon: "â " + title: āĻāĻā§āϏāĻšāϏā§āĻāĻŋāĻ āĻŽā§āϝāĻžāĻāĻŋāĻ (Exhaustive Matching) + desc: āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āϏā§āĻāĻ āĻāĻāĻžāϰā§āϰ āϏāĻŽāϏā§āϤ āĻā§āĻāϏ āĻā§āϝāĻžāϰāĻŋāĻĢāĻžāĻ (verify) āĻāϰā§, āĻĄāĻŋāĻĢāϞā§āĻā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +- icon: "đ" + title: āĻ ā§āϝāĻžāϞāĻā§āĻŦā§āϰāĻžāĻāĻ āĻĄā§āĻāĻž āĻāĻžāĻāĻĒāϏ (Algebraic Data Types) + desc: āϏāĻžāĻŽ āĻāĻžāĻāĻĒāϏāĻā§ (sum types) āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āĻŽāĻĄā§āϞ āĻāϰā§āύ â sealed + records = āĻāĻžāĻāĻžāϤ⧠ADTsāĨ¤ +support: + description: JDK 17 LTS (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2021) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/language/static-members-in-inner-classes.yaml b/translations/content/bn/language/static-members-in-inner-classes.yaml new file mode 100644 index 0000000..1d54546 --- /dev/null +++ b/translations/content/bn/language/static-members-in-inner-classes.yaml @@ -0,0 +1,18 @@ +--- +title: āĻāύāĻžāϰ āĻā§āϞāĻžāϏāĻā§āϞā§āϤ⧠āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻŽā§āĻŽā§āĻŦāĻžāϰ (Static members in inner classes) +oldApproach: āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āύā§āϏā§āĻā§āĻĄ āĻā§āϞāĻžāϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻšāĻŦā§ +modernApproach: āĻāύāĻžāϰ āĻā§āϞāĻžāϏāĻā§āϞā§āϤ⧠āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻŽā§āĻŽā§āĻŦāĻžāϰ +summary: āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āύā§āϏā§āĻā§āĻĄ āĻā§āϞāĻžāϏā§āϰ āĻĒā§āϰā§ā§āĻāύ āĻāĻžā§āĻžāĻ āĻāύāĻžāϰ āĻā§āϞāĻžāϏāĻā§āϞā§āϤ⧠āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻŽā§āĻŽā§āĻŦāĻžāϰ āĻĄāĻŋāĻĢāĻžāĻāύ āĻāϰā§āύāĨ¤ +explanation: Java 16 āĻāϰ āĻāĻā§, āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āύā§āϏā§āĻā§āĻĄ āĻā§āϞāĻžāϏāĻā§āϞā§āĻ āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻŽā§āĻŽā§āĻŦāĻžāϰ āϧāĻžāϰāĻŖ āĻāϰāϤ⧠āĻĒāĻžāϰāϤāĨ¤ āĻāύāĻžāϰ (āύāύ-āϏā§āĻā§āϝāĻžāĻāĻŋāĻ) āĻā§āϞāĻžāϏāĻā§āϞā§āϤ⧠āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻŽā§āĻŽā§āĻŦāĻžāϰ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰāϤ āύāĻž āĻāĻžāϰāĻŖ āϏā§āĻā§āϞā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāύāĻā§āϞā§āĻāĻŋāĻ āĻāύāϏā§āĻā§āϝāĻžāύā§āϏā§āϰ āĻĒā§āϰā§ā§āĻāύ āĻšāϤā§āĨ¤ Java 16 āĻāĻ āϏā§āĻŽāĻžāĻŦāĻĻā§āϧāϤāĻž āĻļāĻŋāĻĨāĻŋāϞ āĻāϰā§āĻā§, āϝāĻž āĻāύāĻžāϰ āĻā§āϞāĻžāϏāĻā§āϞā§āϤ⧠āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻĢāĻŋāϞā§āĻĄ, āĻŽā§āĻĨāĻĄ āĻāĻŦāĻ āĻāĻŽāύāĻāĻŋ āύā§āϏā§āĻā§āĻĄ āĻāĻžāĻāĻĒāĻā§āϞā§āϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§ā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āĻāϰāĻ āĻĢā§āϞā§āĻā§āϏāĻŋāĻŦāĻŋāϞāĻŋāĻāĻŋ + desc: āĻāύāĻžāϰ āĻā§āϞāĻžāϏāĻā§āϞā§āϤ⧠āĻāĻāύ āĻĒā§āϰā§ā§āĻāύ⧠āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻŽā§āĻŽā§āĻŦāĻžāϰ āĻĨāĻžāĻāϤ⧠āĻĒāĻžāϰā§āĨ¤ +- icon: "đ§Š" + title: āĻļā§ā§āĻžāϰāĻĄ āϏā§āĻā§āĻ (Shared State) + desc: āĻāĻāĻāĻŋ āĻāύāĻžāϰ āĻā§āϞāĻžāϏā§āϰ āĻāύāϏā§āĻā§āϝāĻžāύā§āϏ āĻā§āĻĄāĻŧā§ āĻļā§ā§āĻžāϰāĻĄ āϏā§āĻā§āĻ āĻā§āϰā§āϝāĻžāĻ āĻāϰā§āύāĨ¤ +- icon: "đ" + title: āĻĄāĻŋāĻāĻžāĻāύ āĻĢā§āϰāĻŋāĻĄāĻŽ (Design Freedom) + desc: āĻļā§āϧ⧠āĻāĻāĻāĻŋ āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻĢāĻŋāϞā§āĻĄā§āϰ āĻāύā§āϝ āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āύā§āϏā§āĻā§āĻĄ āĻā§āϞāĻžāϏ⧠āĻĒā§āϰāĻŽā§āĻ āĻāϰāĻžāϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +support: + description: JDK 16 (āĻŽāĻžāϰā§āĻ 2021) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/language/static-methods-in-interfaces.yaml b/translations/content/bn/language/static-methods-in-interfaces.yaml new file mode 100644 index 0000000..204453f --- /dev/null +++ b/translations/content/bn/language/static-methods-in-interfaces.yaml @@ -0,0 +1,18 @@ +--- +title: āĻāύā§āĻāĻžāϰāĻĢā§āϏ⧠āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻŽā§āĻĨāĻĄ (Static methods in interfaces) +oldApproach: āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āĻā§āϞāĻžāϏ +modernApproach: āĻāύā§āĻāĻžāϰāĻĢā§āϏ āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻŽā§āĻĨāĻĄāϏ (Interface static methods) +summary: āĻĒā§āĻĨāĻ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āĻā§āϞāĻžāϏā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āϏāϰāĻžāϏāϰāĻŋ āĻāύā§āĻāĻžāϰāĻĢā§āϏ⧠āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āĻŽā§āĻĨāĻĄ āϝā§āĻ āĻāϰā§āύāĨ¤ +explanation: Java 8 āĻāϰ āĻāĻā§, āĻāĻāĻāĻŋ āĻāύā§āĻāĻžāϰāĻĢā§āϏā§āϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋ āĻŽā§āĻĨāĻĄāĻā§āϞā§āĻā§ āĻāĻāĻāĻŋ āĻāϞāĻžāĻĻāĻž āĻā§āϞāĻžāϏ⧠āϰāĻžāĻāϤ⧠āĻšāϤ⧠(āϝā§āĻŽāύ Collections for Collection)āĨ¤ āĻāύā§āĻāĻžāϰāĻĢā§āϏāĻā§āϞā§āϤ⧠āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻŽā§āĻĨāĻĄ āĻāĻĒāύāĻžāĻā§ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋāĻā§āϞ⧠āĻāĻāϏāĻžāĻĨā§ āϰāĻžāĻāϤ⧠āĻĻā§ā§āĨ¤ āĻāĻāĻŋ Comparator.comparing(), Stream.of(), āĻāĻŦāĻ List.of()-āĻāϰ āĻŽāϤ⧠āĻāϧā§āύāĻŋāĻ API-āĻā§āϞā§āϤ⧠āĻā§āĻŦāĻ āĻāĻŽāύāĨ¤ +whyModernWins: +- icon: "đĻ" + title: āĻāύā§āύāϤ āĻ āϰā§āĻāĻžāύāĻžāĻāĻā§āĻļāύ + desc: āĻāύā§āĻāĻžāϰāĻĢā§āϏā§āϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āĻāĻāĻāĻŋāϞāĻŋāĻāĻŋāĻā§āϞā§āĻā§ āĻāĻāĻāĻŋ āĻāϞāĻžāĻĻāĻž āĻā§āϞāĻžāϏ⧠āύāĻž āϰā§āĻā§ āĻāĻāϏāĻžāĻĨā§āĻ āϰāĻžāĻā§āύāĨ¤ +- icon: "đ" + title: āĻĄāĻŋāϏāĻāĻāĻžāϰā§āĻŦāĻŋāϞāĻŋāĻāĻŋ (Discoverability) + desc: āĻĢā§āϝāĻžāĻā§āĻāϰāĻŋ āĻāĻŦāĻ āĻšā§āϞā§āĻĒāĻžāϰ āĻŽā§āĻĨāĻĄāĻā§āϞā§āĻā§ āϝā§āĻāĻžāύ⧠āĻāĻļāĻž āĻāϰāĻž āĻšāϝāĻŧ, āϏā§āĻāĻžāύā§āĻ āĻā§āĻāĻā§ āĻĒāĻžāĻā§āĻž āϝāĻžā§āĨ¤ +- icon: "đ§Š" + title: API āĻā§āĻšā§āĻļāύ (API Cohesion) + desc: āĻāϞāĻžāĻĻāĻž *Utils āĻŦāĻž *Helper āĻā§āϞāĻžāϏā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +support: + description: JDK 8 (āĻŽāĻžāϰā§āĻ 2014) āĻĨā§āĻā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/language/switch-expressions.yaml b/translations/content/bn/language/switch-expressions.yaml new file mode 100644 index 0000000..4f780af --- /dev/null +++ b/translations/content/bn/language/switch-expressions.yaml @@ -0,0 +1,18 @@ +--- +title: āϏā§āĻāĻ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ (Switch Expressions) +oldApproach: āϏā§āĻāĻ āϏā§āĻā§āĻāĻŽā§āύā§āĻ (Switch Statement) +modernApproach: āϏā§āĻāĻ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ +summary: āĻāĻāĻāĻŋ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ āĻšāĻŋāϏā§āĻŦā§ āϏā§āĻāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ āϝāĻž āĻāĻāĻāĻŋ āĻā§āϝāĻžāϞ⧠āϰāĻŋāĻāĻžāϰā§āύ āĻāϰ⧠â āĻā§āύ⧠break āĻŦāĻž fall-through āĻāĻžā§āĻžāĻāĨ¤ +explanation: āϏā§āĻāĻ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ āϏāϰāĻžāϏāϰāĻŋ āĻāĻāĻāĻŋ āĻā§āϝāĻžāϞ⧠āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§, fall-through āĻŦāĻžāĻ āĻĒā§āϰāϤāĻŋāϰā§āϧ āĻāϰāĻžāϰ āĻāύā§āϝ āĻ ā§āϝāĻžāϰ⧠āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ (arrow syntax) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āĻāĻŦāĻ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āĻāĻā§āϏāĻšāϏā§āĻāĻŋāĻāύā§āϏ (exhaustiveness) āĻā§āϰāĻŋāĻĢāĻžāĻ āĻāϰā§āĨ¤ āĻāĻāĻŋ āĻāϰāϰ-āĻĒā§āϰā§āύ (error-prone) āϏā§āĻā§āĻāĻŽā§āύā§āĻ āĻĢāϰā§āĻŽāĻā§ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ¯" + title: āĻāĻāĻāĻŋ āĻā§āϝāĻžāϞ⧠āϰāĻŋāĻāĻžāϰā§āύ āĻāϰ⧠+ desc: āϏā§āĻāĻā§āϰ āĻĢāϞāĻžāĻĢāϞ āϏāϰāĻžāϏāϰāĻŋ āĻ ā§āϝāĻžāϏāĻžāĻāύ āĻāϰā§āύ â āĻā§āύ⧠āĻā§āĻŽā§āĻĒā§āϰāĻžāϰāĻŋ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +- icon: "đĄī¸" + title: āĻā§āύ⧠āĻĢāϞ-āĻĨā§āϰ⧠(fall-through) āύā§āĻ + desc: āĻ ā§āϝāĻžāϰ⧠āϏāĻŋāύāĻā§āϝāĻžāĻā§āϏ āĻŦā§āϰā§āĻ (break) āύāĻž āĻĨāĻžāĻāĻžāϰ āĻāĻžāϰāĻŖā§ āϏā§āώā§āĻ āĻ ā§āϝāĻžāĻā§āϏāĻŋāĻĄā§āύā§āĻāĻžāϞ āĻĢāϞ-āĻĨā§āϰ⧠āĻŦāĻžāĻāĻā§āϞā§āĻā§ āĻĻā§āϰ āĻāϰā§āĨ¤ +- icon: "â " + title: āĻāĻā§āϏāĻšāϏā§āĻāĻŋāĻāύā§āϏ āĻā§āĻ (Exhaustiveness Check) + desc: āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰ⧠āϝ⧠āϏāĻŦ āĻā§āĻāϏ āĻāĻāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ +support: + description: JDK 14 (āĻŽāĻžāϰā§āĻ 2020) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/language/text-blocks-for-multiline-strings.yaml b/translations/content/bn/language/text-blocks-for-multiline-strings.yaml new file mode 100644 index 0000000..7799135 --- /dev/null +++ b/translations/content/bn/language/text-blocks-for-multiline-strings.yaml @@ -0,0 +1,18 @@ +--- +title: āĻŽāĻžāϞā§āĻāĻŋāϞāĻžāĻāύ āϏā§āĻā§āϰāĻŋāĻā§ā§āϰ āĻāύā§āϝ āĻā§āĻā§āϏāĻ āĻŦā§āϞāĻ (Text blocks for multiline strings) +oldApproach: āϏā§āĻā§āϰāĻŋāĻ āĻāύāĻā§āϝāĻžāĻā§āύā§āĻļāύ (String Concatenation) +modernApproach: āĻā§āĻā§āϏāĻ āĻŦā§āϞāĻāϏ (Text Blocks) +summary: āĻā§āϰāĻŋāĻĒāϞ-āĻā§āĻ āĻā§āĻā§āϏāĻ āĻŦā§āϞāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻŽāĻžāϞā§āĻāĻŋāϞāĻžāĻāύ āϏā§āĻā§āϰāĻŋāĻāĻā§āϞ⧠āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āϞāĻŋāĻā§āύāĨ¤ +explanation: āĻā§āĻā§āϏāĻ āĻŦā§āϞāĻāĻā§āϞ⧠āĻāĻĒāύāĻžāĻā§ āĻŽāĻžāϞā§āĻāĻŋāϞāĻžāĻāύ āϏā§āĻā§āϰāĻŋāĻāĻā§āϞ⧠āĻ āĻŋāĻ āϝā§āĻāĻžāĻŦā§ āĻĻā§āĻāĻžāϝāĻŧ āϏā§āĻāĻžāĻŦā§āĻ āϞāĻŋāĻāϤ⧠āĻĻā§āϝāĻŧāĨ¤ āĻā§āĻ āĻāϏā§āĻā§āĻĒāĻŋāĻ (escaping quotes) āĻŦāĻž \n āϝā§āĻ āĻāϰāĻžāϰ āĻāϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻāύāϏāĻŋāĻĄā§āύā§āĻāĻžāϞ āĻāύā§āĻĄā§āύā§āĻā§āĻļāύ (incidental indentation) āϏāϰāĻŋāϝāĻŧā§ āĻĻā§āϝāĻŧāĨ¤ +whyModernWins: +- icon: "đ" + title: āϝā§āĻŽāύ āĻāĻā§ āĻĒāĻ āύāϝā§āĻā§āϝ (Readable as-is) + desc: JSON, SQL, āĻāĻŦāĻ HTML āĻāĻĒāύāĻžāϰ āϏā§āϰā§āϏ āĻā§āĻĄā§ āĻŦāĻžāϏā§āϤāĻŦ JSON, SQL, āĻāĻŦāĻ HTML-āĻāϰ āĻŽāϤā§āĻ āĻĻā§āĻāĻžā§āĨ¤ +- icon: "đĢ" + title: āĻā§āύ⧠āĻāϏā§āĻā§āĻĒ āĻšā§āϞ (No Escape Hell) āύā§āĻ + desc: āĻāĻŽāĻŦā§āĻĄā§āĻĄ āĻā§āĻāĻā§āϞā§āϤ⧠āĻŦā§āϝāĻžāĻāϏā§āϞā§āϝāĻžāĻļ āĻāϏā§āĻā§āĻĒāĻŋāĻā§ā§āϰ (backslash escaping) āĻĒā§āϰā§ā§āĻāύ āĻšā§ āύāĻžāĨ¤ +- icon: "đ" + title: āϏā§āĻŽāĻžāϰā§āĻ āĻāύā§āĻĄā§āύā§āĻā§āĻļāύ (Smart Indentation) + desc: āĻā§āϞā§āĻāĻŋāĻ āĻĄāĻŋāϞāĻŋāĻŽāĻŋāĻāĻžāϰ āĻĒāĻāĻŋāĻļāύā§āϰ (closing delimiter position) āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āϞāĻŋāĻĄāĻŋāĻ āĻšā§āϝāĻŧāĻžāĻāĻāϏā§āĻĒā§āϏ (leading whitespace) āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻāĻžāĻāĻāĻž āĻšāϝāĻŧāĨ¤ +support: + description: JDK 15 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2020) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/language/type-inference-with-var.yaml b/translations/content/bn/language/type-inference-with-var.yaml new file mode 100644 index 0000000..3a369f7 --- /dev/null +++ b/translations/content/bn/language/type-inference-with-var.yaml @@ -0,0 +1,18 @@ +--- +title: var āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻžāĻāĻĒ āĻāύāĻĢāĻžāϰā§āύā§āϏ (Type inference with var) +oldApproach: āĻāĻā§āϏāĻĒā§āϞāĻŋāϏāĻŋāĻ āĻāĻžāĻāĻĒāϏ (Explicit Types) +modernApproach: var āĻā§āĻāϝāĻŧāĻžāϰā§āĻĄ +summary: āϞā§āĻāĻžāϞ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞā§āϰ āĻāĻžāĻāĻĒ āĻāύāĻĢāĻžāϰā§āύā§āϏā§āϰ (type inference) āĻāύā§āϝ var āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ â āĻāĻŽ āĻāĻāĻŋāϞāϤāĻž, āĻāĻāĻ āϏā§āĻĢāĻāĻŋāĨ¤ +explanation: Java 10 āĻĨā§āĻā§ āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āϰāĻžāĻāĻ-āĻšā§āϝāĻžāύā§āĻĄ āϏāĻžāĻāĻĄ āĻĨā§āĻā§ āϞā§āĻāĻžāϞ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞāĻā§āϞā§āϰ āĻāĻžāĻāĻĒ āĻāύāĻĢāĻžāϰ (infer) āĻāϰā§āĨ¤ āĻāϰ āĻĢāϞ⧠āĻāĻžāĻāĻĒ āϏā§āĻĢāĻāĻŋ āύāĻž āĻāĻŽāĻŋā§ā§ āĻāĻŋāĻā§āϝā§ā§āĻžāϞ āύāϝāĻŧā§āĻ (visual noise) āĻāĻŽā§āĨ¤ āϝāĻāύ āĻāĻžāĻāĻĒ āĻĒā§āϰāϏāĻā§āĻ āĻĨā§āĻā§ āϏā§āĻĒāώā§āĻ āĻšā§, āϤāĻāύ var āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ +whyModernWins: +- icon: "âĄ" + title: āĻāĻŽ āĻŦāϝāĻŧāϞāĻžāϰāĻĒā§āϞā§āĻ + desc: āĻ ā§āϝāĻžāϏāĻžāĻāύāĻŽā§āύā§āĻā§āϰ āĻāĻāϝāĻŧ āĻĻāĻŋāĻā§ āĻāĻāĻŋāϞ āĻā§āύā§āϰāĻŋāĻ āĻāĻžāĻāĻĒ āϰāĻŋāĻĒāĻŋāĻ āĻāϰāĻžāϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +- icon: "đ" + title: āĻāύā§āύāϤ āĻĒāĻ āύāϝā§āĻā§āϝāϤāĻž + desc: āĻāĻžāĻāĻĒ āĻĄāĻŋāĻā§āϞāĻžāϰā§āĻļāύā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ āύāĻžāĻŽ āĻāĻŦāĻ āĻā§āϝāĻžāϞā§āĻā§āϞā§āϰ āĻāĻĒāϰ āĻĢā§āĻāĻžāϏ āĻāϰā§āύāĨ¤ +- icon: "đ" + title: āĻāĻžāĻāĻĒ-āϏā§āĻĢ (Type-safe) + desc: āĻāĻŽā§āĻĒāĻžāĻāϞāĻžāϰ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāĻžāĻāĻŽā§ āϏāĻ āĻŋāĻ āĻāĻžāĻāĻĒ āĻāύāĻĢāĻžāϰ (infer) āĻāĻŦāĻ āĻāύāĻĢā§āϰā§āϏ (enforce) āĻāϰā§āĨ¤ +support: + description: JDK 10 (āĻŽāĻžāϰā§āĻ 2018) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/language/unnamed-variables.yaml b/translations/content/bn/language/unnamed-variables.yaml new file mode 100644 index 0000000..8e6bbbd --- /dev/null +++ b/translations/content/bn/language/unnamed-variables.yaml @@ -0,0 +1,18 @@ +--- +title: _ (āĻāύā§āĻĄāĻžāϰāϏā§āĻā§āϰ) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāύāύā§āĻŽāĻĄ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ (Unnamed variables with _) +oldApproach: āĻ āĻŦā§āϝāĻŦāĻšā§āϤ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ (Unused Variable) +modernApproach: _ āĻĒā§āϞā§āϏāĻšā§āϞā§āĻĄāĻžāϰ (Placeholder) +summary: āϝāĻāύ āĻāĻāĻāĻŋ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ āĻāĻā§āĻāĻžāĻā§āϤāĻāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āĻšāϝāĻŧ āύāĻž, āϤāĻāύ āĻāĻĻā§āĻĻā§āĻļā§āϝ āĻŦā§āĻāĻžāϤ⧠_ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ +explanation: āĻāύāύā§āĻŽāĻĄ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞ (Unnamed variables) āĻĒāĻžāĻ āĻ āĻāĻŦāĻ āĻā§āϞāĻā§āϞā§āĻā§ āĻŦā§āĻāĻžāϝāĻŧ āϝā§, āĻāĻāĻāĻŋ āĻā§āϝāĻžāϞā§āĻā§ āĻāĻā§āĻāĻžāĻā§āϤāĻāĻžāĻŦā§ āĻāĻāύā§āϰ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ āĻāϰ āĻĢāϞ⧠āĻāϰ 'ignored' āĻŦāĻž 'unused' āύāĻžāĻŽāĻāϰāĻŖā§āϰ āĻāύāĻā§āύāĻļāύ (conventions) āĻŦāĻž IDE āĻāϝāĻŧāĻžāϰā§āύāĻŋāĻā§ā§āϰ (warnings) āĻĒā§āϰā§ā§āĻāύ āĻšā§ āύāĻžāĨ¤ +whyModernWins: +- icon: "đĸ" + title: āϏā§āϏā§āĻĒāώā§āĻ āĻāĻĻā§āĻĻā§āĻļā§āϝ + desc: _ āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āύāĻŋāϰā§āĻĻā§āĻļ āĻāϰ⧠'āĻāĻ āĻā§āϝāĻžāϞā§āĻāĻŋ āĻāĻāĻžāύ⧠āĻĒā§āϰā§ā§āĻāύ āύā§āĻ'āĨ¤ +- icon: "đ" + title: āĻā§āύ⧠āĻāϝāĻŧāĻžāϰā§āύāĻŋāĻ āύā§āĻ + desc: IDEs āĻāĻŦāĻ āϞāĻŋāύā§āĻāĻžāϰāϰāĻž (linters) āĻāĻā§āĻāĻžāĻā§āϤāĻāĻžāĻŦā§ āĻ āĻŦā§āϝāĻŦāĻšā§āϤ āĻā§āϝāĻžāϰāĻŋā§ā§āĻŦāϞāĻā§āϞā§āĻā§ āĻĢā§āϞā§āϝāĻžāĻ āĻāϰāĻŦā§ āύāĻžāĨ¤ +- icon: "đ§š" + title: āĻā§āϞāĻŋāύāĻžāϰ āϞā§āϝāĻžāĻŽā§āĻŦāĻĄāĻžāϏ (Cleaner Lambdas) + desc: āϝāĻāύ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāĻŋāĻā§ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻĒā§āϰā§ā§āĻāύ āĻšā§, āϤāĻāύ āĻŽāĻžāϞā§āĻāĻŋ-āĻĒā§āϝāĻžāϰāĻžāĻŽ āϞā§āϝāĻžāĻŽā§āĻŦāĻĄāĻžāĻā§āϞ⧠(multi-param lambdas) āĻāϰāĻ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻšā§āĨ¤ +support: + description: JDK 22 (JEP 456, āĻŽāĻžāϰā§āĻ 2024) āĻ āĻā§āĻĄāĻŧāĻžāύā§āϤ āĻšāϝāĻŧā§āĻā§āĨ¤ \ No newline at end of file diff --git a/translations/content/bn/security/key-derivation-functions.yaml b/translations/content/bn/security/key-derivation-functions.yaml new file mode 100644 index 0000000..d23493e --- /dev/null +++ b/translations/content/bn/security/key-derivation-functions.yaml @@ -0,0 +1,18 @@ +--- +title: āĻā§ āĻĄā§āϰāĻŋāĻā§āĻļāύ āĻĢāĻžāĻāĻļāύ (Key Derivation Functions) +oldApproach: āĻŽā§āϝāĻžāύā§ā§āĻžāϞ PBKDF2 +modernApproach: KDF API +summary: āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ KDF API āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻā§āϰāĻŋāĻĒā§āĻā§āĻā§āϰāĻžāĻĢāĻŋāĻ āĻā§ (cryptographic keys) āĻĄāĻŋāϰāĻžāĻāĻ āĻāϰā§āύāĨ¤ +explanation: KDF API, HKDF āϏāĻš āĻā§ āĻĄā§āϰāĻŋāĻā§āĻļāύ āĻĢāĻžāĻāĻļāύāĻā§āϞā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āĻāύā§āĻāĻžāϰāĻĢā§āϏ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ āĻāĻāĻŋ āĻāĻāĻŋāϞ SecretKeyFactory + PBEKeySpec āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻā§ āĻāĻāĻāĻŋ āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻŦāĻŋāϞā§āĻĄāĻžāϰ API (builder API) āĻĻāĻŋā§ā§ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āĻā§āϞāĻŋāύ API + desc: āĻāĻāĻŋāϞ KeySpec āĻāύāϏā§āĻā§āϰāĻžāĻāĻāϰā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻŦāĻŋāϞā§āĻĄāĻžāϰ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ +- icon: "đ§" + title: HKDF āϏāĻžāĻĒā§āϰā§āĻ + desc: PBKDF2 āĻāϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āĻāϧā§āύāĻŋāĻ HKDF āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽāĨ¤ +- icon: "đĄī¸" + title: āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ + desc: āϏāĻŽāϏā§āϤ āĻā§ āĻĄā§āϰāĻŋāĻā§āĻļāύ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽā§āϰ āĻāύā§āϝ āĻāĻāύāĻŋāĻĢāĻžāĻāĻĄ APIāĨ¤ +support: + description: JDK 25 LTS (JEP 510, āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2025) āĻ āĻā§āĻĄāĻŧāĻžāύā§āϤ āĻšāϝāĻŧā§āĻā§āĨ¤ \ No newline at end of file diff --git a/translations/content/bn/security/pem-encoding.yaml b/translations/content/bn/security/pem-encoding.yaml new file mode 100644 index 0000000..263d8b2 --- /dev/null +++ b/translations/content/bn/security/pem-encoding.yaml @@ -0,0 +1,18 @@ +--- +title: PEM āĻāύāĻā§āĻĄāĻŋāĻ/āĻĄāĻŋāĻā§āĻĄāĻŋāĻ (PEM encoding/decoding) +oldApproach: āĻŽā§āϝāĻžāύā§ā§āĻžāϞ Base64 + āĻšā§āĻĄāĻžāϰāϏ +modernApproach: PEM API +summary: PEM-āĻĢāϰāĻŽā§āϝāĻžāĻā§ āĻā§āϰāĻŋāĻĒā§āĻā§āĻā§āϰāĻžāĻĢāĻŋāĻ āĻ āĻŦāĻā§āĻā§āĻāĻā§āϞā§āĻā§ āύā§āĻāĻŋāĻāϞāĻŋ āĻāύāĻā§āĻĄ (encode) āĻāĻŦāĻ āĻĄāĻŋāĻā§āĻĄ (decode) āĻāϰā§āύāĨ¤ +explanation: PEM API, PEM āĻĢāϰāĻŽā§āϝāĻžāĻā§ āϏāĻžāϰā§āĻāĻŋāĻĢāĻŋāĻā§āĻ, āĻā§ āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āĻā§āϰāĻŋāĻĒā§āĻā§āĻā§āϰāĻžāĻĢāĻŋāĻ āĻ āĻŦāĻā§āĻā§āĻāĻā§āϞā§āϰ āĻāύā§āϝ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āĻāύāĻā§āĻĄāĻŋāĻ/āĻĄāĻŋāĻā§āĻĄāĻŋāĻ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĨ¤ āĻāĻāĻŋāϤ⧠BEGIN/END āĻšā§āĻĄāĻžāϰāĻā§āϞā§āϰ āϏāĻžāĻĨā§ āĻŽā§āϝāĻžāύā§ā§āĻžāϞ Base64 āϰâā§āϝāĻžāĻĒāĻŋāĻā§ā§āϰ āĻāϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +whyModernWins: +- icon: "đ§š" + title: āĻā§āύ⧠āĻŽā§āϝāĻžāύā§ā§āĻžāϞ Base64 āύā§āĻ + desc: PEM āĻšā§āĻĄāĻžāϰ, āϞāĻžāĻāύ āϰâā§āϝāĻžāĻĒāĻŋāĻ āĻāĻŦāĻ Base64 āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰāĻž āĻšā§āĨ¤ +- icon: "đ" + title: āĻĻā§āĻŦāĻŋ-āĻŽā§āĻā§ (Bidirectional) + desc: āĻāĻāĻāĻŋ API āĻĻāĻŋā§ā§ PEM-āĻ āĻāύāĻā§āĻĄ āĻāĻŦāĻ PEM āĻĨā§āĻā§ āĻĄāĻŋāĻā§āĻĄ āĻāϰā§āύāĨ¤ +- icon: "đĄī¸" + title: āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āĻĢāϰāĻŽā§āϝāĻžāĻ (Standard Format) + desc: RFC 7468-āĻāĻŽāĻĒā§āϞāĻžāϝāĻŧā§āύā§āĻ PEM āĻāĻāĻāĻĒā§āĻ āϤā§āϰāĻŋ āĻāϰā§āĨ¤ +support: + description: JDK 25 (JEP 470) āĻ āĻĒā§āϰāĻŋāĻāĻŋāĻāĨ¤ --enable-preview āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤ \ No newline at end of file diff --git a/translations/content/bn/security/random-generator.yaml b/translations/content/bn/security/random-generator.yaml new file mode 100644 index 0000000..346e3c6 --- /dev/null +++ b/translations/content/bn/security/random-generator.yaml @@ -0,0 +1,18 @@ +--- +title: RandomGenerator āĻāύā§āĻāĻžāϰāĻĢā§āϏ +oldApproach: new Random() / ThreadLocalRandom +modernApproach: RandomGenerator āĻĢā§āϝāĻžāĻā§āĻāϰāĻŋ +summary: āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻā§āϞāĻžāϏā§āϰ āϏāĻžāĻĨā§ āĻāĻžāĻĒāϞāĻŋāĻ (coupling) āύāĻž āĻāϰā§, āύāĻžāĻŽ āĻ āύā§āϏāĻžāϰ⧠āϰâā§āϝāĻžāύā§āĻĄāĻŽ āύāĻžāĻŽā§āĻŦāĻžāϰ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ (random number algorithms) āĻŦā§āĻā§ āύāĻŋāϤ⧠RandomGenerator āĻāύā§āĻāĻžāϰāĻĢā§āϏ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ +explanation: JDK 17 āϏāĻŽāϏā§āϤ RNG āĻāĻŽāĻĒā§āϞāĻŋāĻŽā§āύā§āĻā§āĻļāύā§āϰ (implementations) āĻāύā§āϝ āĻāĻāĻāĻŋ āĻāĻŽāύ āĻāύā§āĻāĻžāϰāĻĢā§āϏ āĻšāĻŋāϏāĻžāĻŦā§ RandomGenerator āĻāĻžāϞ⧠āĻāϰā§āĻā§āĨ¤ new Random() āĻŦāĻž ThreadLocalRandom āĻā§ āĻšāĻžāϰā§āĻĄ-āĻā§āĻĄāĻŋāĻ āύāĻž āĻāϰā§, āĻāĻĒāύāĻŋ āĻĢā§āϝāĻžāĻā§āĻāϰāĻŋāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āύāĻžāĻŽ āĻ āύā§āϏāĻžāϰ⧠āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ āϏāĻŋāϞā§āĻā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύ, āϝāĻž āĻŦāĻŋāĻāĻŋāύā§āύ āĻāĻāĻ āĻā§āĻāϏā§āϰ āĻāύā§āϝ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻāĻĄ (āϏā§āĻĒāĻŋāĻĄ, āϏā§āĻā§āϝāĻžāĻāĻŋāϏā§āĻāĻŋāĻāĻžāϞ āĻā§āϝāĻŧāĻžāϞāĻŋāĻāĻŋ, āϏā§āĻĒā§āϞāĻŋāĻāĻāĻŦāĻŋāϞāĻŋāĻāĻŋ) āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽāĻā§āϞā§āϰ āĻŽāϧā§āϝ⧠āĻ āĻĻāϞāĻŦāĻĻāϞ āĻāϰāĻž āϏāĻšāĻ āĻāϰ⧠āϤā§āϞā§āĨ¤ +whyModernWins: +- icon: "đ§" + title: āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ-āĻ ā§āϝāĻžāĻāύāϏā§āĻāĻŋāĻ (Algorithm-agnostic) + desc: āĻā§āĻĄ āϏā§āĻā§āϰāĻžāĻāĻāĻžāϰ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āύāĻž āĻāϰā§āĻ āύāĻžāĻŽ āĻ āύā§āϏāĻžāϰ⧠āϏā§āϰāĻž RNG āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ āĻŦā§āĻā§ āύāĻŋāύāĨ¤ +- icon: "âĄ" + title: āĻāύā§āύāϤ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ + desc: āĻāĻā§āĻāϤāϰ āϏā§āĻā§āϝāĻžāĻāĻŋāϏā§āĻāĻŋāĻāĻžāϞ āĻĒā§āϰā§āĻĒāĻžāϰā§āĻāĻŋ (statistical properties) āϏāĻš āĻāϧā§āύāĻŋāĻ LXM āĻā§āύāĻžāϰā§āĻāϰāĻā§āϞāĻŋāϤ⧠āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻāϰā§āύāĨ¤ +- icon: "đ" + title: āĻāĻāύāĻŋāĻĢāĻžāĻāĻĄ API + desc: āĻāĻāĻāĻŋ āĻāύā§āĻāĻžāϰāĻĢā§āϏ Random, ThreadLocalRandom, SplittableRandom āĻāĻŦāĻ āĻāϰāĻ āĻ āύā§āĻ āĻāĻŋāĻā§ āĻāĻāĻžāϰ āĻāϰā§āĨ¤ +support: + description: JDK 17 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2021, JEP 356) āĻĨā§āĻā§ āĻāĻĒāϞāĻŦā§āϧāĨ¤ \ No newline at end of file diff --git a/translations/content/bn/security/strong-random.yaml b/translations/content/bn/security/strong-random.yaml new file mode 100644 index 0000000..d07f719 --- /dev/null +++ b/translations/content/bn/security/strong-random.yaml @@ -0,0 +1,18 @@ +--- +title: āϏā§āĻā§āϰāĻ āϰâā§āϝāĻžāύā§āĻĄāĻŽ āĻā§āύāĻžāϰā§āĻļāύ (Strong Random Generation) +oldApproach: new SecureRandom() +modernApproach: getInstanceStrong() +summary: āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§āϰ āϏāĻŦāĻā§āϝāĻŧā§ āϏā§āĻā§āϰāĻ SecureRandom āĻāĻŽāĻĒā§āϞāĻŋāĻŽā§āύā§āĻā§āĻļāύāĻāĻŋ āĻĒāĻžāύāĨ¤ +explanation: getInstanceStrong() āĻŽā§āĻĨāĻĄāĻāĻŋ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§ āϏāĻŦāĻā§āϝāĻŧā§ āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āĻšāĻŋāϏāĻžāĻŦā§ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž SecureRandom āĻāĻŽāĻĒā§āϞāĻŋāĻŽā§āύā§āĻā§āĻļāύāĻāĻŋ āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§āĨ¤ āĻāĻāĻŋ securerandom.strongAlgorithms āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āĻĒā§āϰā§āĻĒāĻžāϰā§āĻāĻŋ (security property) āĻĻā§āĻŦāĻžāϰāĻž āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŋāϤ āĻšāϝāĻŧāĨ¤ +whyModernWins: +- icon: "đĄī¸" + title: āϏāĻŦāĻā§āϝāĻŧā§ āĻļāĻā§āϤāĻŋāĻļāĻžāϞ⧠āĻāĻĒāϞāĻŦā§āϧ + desc: āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§āϰ āĻāύā§āϝ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āϏā§āϰāĻž āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§āĨ¤ +- icon: "đ" + title: āϏā§āϏā§āĻĒāώā§āĻ āĻāĻĻā§āĻĻā§āĻļā§āϝ + desc: āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āĻāĻŽāĻŋāĻāύāĻŋāĻā§āĻ āĻāϰ⧠āϝ⧠āϏā§āĻā§āϰāĻ āϰâā§āϝāĻžāύā§āĻĄāĻŽāύā§āϏ (randomness) āĻĒā§āϰāϝāĻŧā§āĻāύāĨ¤ +- icon: "đ§" + title: āĻāύāĻĢāĻŋāĻāĻžāϰāϝā§āĻā§āϝ (Configurable) + desc: āĻ ā§āϝāĻžāĻĄāĻŽāĻŋāύāĻŋāϏā§āĻā§āϰā§āĻāϰāϰāĻž āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āĻĒā§āϰā§āĻĒāĻžāϰā§āĻāĻŋāĻā§āϞā§āϰ (security properties) āĻŽāĻžāϧā§āϝāĻŽā§ āϏā§āĻā§āϰāĻ āĻ ā§āϝāĻžāϞāĻāϰāĻŋāĻĻāĻŽ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ +support: + description: JDK 9 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2017) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/security/tls-default.yaml b/translations/content/bn/security/tls-default.yaml new file mode 100644 index 0000000..7172238 --- /dev/null +++ b/translations/content/bn/security/tls-default.yaml @@ -0,0 +1,18 @@ +--- +title: āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ TLS 1.3 +oldApproach: āĻŽā§āϝāĻžāύā§ā§āĻžāϞ TLS āĻāύāĻĢāĻŋāĻ (Config) +modernApproach: TLS 1.3 āĻĄāĻŋāĻĢāϞā§āĻ +summary: TLS 1.3 āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āĻāύāĻžāĻŦāϞ āĻāϰāĻž āĻšā§ā§āĻā§ â āĻā§āύ⧠āĻāĻā§āϏāĻĒā§āϞāĻŋāϏāĻŋāĻ āĻĒā§āϰā§āĻā§āĻāϞ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +explanation: Java 11 TLS 1.3 āϏāĻžāĻĒā§āϰā§āĻ āϝā§āĻ āĻāϰā§āĻā§ āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻĒāĻāύā§āĻĻā§āϰ āĻĒā§āϰā§āĻā§āĻāϞ āĻšāĻŋāϏā§āĻŦā§ āϤā§āϰāĻŋ āĻāϰā§āĻā§āĨ¤ HttpClient āĻāĻāĻŋ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĨ¤ āϏāĻŋāĻāĻŋāĻāϰ āĻāĻžāύā§āĻāĻļāύā§āϰ āĻāύā§āϝ āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āĻĒā§āϰā§āĻā§āĻāϞ āĻāĻžāϰā§āϏāύ āĻāϞā§āϞā§āĻ āĻāϰāĻžāϰ āĻāϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +whyModernWins: +- icon: "đĄī¸" + title: āĻāϰāĻ āϏāĻŋāĻāĻŋāĻāϰ + desc: TLS 1.3 āĻ āĻĒā§āϰāĻāϞāĻŋāϤ āϏāĻžāĻāĻĢāĻžāϰ āϏā§āϝā§āĻ (cipher suites) āĻāĻŦāĻ āĻšā§āϝāĻžāύā§āĻĄāĻļā§āĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻā§āϞ⧠(handshake patterns) āϏāϰāĻŋāϝāĻŧā§ āĻĻā§āϝāĻŧāĨ¤ +- icon: "âĄ" + title: āĻĻā§āϰā§āϤ āĻšā§āϝāĻžāύā§āĻĄāĻļā§āĻ + desc: TLS 1.3 āĻāĻ āϰāĻžāĻāύā§āĻĄ āĻā§āϰāĻŋāĻĒā§ (one round trip) āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻšāϝāĻŧ, āϝā§āĻāĻžāύ⧠āĻāĻā§ āĻĻā§āĻāĻŋ āϞāĻžāĻāϤāĨ¤ +- icon: "đ" + title: āĻāĻŋāϰ⧠āĻāύāĻĢāĻŋāĻ (Zero Config) + desc: āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āϏāĻŋāĻāĻŋāĻāϰ â āĻā§āύ⧠āĻāĻā§āϏāĻĒā§āϞāĻŋāϏāĻŋāĻ āĻĒā§āϰā§āĻā§āĻāϞ āϏāĻŋāϞā§āĻāĻļāύā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +support: + description: JDK 11 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2018) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/streams/collectors-flatmapping.yaml b/translations/content/bn/streams/collectors-flatmapping.yaml new file mode 100644 index 0000000..14f1450 --- /dev/null +++ b/translations/content/bn/streams/collectors-flatmapping.yaml @@ -0,0 +1,18 @@ +--- +title: Collectors.flatMapping() +oldApproach: āύā§āϏā§āĻā§āĻĄ flatMap +modernApproach: flatMapping() +summary: āĻāĻāĻāĻŋ āĻā§āϰā§āĻĒāĻŋāĻ āĻāĻžāϞā§āĻā§āĻāϰā§āϰ (grouping collector) āĻāĻŋāϤāϰ⧠āĻĢā§āϞā§āϝāĻžāĻā§āύ (flatten) āĻāϰāϤ⧠flatMapping() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ +explanation: Collectors.flatMapping() āĻāĻāĻāĻŋ āĻāϝāĻŧāĻžāύ-āĻā§-āĻŽā§āύāĻŋ (one-to-many) āĻŽā§āϝāĻžāĻĒāĻŋāĻāĻā§ āĻĄāĻžāĻāύāϏā§āĻā§āϰāĻŋāĻŽ āĻāĻžāϞā§āĻā§āĻāϰ āĻšāĻŋāϏāĻžāĻŦā§ āĻĒā§āϰāϝāĻŧā§āĻ āĻāϰā§āĨ¤ āĻāĻāĻŋ Stream.flatMap()-āĻāϰ āĻāĻžāϞā§āĻā§āĻāϰ āĻāĻā§āĻāĻā§āϝāĻžāϞā§āύā§āĻ (equivalent) â groupingBy āĻŦāĻž partitioningBy-āĻāϰ āĻāĻŋāϤāϰ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻĒāϝā§āĻā§āĨ¤ +whyModernWins: +- icon: "đ§Š" + title: āĻāĻŽā§āĻĒā§āĻā§āĻŦāϞ (Composable) + desc: groupingBy āĻāϰ āĻāĻŋāϤāϰ⧠āĻāĻāĻāĻŋ āĻĄāĻžāĻāύāϏā§āĻā§āϰāĻŋāĻŽ āĻāĻžāϞā§āĻā§āĻāϰ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻžāĻ āĻāϰā§āĨ¤ +- icon: "đ" + title: āϏāĻŋāĻā§āĻā§āϞ āĻĒāĻžāϏ (One Pass) + desc: āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āϏā§āĻā§āϰāĻŋāĻŽ āĻā§āϰā§āϝāĻžāĻāĻžāϰā§āϏāĻžāϞ⧠āĻĢā§āϞā§āϝāĻžāĻā§āύ āĻāĻŦāĻ āĻā§āϰā§āĻĒ āĻāϰā§āύāĨ¤ +- icon: "đ" + title: āύā§āϏā§āĻā§āĻŦāϞ (Nestable) + desc: āĻ āύā§āϝāĻžāύā§āϝ āĻĄāĻžāĻāύāϏā§āĻā§āϰāĻŋāĻŽ āĻāĻžāϞā§āĻā§āĻāϰāĻā§āϞā§āϰ āϏāĻžāĻĨā§ āĻāĻāϤā§āϰāĻŋāϤ āĻāϰā§āύāĨ¤ +support: + description: JDK 9 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2017) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/streams/optional-ifpresentorelse.yaml b/translations/content/bn/streams/optional-ifpresentorelse.yaml new file mode 100644 index 0000000..a792976 --- /dev/null +++ b/translations/content/bn/streams/optional-ifpresentorelse.yaml @@ -0,0 +1,18 @@ +--- +title: Optional.ifPresentOrElse() +oldApproach: if/else on Optional +modernApproach: ifPresentOrElse() +summary: Optional-āĻāϰ present āĻāĻŦāĻ empty āĻāĻāϝāĻŧ āĻā§āĻāϏāĻā§ āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āĻāϞ-āĻāĻ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰā§āύāĨ¤ +explanation: ifPresentOrElse() āĻŽā§āĻĨāĻĄāĻāĻŋ present āĻā§āĻāϏā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ Consumer āĻāĻŦāĻ empty āĻā§āĻāϏā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ Runnable āύā§ā§āĨ¤ āĻāĻāĻŋ isPresent()/get() āĻ ā§āϝāĻžāύā§āĻāĻŋ-āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤ +whyModernWins: +- icon: "đ" + title: āϏāĻŋāĻā§āĻā§āϞ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ + desc: āĻāĻāϝāĻŧ āĻā§āĻāϏ āĻāĻāĻāĻŋ āĻŽā§āĻĨāĻĄ āĻāϞ-āĻāĻ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰāĻž āϝāĻžā§āĨ¤ +- icon: "đĢ" + title: get() āĻāϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻ + desc: āĻŦāĻŋāĻĒāĻā§āĻāύāĻ isPresent() + get() āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻŦāĻžāĻĻ āĻĻā§ā§āĨ¤ +- icon: "đ" + title: āĻĢā§āϞā§āϝāĻŧā§āύā§āĻ + desc: findUser() āĻŦāĻž āϝā§āĻā§āύ⧠Optional-āϰāĻŋāĻāĻžāϰā§āύāĻŋāĻ āĻŽā§āĻĨāĻĄā§āϰ āĻĒāϰ⧠āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āĻā§āĻāύ āĻšāϝāĻŧāĨ¤ +support: + description: JDK 9 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2017) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/streams/optional-or.yaml b/translations/content/bn/streams/optional-or.yaml new file mode 100644 index 0000000..db65446 --- /dev/null +++ b/translations/content/bn/streams/optional-or.yaml @@ -0,0 +1,18 @@ +--- +title: Optional.or() āĻĢāϞāĻŦā§āϝāĻžāĻ +oldApproach: āύā§āϏā§āĻā§āĻĄ āĻĢāϞāĻŦā§āϝāĻžāĻ +modernApproach: .or() āĻā§āĻāύ +summary: āύā§āϏā§āĻā§āĻĄ āĻā§āĻ āĻāĻžāĻĄāĻŧāĻžāĻ Optional āĻĢāϞāĻŦā§āϝāĻžāĻ āĻā§āĻāύ āĻāϰā§āύāĨ¤ +explanation: Optional.or() āĻŽā§āĻĨāĻĄāĻāĻŋ āϝāĻĻāĻŋ āĻ āϰāĻŋāĻāĻŋāύāĻžāϞ āĻ āĻĒāĻļāύāĻžāϞ⧠āĻā§āϝāĻžāϞ⧠āĻĨāĻžāĻā§ āϤāĻžāĻšāϞ⧠āϏā§āĻāĻŋ āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§, āĻ āύā§āϝāĻĨāĻžāϝāĻŧ āĻŦāĻŋāĻāϞā§āĻĒ āĻ āĻĒāĻļāύāĻžāϞ āĻĒāĻžāĻāϝāĻŧāĻžāϰ āĻāύā§āϝ āϏāĻžāĻĒā§āϞāĻžāϝāĻŧāĻžāϰāĻā§ (supplier) āĻāĻāĻžāϞā§ā§ā§āĻ (evaluate) āĻāϰā§āĨ¤ āϏāĻžāĻĒā§āϞāĻžāϝāĻŧāĻžāϰāĻā§āϞ⧠āϞā§āĻāĻŋ (lazy) â āĻ āϰā§āĻĨāĻžā§ āĻā§āĻŦāϞ āĻĒā§āϰā§ā§āĻāύ āĻšāϞā§āĻ āĻāϞ āĻāϰāĻž āĻšā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āĻā§āĻāύā§āĻŦāϞ (Chainable) + desc: āĻāĻāĻāĻŋ āĻĒāĻ āύāϝā§āĻā§āϝ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ⧠āĻĢāϞāĻŦā§āϝāĻžāĻāĻā§āϞ⧠āϏā§āĻā§āϝāĻžāĻ āĻāϰā§āύāĨ¤ +- icon: "âĄ" + title: āϞā§āĻāĻŋ āĻāĻāĻžāϞā§āϝāĻŧā§āĻļāύ (Lazy Evaluation) + desc: āĻĢāϞāĻŦā§āϝāĻžāĻ āϏāĻžāĻĒā§āϞāĻžāϝāĻŧāĻžāϰāĻā§āϞ⧠āĻā§āĻŦāϞ āĻĒā§āϰā§ā§āĻāύ āĻšāϞā§āĻ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻ (execute) āĻšā§āĨ¤ +- icon: "đ" + title: āĻĄāĻŋāĻā§āϞāĻžāϰā§āĻāĻŋāĻ (Declarative) + desc: āĻāĻāĻŋ 'āĻĒā§āϰāĻžāĻāĻŽāĻžāϰāĻŋ āĻā§āώā§āĻāĻž āĻāϰā§āύ, āĻ āĻĨāĻŦāĻž āϏā§āĻā§āύā§āĻĄāĻžāϰāĻŋ, āĻ āĻĨāĻŦāĻž āĻĄāĻŋāĻĢāϞā§āĻ' āĻāϰ āĻŽāϤ⧠āĻĒāĻ āύāϝā§āĻā§āϝāĨ¤ +support: + description: JDK 9 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2017) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/streams/predicate-not.yaml b/translations/content/bn/streams/predicate-not.yaml new file mode 100644 index 0000000..d77daca --- /dev/null +++ b/translations/content/bn/streams/predicate-not.yaml @@ -0,0 +1,18 @@ +--- +title: āύā§āĻā§āĻļāύā§āϰ (negation) āĻāύā§āϝ Predicate.not() +oldApproach: āϞā§āϝāĻžāĻŽā§āĻŦāĻĄāĻž āύā§āĻā§āĻļāύ +modernApproach: Predicate.not() +summary: āϞā§āϝāĻžāĻŽā§āĻŦāĻĄāĻž āϰâā§āϝāĻžāĻĒāĻžāϰ āύāĻž āϞāĻŋāĻā§ āĻĒāϰāĻŋāώā§āĻāĻžāϰāĻāĻžāĻŦā§ āĻŽā§āĻĨāĻĄ āϰā§āĻĢāĻžāϰā§āύā§āϏ (method references) āύā§āĻā§āĻ āĻāϰāϤ⧠Predicate.not() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ +explanation: Java 11 āĻāϰ āĻāĻā§, āĻāĻāĻāĻŋ āĻŽā§āĻĨāĻĄ āϰā§āĻĢāĻžāϰā§āύā§āϏ āύā§āĻā§āĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻŋāĻā§ āĻāĻāĻāĻŋ āϞā§āϝāĻžāĻŽā§āĻŦāĻĄāĻžāϰ (lambda) āĻŽāϧā§āϝ⧠āϰâā§āϝāĻžāĻĒ āĻāϰāĻžāϰ āĻĒā§āϰā§ā§āĻāύ āĻšāϤā§āĨ¤ Predicate.not() āĻŽā§āĻĨāĻĄāĻāĻŋ āĻāĻĒāύāĻžāĻā§ āϏāϰāĻžāϏāϰāĻŋ āϝā§āĻā§āύ⧠āĻĒā§āϰā§āĻĄāĻŋāĻā§āĻ (predicate) āύā§āĻā§āĻ āĻāϰāϤ⧠āĻĻā§ā§, āϝāĻž āϏā§āĻā§āϰāĻŋāĻŽ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āĻā§āĻĄāĻŧā§ āĻā§āĻĄāĻā§ āĻĒāĻ āύāϝā§āĻā§āϝ āĻāĻŦāĻ āĻŽā§āĻĨāĻĄ āϰā§āĻĢāĻžāϰā§āύā§āϏ āϏā§āĻāĻžāĻāϞā§āϰ āϏāĻžāĻĨā§ āϏāĻžāĻŽāĻā§āĻāϏā§āϝāĻĒā§āϰā§āĻŖ āϰāĻžāĻā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āĻā§āϞāĻŋāύāĻžāϰ āύā§āĻā§āĻļāύ + desc: āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āύā§āĻā§āĻ āĻāϰāĻžāϰ āĻāύā§āϝ āĻŽā§āĻĨāĻĄ āϰā§āĻĢāĻžāϰā§āύā§āϏāĻā§āϞā§āĻā§ āϞā§āϝāĻžāĻŽā§āĻŦāĻĄāĻžāϰ āĻŽāϧā§āϝ⧠āϰâā§āϝāĻžāĻĒ āĻāϰāĻžāϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +- icon: "đ" + title: āĻāĻŽā§āĻĒā§āĻā§āĻŦāϞ (Composable) + desc: āϝā§āĻā§āύ⧠āĻĒā§āϰā§āĻĄāĻŋāĻā§āĻ (Predicate) āĻāϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰā§, āϝāĻž āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻĒā§āϰā§āĻĄāĻŋāĻā§āĻ āĻā§āĻāύ āϤā§āϰāĻŋ āĻāϰāϤ⧠āϏāĻā§āώāĻŽāĨ¤ +- icon: "đ" + title: āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āĻĒāĻ āύāϝā§āĻā§āϝ + desc: Predicate.not(String::isBlank) āĻāĻāϰā§āĻāĻŋāϤ⧠āĻĒā§āĻžāϰ āĻŽāϤā§āĻ āϏāĻšāĻāĨ¤ +support: + description: JDK 11 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2018) āĻĨā§āĻā§ āĻāĻĒāϞāĻŦā§āϧāĨ¤ \ No newline at end of file diff --git a/translations/content/bn/streams/stream-gatherers.yaml b/translations/content/bn/streams/stream-gatherers.yaml new file mode 100644 index 0000000..9f450a6 --- /dev/null +++ b/translations/content/bn/streams/stream-gatherers.yaml @@ -0,0 +1,18 @@ +--- +title: Stream Gatherers +oldApproach: āĻāĻžāϏā§āĻāĻŽ āĻāĻžāϞā§āĻā§āĻāϰ (Custom Collector) +modernApproach: gather() +summary: āĻāĻžāϏā§āĻāĻŽ āĻāύā§āĻāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧā§āĻ āϏā§āĻā§āϰāĻŋāĻŽ āĻ āĻĒāĻžāϰā§āĻļāύā§āϰ (custom intermediate stream operations) āĻāύā§āϝ gatherers āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ +explanation: Gatherers āĻšāϞ⧠āĻāĻāĻāĻŋ āύāϤā§āύ āĻāύā§āĻāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧā§āĻ āϏā§āĻā§āϰāĻŋāĻŽ āĻ āĻĒāĻžāϰā§āĻļāύ, āϝāĻž āϏā§āϞāĻžāĻāĻĄāĻŋāĻ āĻāĻāύā§āĻĄā§, āĻĢāĻŋāĻā§āϏāĻĄ-āϏāĻžāĻāĻ āĻā§āϰā§āĻĒ āĻāĻŦāĻ āϏā§āĻā§āϝāĻžāύ āĻ āĻĒāĻžāϰā§āĻļāύā§āϰ āĻŽāϤ⧠āĻāĻāĻŋāϞ āĻā§āϰāĻžāύā§āϏāĻĢāϰāĻŽā§āĻļāύ āĻĒā§āϰāĻāĻžāĻļ āĻāϰāϤ⧠āĻĒāĻžāϰā§, āϝāĻž āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āϏā§āĻā§āϰāĻŋāĻŽ āĻ āĻĒāϏ āĻĻāĻŋāϝāĻŧā§ āϏāĻŽā§āĻāĻŦ āĻāĻŋāϞ āύāĻžāĨ¤ +whyModernWins: +- icon: "đ§Š" + title: āĻāĻŽā§āĻĒā§āĻā§āĻŦāϞ (Composable) + desc: Gatherers āĻ āύā§āϝāĻžāύā§āϝ āϏā§āĻā§āϰāĻŋāĻŽ āĻ āĻĒāĻžāϰā§āĻļāύāĻā§āϞā§āϰ (stream operations) āϏāĻžāĻĨā§ āĻāĻŽā§āĻĒā§āĻ āĻāϰāĻž āϝāĻžā§āĨ¤ +- icon: "đĻ" + title: āĻŦāĻŋāϞā§āĻ-āĻāύ āĻ āĻĒāĻžāϰā§āĻļāύ (Built-in Operations) + desc: windowFixed, windowSliding, fold, scan āϏāϰāĻžāϏāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻž āϝāĻžā§āĨ¤ +- icon: "đ§" + title: āĻāĻā§āϏāĻā§āύāϏāĻŋāĻŦāϞ (Extensible) + desc: āϝā§āĻā§āύ⧠āĻāύā§āĻāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧā§āĻ āĻā§āϰāĻžāύā§āϏāĻĢāϰāĻŽā§āĻļāύā§āϰ āĻāύā§āϝ āĻāĻžāϏā§āĻāĻŽ Gatherers āϞāĻŋāĻā§āύāĨ¤ +support: + description: JDK 24 (JEP 485, āĻŽāĻžāϰā§āĻ 2025) āĻ āĻā§āĻĄāĻŧāĻžāύā§āϤ āĻšāϝāĻŧā§āĻā§āĨ¤ \ No newline at end of file diff --git a/translations/content/bn/streams/stream-iterate-predicate.yaml b/translations/content/bn/streams/stream-iterate-predicate.yaml new file mode 100644 index 0000000..b56a95f --- /dev/null +++ b/translations/content/bn/streams/stream-iterate-predicate.yaml @@ -0,0 +1,18 @@ +--- +title: Predicate āϏāĻš Stream.iterate() +oldApproach: iterate + limit +modernApproach: iterate(seed, pred, op) +summary: āĻāĻāĻāĻžāϰā§āĻļāύ (iteration) āĻŦāύā§āϧ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻĒā§āϰā§āĻĄāĻŋāĻā§āĻ (predicate) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ â āĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻŽ āĻĢāϰā§āĻŽā§āϰ āĻāĻāĻāĻŋ āĻĢāϰ-āϞā§āĻĒā§āϰ (for-loop) āĻŽāϤā§āĨ¤ +explanation: āϤāĻŋāύ-āĻāϰā§āĻā§āĻŽā§āύā§āĻ Stream.iterate(seed, hasNext, next) āĻŽā§āĻĨāĻĄāĻāĻŋ āĻāĻāĻāĻŋ āĻĢāϰ-āϞā§āĻĒā§āϰ āĻŽāϤ⧠āĻāĻžāĻ āĻāϰā§: seed āĻšāϞ⧠āĻļā§āϰā§, hasNext āύāĻŋāϰā§āϧāĻžāϰāĻŖ āĻāϰ⧠āĻāĻāύ āĻĨāĻžāĻŽāϤ⧠āĻšāĻŦā§ āĻāĻŦāĻ next āĻĒāϰāĻŦāϰā§āϤ⧠āĻā§āϝāĻžāϞ⧠āϤā§āϰāĻŋ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ¯" + title: āĻĒā§āϰāĻžāĻā§āϤāĻŋāĻ āĻāĻžāϰā§āĻŽāĻŋāύā§āĻļāύ (Natural Termination) + desc: āĻāĻāĻāĻŋ āĻāύā§āĻĄāĻŋāĻļāύā§āϰ (condition) āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āĻĨāĻžāĻŽā§āύ, āĻā§āύ⧠āĻāϰā§āĻāĻŋāĻā§āϞāĻžāϰ āϞāĻŋāĻŽāĻŋāĻ (arbitrary limit) āύā§āĨ¤ +- icon: "đ" + title: āĻĢāϰ-āϞā§āĻĒ āĻāĻā§āĻāĻā§āϝāĻžāϞā§āύā§āĻ (For-loop Equivalent) + desc: for(seed; hasNext; next) āĻāϰ āĻŽāϤ⧠āĻāĻāĻ āϏā§āĻŽāĻžāύā§āĻāĻŋāĻā§āϏ (semantics)āĨ¤ +- icon: "đĄī¸" + title: āĻ āϏā§āĻŽ āϏā§āĻā§āϰāĻŋāĻŽ āĻā§āĻāĻāĻŋāϰ āĻ āύā§āĻĒāϏā§āĻĨāĻŋāϤāĻŋ + desc: āĻĒā§āϰā§āĻĄāĻŋāĻā§āĻ (predicate) āĻāĻžāϰā§āĻŽāĻŋāύā§āĻļāύ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰā§āĨ¤ +support: + description: JDK 9 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2017) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/streams/stream-mapmulti.yaml b/translations/content/bn/streams/stream-mapmulti.yaml new file mode 100644 index 0000000..f075b59 --- /dev/null +++ b/translations/content/bn/streams/stream-mapmulti.yaml @@ -0,0 +1,18 @@ +--- +title: Stream.mapMulti() +oldApproach: flatMap + List +modernApproach: mapMulti() +summary: āĻāύā§āĻāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧā§āĻ āϏā§āĻā§āϰāĻŋāĻŽ āϤā§āϰāĻŋ āύāĻž āĻāϰā§āĻ āĻĒā§āϰāϤāĻŋ āĻāύāĻĒā§āĻā§āϰ āĻāύā§āϝ āĻļā§āύā§āϝ āĻŦāĻž āϤāĻžāϰ āĻŦā§āĻļāĻŋ āĻāϞāĻŋāĻŽā§āύā§āĻ āύāĻŋāϰā§āĻāϤ āĻāϰā§āύāĨ¤ +explanation: mapMulti() āĻŽā§āĻĨāĻĄāĻāĻŋ flatMap-āĻāϰ āĻāĻāĻāĻŋ āĻāĻŽā§āĻĒāĻžāϰā§āĻāĻŋāĻ āĻŦāĻŋāĻāϞā§āĻĒ, āϝāĻž āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāϞāĻŋāĻŽā§āύā§āĻā§āϰ āĻāύā§āϝ āĻāύā§āĻāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧā§āĻ āϏā§āĻā§āϰāĻŋāĻŽ āĻ āĻŦāĻā§āĻā§āĻ āϤā§āϰāĻŋ āĻāϰāĻž āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤ āĻŽā§āϝāĻžāĻĒāĻŋāĻ āϝāĻāύ āĻ āϞā§āĻĒ āϏāĻāĻā§āϝāĻ āĻāϞāĻŋāĻŽā§āύā§āĻ āϤā§āϰāĻŋ āĻāϰā§, āϤāĻāύ āĻāĻāĻŋ āĻāϰāĻ āĻāĻĢāĻŋāĻļāĻŋāϝāĻŧā§āύā§āĻ (efficient) āĻšāϝāĻŧāĨ¤ +whyModernWins: +- icon: "âĄ" + title: āĻāĻŽ āĻ ā§āϝāĻžāϞā§āĻā§āĻļāύ (Less Allocation) + desc: āĻĒā§āϰāϤāĻŋ āĻāϞāĻŋāĻŽā§āύā§āĻā§āϰ āĻāύā§āϝ āĻā§āύ⧠āĻāύā§āĻāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧā§āĻ āϏā§āĻā§āϰāĻŋāĻŽ āϤā§āϰāĻŋ āĻšā§ āύāĻžāĨ¤ +- icon: "đ¯" + title: āĻāĻŽā§āĻĒāĻžāϰā§āĻāĻŋāĻ āϏā§āĻāĻžāĻāϞ (Imperative Style) + desc: āϏāϰāĻžāϏāϰāĻŋ āϞā§āĻĒ āĻāĻŦāĻ āĻāύā§āĻĄāĻŋāĻļāύāĻžāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ +- icon: "đ" + title: āĻĢā§āϞā§āĻā§āϏāĻŋāĻŦāϞ (Flexible) + desc: āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻāύā§āĻā§āϰā§āϞ āϏāĻš āĻļā§āύā§āϝ, āĻāĻ, āĻŦāĻž āĻāĻāĻžāϧāĻŋāĻ āĻāϞāĻŋāĻŽā§āύā§āĻ āύāĻŋāϰā§āĻāϤ āĻāϰā§āύāĨ¤ +support: + description: JDK 16 (āĻŽāĻžāϰā§āĻ 2021) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/streams/stream-of-nullable.yaml b/translations/content/bn/streams/stream-of-nullable.yaml new file mode 100644 index 0000000..ff6c81c --- /dev/null +++ b/translations/content/bn/streams/stream-of-nullable.yaml @@ -0,0 +1,18 @@ +--- +title: Stream.ofNullable() +oldApproach: Null āĻā§āĻ +modernApproach: ofNullable() +summary: nullable āĻā§āϝāĻžāϞ⧠(nullable value) āĻĨā§āĻā§ āĻļā§āύā§āϝ-āĻŦāĻž-āĻāĻ āĻāϞāĻŋāĻŽā§āύā§āĻā§āϰ āϏā§āĻā§āϰāĻŋāĻŽ āϤā§āϰāĻŋ āĻāϰā§āύāĨ¤ +explanation: Stream.ofNullable() āĻŽā§āĻĨāĻĄāĻāĻŋ āĻā§āϝāĻžāϞā§āĻāĻŋ āύāύ-āύāĻžāϞ (non-null) āĻšāϞ⧠āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ-āĻāϞāĻŋāĻŽā§āύā§āĻ āϏā§āĻā§āϰāĻŋāĻŽ āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§, āĻ āĻĨāĻŦāĻž null āĻšāϞ⧠āĻāĻāĻāĻŋ āĻāĻŽā§āĻĒāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻŽ (empty stream) āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§āĨ¤ āĻāĻāĻŋ āĻāĻžāϰāύāĻžāϰāĻŋ null āĻā§āĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻā§ (ternary null check pattern) āĻĻā§āϰ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āϏā§āϏāĻāĻā§āώāĻŋāĻĒā§āϤ + desc: āĻāĻ āĻāϞ-āĻāĻ āĻāĻžāϰāύāĻžāϰāĻŋ āĻāύā§āĻĄāĻŋāĻļāύāĻžāϞāĻā§ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āĨ¤ +- icon: "đ" + title: flatMap-āĻĢā§āϰā§āύā§āĻĄāϞāĻŋ + desc: flatMap-āĻāϰ āĻāĻŋāϤāϰ⧠null āĻā§āϝāĻžāϞ⧠āĻŦāĻžāĻĻ āĻĻāĻŋāϤ⧠āĻĒāĻžāϰāĻĢā§āĻā§āĻāĨ¤ +- icon: "đĄī¸" + title: Null-āϏā§āĻĢ + desc: āĻā§āύ⧠NPE āĻā§āĻāĻāĻŋ āύā§āĻ â null āĻšāϞ⧠āĻāĻŽā§āĻĒāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻŽ āĻšāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤ +support: + description: JDK 9 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2017) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/streams/stream-takewhile-dropwhile.yaml b/translations/content/bn/streams/stream-takewhile-dropwhile.yaml new file mode 100644 index 0000000..47ef929 --- /dev/null +++ b/translations/content/bn/streams/stream-takewhile-dropwhile.yaml @@ -0,0 +1,18 @@ +--- +title: Stream takeWhile / dropWhile +oldApproach: āĻŽā§āϝāĻžāύā§ā§āĻžāϞ āϞā§āĻĒ +modernApproach: takeWhile/dropWhile +summary: āĻāĻāĻāĻŋ āĻĒā§āϰā§āĻĄāĻŋāĻā§āĻā§āϰ (predicate) āĻāĻĒāϰ āĻāĻŋāϤā§āϤāĻŋ āĻāϰ⧠āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻŽ āĻĨā§āĻā§ āĻāϞāĻŋāĻŽā§āύā§āĻ āύāĻŋāύ āĻŦāĻž āĻŦāĻžāĻĻ āĻĻāĻŋāύāĨ¤ +explanation: takeWhile() āĻŽā§āĻĨāĻĄāĻāĻŋ āĻĒā§āϰā§āĻĄāĻŋāĻā§āĻ āϏāϤā§āϝ (true) āĻšāĻāϝāĻŧāĻž āĻĒāϰā§āϝāύā§āϤ āĻāϞāĻŋāĻŽā§āύā§āĻ āϰāĻŋāĻāĻžāϰā§āύ āĻāϰ⧠āĻāĻŦāĻ āĻĒā§āϰāĻĨāĻŽ āĻŽāĻŋāĻĨā§āϝāĻž (false) āϤ⧠āĻĒā§āĻāĻāĻžāϞ⧠āĻĨāĻžāĻŽāĻžāĨ¤ dropWhile() āĻŽā§āĻĨāĻĄāĻāĻŋ āĻĒā§āϰā§āĻĄāĻŋāĻā§āĻ āϏāϤā§āϝ āĻĨāĻžāĻāĻž āĻĒāϰā§āϝāύā§āϤ āĻāϞāĻŋāĻŽā§āύā§āĻ āϏā§āĻāĻŋāĻĒ āĻāϰ⧠āĻāĻŦāĻ āĻŦāĻžāĻāĻŋāĻā§āϞ⧠āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§āĨ¤ āĻāĻāϝāĻŧ āĻŽā§āĻĨāĻĄāĻ āĻ āϰā§āĻĄāĻžāϰāĻĄ āϏā§āĻā§āϰāĻŋāĻŽāĻā§āϞā§āϤ⧠(ordered streams) āϏāĻŦāĻā§āϝāĻŧā§ āĻāĻžāϞ⧠āĻāĻžāĻ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ¯" + title: āĻļāϰā§āĻ-āϏāĻžāϰā§āĻāĻŋāĻ (Short-circuit) + desc: āĻĒā§āϰā§āĻĄāĻŋāĻā§āĻ āĻŦā§āϝāϰā§āĻĨ āĻšāĻāϝāĻŧāĻžāϰ āϏāĻžāĻĨā§ āϏāĻžāĻĨā§ āĻĒā§āϰāϏā§āϏāĻŋāĻ āĻŦāύā§āϧ āĻšā§ā§ āϝāĻžā§āĨ¤ +- icon: "đ" + title: āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ-āĻĢā§āϰā§āύā§āĻĄāϞāĻŋ (Pipeline-friendly) + desc: āĻ āύā§āϝāĻžāύā§āϝ āϏā§āĻā§āϰāĻŋāĻŽ āĻ āĻĒāĻžāϰā§āĻļāύāĻā§āϞā§āϰ āϏāĻžāĻĨā§ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āĻā§āĻāύ āĻšāϝāĻŧāĨ¤ +- icon: "đ" + title: āĻĄāĻŋāĻā§āϞāĻžāϰā§āĻāĻŋāĻ (Declarative) + desc: takeWhile āĻŽā§āĻĨāĻĄāĻāĻŋ 'ā§§ā§Ļā§Ļ āĻāϰ āĻāĻŽ āĻšāϞ⧠āύāĻžāĻ' āĻāϰ āĻŽāϤ⧠āĻāϰ⧠āĻĒāĻ āύāϝā§āĻā§āϝāĨ¤ +support: + description: JDK 9 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2017) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/streams/stream-tolist.yaml b/translations/content/bn/streams/stream-tolist.yaml new file mode 100644 index 0000000..7fb422f --- /dev/null +++ b/translations/content/bn/streams/stream-tolist.yaml @@ -0,0 +1,18 @@ +--- +title: Stream.toList() +oldApproach: collect(Collectors.toList()) +modernApproach: .toList() +summary: āĻāĻžāϰā§āĻŽāĻŋāύāĻžāϞ toList() āĻŽā§āĻĨāĻĄāĻāĻŋ verbose collect(Collectors.toList())-āĻā§ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āĨ¤ +explanation: Stream.toList() āĻŽā§āĻĨāĻĄāĻāĻŋ āĻāĻāĻāĻŋ āĻāύāĻŽāĻĄāĻŋāĻĢāĻžāĻā§ā§āĻŦāϞ āϞāĻŋāϏā§āĻ (unmodifiable list) āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§āĨ¤ āĻāĻāĻŋ .collect(Collectors.toUnmodifiableList()) āĻāϰ āϏāĻŽāϤā§āϞā§āϝ, āĻāĻŋāύā§āϤ⧠āĻ āύā§āĻ āϏāĻāĻā§āώāĻŋāĻĒā§āϤāĨ¤ āĻāϞā§āϞā§āĻā§āϝ āϝā§, āĻāϰ āĻĢāϞāĻžāĻĢāϞ āĻāĻŽāĻŋāĻāĻā§āĻŦāϞ (immutable), Collectors.toList()-āĻāϰ āĻŽāϤ⧠āύā§āĨ¤ +whyModernWins: +- icon: "đ" + title: 7 āĻā§āϝāĻžāϰā§āĻā§āĻāĻžāϰ āĻŦāύāĻžāĻŽ 24 + desc: .toList() āĻŽā§āĻĨāĻĄāĻāĻŋ .collect(Collectors.toList())-āĻā§ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āĨ¤ +- icon: "đ" + title: āĻāĻŽāĻŋāĻāĻā§āĻŦāϞ (Immutable) + desc: āĻĢāϞāĻžāĻĢāϞ āϞāĻŋāϏā§āĻāĻāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻž āϝāĻžā§ āύāĻžāĨ¤ +- icon: "đ" + title: āĻĢā§āϞā§ā§ā§āύā§āĻ (Fluent) + desc: āĻāĻāĻāĻŋ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύā§āϰ āĻļā§āώ⧠āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āĻĒāĻ āύāϝā§āĻā§āϝāĨ¤ +support: + description: JDK 16 (āĻŽāĻžāϰā§āĻ 2021) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/streams/virtual-thread-executor.yaml b/translations/content/bn/streams/virtual-thread-executor.yaml new file mode 100644 index 0000000..dd5951b --- /dev/null +++ b/translations/content/bn/streams/virtual-thread-executor.yaml @@ -0,0 +1,18 @@ +--- +title: āĻāĻžāϰā§āĻā§ā§āĻžāϞ āĻĨā§āϰā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻāϰ (Virtual Thread Executor) +oldApproach: āĻĢāĻŋāĻā§āϏāĻĄ āĻĨā§āϰā§āĻĄ āĻĒā§āϞ (Fixed Thread Pool) +modernApproach: āĻāĻžāϰā§āĻā§ā§āĻžāϞ āĻĨā§āϰā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻāϰ +summary: āϏā§āĻŽāĻžāĻšā§āύ āϞāĻžāĻāĻāĻāϝāĻŧā§āĻ āĻāύāĻāĻžāϰā§āύā§āϏāĻŋāϰ (lightweight concurrency) āĻāύā§āϝ āĻāĻžāϰā§āĻā§ā§āĻžāϞ āĻĨā§āϰā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ +explanation: āĻāĻžāϰā§āĻā§ā§āĻžāϞ āĻĨā§āϰā§āĻĄ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻāϰ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻžāϏā§āĻā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āύāϤā§āύ āĻāĻžāϰā§āĻā§ā§āĻžāϞ āĻĨā§āϰā§āĻĄ āϤā§āϰāĻŋ āĻāϰā§āĨ¤ āĻā§āύ⧠āĻĒā§āϞ āϏāĻžāĻāĻāĻŋāĻā§ā§āϰ (pool sizing) āĻĒā§āϰā§ā§āĻāύ āύā§āĻ â āĻāĻžāϰā§āĻā§ā§āĻžāϞ āĻĨā§āϰā§āĻĄāĻā§āϞ⧠āĻāϤ āϏāϏā§āϤāĻž āϝ⧠āϞāĻā§āώ āϞāĻā§āώ āϤā§āϰāĻŋ āĻāϰāĻž āϝāĻžā§āĨ¤ +whyModernWins: +- icon: "âžī¸" + title: āĻā§āύ⧠āϏāĻžāĻāĻāĻŋāĻ āύā§āĻ + desc: āĻā§āύ⧠āĻĒā§āϞ āϏāĻžāĻāĻ āĻāĻŋāĻāύ āĻāϰāĻžāϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻ â āϝāϤāĻā§āϞ⧠āĻĨā§āϰā§āĻĄ āĻĻāϰāĻāĻžāϰ āϤāϤāĻā§āϞ⧠āϤā§āϰāĻŋ āĻāϰā§āύāĨ¤ +- icon: "âĄ" + title: āϞāĻžāĻāĻāĻāϝāĻŧā§āĻ + desc: āĻāĻžāϰā§āĻā§ā§āĻžāϞ āĻĨā§āϰā§āĻĄāĻā§āϞ⧠āĻāĻŋāϞā§āĻŦāĻžāĻāĻ (KB) āĻŽā§āĻŽāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āĻŽā§āĻāĻžāĻŦāĻžāĻāĻ (MB) āύā§āĨ¤ +- icon: "đ§š" + title: āĻ āĻā§-āĻā§āϞā§āĻā§āĻŦāϞ (Auto-closeable) + desc: āĻā§āϰāĻžāĻ-āĻāĻāĻĨ-āϰāĻŋāϏā§āϰā§āϏā§āϏ (try-with-resources) āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻļāĻžāĻāĻĄāĻžāĻāύ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰā§āĨ¤ +support: + description: JDK 21 LTS (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2023) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/strings/string-chars-stream.yaml b/translations/content/bn/strings/string-chars-stream.yaml new file mode 100644 index 0000000..b446604 --- /dev/null +++ b/translations/content/bn/strings/string-chars-stream.yaml @@ -0,0 +1,18 @@ +--- +title: Stream āĻšāĻŋāϏāĻžāĻŦā§ String chars (String chars as stream) +oldApproach: āĻŽā§āϝāĻžāύā§ā§āĻžāϞ āϞā§āĻĒ +modernApproach: chars() Stream +summary: āϏā§āĻā§āϰāĻŋāĻ āĻā§āϝāĻžāϰā§āĻā§āĻāĻžāϰāĻā§āϞā§āĻā§ (string characters) āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻŽ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ (stream pipeline) āĻšāĻŋāϏāĻžāĻŦā§ āĻĒā§āϰāϏā§āϏ āĻāϰā§āύāĨ¤ +explanation: String.chars() āĻŽā§āĻĨāĻĄāĻāĻŋ āĻā§āϝāĻžāϰā§āĻā§āĻāĻžāϰ āĻā§āϝāĻžāϞā§āĻā§āϞā§āϰ āĻāĻāĻāĻŋ IntStream āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§, āϝāĻž āĻĢāĻžāĻāĻļāύāĻžāϞ āĻĒā§āϰāϏā§āϏāĻŋāĻ āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤ āĻāĻāύāĻŋāĻā§āĻĄ āϏāĻžāĻĒā§āϰā§āĻā§āϰ āĻāύā§āϝ, codePoints() āĻŽā§āĻĨāĻĄāĻāĻŋ āϏāĻžāĻĒā§āϞāĻŋāĻŽā§āύā§āĻāĻžāϰāĻŋ āĻā§āϝāĻžāϰā§āĻā§āĻāĻžāϰāĻā§āϞā§āĻā§ (supplementary characters) āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āĻā§āĻāύā§āĻŦāϞ (Chainable) + desc: āĻā§āϝāĻžāϰā§āĻā§āĻāĻžāϰ āϏā§āĻā§āϰāĻŋāĻŽāĻā§āϞā§āϤ⧠filter, map, collect āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ +- icon: "đ" + title: āĻĄāĻŋāĻā§āϞāĻžāϰā§āĻāĻŋāĻ (Declarative) + desc: āĻā§ āĻāϰāϤ⧠āĻšāĻŦā§ āϤāĻž āĻŦāϰā§āĻŖāύāĻž āĻāϰā§āύ, āĻāĻŋāĻāĻžāĻŦā§ āϞā§āĻĒ āĻāϰāϤ⧠āĻšāĻŦā§ āϤāĻž āύā§āĨ¤ +- icon: "đ" + title: āĻāĻāύāĻŋāĻā§āĻĄ-āϰā§āĻĄāĻŋ (Unicode-ready) + desc: codePoints() āĻŽā§āĻĨāĻĄāĻāĻŋ āĻāĻŽā§āĻāĻŋ (emoji) āĻāĻŦāĻ āϏāĻžāĻĒā§āϞāĻŋāĻŽā§āύā§āĻāĻžāϰāĻŋ āĻā§āϝāĻžāϰā§āĻā§āĻāĻžāϰāĻā§āϞ⧠(supplementary chars) āϏāĻ āĻŋāĻāĻāĻžāĻŦā§ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰā§āĨ¤ +support: + description: JDK 8+ āĻĨā§āĻā§ āĻāĻĒāϞāĻŦā§āϧ (9+ āĻ āĻāύā§āύāϤ) \ No newline at end of file diff --git a/translations/content/bn/strings/string-formatted.yaml b/translations/content/bn/strings/string-formatted.yaml new file mode 100644 index 0000000..6954504 --- /dev/null +++ b/translations/content/bn/strings/string-formatted.yaml @@ -0,0 +1,18 @@ +--- +title: String.formatted() +oldApproach: String.format() +modernApproach: formatted() +summary: āĻā§āĻŽāĻĒā§āϞā§āĻ āϏā§āĻā§āϰāĻŋāĻ-āĻāϰ āĻāĻĒāϰ āϏāϰāĻžāϏāϰāĻŋ formatted() āĻŽā§āĻĨāĻĄāĻāĻŋ āĻāϞ āĻāϰā§āύāĨ¤ +explanation: String.formatted() āĻŽā§āĻĨāĻĄāĻāĻŋ String.format()-āĻāϰ āĻāĻāĻāĻŋ āĻāύāϏā§āĻā§āϝāĻžāύā§āϏ āĻŽā§āĻĨāĻĄ āĻāĻā§āĻāĻā§āϝāĻžāϞā§āύā§āĻ, āϝāĻž āĻĢāϰāĻŽā§āϝāĻžāĻ āϏā§āĻā§āϰāĻŋāĻ āĻāϰ āĻāĻĒāϰ āĻāϞ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻāĻāĻŋ āĻŦāĻžāĻŽ āĻĨā§āĻā§ āĻĄāĻžāύ⧠(left-to-right) āĻāϰāĻ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āĻĒāĻ āύāϝā§āĻā§āϝāĨ¤ +whyModernWins: +- icon: "đ" + title: āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āĻĒāĻ āύāϝā§āĻā§āϝ + desc: Template.formatted(args) āĻŽā§āĻĨāĻĄāĻāĻŋ String.format(template, args)-āĻāϰ āĻā§ā§ā§ āĻŦā§āĻļāĻŋ āĻĢā§āϞā§āϝāĻŧā§āύā§āĻāĨ¤ +- icon: "đ" + title: āĻā§āĻāύā§āĻŦāϞ (Chainable) + desc: āĻ āύā§āϝāĻžāύā§āϝ āϏā§āĻā§āϰāĻŋāĻ āĻŽā§āĻĨāĻĄāĻā§āϞā§āϰ āϏāĻžāĻĨā§ āĻā§āĻāύ āĻāϰāĻž āϝāĻžā§āĨ¤ +- icon: "đ" + title: āĻāĻŽ āĻāĻžāϰā§āĻŦā§āϏ (Less Verbose) + desc: āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ String.format() āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻāϞāĻā§ āĻŦāĻžāĻĻ āĻĻā§ā§āĨ¤ +support: + description: JDK 15 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2020) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/strings/string-indent-transform.yaml b/translations/content/bn/strings/string-indent-transform.yaml new file mode 100644 index 0000000..f172b1c --- /dev/null +++ b/translations/content/bn/strings/string-indent-transform.yaml @@ -0,0 +1,18 @@ +--- +title: String.indent() āĻāĻŦāĻ transform() +oldApproach: āĻŽā§āϝāĻžāύā§ā§āĻžāϞ āĻāύā§āĻĄā§āύā§āĻā§āĻļāύ +modernApproach: indent() / transform() +summary: āĻā§āĻā§āϏāĻ āĻāύā§āĻĄā§āύā§āĻ (indent) āĻāϰā§āύ āĻāĻŦāĻ āϏā§āĻā§āϰāĻŋāĻ āĻā§āϰāĻžāύā§āϏāĻĢāϰāĻŽā§āĻļāύ (string transformations) āĻĢā§āϞā§ā§ā§āύā§āĻāϞāĻŋ āĻā§āĻāύ (chain) āĻāϰā§āύāĨ¤ +explanation: indent(n) āĻŽā§āĻĨāĻĄāĻāĻŋ āĻĒā§āϰāϤāĻŋāĻāĻŋ āϞāĻžāĻāύ⧠n āϏāĻāĻā§āϝāĻ āϏā§āĻĒā§āϏ āϝā§āĻ āĻāϰā§āĨ¤ transform(fn) āĻŽā§āĻĨāĻĄāĻāĻŋ āϝā§āĻā§āύ⧠āĻĢāĻžāĻāĻļāύ āĻĒā§āϰā§ā§āĻ āĻāϰ⧠āĻāĻŦāĻ āĻĢāϞāĻžāĻĢāϞ āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§, āϝāĻž āϏā§āĻā§āϰāĻŋāĻ āĻ āĻĒāĻžāϰā§āĻļāύāĻā§āϞā§āϰ āĻĢā§āϞā§ā§ā§āύā§āĻ āĻā§āĻāύāĻŋāĻ āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āĻŦāĻŋāϞā§āĻ-āĻāύ + desc: āĻāύā§āĻĄā§āύā§āĻā§āĻļāύ āĻāĻāĻāĻŋ āĻāĻŽāύ āĻ āĻĒāĻžāϰā§āĻļāύ â āĻāĻāύ āĻāĻāĻŋ āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āĻāϞ-āĻāĻ āĻāϰāĻž āϝāĻžā§āĨ¤ +- icon: "đ" + title: āĻā§āĻāύā§āĻŦāϞ (Chainable) + desc: transform() āĻŽā§āĻĨāĻĄāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻāĻā§āϞā§āϤ⧠āĻĢā§āϞā§āϝāĻŧā§āύā§āĻ āĻĒāĻžāĻāĻĒāϞāĻžāĻāύ āϏāĻā§āώāĻŽ āĻāϰā§āĨ¤ +- icon: "đ§š" + title: āĻā§āϞāĻŋāύ āĻā§āĻĄ + desc: āĻā§āύ⧠āĻŽā§āϝāĻžāύā§ā§āĻžāϞ āϞāĻžāĻāύ āϏā§āĻĒā§āϞāĻŋāĻāĻŋāĻ āĻāĻŦāĻ StringBuilder āϞā§āĻĒā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +support: + description: JDK 12 (āĻŽāĻžāϰā§āĻ 2019) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/strings/string-isblank.yaml b/translations/content/bn/strings/string-isblank.yaml new file mode 100644 index 0000000..78f0775 --- /dev/null +++ b/translations/content/bn/strings/string-isblank.yaml @@ -0,0 +1,18 @@ +--- +title: String.isBlank() +oldApproach: trim().isEmpty() +modernApproach: isBlank() +summary: āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āĻŽā§āĻĨāĻĄ āĻāϞ āĻĻāĻŋā§ā§ āĻŦā§āϞā§āϝāĻžāĻā§āĻ (blank) āϏā§āĻā§āϰāĻŋāĻ āĻā§āĻ āĻāϰā§āύāĨ¤ +explanation: isBlank() āĻŽā§āĻĨāĻĄāĻāĻŋ āϰāĻŋāĻāĻžāϰā§āύ āĻāϰ⧠true āϝāĻĻāĻŋ āϏā§āĻā§āϰāĻŋāĻāĻāĻŋ āĻāĻŽā§āĻĒāĻāĻŋ āĻšā§ āĻŦāĻž āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻšā§āϝāĻŧāĻžāĻāĻāϏā§āĻĒā§āϏ (whitespace) āϧāĻžāϰāĻŖ āĻāϰā§, āϝāĻžāϰ āĻŽāϧā§āϝ⧠trim() āĻŽā§āĻĨāĻĄāĻāĻŋ āĻŽāĻŋāϏ āĻāϰ⧠āĻāĻŽāύ āĻāĻāύāĻŋāĻā§āĻĄ āĻšā§āϝāĻŧāĻžāĻāĻāϏā§āĻĒā§āϏ āĻā§āϝāĻžāϰā§āĻā§āĻāĻžāϰāĻ (Unicode whitespace characters) āĻ āύā§āϤāϰā§āĻā§āĻā§āϤāĨ¤ +whyModernWins: +- icon: "đ" + title: āϏā§āĻŦ-āĻĄāĻā§āĻŽā§āύā§āĻāĻŋāĻ (Self-documenting) + desc: isBlank() āĻŽā§āĻĨāĻĄāĻāĻŋ āĻ āĻŋāĻ āĻā§ āĻā§āĻ āĻāϰ⧠āϤāĻž āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ āĻŦāϞā§āĨ¤ +- icon: "đ" + title: āĻāĻāύāĻŋāĻā§āĻĄ-āĻ ā§āϝāĻžāĻā§āĻžāϰ (Unicode-aware) + desc: āĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ ASCII āύā§, āϏāĻŽāϏā§āϤ āĻāĻāύāĻŋāĻā§āĻĄ āĻšā§āϝāĻŧāĻžāĻāĻāϏā§āĻĒā§āϏ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰā§āĨ¤ +- icon: "âĄ" + title: āĻā§āύ⧠āĻ ā§āϝāĻžāϞā§āĻā§āĻļāύ (Allocation) āύā§āĻ + desc: āĻā§āύ⧠āĻāύā§āĻāĻžāϰāĻŽāĻŋāĻĄāĻŋāϝāĻŧā§āĻ āĻā§āϰāĻŋāĻŽāĻĄ āϏā§āĻā§āϰāĻŋāĻ (intermediate trimmed string) āϤā§āϰāĻŋ āĻšā§ āύāĻžāĨ¤ +support: + description: JDK 11 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2018) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/strings/string-lines.yaml b/translations/content/bn/strings/string-lines.yaml new file mode 100644 index 0000000..413a441 --- /dev/null +++ b/translations/content/bn/strings/string-lines.yaml @@ -0,0 +1,18 @@ +--- +title: āϞāĻžāĻāύ āϏā§āĻĒā§āϞāĻŋāĻāĻŋāĻā§ā§āϰ āĻāύā§āϝ String.lines() +oldApproach: split("\n") +modernApproach: lines() +summary: regex āĻāĻāĻžāϰāĻšā§āĻĄ (overhead) āĻāĻžā§āĻžāĻ āĻā§āĻā§āϏāĻāĻā§ āϏā§āĻā§āϰāĻŋāĻŽ āĻ āĻŦ āϞāĻžāĻāύāϏ⧠(stream of lines) āĻŦāĻŋāĻāĻā§āϤ āĻāϰāϤ⧠String.lines() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ +explanation: String.lines() āĻŽā§āĻĨāĻĄāĻāĻŋ \n, \r, āĻŦāĻž \r\n āĻĻā§āĻŦāĻžāϰāĻž āĻŦāĻŋāĻāĻā§āϤ āϞāĻžāĻāύāĻā§āϞā§āϰ Stream
āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§āĨ¤ āĻāĻāĻŋ split() āĻŽā§āĻĨāĻĄā§āϰ āĻā§āϝāĻŧā§ āĻŦā§āĻļāĻŋ āϞā§āĻāĻŋ (lazy) āĻāĻŦāĻ āĻāĻĢāĻŋāĻļāĻŋāϝāĻŧā§āύā§āĻ, regex āĻāĻŽā§āĻĒāĻžāĻāϞā§āĻļāύ āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āϝāĻžāϝāĻŧ āĻāĻŦāĻ āĻāϰāĻ āĻĒā§āϰāϏā§āϏāĻŋāĻā§ā§āϰ āĻāύā§āϝ Stream API āĻāϰ āϏāĻžāĻĨā§ āϏā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻāĻāĻžāĻŦā§ āĻāύā§āĻāĻŋāĻā§āϰā§āĻ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "âĄ" + title: āϞā§āĻāĻŋ āϏā§āĻā§āϰāĻŋāĻŽāĻŋāĻ (Lazy Streaming) + desc: āϞāĻžāĻāύāĻā§āϞ⧠āĻĄāĻŋāĻŽāĻžāύā§āĻĄ āĻ āύā§āϝāĻžā§ā§ āϤā§āϰāĻŋ āĻšā§, split() āĻāϰ āĻŽāϤ⧠āϏāĻŦ āĻāĻāϏāĻžāĻĨā§ āύā§āĨ¤ +- icon: "đ§" + title: āĻāĻāύāĻŋāĻāĻžāϰā§āϏāĻžāϞ āϞāĻžāĻāύ āĻāύā§āĻĄāĻŋāĻ (Universal Line Endings) + desc: regex āĻāĻžā§āĻžāĻ āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ \n, \r, āĻāĻŦāĻ \r\n āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰā§āĨ¤ +- icon: "đ" + title: āϏā§āĻā§āϰāĻŋāĻŽ āĻāύā§āĻāĻŋāĻā§āϰā§āĻļāύ (Stream Integration) + desc: filter, map, collect-āĻāϰ āϏāĻžāĻĨā§ āϏāϰāĻžāϏāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ Stream āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§āĨ¤ +support: + description: JDK 11 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2018) āĻĨā§āĻā§ āĻāĻĒāϞāĻŦā§āϧāĨ¤ \ No newline at end of file diff --git a/translations/content/bn/strings/string-repeat.yaml b/translations/content/bn/strings/string-repeat.yaml new file mode 100644 index 0000000..58d41ff --- /dev/null +++ b/translations/content/bn/strings/string-repeat.yaml @@ -0,0 +1,18 @@ +--- +title: String.repeat() +oldApproach: StringBuilder āϞā§āĻĒ +modernApproach: repeat() +summary: āĻā§āύ⧠āϞā§āĻĒ āĻāĻžāĻĄāĻŧāĻžāĻ āĻāĻāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻāĻā§ n āĻŦāĻžāϰ āϰāĻŋāĻĒāĻŋāĻ āĻāϰā§āύāĨ¤ +explanation: String.repeat(int) āĻŽā§āĻĨāĻĄāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻāĻāĻŋāĻā§ n āĻŦāĻžāϰ āύāĻŋāĻā§āϰ āϏāĻžāĻĨā§ āĻāύāĻā§āϝāĻžāĻā§āύā§āĻ (concatenated) āĻāϰ⧠āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§āĨ¤ āĻāĻāĻŋ āĻāĻ āĻā§āĻāϏāĻā§āϞ⧠(edge cases) āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰā§: repeat(0) āĻāĻŽā§āĻĒāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻ āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§, repeat(1) āĻāĻāĻ āϏā§āĻā§āϰāĻŋāĻ āϰāĻŋāĻāĻžāϰā§āύ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āĻāϝāĻŧāĻžāύ-āϞāĻžāĻāύāĻžāϰ (One-liner) + desc: StringBuilder āĻā§āĻĄā§āϰ ā§Ģ āϞāĻžāĻāύāĻā§ āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āĻāϞ āĻĻāĻŋā§ā§ āĻĒā§āϰāϤāĻŋāϏā§āĻĨāĻžāĻĒāύ āĻāϰā§āύāĨ¤ +- icon: "âĄ" + title: āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻāĻĄ (Optimized) + desc: āĻāύā§āĻāĻžāϰāύāĻžāϞ āĻāĻŽāĻĒā§āϞāĻŋāĻŽā§āύā§āĻā§āĻļāύ (internal implementation) āĻŦā§ āϰāĻŋāĻĒāĻŋāĻā§āĻļāύā§āϰ āĻāύā§āϝ āĻ āĻĒā§āĻāĻŋāĻŽāĻžāĻāĻ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§āĨ¤ +- icon: "đ" + title: āĻĒāϰāĻŋāώā§āĻāĻžāϰ āĻāĻĻā§āĻĻā§āĻļā§āϝ + desc: repeat(3) āĻĻā§āĻŦāĻžāϰāĻž āĻāϰ āĻāĻĻā§āĻĻā§āĻļā§āϝ āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻŦā§āĻāĻž āϝāĻžā§āĨ¤ +support: + description: JDK 11 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2018) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/strings/string-strip.yaml b/translations/content/bn/strings/string-strip.yaml new file mode 100644 index 0000000..449f979 --- /dev/null +++ b/translations/content/bn/strings/string-strip.yaml @@ -0,0 +1,18 @@ +--- +title: String.strip() āĻŦāύāĻžāĻŽ trim() +oldApproach: trim() +modernApproach: strip() +summary: strip(), stripLeading(), stripTrailing() āĻŽā§āĻĨāĻĄāĻā§āϞ⧠āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāύāĻŋāĻā§āĻĄ-āĻ ā§āϝāĻžāĻā§āĻžāϰ āϏā§āĻā§āϰāĻŋāĻĒāĻŋāĻ (Unicode-aware stripping) āĻāϰā§āύāĨ¤ +explanation: trim() āĻŽā§āĻĨāĻĄāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ ⤠U+0020 (ASCII āĻāύā§āĻā§āϰā§āϞ āĻā§āϝāĻžāϰā§āĻā§āĻāĻžāϰ āĻāĻŦāĻ āϏā§āĻĒā§āϏ) āĻāϰ āĻā§āϝāĻžāϰā§āĻā§āĻāĻžāϰāĻā§āϞ⧠āϏāϰāĻŋāϝāĻŧā§ āĻĻā§āϝāĻŧāĨ¤ strip() āĻŽā§āĻĨāĻĄāĻāĻŋ Character.isWhitespace() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§, āϝāĻž āĻāĻāύāĻŋāĻā§āĻĄ āϏā§āĻĒā§āϏ (Unicode spaces) āϝā§āĻŽāύ āύāύ-āĻŦā§āϰā§āĻāĻŋāĻ āϏā§āĻĒā§āϏ (non-breaking space), āĻāĻāĻĄāĻŋāĻāĻā§āϰāĻžāĻĢāĻŋāĻ āϏā§āĻĒā§āϏ (ideographic space) āĻāϤā§āϝāĻžāĻĻāĻŋ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āĻāĻāύāĻŋāĻā§āĻĄ-āĻāĻžāϰā§āĻā§āĻ + desc: āĻĒā§āϰāϤāĻŋāĻāĻŋ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻĨā§āĻā§ āϏāĻŽāϏā§āϤ āĻšā§āϝāĻŧāĻžāĻāĻāϏā§āĻĒā§āϏ āĻā§āϝāĻžāϰā§āĻā§āĻāĻžāϰ āĻšā§āϝāĻžāύā§āĻĄā§āϞ āĻāϰā§āĨ¤ +- icon: "đ¯" + title: āĻĄāĻŋāϰā§āĻāĻļāύāĻžāϞ (Directional) + desc: āĻāĻ-āĻĒāĻžāϰā§āĻļā§āĻŦāϝā§āĻā§āϤ āĻā§āϰāĻŋāĻŽāĻŋāĻā§ā§āϰ āĻāύā§āϝ stripLeading() āĻāĻŦāĻ stripTrailing() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύāĨ¤ +- icon: "đĄī¸" + title: āĻāĻŽ āĻŦāĻžāĻ + desc: āĻāύā§āϤāϰā§āĻāĻžāϤāĻŋāĻ āĻā§āĻā§āϏāĻā§ āĻ āĻĒā§āϰāϤā§āϝāĻžāĻļāĻŋāϤ āĻšā§āϝāĻŧāĻžāĻāĻāϏā§āĻĒā§āϏ āĻĨāĻžāĻāĻžāϰ āĻā§āĻāĻāĻŋ āĻĨāĻžāĻā§ āύāĻžāĨ¤ +support: + description: JDK 11 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2018) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/tooling/aot-class-preloading.yaml b/translations/content/bn/tooling/aot-class-preloading.yaml new file mode 100644 index 0000000..8ce3a16 --- /dev/null +++ b/translations/content/bn/tooling/aot-class-preloading.yaml @@ -0,0 +1,18 @@ +--- +title: AOT āĻā§āϞāĻžāϏ āĻĒā§āϰāĻŋāϞā§āĻĄāĻŋāĻ (AOT class preloading) +oldApproach: āĻā§āϞā§āĻĄ āϏā§āĻāĻžāϰā§āĻ āĻĒā§āϰāϤāĻŋāĻŦāĻžāϰ +modernApproach: AOT āĻā§āϝāĻžāĻļā§ +summary: āϤāĻžāϤā§āĻā§āώāĻŖāĻŋāĻ āϏā§āĻāĻžāϰā§āĻāĻāĻĒā§āϰ āĻāύā§āϝ āĻā§āϞāĻžāϏ āϞā§āĻĄāĻŋāĻ (class loading) āĻāĻŦāĻ āĻāĻŽā§āĻĒāĻžāĻāϞā§āĻļāύ (compilation) āĻā§āϝāĻžāĻļ āĻāϰā§āύāĨ¤ +explanation: AOT āĻā§āϞāĻžāϏ āĻĒā§āϰāĻŋāϞā§āĻĄāĻŋāĻ āĻāĻāĻāĻŋ āĻā§āϰā§āύāĻŋāĻ āϰāĻžāύ āĻĨā§āĻā§ āϞā§āĻĄ āĻāϰāĻž āĻāĻŦāĻ āϞāĻŋāĻā§āĻ āĻāϰāĻž āĻā§āϞāĻžāϏāĻā§āϞā§āĻā§ āĻā§āϝāĻžāĻļ āĻāϰā§āĨ¤ āĻĒāϰāĻŦāϰā§āϤ⧠āϏā§āĻāĻžāϰā§āĻāĻāĻĒā§, āĻā§āϞāĻžāϏāĻā§āϞ⧠āĻā§āϝāĻžāĻļ āĻĨā§āĻā§ āϞā§āĻĄ āĻšāϝāĻŧ, āϝāĻž āĻā§āϝāĻžāϰāĻŋāĻĢāĻŋāĻā§āĻļāύ (verification) āĻāĻŦāĻ āϞāĻŋāĻā§āĻāĻŋāĻ (linking) āϧāĻžāĻĒāĻā§āϞ⧠āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āϝāĻžāϝāĻŧāĨ¤ AOT āĻāĻŽā§āĻĒāĻžāĻāϞā§āĻļāύā§āϰ (compilation) āϏāĻžāĻĨā§ āĻŽāĻŋāϞāĻŋāϤ āĻšāϞā§, āĻāĻāĻŋ āϏā§āĻāĻžāϰā§āĻāĻāĻĒ āĻāĻžāĻāĻŽāĻā§ āύāĻžāĻāĻā§āϝāĻŧāĻāĻžāĻŦā§ āĻāĻŽāĻŋā§ā§ āĻĻā§ā§āĨ¤ +whyModernWins: +- icon: "âĄ" + title: āĻĻā§āϰā§āϤ āϏā§āĻāĻžāϰā§āĻāĻāĻĒ + desc: āĻā§āϞāĻžāϏ āϞā§āĻĄāĻŋāĻ, āĻā§āϝāĻžāϰāĻŋāĻĢāĻŋāĻā§āĻļāύ āĻāĻŦāĻ āϞāĻŋāĻā§āĻāĻŋāĻ āϧāĻžāĻĒāĻā§āϞ⧠āĻāĻĄāĻŧāĻŋāϝāĻŧā§ āϝāĻžāύāĨ¤ +- icon: "đĻ" + title: āĻā§āϝāĻžāĻļāĻĄ āϏā§āĻā§āĻ (Cached State) + desc: āĻā§āϰā§āύāĻŋāĻ āϰāĻžāύāĻāĻŋ āĻāĻĻāϰā§āĻļ āĻā§āϞāĻžāϏ āϏā§āĻā§āĻ āĻā§āϝāĻžāĻĒāĻāĻžāϰ āĻāϰā§āĨ¤ +- icon: "đ§" + title: āĻā§āύ⧠āĻā§āĻĄ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āύā§āĻ + desc: āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻā§āϞā§āϰ āϏāĻžāĻĨā§ āĻāĻžāĻ āĻāϰ⧠â āĻļā§āϧ⧠JVM āĻĢā§āϞā§āϝāĻžāĻ āϝā§āĻ āĻāϰā§āύāĨ¤ +support: + description: JDK 25 LTS (JEPs 514/515, āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2025) āĻ āĻāĻāĻāĻŋ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ āĻĢāĻŋāĻāĻžāϰ āĻšāĻŋāϏāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧāĨ¤ \ No newline at end of file diff --git a/translations/content/bn/tooling/built-in-http-server.yaml b/translations/content/bn/tooling/built-in-http-server.yaml new file mode 100644 index 0000000..6d56cc0 --- /dev/null +++ b/translations/content/bn/tooling/built-in-http-server.yaml @@ -0,0 +1,18 @@ +--- +title: āĻŦāĻŋāϞā§āĻ-āĻāύ HTTP āϏāĻžāϰā§āĻāĻžāϰ (Built-in HTTP server) +oldApproach: āĻāĻā§āϏāĻāĻžāϰā§āύāĻžāϞ āϏāĻžāϰā§āĻāĻžāϰ / āĻĢā§āϰā§āĻŽāĻāϝāĻŧāĻžāϰā§āĻ +modernApproach: jwebserver CLI +summary: Java 18 āĻĒā§āϰā§āĻā§āĻāĻžāĻāĻĒāĻŋāĻ (prototyping) āĻāĻŦāĻ āĻĢāĻžāĻāϞ āϏāĻžāϰā§āĻāĻŋāĻā§ā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻŦāĻŋāϞā§āĻ-āĻāύ āĻŽāĻŋāύāĻŋāĻŽāĻžāϞ HTTP āϏāĻžāϰā§āĻāĻžāϰ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ āĻāϰā§āĨ¤ +explanation: JDK 18 āĻāĻāĻāĻŋ āϏāĻŋāĻŽā§āĻĒāϞ, āĻāĻŋāϰā§-āĻĄāĻŋāĻĒā§āύā§āĻĄā§āύā§āϏāĻŋ HTTP āĻĢāĻžāĻāϞ āϏāĻžāϰā§āĻāĻžāϰ āϝā§āĻ āĻāϰā§āĻā§, āϝāĻž jwebserver āĻāĻŽāĻžāύā§āĻĄ-āϞāĻžāĻāύ āĻā§āϞ āĻŦāĻž SimpleFileServer API-āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻ ā§āϝāĻžāĻā§āϏā§āϏāϝā§āĻā§āϝāĨ¤ āĻāĻāĻŋ āĻāĻāĻāĻŋ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ āĻĨā§āĻā§ āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻĢāĻžāĻāϞ āϏāĻžāϰā§āĻ āĻāϰā§, āĻā§āύ⧠āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ CLI āĻā§āϞāĻāĻŋ āĻĻā§āϰā§āϤ āĻĒā§āϰā§āĻā§āĻāĻžāĻāĻĒāĻŋāĻ, āĻā§āϏā§āĻāĻŋāĻ āĻāĻŦāĻ āĻ ā§āϝāĻžāĻĄ-āĻšāĻ (ad-hoc) āĻĢāĻžāĻāϞ āĻļā§āϝāĻŧāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻĻāϰā§āĻļ â āĻā§āύ⧠āĻāĻā§āϏāĻāĻžāϰā§āύāĻžāϞ āĻĄāĻŋāĻĒā§āύā§āĻĄā§āύā§āϏāĻŋ āĻŦāĻž āĻĢā§āϰā§āĻŽāĻāϝāĻŧāĻžāϰā§āĻā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ API āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻā§āĻŦāϞ āĻšā§āϝāĻžāύā§āĻĄāϞāĻžāϰ (customizable handlers) āĻāĻŦāĻ āĻāĻāĻāĻĒā§āĻ āϞā§āĻā§āϞ āϏāĻš āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻžāĻāĻŋāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻā§ā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āĻāĻŋāϰ⧠āϏā§āĻāĻāĻĒ + desc: āϝā§āĻā§āύ⧠āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋāϤ⧠jwebserver āĻāĻžāϞāĻžāύ â āĻā§āύ⧠āĻāύā§āϏāĻāϞā§āĻļāύ, āĻāύāĻĢāĻŋāĻ āĻŦāĻž āĻĄāĻŋāĻĒā§āύā§āĻĄā§āύā§āϏāĻŋ (dependencies) āĻāϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +- icon: "đĻ" + title: JDK āϤ⧠āĻŦāĻŋāϞā§āĻ-āĻāύ + desc: āĻĒā§āϰāϤāĻŋāĻāĻŋ JDK 18+ āĻāύā§āϏāĻāϞā§āĻļāύā§āϰ āϏāĻžāĻĨā§ āĻāϏā§, āĻāĻžāĻāĻž āϏāĻš āϝā§āĻā§āύ⧠āĻŽā§āĻļāĻŋāύ⧠āϏāϰā§āĻŦāĻĻāĻž āĻāĻĒāϞāĻŦā§āϧāĨ¤ +- icon: "đ§Ē" + title: āĻĒā§āϰā§āĻā§āĻāĻžāĻāĻĒāĻŋāĻā§ā§āϰ āĻāύā§āϝ āĻĻāĻžāϰā§āĻŖ + desc: HTML, APIs, āĻŦāĻž āĻĢā§āϰāύā§āĻ-āĻāύā§āĻĄ āĻĄā§āĻā§āϞāĻĒāĻŽā§āύā§āĻ āĻā§āϏā§āĻāĻŋāĻā§ā§āϰ āĻāύā§āϝ āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻĢāĻžāĻāϞ āϏāĻžāϰā§āĻ āĻāϰā§āύāĨ¤ +support: + description: JDK 18 (āĻŽāĻžāϰā§āĻ 2022) āĻĨā§āĻā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/tooling/compact-object-headers.yaml b/translations/content/bn/tooling/compact-object-headers.yaml new file mode 100644 index 0000000..92f42d9 --- /dev/null +++ b/translations/content/bn/tooling/compact-object-headers.yaml @@ -0,0 +1,18 @@ +--- +title: āĻāĻŽāĻĒā§āϝāĻžāĻā§āĻ āĻ āĻŦāĻā§āĻā§āĻ āĻšā§āĻĄāĻžāϰāϏ (Compact Object Headers) +oldApproach: 128-āĻŦāĻŋāĻ āĻšā§āĻĄāĻžāϰ +modernApproach: 64-āĻŦāĻŋāĻ āĻšā§āĻĄāĻžāϰ +summary: āĻāύā§āύāϤ āĻŽā§āĻŽāϰāĻŋ āĻĄā§āύāϏāĻŋāĻāĻŋ (memory density) āĻāĻŦāĻ āĻā§āϝāĻžāĻļā§ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ (cache usage) āĻāύā§āϝ āĻ āĻŦāĻā§āĻā§āĻ āĻšā§āĻĄāĻžāϰā§āϰ āĻāĻāĻžāϰ āĻ āϰā§āϧā§āĻ āĻāĻŽāĻŋā§ā§ āĻĻāĻŋāύāĨ¤ +explanation: āĻāĻŽāĻĒā§āϝāĻžāĻā§āĻ āĻ āĻŦāĻā§āĻā§āĻ āĻšā§āĻĄāĻžāϰ 64-āĻŦāĻŋāĻ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽā§ āĻĒā§āϰāϤāĻŋ-āĻ āĻŦāĻā§āĻā§āĻ āĻāĻāĻžāϰāĻšā§āĻĄ (per-object overhead) 128 āĻŦāĻŋāĻ āĻĨā§āĻā§ 64 āĻŦāĻŋāĻā§ āĻāĻŽāĻŋā§ā§ āĻĻā§ā§āĨ¤ āĻāĻāĻŋ āĻŽā§āĻŽāϰāĻŋ āϏā§āĻ āĻāϰ⧠āĻāĻŦāĻ āĻā§āϝāĻžāĻļā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāύā§āύāϤ āĻāϰā§, āĻŦāĻŋāĻļā§āώ āĻāϰ⧠āĻā§āĻ āĻ āĻŦāĻā§āĻā§āĻā§āϰ āĻ ā§āϝāĻžāĻĒā§āϞāĻŋāĻā§āĻļāύāĻā§āϞā§āϰ āĻāύā§āϝāĨ¤ +whyModernWins: +- icon: "đĻ" + title: 50% āĻā§āĻ āĻšā§āĻĄāĻžāϰ + desc: āĻĒā§āϰāϤāĻŋ āĻ āĻŦāĻā§āĻā§āĻā§ 16 āĻŦāĻžāĻāĻā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠8 āĻŦāĻžāĻāĻāĨ¤ +- icon: "âĄ" + title: āĻāύā§āύāϤ āĻā§āϝāĻžāĻļā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ + desc: CPU āĻā§āϝāĻžāĻļā§ āϞāĻžāĻāύ⧠āĻāϰāĻ āĻ āĻŦāĻā§āĻā§āĻ āĻĢāĻŋāĻ āĻšā§āĨ¤ +- icon: "đ" + title: āĻāĻā§āĻ āĻāύāϤā§āĻŦ + desc: āĻāĻāĻ āĻšāĻŋāĻĒ āϏāĻžāĻāĻā§ (heap size) āĻāϰāĻ āĻ āĻŦāĻā§āĻā§āĻ āĻĢāĻŋāĻ āĻāϰā§āύāĨ¤ +support: + description: JDK 25 LTS (JEP 519, āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2025) āĻ āĻā§āĻĄāĻŧāĻžāύā§āϤ āĻšāϝāĻŧā§āĻā§āĨ¤ \ No newline at end of file diff --git a/translations/content/bn/tooling/jfr-profiling.yaml b/translations/content/bn/tooling/jfr-profiling.yaml new file mode 100644 index 0000000..f708ef2 --- /dev/null +++ b/translations/content/bn/tooling/jfr-profiling.yaml @@ -0,0 +1,18 @@ +--- +title: āĻĒā§āϰā§āĻĢāĻžāĻāϞāĻŋāĻā§ā§āϰ āĻāύā§āϝ JFR +oldApproach: āĻāĻā§āϏāĻāĻžāϰā§āύāĻžāϞ āĻĒā§āϰā§āĻĢāĻžāĻāϞāĻžāϰ +modernApproach: Java Flight Recorder +summary: āĻŦāĻŋāϞā§āĻ-āĻāύ āĻĢā§āϞāĻžāĻāĻ āϰā§āĻāϰā§āĻĄāĻžāϰ (Flight Recorder) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϝā§āĻā§āύ⧠āĻāĻžāĻāĻž āĻ ā§āϝāĻžāĻĒ (Java app) āĻĒā§āϰā§āĻĢāĻžāĻāϞ āĻāϰā§āύ â āĻā§āύ⧠āĻāĻā§āϏāĻāĻžāϰā§āύāĻžāϞ āĻā§āϞā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +explanation: Java Flight Recorder (JFR) āĻšāϞ⧠JVM-āĻāϰ (Java Virtual Machine) āĻŽāϧā§āϝ⧠āĻŦāĻŋāϞā§āĻ-āĻāύ āĻāĻāĻāĻŋ āϞā§-āĻāĻāĻžāϰāĻšā§āĻĄ āĻĒā§āϰā§āĻĢāĻžāĻāϞāĻŋāĻ āĻā§āϞāĨ¤ āĻāĻāĻŋ CPU, āĻŽā§āĻŽāϰāĻŋ, GC, I/O, āĻĨā§āϰā§āĻĄ āĻāĻŦāĻ āĻāĻžāϏā§āĻāĻŽ āĻāĻā§āύā§āĻāĻā§āϞā§āϰ āĻāύā§āϝ āĻāĻā§āύā§āĻ āĻā§āϝāĻžāĻĒāĻāĻžāϰ āĻāϰā§, āϝāĻžāϰ āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏā§āϰ āĻāĻĒāϰ āύā§āϝā§āύāϤāĻŽ āĻĒā§āϰāĻāĻžāĻŦ (~1%) āĻĨāĻžāĻā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āĻŦāĻŋāϞā§āĻ-āĻāύ + desc: āĻā§āύ⧠āĻāĻā§āϏāĻāĻžāϰā§āύāĻžāϞ āĻĒā§āϰā§āĻĢāĻžāĻāϞāĻžāϰ āĻāύāϏā§āĻāϞ āĻŦāĻž āϞāĻžāĻāϏā§āύā§āϏ āĻāϰāĻžāϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +- icon: "âĄ" + title: āĻāĻŽ āĻāĻāĻžāϰāĻšā§āĻĄ + desc: āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāύā§āϏ⧠~1% āĻĒā§āϰāĻāĻžāĻŦ â āĻĒā§āϰā§āĻĄāĻžāĻāĻļāύā§āϰ (production) āĻāύā§āϝ āύāĻŋāϰāĻžāĻĒāĻĻāĨ¤ +- icon: "đ" + title: āϏāĻŽā§āĻĻā§āϧ āĻāĻā§āύā§āĻ + desc: CPU, āĻŽā§āĻŽāϰāĻŋ, GC, āĻĨā§āϰā§āĻĄ, I/O, āϞāĻ āĻāĻŦāĻ āĻāĻžāϏā§āĻāĻŽ āĻāĻā§āύā§āĻāĨ¤ +support: + description: JDK 9/11 āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ (11-āĻ āĻāĻĒā§āύ āϏā§āϰā§āϏ) \ No newline at end of file diff --git a/translations/content/bn/tooling/jshell-prototyping.yaml b/translations/content/bn/tooling/jshell-prototyping.yaml new file mode 100644 index 0000000..1a8271e --- /dev/null +++ b/translations/content/bn/tooling/jshell-prototyping.yaml @@ -0,0 +1,18 @@ +--- +title: āĻĒā§āϰā§āĻā§āĻāĻžāĻāĻĒāĻŋāĻā§ā§āϰ āĻāύā§āϝ JShell +oldApproach: āĻĢāĻžāĻāϞ āϤā§āϰāĻŋ āĻāϰā§āύ + āĻāĻŽā§āĻĒāĻžāĻāϞ + āϰāĻžāύ āĻāϰā§āύ +modernApproach: jshell REPL +summary: āĻĢāĻžāĻāϞ āϤā§āϰāĻŋ āύāĻž āĻāϰā§āĻ āĻāύā§āĻāĻžāϰāĻ ā§āϝāĻžāĻā§āĻāĻŋāĻāĻāĻžāĻŦā§ (interactively) āĻāĻžāĻāĻž āĻāĻā§āϏāĻĒā§āϰā§āĻļāύāĻā§āϞ⧠(expressions) āĻā§āϰāĻžāĻ āĻāϰā§āύāĨ¤ +explanation: JShell āĻšāϞ⧠āĻāĻžāĻāĻžāϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āϰāĻŋāĻĄ-āĻāĻāĻžāϞ-āĻĒā§āϰāĻŋāύā§āĻ āϞā§āĻĒ (Read-Eval-Print Loop)āĨ¤ āĻĢāĻžāĻāϞ āϤā§āϰāĻŋ āĻāϰāĻž, āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāĻž āĻŦāĻž āĻŽā§āĻāύ āĻŽā§āĻĨāĻĄ āύāĻž āϞāĻŋāĻā§ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ āĻā§āϏā§āĻ āĻāϰā§āύ, API-āĻāϰ āϏāĻžāĻĨā§ āĻāĻā§āϏāĻĒā§āϰāĻŋāĻŽā§āύā§āĻ āĻāϰā§āύ āĻāĻŦāĻ āĻā§āĻĄ āĻĒā§āϰā§āĻā§āĻāĻžāĻāĻĒ āĻāϰā§āύāĨ¤ āĻāϤ⧠āĻā§āϝāĻžāĻŦ āĻāĻŽāĻĒā§āϞāĻŋāĻļāύ (tab completion) āĻāĻŦāĻ āĻāύāϞāĻžāĻāύ āĻĄāĻā§āϏ (inline docs) āĻ āύā§āϤāϰā§āĻā§āĻā§āϤāĨ¤ +whyModernWins: +- icon: "âĄ" + title: āϤāĻžāϤā§āĻā§āώāĻŖāĻŋāĻ āĻĢāĻŋāĻĄāĻŦā§āϝāĻžāĻ (Instant Feedback) + desc: āĻāĻāĻāĻŋ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύ āĻāĻžāĻāĻĒ āĻāϰā§āύ, āϏāĻžāĻĨā§ āϏāĻžāĻĨā§ āĻĢāϞāĻžāĻĢāϞ āĻĻā§āĻā§āύāĨ¤ +- icon: "đ" + title: āĻā§āύ⧠āĻĢāĻžāĻāϞā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻ + desc: āĻā§āύ⧠.java āĻĢāĻžāĻāϞ āύā§āĻ, āĻā§āύ⧠āĻāĻŽā§āĻĒāĻžāĻāϞā§āĻļāύ āϏā§āĻā§āĻĒ āύā§āĻāĨ¤ +- icon: "đ" + title: API āĻāĻā§āϏāĻĒā§āϞā§āϰā§āĻļāύ + desc: āĻā§āϝāĻžāĻŦ āĻāĻŽāĻĒā§āϞāĻŋāĻļāύ āĻŽā§āĻĨāĻĄ āĻāĻŦāĻ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻā§āϞ⧠āĻĄāĻŋāϏāĻāĻāĻžāϰ āĻāϰāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰā§āĨ¤ +support: + description: JDK 9 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2017) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/tooling/junit6-with-jspecify.yaml b/translations/content/bn/tooling/junit6-with-jspecify.yaml new file mode 100644 index 0000000..cf51f03 --- /dev/null +++ b/translations/content/bn/tooling/junit6-with-jspecify.yaml @@ -0,0 +1,18 @@ +--- +title: JSpecify null āϏā§āĻĢāĻāĻŋ āϏāĻš JUnit 6 +oldApproach: āĻāύāĻ ā§āϝāĻžāύā§āĻā§āĻā§āĻĄ API +modernApproach: @NullMarked API +summary: JUnit 6 JSpecify @NullMarked āĻā§āϰāĻšāĻŖ āĻāϰā§āĻā§, āϝāĻž JUnit-āĻāϰ āĻ ā§āϝāĻžāϏāĻžāϰāĻļāύ API (assertion API) āĻā§āĻĄāĻŧā§ null āĻāύā§āĻāĻžāĻā§āĻāĻā§āϞā§āĻā§ āϏā§āϏā§āĻĒāώā§āĻ āĻāϰ⧠āϤā§āϞā§āĨ¤ +explanation: JUnit 5 āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄāĻžāĻāĻāĻĄ āύāĻžāϞā§āϝāĻžāĻŦāĻŋāϞāĻŋāĻāĻŋ āĻ ā§āϝāĻžāύā§āĻā§āĻļāύ (nullability annotations) āĻāĻžā§āĻžāĻ āϰāĻŋāϞāĻŋāĻ āĻšāϝāĻŧā§āĻāĻŋāϞ, āϝāĻž āĻĄā§āĻā§āϞāĻĒāĻžāϰāĻĻā§āϰ āĻ ā§āϝāĻžāϏāĻžāϰāĻļāύ āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āĻŦāĻž āϰāĻŋāĻāĻžāϰā§āύ āĻā§āϝāĻžāϞā§āĻā§āϞ⧠null āĻšāϤ⧠āĻĒāĻžāϰ⧠āĻāĻŋāύāĻž āϤāĻž āύāĻŋāϝāĻŧā§ āĻ āύā§āĻŽāĻžāύ āĻāϰāϤ⧠āĻŦāĻžāϧā§āϝ āĻāϰāϤāĨ¤ JUnit 6 āϤāĻžāϰ āĻĒā§āϰ⧠āĻŽāĻĄāĻŋāĻāϞ āĻā§āĻĄāĻŧā§ JSpecify āĻā§āϰāĻšāĻŖ āĻāϰā§āĻā§: @NullMarked āĻ ā§āϝāĻžāύā§āĻā§āĻļāύāĻāĻŋ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āϏāĻŽāϏā§āϤ āĻāύāĻ ā§āϝāĻžāύā§āĻā§āĻā§āĻĄ āĻāĻžāĻāĻĒāĻā§ āύāύ-āύāĻžāϞ āĻāϰ⧠āϤā§āϞ⧠āĻāĻŦāĻ @Nullable āĻŦā§āϝāϤāĻŋāĻā§āϰāĻŽāĻā§āϞā§āĻā§ āĻāĻŋāĻšā§āύāĻŋāϤ āĻāϰā§āĨ¤ Assertions āĻā§āϞāĻžāϏ āϏā§āĻĒāώā§āĻāĻāĻžāĻŦā§ assertNull(@Nullable Object actual) āĻāĻŦāĻ fail(@Nullable String message)-āĻāϰ āĻŽāϤ⧠āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰāĻā§āϞā§āĻā§ āĻ ā§āϝāĻžāύā§āĻā§āĻ āĻāϰā§, āϤāĻžāĻ IDEs āĻāĻŦāĻ NullAway āĻ Error Prone-āĻāϰ āĻŽāϤ⧠āϏā§āĻā§āϝāĻžāĻāĻŋāĻ āĻ ā§āϝāĻžāύāĻžāϞāĻžāĻāĻāĻžāϰāĻā§āϞ⧠āϰāĻžāύāĻāĻžāĻāĻŽā§āϰ āĻĒāϰāĻŋāĻŦāϰā§āϤ⧠āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāĻžāĻāĻŽā§ null-āĻāϰ āĻā§āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āϧāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āϏā§āϏā§āĻĒāώā§āĻ āĻāύāĻā§āϰā§āϝāĻžāĻā§āĻ (Explicit Contracts) + desc: JUnit 6 āĻŽāĻĄāĻŋāĻāϞ⧠@NullMarked āĻ ā§āϝāĻžāύā§āĻā§āĻļāύāĻāĻŋ API-āϤ⧠āϏāϰāĻžāϏāϰāĻŋ null āϏā§āĻŽāĻžāύā§āĻāĻŋāĻā§āϏ (semantics) āύāĻĨāĻŋāĻā§āĻā§āϤ āĻāϰ⧠â āϏā§āϰā§āϏ-āϰāĻŋāĻĄāĻŋāĻā§ā§āϰ āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +- icon: "đĄī¸" + title: āĻāĻŽā§āĻĒāĻžāĻāϞ-āĻāĻžāĻāĻŽ āϏā§āĻĢāĻāĻŋ + desc: IDEs āĻāĻŦāĻ āĻ ā§āϝāĻžāύāĻžāϞāĻžāĻāĻāĻžāϰāĻā§āϞ⧠null āĻĒāĻžāϏ āĻāϰāĻž āĻšāϞ⧠āĻāϝāĻŧāĻžāϰā§āύāĻŋāĻ āĻĻā§ā§ āϝā§āĻāĻžāύ⧠āύāύ-āύāĻžāϞ āĻāĻļāĻž āĻāϰāĻž āĻšāϝāĻŧ, āϝāĻž āĻā§āϏā§āĻ āϰāĻžāύ āĻāϰāĻžāϰ āĻāĻā§āĻ āĻŦāĻžāĻ āϧāϰāϤ⧠āϏāĻžāĻšāĻžāϝā§āϝ āĻāϰā§āĨ¤ +- icon: "đ" + title: āĻāĻā§āϏāĻŋāϏā§āĻā§āĻŽ āϏā§āĻā§āϝāĻžāύā§āĻĄāĻžāϰā§āĻĄ + desc: JSpecify Spring, Guava āĻāĻŦāĻ āĻ āύā§āϝāĻžāύā§āϝ āĻĢā§āϰā§āĻŽāĻāϝāĻŧāĻžāϰā§āĻ āĻĻā§āĻŦāĻžāϰāĻž āĻā§āĻšā§āϤ āĻšāϝāĻŧā§āĻā§ â āĻāĻĒāύāĻžāϰ āĻĒā§āϰ⧠āϏā§āĻā§āϝāĻžāĻ āĻā§āĻĄāĻŧā§ āϏāĻžāĻŽāĻā§āĻāϏā§āϝāĻĒā§āϰā§āĻŖ null āϏā§āĻŽāĻžāύā§āĻāĻŋāĻā§āϏāĨ¤ +support: + description: JUnit 6.0 āĻĨā§āĻā§ āĻāĻĒāϞāĻŦā§āϧ (āĻ āĻā§āĻā§āĻŦāϰ 2025, Java 17+ āĻĒā§āϰāϝāĻŧā§āĻāύ) \ No newline at end of file diff --git a/translations/content/bn/tooling/multi-file-source.yaml b/translations/content/bn/tooling/multi-file-source.yaml new file mode 100644 index 0000000..8b9df27 --- /dev/null +++ b/translations/content/bn/tooling/multi-file-source.yaml @@ -0,0 +1,18 @@ +--- +title: āĻŽāĻžāϞā§āĻāĻŋ-āĻĢāĻžāĻāϞ āϏā§āϰā§āϏ āϞāĻā§āĻāĻžāϰ (Multi-file source launcher) +oldApproach: āĻĒā§āϰāĻĨāĻŽā§ āϏāĻŦ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰā§āύ +modernApproach: āϏā§āϰā§āϏ āϞāĻā§āĻāĻžāϰ +summary: āĻāĻā§āϏāĻĒā§āϞāĻŋāϏāĻŋāĻ āĻāĻŽā§āĻĒāĻžāĻāϞ āϏā§āĻā§āĻĒ (explicit compile step) āĻāĻžā§āĻžāĻ āĻŽāĻžāϞā§āĻāĻŋ-āĻĢāĻžāĻāϞ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āϞāĻā§āĻ āĻāϰā§āύāĨ¤ +explanation: Java 22+ āĻāĻāĻāĻŋ .java āĻĢāĻžāĻāϞ āĻĨā§āĻā§ āϞāĻā§āĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āϰā§āĻĢāĻžāϰā§āύā§āϏāĻĄ āϏā§āϰā§āϏ āĻĢāĻžāĻāϞāĻā§āϞā§āĻā§ (referenced source files) āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāĻŋ Maven āĻŦāĻž Gradle āĻāϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻāĻžāĻĄāĻŧāĻžāĻ āĻā§āĻ āĻŽāĻžāϞā§āĻāĻŋ-āĻĢāĻžāĻāϞ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§āϞā§āĻā§ āϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻŽāϤ⧠āĻāĻžāϞāĻžāύ⧠āϏāĻšāĻ āĻāϰ⧠āϤā§āϞā§āĨ¤ +whyModernWins: +- icon: "đ" + title: āĻāĻŋāϰ⧠āϏā§āĻāĻāĻĒ + desc: āĻā§āĻ āĻŽāĻžāϞā§āĻāĻŋ-āĻĢāĻžāĻāϞ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§āϞā§āϰ āĻāύā§āϝ āĻā§āύ⧠āĻŦāĻŋāϞā§āĻĄ āĻā§āϞā§āϰ (build tool) āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +- icon: "đ" + title: āĻ āĻā§-āϰāĻŋāĻāϞāĻ (Auto-resolve) + desc: āϰā§āĻĢāĻžāϰā§āύā§āϏāĻĄ āĻā§āϞāĻžāϏāĻā§āϞ⧠āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻā§āĻāĻā§ āĻŦā§āϰ āĻāϰ⧠āĻāĻŦāĻ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāϰā§āĨ¤ +- icon: "đ" + title: āϏā§āĻā§āϰāĻŋāĻĒā§āĻ-āĻāϰ āĻŽāϤ⧠+ desc: āĻŽāĻžāϞā§āĻāĻŋ-āĻĢāĻžāĻāϞ āĻĒā§āϰā§āĻā§āϰāĻžāĻŽāĻā§āϞā§āĻā§ āϏā§āĻā§āϰāĻŋāĻĒā§āĻā§āϰ āĻŽāϤ⧠āĻāĻžāϞāĻžāύāĨ¤ +support: + description: JDK 22 (āĻŽāĻžāϰā§āĻ 2024) āĻĨā§āĻā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/content/bn/tooling/single-file-execution.yaml b/translations/content/bn/tooling/single-file-execution.yaml new file mode 100644 index 0000000..bf4108f --- /dev/null +++ b/translations/content/bn/tooling/single-file-execution.yaml @@ -0,0 +1,18 @@ +--- +title: āϏāĻŋāĻā§āĻā§āϞ-āĻĢāĻžāĻāϞ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻļāύ (Single-file execution) +oldApproach: āĻā§-āϏā§āĻā§āĻĒ āĻāĻŽā§āĻĒāĻžāĻāϞ (Two-Step Compile) +modernApproach: āĻĄāĻŋāϰā§āĻā§āĻ āϞāĻā§āĻ +summary: javac āĻāĻžā§āĻžāĻ āϏāĻŋāĻā§āĻā§āϞ-āĻĢāĻžāĻāϞ āĻāĻžāĻāĻž āĻĒā§āϰā§āĻā§āϰāĻžāĻŽ āϏāϰāĻžāϏāϰāĻŋ āϰāĻžāύ āĻāϰā§āύāĨ¤ +explanation: āĻāĻžāĻāĻž āϞāĻā§āĻāĻžāϰ āĻāĻāĻāĻŋ āĻāĻŽāĻžāύā§āĻĄā§ āĻāĻāĻāĻŋ āϏāĻŋāĻā§āĻā§āϞ āϏā§āϰā§āϏ āĻĢāĻžāĻāϞāĻā§ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāĻŦāĻ āϰāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻāĻāύāĻŋāĻā§āϏ⧠āĻļā§āĻŦāĻžāĻ (shebang) āϏāĻžāĻĒā§āϰā§āĻ āϏāĻš, āĻāĻžāĻāĻž āĻĢāĻžāĻāϞāĻā§āϞ⧠āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻšāĻŋāϏā§āĻŦā§ āĻāĻžāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ āĻā§āύ⧠āĻāϞāĻžāĻĻāĻž āĻāĻŽā§āĻĒāĻžāĻāϞā§āĻļāύ āϏā§āĻā§āĻĒā§āϰ (compilation step) āĻĒā§āϰā§ā§āĻāύ āύā§āĻāĨ¤ +whyModernWins: +- icon: "âĄ" + title: āĻāĻāĻāĻŋ āĻāĻŽāĻžāύā§āĻĄ + desc: `java File.java` āĻāĻ āϏā§āĻā§āĻĒā§āĻ āĻāĻŽā§āĻĒāĻžāĻāϞ āĻāĻŦāĻ āϰāĻžāύ āĻāϰā§āĨ¤ +- icon: "đ" + title: āϏā§āĻā§āϰāĻŋāĻĒā§āĻ-āĻāϰ āĻŽāϤ⧠+ desc: `.java` āĻĢāĻžāĻāϞāĻā§āϞā§āĻā§ āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻā§āĻŦāϞ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ (executable scripts) āϤā§āϰāĻŋ āĻāϰāϤ⧠āĻāĻāĻāĻŋ āĻļā§āĻŦāĻžāĻ āϞāĻžāĻāύ āϝā§āĻ āĻāϰā§āύāĨ¤ +- icon: "đ" + title: āĻļā§āĻāĻžāϰ āĻāύā§āϝ āϏāĻšāĻ + desc: āύāϤā§āύāϰāĻž āĻŦāĻŋāϞā§āĻĄ āĻā§āϞ āύāĻž āĻļāĻŋāĻā§ āĻ āĻŦāĻŋāϞāĻŽā§āĻŦā§ āĻā§āĻĄ āϰāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤ +support: + description: JDK 11 (āϏā§āĻĒā§āĻā§āĻŽā§āĻŦāϰ 2018) āĻĨā§āĻā§ āĻŦā§āϝāĻžāĻĒāĻāĻāĻžāĻŦā§ āĻāĻĒāϞāĻŦā§āϧ \ No newline at end of file diff --git a/translations/strings/bn.yaml b/translations/strings/bn.yaml new file mode 100644 index 0000000..76025e3 --- /dev/null +++ b/translations/strings/bn.yaml @@ -0,0 +1,93 @@ +site: + title: java.evolved + tagline: āĻāĻžāĻāĻžāϤ⧠āĻāϏā§āĻā§ āύāϤā§āύ āĻĻāĻŋāĻāύā§āϤ, āĻāĻĒāύāĻžāϰ āĻā§āĻĄāĻ āĻšā§āĻ āĻĒā§āϰāĻžāĻŖāĻŦāύā§āϤ + tagline_line1: āĻāĻžāĻāĻžāϤ⧠āĻāϏā§āĻā§ āύāϤā§āύ āĻĻāĻŋāĻāύā§āϤ, + tagline_line2: āĻāĻĒāύāĻžāϰ āĻā§āĻĄāĻ āĻšā§āĻ āĻĒā§āϰāĻžāĻŖāĻŦāύā§āϤāĨ¤ + description: āĻāϧā§āύāĻŋāĻ āĻāĻžāĻāĻž āĻā§āĻĄ āϏāĻāĻāϞāύāĨ¤ āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻĒā§āϰāύ⧠āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻ āϤāĻžāϰ āĻĒāϰāĻŋāĻā§āĻāύā§āύ āĻŦāĻŋāĻāϞā§āĻĒā§āϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ āϤā§āϞāύāĻžāĨ¤āĨ¤ + heroSnippetCount: âĻ {{snippetCount}} āĻāϧā§āύāĻŋāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ ¡ Java 8 â Java 25 + heroOld: āĻĒā§āϰāύ⧠+ heroModern: āĻāϧā§āύāĻŋāĻ + allComparisons: āϏāĻŦ āϤā§āϞāύāĻž + snippetsBadge: '{{snippetCount}} āϏā§āύāĻŋāĻĒā§āĻ' +nav: + allPatterns: â āϏāĻŦ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ + toggleTheme: āĻĨāĻŋāĻŽ āĻŦāĻĻāϞāĻžāύ + viewOnGitHub: GitHub-āĻ āĻĻā§āĻā§āύ + selectLanguage: āĻāĻžāώāĻž āύāĻŋāϰā§āĻŦāĻžāĻāύ āĻāϰā§āύ +breadcrumb: + home: āĻšā§āĻŽ +sections: + codeComparison: āĻā§āĻĄ āϤā§āϞāύāĻž + whyModernWins: āĻā§āύ āĻāϧā§āύāĻŋāĻ āĻĒāĻĻā§āϧāϤāĻŋ āĻāĻžāϞ⧠+ oldApproach: āĻĒā§āϰāύ⧠āĻĒāĻĻā§āϧāϤāĻŋ + modernApproach: āĻāϧā§āύāĻŋāĻ āĻĒāĻĻā§āϧāϤāĻŋ + sinceJdk: JDK āĻĨā§āĻā§ + difficulty: āĻāĻ āĻŋāύāϤāĻž + jdkSupport: JDK āϏāĻŽāϰā§āĻĨāύ + howItWorks: āĻā§āĻāĻžāĻŦā§ āĻāĻžāĻ āĻāϰ⧠+ relatedDocs: āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ + proof: āĻĒā§āϰāĻŽāĻžāĻŖ + proofLink: āĻĒā§āϰāĻŽāĻžāĻŖ āϏā§āϰā§āϏ āĻĻā§āĻā§āύ + relatedPatterns: āϏāĻŽā§āĻĒāϰā§āĻāĻŋāϤ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ +filters: + show: 'āĻĻā§āĻāĻžāύ:' + all: āϏāĻŦ + jdk: 'JDK:' + category: 'āĻŦāĻŋāĻāĻžāĻ:' +difficulty: + beginner: āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ + intermediate: āĻŽāϧā§āϝāĻŽ + advanced: āĻāύā§āύāϤ +search: + placeholder: āϏā§āύāĻŋāĻĒā§āĻ āĻā§āĻāĻā§āύâĻ + noResults: āĻā§āύ⧠āĻĢāϞāĻžāĻĢāϞ āĻĒāĻžāĻāϝāĻŧāĻž āϝāĻžāϝāĻŧāύāĻŋāĨ¤ + esc: ESC + searchTrigger: āĻā§āĻāĻā§āύâĻ + navigate: āύā§āĻāĻŋāĻā§āĻ + open: āĻā§āϞā§āύ + close: āĻŦāύā§āϧ āĻāϰā§āύ +cards: + old: āĻĒā§āϰāύ⧠+ modern: āĻāϧā§āύāĻŋāĻ + hoverHint: āĻāϧā§āύāĻŋāĻ āĻĻā§āĻāϤ⧠āĻšā§āĻāĻžāϰ āĻāϰā§āύ â + hoverHintRelated: āĻāϧā§āύāĻŋāĻ āĻĻā§āĻāϤ⧠āĻšā§āĻāĻžāϰ āĻāϰā§āύ â + touchHint: đ āĻā§āϝāĻžāĻĒ āĻŦāĻž āϏā§āϝāĻŧāĻžāĻāĻĒ āĻāϰā§āύ â + learnMore: āĻāϰāĻ āĻāĻžāύā§āύ +copy: + copy: āĻāĻĒāĻŋ + copied: āĻāĻĒāĻŋ āĻšāϝāĻŧā§āĻā§! +share: + label: āĻļā§āϝāĻŧāĻžāϰ +view: + expandAll: āϏāĻŦ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻāϰā§āύ + collapseAll: āϏāĻŦ āϏāĻāĻā§āĻāĻŋāϤ āĻāϰā§āύ +stats: + modernPatterns: āĻāϧā§āύāĻŋāĻ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ + jdkVersions: āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ JDK āϏāĻāϏā§āĻāϰāĻŖ + categories: āĻŦāĻŋāĻāĻžāĻ + linesOfPython: āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ Python āϞāĻžāĻāύā§āϰ āϏāĻāĻā§āϝāĻž +footer: + tagline: āĻāĻžāĻāĻžāϤ⧠āĻāϏā§āĻā§ āύāϤā§āύ āĻĻāĻŋāĻāύā§āϤ, āĻāĻĒāύāĻžāϰ āĻā§āĻĄāĻ āĻšā§āĻ āĻĒā§āϰāĻžāĻŖāĻŦāύā§āϤ + madeWith: āĻāĻžāϞā§āĻŦāĻžāϏāĻž āĻĻāĻŋāϝāĻŧā§ āϤā§āϰāĻŋ āĻāϰā§āĻā§āύ + and: āĻāĻŦāĻ + inspiredBy: āĻ āύā§āĻĒā§āϰāĻžāĻŖāĻŋāϤ + viewOnGitHub: GitHub-āĻ āĻĻā§āĻā§āύ +copilot: + headline: GitHub Copilot āĻĻāĻŋāϝāĻŧā§ āĻāĻĒāύāĻžāϰ Java āĻā§āĻĄāĻŦā§āϏ āĻāϧā§āύāĻŋāĻ āĻāϰā§āύāĨ¤ + description: Copilot-āĻā§ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϞā§āĻā§āϝāĻžāϏāĻŋ āĻĒā§āϝāĻžāĻāĻžāϰā§āύāĻā§āϞā§āĻā§ āĻāϧā§āύāĻŋāĻ Java-āϤ⧠āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧāĻāĻžāĻŦā§ āĻŽāĻžāĻāĻā§āϰā§āĻ āĻāϰā§āύāĨ¤ + appModernization: āĻ ā§āϝāĻžāĻĒ āĻāϧā§āύāĻŋāĻā§āĻāϰāĻŖ â + javaGuide: Java āĻāĻžāĻāĻĄ â +support: + available: āĻāĻĒāϞāĻŦā§āϧ + preview: āĻĒā§āϰāĻŋāĻāĻŋāĻ + experimental: āĻĒāϰā§āĻā§āώāĻžāĻŽā§āϞāĻ +contribute: + button: āĻ āĻŦāĻĻāĻžāύ āϰāĻžāĻā§āύ + codeIssue: āĻā§āĻĄ āϏāĻŽāϏā§āϝāĻž āϰāĻŋāĻĒā§āϰā§āĻ āĻāϰā§āύ + translationIssue: āĻ āύā§āĻŦāĻžāĻĻ āϏāĻŽāϏā§āϝāĻž āϰāĻŋāĻĒā§āϰā§āĻ āĻāϰā§āύ + suggestPattern: āύāϤā§āύ āĻĒā§āϝāĻžāĻāĻžāϰā§āύ āĻĒā§āϰāϏā§āϤāĻžāĻŦ āĻāϰā§āύ + seeIssue: āĻāĻ āĻā§āĻĄā§ āϏāĻŽāϏā§āϝāĻž āĻĻā§āĻāĻā§āύ? + reportIt: āĻāĻŽāĻžāĻĻā§āϰ āĻāĻžāύāĻžāύāĨ¤ +untranslated: + notice: āĻāĻ āĻĒā§āώā§āĻ āĻžāĻāĻŋ āĻāĻāύ⧠{{localeName}}-āĻ āĻ āύā§āĻŦāĻžāĻĻ āĻāϰāĻž āĻšāϝāĻŧāύāĻŋāĨ¤ + viewInEnglish: āĻāĻāϰā§āĻāĻŋāϤ⧠āĻĻā§āĻā§āύ