26/05/2025

Câu 2a, Thi chuyên 10 Bạc Liêu, năm học 2025-2026

 Đề:

Giải hệ phương trình:

$\left \lbrace \begin{aligned}&x^2+(x-1)(y+1) =2y^2-1 \\&x^2+y^2-10= 0\end{aligned}\right.$

Bài giải:

Biến đổi phương trình thứ nhất:

$x^2+(x-1)(y+1) =2y^2-1$

$\Leftrightarrow x^2+xy+x-y-1=2y^2-1$

$\Leftrightarrow 2y^2+(1-x)y-x^2-x=0$

Giải phương trinh bậc hai này theo biến y.

Ta có $\Delta = (1-x)^2-4.2.(-x^2-x)=x^2-2x+1+8x^2+8x=9x^2+6x+1=(3x+1)^2 \ge 0 \forall x$

Ta tính ra được $y=x$ hoặc $y = -\frac{x+1}{2}$

  • $y = x$ thay vào phương trình thứ 2 ta có:
    $x^2+x^2-10=0$
    $\Leftrightarrow 2x^2=10$
    $\Leftrightarrow x^2 = 5$
    $ \Leftrightarrow x=\pm\sqrt{5}$
    Ta thu được hai nghiệm $(-\sqrt{5};-\sqrt{5}), (\sqrt{5};\sqrt{5})$
  • $y = -\frac{x+1}{2}$ thay vào phương trình thứ hai ta có:
    $x^2+(-\frac{x+1}{2})^2-10=0$
    $\Leftrightarrow 5x^2+2x-39=10$
    Giải phương trình bậc hai này ta có hai nghiệm $x=-3$ và $x=\frac{13}{5}$
    Tương ứng với $y=1$ và $y=-\frac{9}{5}$
    Ta thu thêm hai nghiệm của hệ phương trình đã cho là $(-3;1),(\frac{13}{5};-\frac{9}{5})$
Vậy hệ phương trình đã cho có 4 nghiệm:
$(-\sqrt{5};-\sqrt{5}), (\sqrt{5};\sqrt{5}),(-3;1),(\frac{13}{5};-\frac{9}{5})$


25/05/2025

Câu 4, Thi tuyển lớp 10 chuyên Bạc Liêu năm học 2025-2026

Đề:
Tìm tất cả các nghiệm nguyên dương của phương trình: $x(x-y-1)+y(y-1)=3$
Lời giải:
$x(x-y-1)+y(y-1)=3$
$\Leftrightarrow x^2-(y+1)x+y^2-y-3=0$
Giải phương trình bậc hai theo nghiệm x. Ta có: $\Delta = (y+1)^2 -4(y^2-y-3) = (y^2+2y+1)-4y^2+4y+12 = -3y^2+6y+13$
Để phương trình có nghiệm x thì $\Delta \ge 0$
$\Leftrightarrow -3y^2+6y+13 \ge 0$
$\Leftrightarrow 1-\frac{4}{\sqrt{3}} \le y \le 1+\frac{4}{\sqrt{3}}$
Do y là số nguyên dương nên $y=1,2,3$ Thay giá trị của y lần lượt vào công thức tính x:$x=\frac{y+1 \pm \sqrt{-3y^2+6y+13}}{2}$
  • $y=1$ thì $x=-1 \lor x=3$ vì x là số nguyên dương nên chọn nghiệm $x=3$
  • $y=2$ thì $x=\frac{3\pm\sqrt{13}}{2}$ vì x là số nguyên dương nên loại cả hai nghiệm này.
  • $y=3$ thì $x=1 \lor x=3$ cả hai đều là số nguyên dương nên ta nhận cả hai nghiệm này.
Vậy phương trình đã cho có 3 nghiệm nguyên dương:$(1;3),(3;3),(3;1)$

Câu 1b, Thi 10 Chuyên Bạc Liêu năm học 2025-2026

Đề: Cho x,y,z dương thỏa mãn $xyz=1$
Tính giá trị biểu thức $P=\frac{\sqrt{x}}{\sqrt{xy}+\sqrt{x}+1}+\frac{\sqrt{y}}{\sqrt{yz}+\sqrt{y}+1}+\frac{\sqrt{z}}{\sqrt{xz}+\sqrt{z}+1}$
Bài giải: $P=\frac{\sqrt{x}}{\sqrt{xy}+\sqrt{x}+1}+\frac{\sqrt{y}}{\sqrt{yz}+\sqrt{y}+1}+\frac{\sqrt{z}}{\sqrt{xz}+\sqrt{z}+1} (1)$
Biến đổi P như sau:
$P=\frac{\sqrt{x}.\sqrt{z}}{(\sqrt{xy}+\sqrt{x}+1).\sqrt{z}}+\frac{\sqrt{y}.\sqrt{x}}{(\sqrt{yz}+\sqrt{y}+1).\sqrt{x}}+\frac{\sqrt{z}.\sqrt{y}}{(\sqrt{xz}+\sqrt{z}+1).\sqrt{y}}$
$=\frac{\sqrt{xz}}{1+\sqrt{xz}+\sqrt{z}}+\frac{\sqrt{xy}}{1+\sqrt{xy}+\sqrt{x}}+\frac{\sqrt{yz}}{1+\sqrt{yz}+\sqrt{y}}$
$P=\frac{\sqrt{xy}}{\sqrt{xy}+\sqrt{x}+1}+\frac{\sqrt{yz}}{\sqrt{yz}+\sqrt{y}+1}+\frac{\sqrt{xz}}{\sqrt{xz}+\sqrt{z}+1} (2)$
Biến đổi P theo cách khác:
$P=\frac{\sqrt{x}.\sqrt{yz}}{(\sqrt{xy}+\sqrt{x}+1).\sqrt{yz}}+\frac{\sqrt{y}.\sqrt{xz}}{(\sqrt{yz}+\sqrt{y}+1).\sqrt{xz}}+\frac{\sqrt{z}.\sqrt{xy}}{(\sqrt{xz}+\sqrt{z}+1).\sqrt{xy}}$
$=\frac{1}{\sqrt{y}+1+\sqrt{yz}}+\frac{1}{\sqrt{z}+1+\sqrt{xz}}+\frac{1}{(\sqrt{x}+1+\sqrt{xy}}$
$P=\frac{1}{\sqrt{xy}+\sqrt{x}+1}+\frac{1}{\sqrt{yz}+\sqrt{y}+1}+\frac{1}{\sqrt{xz}+\sqrt{z}+1} (3)$
Cộng (1), (2) và (3) vế theo vế ta có:
$3P=(\frac{\sqrt{x}}{\sqrt{xy}+\sqrt{x}+1}+\frac{\sqrt{y}}{\sqrt{yz}+\sqrt{y}+1}+\frac{\sqrt{z}}{\sqrt{xz}+\sqrt{z}+1})$ $+(\frac{\sqrt{xy}}{\sqrt{xy}+\sqrt{x}+1}+\frac{\sqrt{yz}}{\sqrt{yz}+\sqrt{y}+1}+\frac{\sqrt{xz}}{\sqrt{xz}+\sqrt{z}+1})$ $+(\frac{1}{\sqrt{xy}+\sqrt{x}+1}+\frac{1}{\sqrt{yz}+\sqrt{y}+1}+\frac{1}{\sqrt{xz}+\sqrt{z}+1}) $
$=(\frac{\sqrt{xy}}{\sqrt{xy}+\sqrt{x}+1}+\frac{\sqrt{x}}{\sqrt{xy}+\sqrt{x}+1}+\frac{1}{\sqrt{xy}+\sqrt{x}+1})+$ $(\frac{\sqrt{yz}}{\sqrt{yz}+\sqrt{y}+1}+\frac{\sqrt{y}}{\sqrt{yz}+\sqrt{y}+1}+\frac{1}{\sqrt{yz}+\sqrt{y}+1})+$ $(\frac{\sqrt{xz}}{\sqrt{xz}+\sqrt{z}+1}+\frac{\sqrt{z}}{\sqrt{xz}+\sqrt{z}+1}+\frac{1}{\sqrt{xz}+\sqrt{z}+1})$
$=1+1+1=3$
$\Rightarrow P = 1$
Đáp số:$P=1$

Câu 1a, Thi 10 Chuyên Bạc Liêu năm học 2025-2026

 Đề:

Rút gọn biểu thức $A=\sqrt{8+2\sqrt{15}}+\sqrt{7-4\sqrt{3}}-\sqrt{5}$

Lời giải:
$A=\sqrt{8+2\sqrt{15}} +\sqrt{7-4\sqrt{3}}-\sqrt{5}$
$=\sqrt{3+2\sqrt{3}\sqrt{5}+5}+\sqrt{4-2.2.\sqrt{3}+3}-\sqrt{5}$
$=\sqrt{(\sqrt{3})^2+2\sqrt{3}\sqrt{5}+(\sqrt{5})^2}+\sqrt{2^2-2.2.\sqrt{3}+(\sqrt{3})^2}-\sqrt{5}$
$=\sqrt{(\sqrt{3}+\sqrt{5})^2}+\sqrt{(2-\sqrt{3})^2}-\sqrt{5}$
$=(\sqrt{3}+\sqrt{5})+(2-\sqrt{3})-\sqrt{5}$
$=2$
Đáp số: $A=2$

Câu 2b, Thi vào lớp 10 chuyên Hà Tĩnh năm học 2024-2025

 Đề:

Giải hệ phương trình 

$\left \lbrace \begin{aligned}&(x+y)(4x+y) = 5x+2y-1 \\&2x^2-5x+2\sqrt{x+y}-\sqrt{3x-1} = 0\end{aligned}\right.$

Lời giải:

Điều kiện $3x-1\ge0 \land x+y \ge0 \Leftrightarrow y \ge -x \land x\ge \frac{1}{3}$

Phương trình thứ nhất $\Leftrightarrow 4x^2+5xy+y^2=5x+2y-1$

$\Leftrightarrow y^2+(5xy-2y)+(4x^2-5x-1)=0$

$\Leftrightarrow y^2+(5x-2)y+(4x^2-5x-1)=0$

Giải phương trình bậc 2 theo biến y, ta có hai hai nghiệm $y=1-x$ và $y=1-4x$

  • Trường hợp $y=1-x$ thay vào phương trình thứ 2:
    $2x^2-5x+2\sqrt{1}-\sqrt{3x-1} = 0$
    $\Leftrightarrow \sqrt{3x-1} = 2x^2-5x+2$
    $\Rightarrow 3x-1 = (2x^2-5x+2)^2$
    $\Leftrightarrow  4x^4-20x^3+33x^2-23x+5=0$
    $\Leftrightarrow (x^2-3x+1)(4x^2-8x+5)=0 (1)$
    Do $4x^2-8x+5 = 4(x^2-2x+1)+1 = 4(x-1)^2+1 \ge 1 \forall x$ 
    Nên $(1) \Leftrightarrow x^2-3x+1 = 0$
    Phương trình có hai nghiệm $x_1=\frac{3}{2}-\frac{\sqrt{5}}{2}$;$x_2=\frac{3}{2}+\frac{\sqrt{5}}{2}$
    Cả hai nghiệm thỏa mãn điều kiện $x\ge \frac{1}{3}$

  • Trường hợp $y=1-4x$ :
    Từ diều kiện $y \ge -x$, ta có: $1-4x \ge -x \Leftrightarrow x \le \frac{1}{3}$ 
    Kết hợp điều kiện $x\ge \frac{1}{3}  \Rightarrow x = \frac{1}{3}$. 
    Thay vào phương trình thứ 2 ta thấy giá trị này không thỏa.
    Đáp số:
    Hệ phương trình đã cho có hai nghiệm:$(\frac{3}{2}-\frac{\sqrt{5}}{2};-\frac{1}{2}+\frac{\sqrt{5}}{2}), (\frac{3}{2}+\frac{\sqrt{5}}{2};-\frac{1}{2}-\frac{\sqrt{5}}{2})$

  • Câu 2a, Thi vào lớp 10 chuyên Hà Tĩnh, năm 2024-2025

     Đề:

    Giải phương trình:

    $4x^3+31x^2-27=12(x^2+x)\sqrt{1-x}$ 
    Bài giải:
    Điều kiện: $x \le 1$
    $4x^3+31x^2-27=12(x^2+x)\sqrt{1-x}$
    $\Leftrightarrow (4x^3+4)+(31x^2-31)-12x(x+1)\sqrt{1-x}=0$
    $\Leftrightarrow 4(x^3+1)+31(x^2-1)-12x(x+1)\sqrt{1-x}=0$
    $\Leftrightarrow 4(x+1)(x^2-x+1)+31(x-1)(x+1)-12x(x+1)\sqrt{1-x}=0$
    $\Leftrightarrow (x+1)[4(x^2-x+1)+31(x-1)-12x\sqrt{1-x}]=0$
    $\Leftrightarrow \left[\begin{aligned}x+1 = 0 (1)\\4(x^2-x+1)+31(x-1)-12x\sqrt{1-x} = 0(2)\end{aligned}\right.$
    $(1) \Leftrightarrow x = -1$
    $(2) \Leftrightarrow [4x^2-2.2x.3\sqrt{1-x}+9(1-x)]+[27(x-1)-9(1-x)]=0$
    $\Leftrightarrow (2x-3\sqrt{1-x})^2-(6\sqrt{1-x})^2=0$
    $\Leftrightarrow \left[\begin{aligned}2x-3\sqrt{1-x}+ 6\sqrt{1-x}= 0 \\2x-3\sqrt{1-x}- 6\sqrt{1-x} = 0\end{aligned}\right.$
    $\Leftrightarrow \left[\begin{aligned}2x+3\sqrt{1-x}= 0 (3) \\2x-9\sqrt{1-x}= 0 (4) \end{aligned}\right.$
    $(3) \Leftrightarrow 2x = -3\sqrt{1-x} (5)$ 
    Điều kiện $ x \le 0$ 
    $(5) \Rightarrow 4x^2 = 9(1-x)$
    $\Leftrightarrow 4x^2+9x-9=0$
    Giải phương trình bậc hai ta có hai nghiệm $ x= -3 $ và $x=\frac{3}{4}$
    Kết hợp điều kiện $ x \le 0$  ta nhận nghiệm $ x= -3 $
    $(4) \Leftrightarrow 2x = 9\sqrt{1-x} (6)$ 
    Điều kiện $ x \ge 0$ kết hợp điều kiện ban đầu ta có điều kiện cho x là $ 0 \le x \le 1$
    $(6) \Rightarrow 4x^2 = 81(1-x)$
    $\Leftrightarrow 4x^2+81x-81=0$
    Giải phương trình bậc hai ta có hai nghiệm $x=-\frac{81}{8}-\frac{9\sqrt{97}}{8}$ và $x=-\frac{81}{8}+\frac{9\sqrt{97}}{8}$
    Kiểm tra điều kiện  $ 0 \le x \le 1$ ta chỉ nhận nghiệm $x=-\frac{81}{8}+\frac{9\sqrt{97}}{8}$
    Vậy phương trình đã cho có 3 nghiệm:
    $x_1=-1$; $x_2=-3$; $x_3=-\frac{81}{8}+\frac{9\sqrt{97}}{8}$

    24/05/2025

    Câu 6, Thi vào lớp 10 chuyên Hà Tĩnh, năm 2024-2025

    Đề:
    Trong hình lục giác đều có cạnh bằng 4 có 257 điểm phân biệt. Chứng minh rằng tồn tại hình vuông có cạnh bằng 1 chứa ít nhất 5 điểm (có thể thuộc cạnh hình vuông) trong các điểm đã cho.
    Lời giải:
    Đặt lục giác đều vào bên trong 1 hình vuông có cạnh là 8. Do khoảng cách xa nhất giữa hai điểm trên lục giác đều là 8 nên lục giác đều nằm trọn vẹn trong hình vuông này. 
    Kẻ các đường thẳng song song với các cạnh của hình vuông để tạo thành lưới 8 x 8 = 64 hình vuông có cạnh bằng 1. 
    Do 257 = 64.4 + 1 nên theo nguyên tắc Dirichlet thì sẽ tồn tại 1 hình vuông chứa ít nhất là 4 + 1 = 5 điểm trong 257 điểm này.


    Câu 1b, Thi vào lớp 10 chuyên Hà Tĩnh, năm học 2024-2025

    Đề: Cho a,b,c là các số thực thỏa mãn a+b+c=6 và $a^2+b^2+c^2=12$. Tính giá trị của biểu thức: $P = (a-3)^{2024}+(b-3)^{2024}+(c-3)^{2024}$
    Lời giải: Áp dụng bất đẳng thức BSC cho hai bộ số (a;b;c) và (1;1;1) ta có: $(a.1+b.1+c.1)^2 \le (a^2+b^2+c^2)(1^2+1^2+1^2)$
    $\Leftrightarrow (a+b+c)^2 \le (a^2+b^2+c^2).3$
    $\Leftrightarrow 6^2 \le 12.3$
    Dấu "=" của bất đẳng thức xảy ra $\Leftrightarrow \frac{a}{1} = \frac{b}{1} = \frac{c}{1}$ $\Leftrightarrow a = b = c$
    Kết hợp với điều kiện $a + b + c = 6$
    $\Rightarrow a = b = c = 2$
    Vậy $ P = (a-3)^{2024}+(b-3)^{2024}+(c-3)^{2024} $
    $= (2-3)^{2024}+(2-3)^{2024}+(2-3)^{2024} = 3.(-1)^{2024} = 3$
    Đáp số: $P = 3$

    29/06/2024

    Câu 43 Đề Toán Tốt nghiệp THPT 2024 (mã đề 123)

    Đề bài:

    Lời giải:
    Vì phương trình có hai nghiệm phức và phần ảo khác 0 nên $\Delta \lt 0$
    $|z_1| = \sqrt{(\frac{-b}{2a})^2+(\frac{\sqrt{-\Delta}}{2a})^2}=\sqrt{\frac{b^2-\Delta}{4a^2}}=\sqrt{\frac{b^2-(b^2-4ac)}{4a^2}}=\sqrt{\frac{c}{a}}$
    Từ điều kiện $|z_1|=\frac{1}{\sqrt{k}}$
    Ta suy ra $a=kc$
    Vì $z_1-z_2$ có phần ảo bằng phần ảo số phức $2z_1$ và phần thực bằng 0
    Nên từ: $|2z_1-\frac{1}{9}|=|z_1-z_2|$ ta suy ra được phần thực của số phức $2z_1-\frac{1}{9}$ phải bằng 0 suy ra $\frac{-b}{a}-\frac{1}{9}=0$
    hay $a=-9b$ hay $b=-\frac{kc}{9}$ 
    Do $z_3-w$ là thuần ảo nên có phần thực bằng nhau.
    Gọi $m$ là phần ảo của $z_3$ ($m \in Z$)
    $|z_3| \le |w|$
    suy ra $m^2 \le \frac{-\Delta}{4c^2} = \frac{4ac-b^2}{4c^2}=\frac{4(kc)(c)-(-\frac{kc}{9})^2}{4c^2}$
    hay $m^2 \le k-\frac{k^2}{324}$
    Để có đúng 9 số nguyên $m$ thỏa bất đẳng thức này thì:
    $16 \le  k-\frac{k^2}{324} \lt 25$
    Giải bất phương trình kép bậc 2 với ẩn số là k ta có nghiệm:
    $162-18\sqrt{65} \le k \lt 162-36\sqrt{14} $ hoặc $162+36\sqrt{14} \le k \lt 162+18\sqrt{65} $ 
    vì k là số nguyên suy ra $17 \le k \le 27$ hoặc $297 \le k \le 307$
    Vậy có 22 số nguyên k.
    Đáp án .

    15/03/2023

    Toán 8 (Giữa HK2) Bài số 15

     Đề: Cho $\triangle{DEF}$ nhọn, ba đường cao DM, EN, FP cắt nhau tại I.

    a) Chứng minh $\triangle{DEN} \sim \triangle{DFP}$

    b) Chứng minh $EI.MF = MI.FD$

    c) Cho PE = 7cm, PD = 18cm, PF=24cm. Tính PN

    Giải:



    Toán 8 (Giữa HK2) Bài số 14

     Đề:

    Cho  $\triangle{ABC} nhọn (AB < AC) có các đường cao AE, BF cắt nhau tại H.

    a) Chứng minh $\triangle{AEC} \sim \triangle{BFC}$

    b) Chứng minh $\widehat{BAC} = \widehat{FEC}$

    c) Gọi M là trung điểm BC, qua H vẽ đường thẳng a vuông góc với HM, qua C kẻ đường thẳng b song song với đường thẳng a, b cắt AH và AB lần lượt tại N và D. Chứng minh: $NC=ND$

    Bài giải:



    12/03/2023

    Toán 8 (Giữa HK2) Bài số 13

     Đề:

    Cho $\triangle{ABC}$ nhọn (AB < AC) có các đường cao AD, BE cắt nhau tại H

    a) Chứng minh $\triangle{HAE} \sim \triangle{HBD}$

    b) Kẻ $EK \perp BC$ tại K. Chứng minh $KE^2 = KB.KC$

    c) Gọi M là trung điểm của AB. Kẻ $DI \perp AC$ tại I. Gọi N là giao điểm của IK và MC. Chứng minh: N là trung điểm của IK
    Bài giải:



    Toán 8 (Giữa HK2) Bài số 12

     Đề:

    Cho $\triangle{ABC}$ vuông tại A (AB < AC) có đường cao AE

    a) Chứng minh: $\triangle{ABC} \sim \triangle{EAC}$ và $AE^2=BE.EC$

    b) Trên tia đối BA lấy điểm O sao cho $BA = BO$. Kẻ $AD \perp OC$ tại D. Chứng minh $\widehat{EAD} = \widehat{BCO}$

    c) Qua A kẻ đường thẳng vuông góc với OE cắt BC tại S. Chứng minh S là trung điểm của EC

    Bài giải:



    Toán 8 (Giữa HK2) Bài số 16

     Đề:

    Cho $\triangle{ABC}$ nhọn (AB < AC) có ba đường cao AD, BE, CK cắt nhau tại H

    a) Chứng minh: $\triangle{HEA}$ đồng dạng $\triangle{HDB}$

    b) Chứng minh:$CA.CE=CB.CD$ và $\widehat{AEK} = \widehat{ABC}$

    c) Gọi G là giao điểm của KE và BC, S là trung điểm BC. Chứng minh:$DS.DG=DB.DC$

    Bài giải:



    Toán 8 (Giữa HK2) Bài số 11

     Đề bài:

    Cho $\triangle{ABC}$ vuông tại A (AB < AC) có đường cao AH. Vẽ BD là đường phân giác trong của $\triangle{ABC}$, BD cắt AH tại I.

    a) Chứng minh: $\triangle{ABC}$ đồng dạng $\triangle{HBA}$

    b) Cho HB = 9cm, HC = 16cm. Tính AB, AH và chứng minh: $BI.BA = BH.BD$

    c) Trên tia đối AH lấy điểm M, vẽ tia $Cx \perp MB$ tại K. Lấy E trên tia Cx sao cho $BE=BA$. Chứng minh: $\triangle{BEM}$ vuông

    Bài giải:



    11/11/2022

    Swift: Sinh chuỗi ngẫu nhiên

     Trong một vài trường hợp mình cần sinh chuỗi ngẫu nhiên dài 8 kí tự, 16 kí tự chẳng hạn. Nếu như ta chấp nhận tất cả các byte trong các kí tự này thì ta sử dụng lớp UUID. Tuy nhiên nếu bài toán của chúng ta chỉ chấp nhận các kí tự alphanumeric (kí số và kí tự trong bảng chữ cái Tiếng Anh) thì chúng ta sử dụng đoạn mã sau đây (Swift 4.2+):

    
      func randomString(length: Int) -> String {
      let letterList = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
      return String((0..<length).map{ _ in letterList.randomElement()! })
    }

    24/10/2022

    View SwiftUI không lấp đầy màn hình

     Có bao giờ bạn bị tình trạng như ảnh chưa?

    Cái view màu trắng bên trong không lấp đầy màn hình mà phía trên và phía dưới còn hai dãy màu đen dù cho trong cấu hình bạn đã chọn "Require show full screen" rồi.
    Nguyên nhân là do XCode bị cache hay bị lỗi gì đó mà XCode hiểu là bạn đang thiếu cấu hình "Launch Screen".
    Tìm hiểu trên mạng thấy mọi người chỉ nhiều cách nào là thêm vào file Info.plist, nào tạo LaunchScreen.storyboard và cấu hình lại "Launch Screen". Tuy nhiên trong trường hợp của mình thì mình chỉ cần gõ chữ bất kì chỗ tên Launch Screen, save lại là vấn đề được giải quyết.


    21/10/2022

    Lặp lại một công việc gì đó trong 1 khoảng thời gian trong RxSwift

    Trong một số tình huống chúng ta cần thử lại một công việc gì đó trong một số lần hay một khoảng thời gian nhất định. Trong RxSwift chúng ta làm điều này thế nào? Đoạn code sau đây sẽ làm lại công việc trong maxRetry lần và khoảng cách giữa hai lần thử lại là retryDelay giây
    
           observable.retry { errors in
                return errors.enumerated().flatMap{ (index, error) -> Observable<Int64> in
                    if error is AppError {
                        let appError = error as! AppError
                        if appError.code == AppError.retryError.code {
                            return index < maxRetry ? Observable<Int64>.timer(retryDelay,
                            scheduler: MainScheduler.instance) : Observable.error(error)
                        }
                    }
                    return Observable.error(error)
                }
            }
        }
    }
    
    
    Trên đoạn code trên nếu muốn retry lại thì observable cứ quăng error là AppError.retryError thì observable được lặp lại.

    20/10/2022

    Tắt thanh trạng thái trong iOS

    Có những ứng dụng cần tắt thanh trạng thái (status bar) đi thì ta phải làm sao?
    Thêm vào file info.plist các dòng sau đây:
    
     <key>UIStatusBarHidden</key>
        <true/>
        <key>UIViewControllerBasedStatusBarAppearance</key>
        <false/>
     
     
    Dễ không các bạn? Chúc các bạn thành công.

    10/10/2022

    Swift 5.7: Điểm mới trong if let (Optional Binding)

    Trong phiên bản 5.6 trở về trước thì các câu lệnh sau đây sẽ báo lỗi:
    
    func printName() {
    let name:String?="Folami"
    if let name {
    print(name)
    }
    }
    
    
    Mà code đúng phải là:
    
    func printName() {
    let name:String?="Folami"
    if let name = name {
    print(name)
    }
    }
    
    
    Trong Swift 5.7 thì các bác cứ thoải mái dùng cú pháp như trong đoạn code đầu tiên nha. Cách ghi này gọi là dạng viết tắt của Optional Binding Tuy nhiên có một giới hạn là chúng ta không thể truy xuất đến property của một đối tượng. Điều này có nghĩa là cách viết tắt của Optional Binding không hỗ trợ Optional Chaining. Như vậy đoạn code sau sẽ báo lỗi khi biên dịch:
    
    class Person {
     var name:String?
     init(name:String){
      self.name = name
     }
    }
    func printName() {
    let name:String?="Folami"
    if let name {
    print(name)
    }
    }
    let author = Person(name:"Folami")
    if let name = author.name {
     print(name)
    }
    if let author.name {
    //Se bao loi dong phia tren
    print(author.name)
    }