Translate

15 tháng 6, 2020

Tương lai và những dự định xa vời

Lại là một ngày dài khác, gần đây mình không giành nhiều thời gian để chăm sóc cho cảm xúc của bản thân như trước. Vì còn nhiều việc mình phải hoàn thành, dần dà lại nhận ra hành trình ra trường của mình nó xa hơn một chút. Nhưng thôi, hôm nay mình sẽ không than vãn về cái đồ án và những ngày dài sống chung với deadline nữa. Hôm nay mình chỉ tâm tình đôi ba dòng ngắn ngủi về cái dự định xa vời của tương lai sắp tới thôi :v

Hồi nhỏ mình vô tình đọc được trong cuốn lịch một câu nói khuyết danh, đại ý thế này:
Con người ta sinh ra không phải để tan biến như những hạt cát vô danh, họ sinh ra để in dấu trên mặt đất, in dấu trong những trái tim người khác ...
Đọc xong mình tâm đắc lắm, thế là học thuộc luôn và chẳng rõ từ khi nào câu nói ấy đã chui vào tiềm thức của mình và tồn tại tới tận bây giờ nữa. Những ngày ấy mình còn trẻ và bồng bột, nên chỉ tập trung vào vế "in dấu trong những trái tim người khác". Mình cứ mặc định một điều, giá trị mình muốn để lại cho cuộc sống này là những cảm xúc tích cực mình giành cho mọi người, sự ân cần, sẻ chia, đồng cảm, và cả chữ "xàm" nữa. Và từ hồi ấy tới bây giờ mình cứ coi đó là kim chỉ nam cho sự tồn tại của bản thân, mình đã sống và đặt chữ "TÌNH" lên trên mọi chuẩn mực đạo đức. Ví dụ như việc, ai đối xử tốt với mình thì mình trân trọng, còn lại mình không quan tâm tới cách mà họ đối xử với những người khác. Chỉ đơn giản là vì họ tốt với mình, và mình thấy vui vì điều đó. 

Mãi cho tới tận gần đây khi vô tình nghe lại lần thứ 30 bài podcast "Nghỉ hưu sớm" của thầy 5, mình mới nhận ra một điều rằng: Cuộc đời này chúng ta sinh ra để sống, và trong sự sống nó có lao động là thứ khiến cho xã hội của chúng ta duy trì ổn định và phát triển, vậy nên việc mình cần làm không phải là chú trọng vào cảm xúc của mọi người và đối xử với họ theo cách mà họ muốn. Thay vì đó, mình có thể lao động miệt mài, tạo ra của cải và giá trị thặng dư cho xã hội. Nếu sau này mình mở công ty, nhiều người sẽ có việc làm, giảm bớt gánh nặng cho gia đình của họ ...

Mọi người vẫn bảo, đàn ông sống phải có một chữ CHÍ trong đầu - Có chí thì nên. Phải thú nhận là ngày xưa mình thấy câu nói này sáo rỗng vô cùng, vì hồi ấy mình chỉ mong có một cuộc sống yên bình, mọi thứ cứ nhẹ nhàng êm đẹp là hạnh phúc lắm rồi. Và năm tháng trôi qua, mình có thêm những câu hỏi mới cho bản thân: "Này chàng trai, lý do cậu tồn tại trên cõi đời này là gì vậy?". Mình muốn đem lại giá trị nào đó cho xã hội, chứ không chỉ đơn thuần chỉ là kiếm tiền và mua cái gì đó  để nhét vào mồm. Kể từ ngày hôm đó, mình đã vạch ra một con đường, đó là nơi mà mình muốn đến. Và mình sẽ làm được, các bạn cứ chờ và xem tiếp đi :v

Nhờ có đợt dịch Covid này, mà mình có thêm thật nhiều thời gian để tìm ra câu trả lời cho bản thân. Giờ mình thấy tự tin hơn rồi, biết được rằng cái đích cuối cùng mà mình muốn đến nó nằm ở đâu, và cứ thế sống rồi lao đầu về phía trước.
---
Nguyễn Công Trứ là một vị quan văn võ xong toàn thời vua Minh Mạng và vua Tự Đức. Đời ông đầy giai thoại, giai thoại nào cũng cho thấy bản lĩnh sống, bản lĩnh trí tuệ và bình dân sâu sắc. Đến khi già hết làm quan, ông về quê nhà vui thú điền viên, cưới thêm một người vợ hiền xinh đẹp. Đêm tân hôn họ thủ thỉ với nhau rằng:
Tân nhân dục vấn lang niên kỷ?
Ngũ thập niên tiền, nhị thập tam.
Nghĩa là: Thiếp hỏi nay chàng bao nhiêu tuổi? Năm mươi năm trước tớ 23. Nghe dí dỏm như câu chuyện hài vậy, nhưng đổi lại nếu là mình thì mình sẽ không muốn lấy vợ năm 73 tuổi thế này đâu =)))

P/s: Cảm ơn các bạn đã đón đọc, chúc mọi người có một ngày làm việc hăng say và nhiều niềm vui nhé ^^







13 tháng 6, 2020

Những ngày oi bức

Dạo này Hà Nội đang bước vào mùa nắng gắt, cái oi bức ấy khiến mình không kìm lòng được và phải lên đây than thở với các bạn này. Có lẽ đây là lần đầu tiên mình cảm nhận được cái oi bức nó rõ rệt như vậy, bước ra đường là hơi nóng phả vào lồng ngực, sợ thiệc. Có thể là do những mùa nóng trước không gay gắt như đợt này, hoặc cũng có thể cuộc sống đơn thân đã khiến mình nhạy cảm hơn với thời tiết, và cụ thể là cái gay gắt của tiết trời Hà Nội cũng nên. Nhiều lúc thèm ăn một que kem, ngồi tán dóc với bạn bè nhưng ngoảnh đi ngoảnh lại, cũng chẳng có ai. Bạn bè đồng trang lứa giờ mỗi người một ngả, các anh thì cũng ở những nơi rất xa, tiết trời nóng nực thế này muốn rủ ai đó ra đường cũng thật khó. Vì ở phòng làm việc có điều hòa mát mẻ, đi đâu làm gì cho tội cái thân cơ chứ. Thế là mình đành cầm ô và ra đường, cảm nhận cái "nóng nực", cái oi bức và nhớ về những mùa hè đã đi qua ...
"Khi lần đầu đón nhận nỗi buồn, tôi hiểu rằng tuổi thơ của mình đã hết, nó đã bay xa. Đóa phượng cuối cùng của mùa hè năm nao chưa kịp rã cánh, tôi đã vội chia tay với ngày tháng vô tư. Tôi sẽ trở về thành phố với nỗi lòng sầu mộng. Sẽ chẳng ai hay, sẽ chẳng dãi bày . . ." 
Trích: Hạ đỏ - Nguyễn Nhật Ánh

03 tháng 5, 2020

[100daysTIL] Day 13 - Về gu âm nhạc của mình

Hế lô hế lô!!
Xin chào mọi người, sau chuỗi ngày vắng bóng thì mình đã trở lại rồi đây. Mấy ngày này đúng là chẳng thiết tha động chân, động tay gì cả. Mình bị vướng một vài trục trặc với thời gian và giấc ngủ nên là trạng thái tinh thần không được tốt cho lắm ... Thời gian tới có lẽ sẽ còn nhiều bận bịu hơn, nên thôi mình viết được bài nào thì hay bài đó vậy =))) Nhưng đầu tiên thì, mời mọi người nghe bài hát cho nhẹ nhàng chút rồi chúng ta cùng tâm tình nhỉ :3


Các bạn nghe nhạc có thấy hay không? Nếu thấy hay rồi thì okay, tuyệt! Còn nếu không thấy hay thì cũng kệ nhé :v Tới phần tiếp theo nào. 

Hồi trước mình có một đam mê mãnh liệt đó là nghe nhạc bất kể ngày đêm, thời đó mình không có nhiều bạn bè đồng cảm, nên những lúc không thể chia sẻ với ai mình thường tìm đến âm nhạc. Cảm xúc của nhạc sĩ và ca sĩ giao thoa với nhau, lắng lại thành một bản nhạc hay. Nhưng sẽ còn hay hơn khi chúng ta hiểu được những cảm xúc đầy vơi trong từng giai điệu, ca từ; hoặc khi chúng ta thấy mình trong đó nữa. Ngày xưa mình nghe nhạc vì muốn tìm kiếm bóng dáng của mình trong câu chuyện của người ta, giống như việc "chết một đống còn hơn sống một mình" vậy. Thế nên tìm được một bản nhạc, hay một người có cảm xúc giống mình thì vui biết bao nhiêu. Có lẽ vì trong chúng ta chẳng ai muốn phải sống cô độc một mình. 

Mình của ngày xưa là như vậy đấy, thích đi tìm những bản nhạc nhẹ nhàng có chút buồn man mác để tận hưởng. Âm nhạc đã giúp mình sống chậm hơn, không bị cuốn vào vòng xoáy của thời gian, và những bộn bề cuộc sống. Chỉ cần nghỉ chân nghe một bản nhạc, tự dưng tâm hồn lại được bình an trở lại, kể ra thì cũng lạ kỳ thật nhỉ ... Mình đã sử dụng những ca từ ấy để kết bạn, để kiếm niềm vui và để kiếm bạn gái nữa chứ :v Lâu lâu về trước, mình có nghe được một câu nói thế này "Âm nhạc là niềm mơ ước của tất cả các loại hình nghệ thuật". Đúng, mình cũng cảm nhận được điều này. Ngay từ khi còn rất nhỏ, những ca từ và cảm xúc đó đã len lỏi vào tâm hồn mình, và nó góp phần định hình nên phần tính cách mình đang có bây giờ. Sở dĩ mình thích lối sống tình cảm nhẹ nhàng, là vì âm nhạc đã dạy mình như vậy, cách hiểu cảm xúc của bản thân và của mọi người mình đều học từ đây. Vì chúng ta đều là con người ... và con người thì cần cảm xúc mà, phải không??

Câu châm ngôn mình nghe được từ chương trình TÂM SỰ KINH DOANH
Những ngày tháng đó không có internet, nên mình hay nghe nhạc trên TV hoặc nghe Radio thông qua "cục cưng" của mình, cũng là "cục gạch" mà người ta thường dùng để nghe - gọi ... Cứ ngồi vào bàn học, mình sẽ bật radio lên, như để bớt đi cảm giác trống vắng, cảm giác như đang có người ngồi đó và trò chuyện với mình vậy. Rồi tháng ngày cứ thế trôi đi, dần dần món ăn tinh thần ấy, người bạn ấy không còn phù hợp với mình nữa. Bây giờ hễ nghe nhạc lâu một chút, mình lại bị đau đầu nên cũng hạn chế nghe. Thay vào đó mình tìm tới những thứ dễ cảm nhận hơn như là chương trình tâm sự, sách, hoặc vài video trên youtube ...

Nhớ lại những ngày đó, mình nghe nhạc nhiều tới nỗi bố mẹ cấm mình nghe nhạc luôn mà =))) Bố mẹ còn bảo, "Mở mắt ra là bật nhạc, về đến nhà là thấy tiếng nhạc. Mày nghe nhiều nó hỏng hết điện thoại bây giờ". Âm nhạc đã từng đóng một vai trò quan trọng trong của sống của mình, đã từng làm cho mình hạnh phúc, những cảm xúc của mình được nuôi lớn bằng âm nhạc, nên mình luôn coi âm nhạc như một người bạn thân vậy đấy. 

Có một điều hy vọng các bạn sẽ nhớ đó là:
Chúng ta nên nhìn cuộc đời ở những cái tính thời điểm, mỗi cuộc đời của mình nó gắn liền với từng giai đoạn, và trong từng giai đoạn đó nó có những thứ phù hợp với mình. Những thứ phù hợp đó, có thể là sắp tới, tương lai nó sẽ không còn phù hợp nữa, nhưng ít nhất là nó phù hợp với mình trong giai đoạn đó. Vậy nên đừng sống vội vàng quá và quên đi những điều ấy nhé.
Giống như người bạn cũ đã từng rất thân với mình, có thể bây giờ không còn phù hợp nữa nhưng những kỷ niệm mà chúng ta đã có với nhau, mình sẽ giữ lại và trân trọng nó. Lâu lâu lại nhớ về và mỉm cười chẹp miệng =))
---
Cảm ơn các bạn đã theo dõi bài viết của mình, thời gian tới có thể sẽ thưa thưa một chút. Hy vọng các bạn vẫn bớt chút thời gian để đọc và bình luận bài viết của mình nhé! Cảm ơn mọi người rất nhiều ^^

24 tháng 4, 2020

[100daysTIL] Day 12 - Quan điểm của tiến sĩ Lê Thẩm Dương về chữ "Sợ" trong hôn nhân

Mấy ngày này, mình có vô tình xem lại series "Quyền lực ghế nóng" phát sóng trên VTV3 vào những ngày đầu tháng 10 năm 2018. Hồi đó mình còn là cậu sinh viên năm 3, vẫn còn sống yêu đời và hồn nhiên đến lạ. Và định mệnh đã đưa mình tới với chương trình này, đợi mòn mỏi từng ngày lên sóng. Vì với mình nó thực sự rất hay, thông qua chương trình mình được nhìn nhận vấn đề một cách tổng hòa hơn, thông qua các luồng ý kiến của các lớp đàn anh trong showbit, các vị giám khảo gạo cội và lõi đời như tiến sĩ Lê Thẩm Dương hay đạo diễn Lê Hoàng. Mỗi một số phát sóng là một chủ đề nóng bỏng, nhờ đó mình lại nhận ra được nhiều điều. 

Hôm nay mình sẽ đi vào chủ đề đầu tiên, đó là chữ "sợ" hay đúng hơn là "sợ vợ" hoặc "sợ chồng". 
Quan điểm cá nhân của Lê Thẩm Dương như sau: Để hai vợ chồng khớp nhau được, xác suất là 1 trên 2 triệu. Hai vợ chồng lấy nhau về phù hợp luôn, khớp lệnh luôn -> không bao giờ có đâu. Người ta ước mơ và người ta chứng minh được, có trường hợp đó là Romeo và Juliet, và thứ hai là trong đời thực thì có gia đình của Lennin và Krupskaya. Vậy thì cả một cuộc đời, chúng ta phải làm cho nó khớp. 
Đúng vậy, yêu là một chuyện nhưng để về chung một mái nhà và sống được với nhau lại là chuyện khác, chúng ta phải hiểu, thông cảm lẫn nhau và cùng nhau cố gắng. Sẽ luôn có những khi trái gió trở trời, chuyện tình cảm không hề thuận lợi nhưng chúng ta phải cố gắng để hòa hợp lẫn nhau, và phải làm cho nó khớp bằng cả cuộc đời của mình

Người đàn ông được ví là cái dĩa của xe máy còn người phụ nữ được ví là cái sên. Và nếu nó khớp vào: Ui cái sên gia đình nó chạy phà phà. Mà mua về thì cái dĩa là hệ của Nhật hạng tốt nhất, mà cái sên là hệ của Mỹ cũng hạng tốt nhất. Hai vợ chồng cực tốt, nhưng lại chệch nhau. Thế nên là không phải cứ tốt là êm đâu các bạn ạ. 
Không phải cái gì cứ tốt là êm đâu các bạn ạ - mình sẽ nhớ câu này thật kỹ. Trước đây mình vẫn nghĩ rằng mây tầng nào sẽ gặp mây tầng đó, nhưng sau câu nói này mình có lẽ sẽ phải suy nghĩ lại. Như vậy chưa hẳn đã là tốt, phải không? Vậy thì thế nào mới được coi là tốt nhỉ?
Vợ chồng người ta cần tính phù hợp, và không phù hợp thì nguyên lý chung là anh đàn ông phải mài cái răng cho nó nhỏ lại: "Con lạy ông, ông bớt chữ tôi lại". Người phụ nữ nới rộng cái sên ra, để cho nó khớp. Mà hai vợ chồng phối hợp thì người ta gọi là mã táng hàm rồng, một bên mà mài bên kia không mài vẫn còn giữ được hạnh phúc, còn một trong hai bên mài không nổi hoặc 2 bên đều không mài thì chỉ còn nước: "Chào thân ái mà thôi". Cho nên hạnh phúc nó giống như ruộng lúa vậy, phải bỏ công chăm sóc, phải tưới phân làm cật lực thì mới có năng suất. Hai vợ chồng tôi năm nay là tròn 36 năm, mà đầy công sức thì mới được, chứ có khớp đâu. Thế nên 10 năm phải cưới lại một lần, không phải để hâm nóng đâu, thực chất là để tôn vinh mình, để chạy một chặng tiếp theo.
Thì ra cái tốt ấy lại gói gọn trong hai chữ phù hợp, mà muốn phù hợp thì phải bớt cái tôi của mình lại, rồi miệt mài vun đắp, làm cật lực thì mới ra kết quả được. Cũng giống như làm việc vậy, phải miệt mài cố gắng không ngừng nghỉ thì mới lên được chức, được tăng lương. Suy cho cùng thì làm bất cứ chuyện gì cũng cần phải cố gắng, phải dùng lý trí để thắng con tim. Nhưng vẫn còn một điều nữa, vẫn còn những chặng đường 10 năm - có khi chúng ta nên ngoảnh lại nhìn một chút, để tôn vinh chính mình để tạo đà mà bước tiếp. 
Yếu tố số 3, tại sao phải sợ và tại sao sợ lại xấu? Người Mỹ người ta nói thế này: Người trưởng thành là người biết sợ. Nên hãy sợ chủ động chứ đừng sợ bị động và cái sợ đó nó mang tính nhường, nó mang tính cao thượng, nó mang tính phê ... Chứ không phải sợ bị động, đó là sự khuất phục mất rồi.  
Cho nên để chống cái sợ bị động ấy, thì phải nâng cái năng lực mình lên, nguyên tắc tột cùng của không sợ là phải tạo được quyền lực.
+ Quyền lực số 1 là quyền lực pháp lý - Vợ chồng là bình đẳng, luật pháp quy định.
+ Để khỏi sợ thì người ta trị bằng quyền lực chuyên môn - rất am hiểu cái cuộc sống này, nhìn thấy người vợ tần tảo vì mình, mình cảm thấy "nhục" - vì họ vĩ đại quá. Cho nên nấu cơm cho chồng là phương tiện để thể hiện tình cảm khi khi vợ không cảm thấy mệt. Còn nếu cảm thấy "Mịa, tao làm ô xin cho mày à?" thì mệt triền miên.
+ Quyền lực số 3 là quyền lực cá nhân - họ gương mẫu lắm, họ cầm tiền mà không tiêu cho họ, mà họ suốt ngày lo cho chồng, cho con. Ví dụ phụ nữ Á Đông chẳng hạn, phụ nữ Việt Nam là Number 1 - quyền cá nhân nó nằm ở gương mẫu. Cho nên đàn ông Việt Nam, quyền pháp lý bằng vợ, quyền chuyên môn bằng vợ. nhưng họ thường thua cái quyền là quyền cá nhân. Thiếu gương mẫu lắm, nhìn thấy gái đẹp là mắt như Tom và Jerry -> Lập quỹ đen - "hèn lắm!", cho nên dẫn tới việc là buộc anh phải sợ vợ. Bây giờ có quyền rồi thế mà hai vợ chồng vẫn vỡ trận là vì nó thiếu cái thứ hai là thực hiện cái quyền đó, thì người ta gọi đó là nghệ thuật trong hành vi.
Nghe xong thì mình cũng thấy hơi rối não :v Không hiểu sao mà thầy lại có thể nhớ được trong đầu mình nhiều điều như vậy, đúng là tiến sĩ có khác :v Mục này chủ yếu là lời khuyên của thầy dành cho người phụ nữ, nhưng với mình có một điều mình rất thích đó là "sợ chủ động". Thực ra trước giờ mình đều như vậy "sợ chủ động" với những bạn nữ mà mình quý, tại sao à =)) Tại vì mình muốn lấy được thiện cảm từ họ chứ còn sao nữa. Mình đã nhận ra điều này lần đầu tiên khi mình xem phim "Cô nàng ngổ ngáo" của Hàn Quốc, sản xuất năm 2001. Mình đã nhận ra rằng, mấy anh chàng khời khạo, nhút nhát thì dễ lấy được thiện cảm từ người khác lắm, thế nên hồi ấy mình đã theo đuổi phong cách này :v Nhưng dần dà có nhiều điều đã thay đổi lối sống của mình, mình muốn làm một người đàn ông hơn, và nếu có thể thì ngốc nghếch một chút với người phụ nữ của đời mình thì cũng tốt mà :)
Thì tôi đánh giá phụ nữ Việt Nam, tất cả đều tuyệt vời riêng ở khâu thực hiện hành vi, thì họ có hơi bị vụng cho nên thiệt vô cùng. Thế nên, để làm sao hành động cho nó khỏi vụng thì, nó chia thành những người phụ nữ sau đây: 
1) Đẹp mà vô duyên - Duyên không liên quan tới trình độ. Đẹp mà vô duyên -> VỨT.

2) Xuất mà có duyên -> DUYỆT.

3) Vừa xấu vừa vô duyên. -> Miễn bàn :v
Nếu nhìn ở góc độ khác, phụ nữ lại chia thành 4 kiểu: 
1) Nói nhẹ mà chân thành. Linh hồn để hạ thằng đối diện là chân thành. Chú ý chân thành không phải nói thật nha :v 

2) Nói nhẹ mà lại móc họng, cho nên ở nhà nó mới múc cho, mặc dù kiến thức rất tốt. 

3) Lớn dọng mà chân thành - Đấy là mấy chị bán thịt :v

4) Đã lớn dọng lại còn móc họng -> Thì thôi chào thân ái :v
Mình có thể coi đây là một tiêu chí để sau này chọn vợ, cũng hay đấy nhỉ. Với mình thì xấu đẹp nó không có quan trọng, nhưng mà chữ "duyên" thì lại khác nhé. Mình thích những người phụ nữ nhẹ nhàng, ấm áp một chút để hai người có thể giữ ấm cho nhau bằng hành động cũng được, bằng lời nói cũng tốt mà, phải không? Nếu được thì mình sẽ thích người phụ nữ "Lớn dọng mà chân thành" hơn, vì sao à? Vì mình vốn dĩ đã là một người nhẹ nhàng mà chân thành rồi, nên cần một người đối lập với mình một xíu để cho vui nhà vui cửa chứ nhỉ =)))
Vậy nên nghệ thuật của có duyên chính là nhẹ mà chân thành, cho nên người đàn ông bị chết gục dưới người phụ nữ nếu họ mặc cái áo của chính chồng - lúc đó nữ tính ở mức cao nhất. Người đàn ông đứng đằng sau người phụ nữ ôm thì không chị nào chịu nổi, chứ không phải ôm đằng trước là hay đâu. Vậy thì tóm lại chân thành là gì? Là hãy đáp ứng tổng cầu của người đàn ông, và người đàn ông phải đáp ứng được tổng cầu của người phụ nữ. Với người đàn ông ý, đừng bao giờ cần yêu họ - "Dẹp đi! Hãy hiểu họ".
Vậy thì ở đây tôi kết lại một câu: Sợ không phải là xấu, hãy chủ động sợ mới là kẻ cao thủ, chứ tại sao lại không sợ? Hãy nhường sân cho họ hãy đẩy chữ tôi của họ lên. Tôi về tôi mở mồm ra: "Em ơi, anh kê cho em cái bàn này có được không?" Tôi biết thừa là hợp lý tôi vẫn hỏi. Thế nên hãy đẩy chữ tôi của họ lên, rủi ro cao thì lợi nhuận cũng cao.
Nghệ thuật của có duyên chính là nhẹ mà chân thành, ô nếu mà nói vậy thì mình thành người có duyên lúc nào không hay rồi :v Cơ mà cái khái niệm chân thành của thầy có vẻ hơi khó hiểu một chút, nên mình xin phép định nghĩa lại theo ý hiểu của mình. Nói một cách ngạo nghễ luôn: "Chân thành là bạn cho đi mà không thèm nhận lại". Vậy thì trong phạm trù bài viết này, mình sẽ cho cái gì nhỉ? Có phải là cho đi cái tôi của bản thân, cho đi những cử chỉ ân cần, cho những lời động viên hỏi thăm không? Có lẽ đúng là vậy thật rồi :v 

Mình sẽ quay lại cụm từ "sợ chủ động" một chút, thực ra từ rất lâu tới bây giờ mình đã nghĩ rằng là đàn ông thì phải luôn ở trong thế chủ động, đừng bao giờ để mình vào thế bị động dù là làm việc gì đi nữa. Nhưng đây là lần đầu tiên mình nghe thấy cụm từ này, không ngờ là đến cả việc "sợ" cũng có thể chủ động được cơ đấy =))) 

Qua bài chia sẻ ngày hôm nay, mình thật hy vọng các bạn sẽ đúc rút được điều gì đó cho riêng mình, mong các bạn sẽ có thêm nhiều niềm vui, nhiều niềm hạnh phúc hơn với cuộc sống. Và cuối cùng cảm ơn các bạn đã đọc tới những dòng cuối cùng này nhé. Mong các bạn có một ngày học tập làm việc hăng say, để không lãng phí những ngày nghỉ này một cách vô vị như mình nhé :v


22 tháng 4, 2020

[100daysTIL] Day 11 - Nghệ sĩ Trấn Thành và bộ phim BỐ GIÀ

Có những ngày lang thanh trên Facebook chỉ để đọc vài dòng trạng thái, để tâm hồn bình lặng hơn một chút. Và khi đó mình có thói quen là hay lưu lại những thứ mình cho là hay, để sau này có dịp ngồi đọc lần 2, lần 3, lần 4 ... Hôm nay mình sẽ nói về chủ đề ấy, về một video của nghệ sĩ Trấn Thành, đây là trải lòng của anh sau khi làm series phim drama rất nổi mang tên "Bố già". Trước đây, và cả bây giờ nữa mình không phải là một Fan hâm mộ của anh nhưng thực sự, có rất nhiều điều mà anh chia sẻ mình có thể cảm và thấy được cái sâu sắc trong từng lời mà anh nói. 

"Tôi thấy mọi người làm phim về mẹ cũng khá nhiều rồi, nhưng ít ai làm về cha. Là vì quý vị thấy đa số ở Việt Nam của chúng ta, mấy người cha đó, ít có được hiểu lắm, họ không có nói nhiều, mà mỗi lần nói ra rất là thô lỗ, rất là cộc cằn". 

Rồi anh ấy quay sang hỏi mọi người trong khán phòng, "Tôi hỏi trong số quý vị ở đây, có bao nhiêu người nói chuyện được với ba của mình" thì chỉ lác đác một hai cánh tay dơ lên, còn mọi người đều lặng im. Nếu như có mặt ở đó thì mình cũng chỉ biết lặng im như vậy, vì mình cũng không phải là một người con gần gũi với bố mẹ, hoặc với gia đình cho lắm. Bố mình cũng là một ông bố Việt Nam điển hình, cũng đã từng cộc cằn và thô lỗ, điều ấy đã in sâu vào trong tiềm thức từ khi mình còn là một đứa nhỏ. Nên bây giờ lớn lên rồi, có nhiều thứ đã thay đổi, nhưng những ký ức ấy đã tạo nên một vách ngăn tinh thần giữa mình với gia đình. Nghe tới đây đương nhiên mình rất đồng cảm, và lắng lòng một chút.

Sau đó anh nói tiếp:
"Chúng ta không thể giao tiếp được với cha của mình, vì sao nhở? 

- Nó có một cái khoảng cách vô hình giữa những người đàn ông với nhau, 
- Với lại có một khoảng cách giữa hai thế hệ, 
- Với lại có thêm một cái khoảng cách nữa giữa hai luồng tư duy mới và cũ, 
- Và nó có thêm một cái khoảng cách nữa giữa sự gia trưởng của thời đó, và cái sự hiện hiện đại của bây giờ. Cởi mở, công bằng."

Đúng, cách anh đặt vấn đề không chê vào đâu được. Những góc cạnh của vấn đề được phơi bày ra chỉ qua vài câu nói, quả đúng là Trấn Thành đúng là một người đàn anh sâu sắc. Có lẽ lối sống tình cảm, kết hợp với sự trải đời và chất chân thành mộc mạc của người dân Nam Bộ đã giúp anh thành công và có nhiều danh tiếng như bây giờ. Có lẽ đó cũng là lý do mà anh được nhiều người yêu mến đến vậy. Một phần hình mẫu tương lai mà mình muốn theo đuổi cũng ẩn hiện trong anh, một con người giàu tình cảm, sống chân thật và hết lòng với mọi người. Thôi không bàn về mấy cái đó nữa, quay trở lại với nội dung chính của chúng ta nào. Những lý do anh nêu ra, nó đã thuyết phục được mình, đúng mình cũng cảm nhận được điều đó.

"Vậy thì chúng ta luôn luôn trách bố của mình là rất thô lỗ, rất cộc cằn, rất hung dữ. Chúng ta quên mất những điều mà họ đã làm cho mình, tại vì những người đàn ông làm họ không bao giờ nói, âm thầm. Nhưng buồn cười là cái tuyệt vời họ làm cho mình nó không được thấy. Mà chúng ta chỉ toàn thấy những điều khủng khiếp nhất khi họ la mắng mình, thậm chí rất là vô lý. Chúng ta thường nói với bố mình những điều không ổn khi mà họ la mắng chúng ta những điều không ổn. Nhưng ít có ai hiểu được rằng là, nếu như ngồi xuống và suy nghĩ. Bạn dao dung hơn một tý, vị tha hơn một tý, bạn hãy suy nghĩ rằng là nếu bạn không may mắn như bạn bây giờ, được xem youtube, được lên facebook đây đó để tìm hiểu thông tin, được tiếp cận với thế giới hiện đại, mà bạn không may mắn để nhận được cái hệ giáo dục nơi mà bố bạn đã từng được giáo dục từ nhỏ tới lớn. Bạn sinh ra trong một cái gia đình đó, cách giáo dục đó. Bạn sẽ lịch sự như thế nào? Chúng ta quên mất đi sự thông cảm cho họ, bởi vì họ không được giáo dục như chúng ta. Nên chúng ta thiếu sự đồng cảm mỗi khi họ la mắng chúng ta vô lý."

Nghe tới đây mình cũng cảm thấy dưng dưng, ừ đúng là như vậy thật. Một đoạn video ngắn ngủi nhưng lại chứa nhiều giá trị nhân văn sâu sắc, từ lối sống đến cách nhìn cuộc đời. Thử hỏi đi hết quãng đời của mình, mấy ai lại nhận ra được những điều như thế. 

"Tôi tin chắc là càng về sau các bạn sẽ thấy là, mình thương bố mình nhiều hơn mà chẳng hiểu vì sao. Chỉ vì ... họ già rồi. Một ngày nào đó các bạn sẽ thấy bố mình già đi, tự dưng ổng yếu đi, lúc đó các bạn mới tự dưng thấy thương. Tại vì lúc đó họ không thể la mắng tụi mình nữa, họ không còn hơi sức để họ la nữa. Lúc đó mình mới bắt đầu thấy thương họ.

Đừng để quá muộn các bạn ạ!"

Ừ mình cũng lờ mờ nhận ra được điều ấy, lờ mờ thấy được rằng khi càng lớn mình lại càng thấy thương ba mẹ hơn. Nhất là khi chuyển ra ngoài và bắt đầu cuộc sống đơn thân. Nhưng mình hiểu được một điều rằng, trước tiên phải sống thật tốt cuộc đời của mình đã. Mình phải tốt thì mới có thể chia sẻ cái tốt ấy cho mọi người được, nhỉ.


21 tháng 4, 2020

[100daysTIL] Day 10 - Ferrite Bead Demystified

Hôm qua mình ra đồng lao động sau một chuỗi ngày lười nhác, nên là về nhà mệt quá mình đã quyết định sẽ nghỉ ngơi một ngày. Nhưng hôm nay mình đã quay trở lại với hành trình tự học rồi đây. Chủ đề ngày hôm nay sẽ tiếp tục bàn về khối nguồn, nhưng là về thứ linh kiện có tên Ferrite và phương pháp sử dụng nó.

Trong những ứng dụng yêu cầu bộ chuyển đổi hiệu năng cao, hoặc mạch có sử dụng sóng vô tuyến (Radio Frequency - RF) đều yêu cầu khối nguồn phải được thết kế sao cho hiệu suất được tối ưu. Do đó cần lọc tốt nhiễu cao tần từ nguồn và giảm nhiễu xuyên kênh giữa vùng tín hiệu tương tự với tín hiệu số của mạch.

Nhiễu dễ nhận thấy hơn trong các bộ switching regulators, nơi các nhiễu không mong muốn được sinh ra và gây ảnh hưởng tới bất kỳ ứng dụng nào nhạy cảm với nhiễu. Tuy nhiên do hiệu suất chuyển đổi năng lượng khá cao, nên switching regulators thường được sử dụng trong các thiết bị cầm tay, vì những thiết bị này cần có thời lượng sử dụng kéo dài và nhiệt độ bị giới hạn ở một ngưỡng nhất định.

Những tín hiệu tương tự và số của các IC thường được nuôi bởi các miền điện áp riêng biệt. Điều này giúp ngăn chặn nhiễu sinh ra trong quá trình chuyển mạch nhanh của tín hiệu số, tác động tới các tính hiệu tương tự làm giảm hiệu suất của bộ chuyển đổi này. Nhưng mà nghe có vẻ phức tạp :v Việc cách ly thích hợp tần số cao với các miền cung cấp điện áp, nguồn cung cấp lúc này có thể được  dùng cho cả tín hiệu tương tự va số, giúp đơn giản hoá thiết kế và tiết kiệm chi phí sản xuất cho mạch.

Một phương pháp hiệu quả để lọc nhiễu cao tần cho nguồn cung cấp là sử dụng Ferrite beads (Do mình không biết dịch sang tiếng Việt thế nào nên để nguyên cả cụm cho dễ hình dung vậy :). Ferrite bead là một linh kiện thụ động có tác dụng lọc các mức năng lượng cao tần trên một dải tần số tương đối rộng. Nguyên lý hoạt động của nó là, khi tới dải tần số hoạt động của mình nó trở thành điện trở và khử các nguồn năng lượng cao tần bằng cách chuyển hóa nó thành nhiệt năng. Ferrite bead được ghép nối tiếp với nguồn cung cấp và thường kết hợp với các tụ điện ở cả 2 phía của mình. Điều này sẽ tạo thành một mạng lưới các mạch lọc thông thấp để tiếp tục giảm nhiễu tần số cao cho nguồn cung cấp.

Sơ đồ mẫu cho một bộ lọc sử dụng Ferrite bead

Mô hình này phù hợp cho bất kỳ mạch phân phối nguồn nào, tuy nhiên khi sử dụng nó cần lưu ý về việc đáp ứng các đặc tính, cân nhắc dòng điện DC, hiệu ứng cộng hưởng LC và phương pháp damping. Sự hiểu biết về các yếu tố này góp phần làm cho quá trình thiết kế nhanh hơn và hiệu quả hơn. 

Phương pháp Damping

Phương pháp này giúp giảm giá trị cực đại của dòng điện khi cộng hưởng xảy ra, và tăng băng thông của mạch.

Sơ đồ tối ưu của phương pháp Dumping

Công thức tính các thành phần của mạch

Cuối cùng thì mình đã chốt lại được một phương án thiết kế khi sử dụng Ferrite bead cho thiết kế nguồn rồi. Sau một đống lý thuyết loằng ngoằng hại não, thì cái mình cần chỉ nằm ở tấm hình phía trên thôi =)) Cảm ơn mọi người đã theo dõi nhé. Chúc mọi người có một ngày mới tốt lành :'>

Tài liệu tham khảo:
Ferrite Bead Demystified - Jefferson Eco and Aldrick Limjoco
https://www.analog.com/media/en/technical-documentation/application-notes/AN-1368.pdf

19 tháng 4, 2020

[100daysTIL] Day 9 - Type of DC/DC Converter

Yo yo :3 Hế lô mọi người, mình đã quay lại rồi đây. Sau mấy ngày luyên thuyên về bản thân mình, hôm nay mình sẽ quyết định quay trở lại với chủ đề chính đó là "sự học" của bản thân. Giới thiệu sơ bộ về lĩnh vực mà mình theo đuổi - Hardware design (Thiết kế phần cứng cho các thiết bị điện tử). Ví dụ điển hình thì các bạn có thể nhìn qua chiếc điều khiển ti vi, hoặc là điện thoại, máy vi tính mà mình sở hữu. Nó nhỏ bé và tiện lợi, nhưng lại được tạo thành từ cả một tập thể trí tuệ từ các ông trùm công nghệ trên thế giới đấy :v Và mình thì chắc chắn là chưa đủ trình để thiết kế ra những vi mạch như vậy rồi. Nhưng tương lai không xa mình sẽ làm được thôi =))) Trước tiên thì mình cần đi từ những bước nhỏ cái đã, và bước nhỏ ngày hôm nay sẽ là nguồn chuyển đổi DC/DC.
------
Cảnh báo: Bài viết mang tính hàn lâm và học thuật nên chứa nhiều từ ngữ chuyên ngành lắm :v Mọi người cân nhắc trước khi đọc nhé :v
Đầu tiên thì DC/DC converter là tên của bộ nguồn chuyển đổi các mức điện áp một chiều với nhau: Ví dụ như hạ áp, hoặc tăng áp . . . Để một thiết bị có thể hoạt động ổn định và chơn chu, cần có một bộ nguồn ổn định để duy trì nhịp sống cho nó. Có rất nhiều mô hình thiết kế nguồn thông dụng phù hợp cho nhiều mức năng lượng khác nhau, đa dạng về giá thành và hiệu năng sử dụng. 

Các thông số của mạch DC/DC (như hiệu suất, độ gợn sóng, và đáp ứng tải) có thể thay đổi được thông qua các linh kiện bên ngoài. Để lựa chọn được các linh kiện phù hợp nhất, thì cần biết rõ về các thông số đầu vào, đầu ra và điều kiện hoạt động của mạch.

Hiện nay trên thị trường có nhiều nhà sản xuất đã phân phối các dòng IC tối ưu về hiệu năng, kích thước cũng như các linh kiện đi kèm cũng được refer sẵn trong datasheet. Do đó, chúng ta chỉ cần hiểu sơ bộ về nguồn và nắm được các từ khóa chính bằng tiếng anh là có thể tự thiết kế cho mình được một bộ nguồn phù hợp với các thông số kỹ thuật đã đề ra rồi. Nhưng vấn đề phát sinh khi chúng ta ghép nối khối nguồn này với các thiết bị khác trong mạch. Để có thể hoạt động ổn định và tối ưu về mặt hiệu suất thì cần rất nhiều chuyên môn và kinh nghiệm. Còn mình mới ở trình gà mờ nên bài viết này chỉ mang tính chất tham khảo thôi nha :v

Phân loại nguồn DC/DC

Các mạch chuyển đổi DC/DC được chia thành 2 loại sau:
Non-Isolated (Không độc lập):
- Basic (1 cuộn cảm): Buck (Hạ áp), Boost (Tăng áp)
- Capacity Coupling (2 cuộn cảm): SEPIC, Zeta, etc
- Charge Pump (Sử dụng tụ để chuyển mạch, và không dùng cuộn cảm)
Isolated Type (Độc lập)
- Forward transformer type
- Fly-back transformer type

Dưới đây là đặc điểm riêng của từng loại mạch:


1) Isolated Fly-back Converter

Bộ chuyển đổi này thường được sử dụng trong các ứng dụng có công suất lên đến 150W. Mô hình này chỉ sử dụng một linh kiện từ tính chính, đó là một cặp cuộn cảm cung cấp khả năng lưu trữ năng lượng và cách ly điện áp. Năng lượng được truyền tới cuộn thứ cấp và tải xuất hiện trog suốt thời gian T_off-time.


Mô hình này cho phép chuyển đổi nguồn AC thành DC với mức chi phí thấp, do tính đơn giản của nó và sử dụng các linh kiện phổ biến. Mức năng lượng bị hạn chế bởi dòng điện có độ gợn lớn trong đầu ra của tụ lọc, thêm vào đó một khối năng lượng cũng bị lưu trữ bên trong cuộn cảm. Do đó mạch Fly-back được sử dụng trong các mạch chuyển đổi DC/DC nhưng chỉ ở công suất thấp (<50 W) do điện áp đầu vào thấp và độ gợn sóng của dòng điện cao. Dạng sóng ở trên là cho chế độ không liên tục.

2) Forward Converter (Bộ chuyển đổi chuyển tiếp)

Đây là bộ nguồn hoạt động trong phạm vi 100-300W. Mô hình này sử dụng 2 linh kiện từ tính chính là: 1 máy biến áp và 1 cuộn cảm đầu ra. Mạch được dùng trong cả nguồn AC và bộ chuyển đổi DC/DC.


Không có năng lượng được lưu trữ trong biến áp, năng lượng được lưu trữ ở đầu ra của bộ chuyển đổi, bên trong cuộn cảm và tụ điện của mạch. Cuộn cảm đầu ra giúp giảm độ gợn sóng của dòng điện đi ra khỏi tụ và thể tích của biến áp, phụ thuộc vào tần số chuyển mạch cũng như năng lượng tiêu hao. Ở đầu cao hơn của phổ công suất, 2 transistor có thể được sử dụng, lúc này điện áp sẽ giảm đi một nửa nhưng bù lại dòng điện rơi trên tải sẽ cao hơn.



3) Buck Converter

Bộ chuyển đổi này được sử dụng để hạ điện áp đầu vào và tạo ra một điện áp đầu ra thấp hơn. Cấu trúc này được sử dụng rộng rãi trong các bộ chuyển đổi NIPOL (Non-Isolated Point of Load) hoặc POL, nhằm chia nhỏ điện áp đầu vào thành nhiều mức điện áp thấp hơn.


Trong thời gian chuyển mạch ON, dòng điện đi qua cuộn cảm tăng lên khi điện áp đầu vào cao hơn điện áp đầu ra. Lúc này cuộn cảm sẽ tích trữ năng lượng ấy lại. Thời gian chuyển mạch OFF, dòng điện từ cuộn cảm được phóng trở lại và cung cấp năng lượng cho mạch hoạt động. 

4) Boost Converter

Bộ chuyển đổi này được sử dụng để tăng điện áp đầu vào và tạo ra mức điện áp cao hơn. Chúng được sử dụng để tăng điện áp cho các nguồn DC, nhưng lại thưởng được sử dụng trong các nguồn AC trên 100W để các ứng dụng PFC (Power Factor Correction) hoạt động. Sau đây là sơ đồ của một mạch boost tiêu chuẩn và bộ chuyển đổi boost trong ứng dụng PFC.


Năng lượng được lưu trữ trong cuộn cảm trong thời gian ON, điện áp của cuộn cảm cộng với điện áp đầu vào được chuyển tới tụ đầu ra trong thời gian OFF công tắc. Thực tế, điện áp đầu ra có thể gấp 5 lần điện áp đầu vào.


Trong các cấu hình PFC tích cực, độ rộng xung của dòng chuyển mạch được điều khiển sao cho giá trị trung bình của dòng đầu vào tỉ lệ thuận với cường độ của dòng xoay chiều AC. Điều này buộc dòng điện đầu vào phải có dạng hình sin. 

4 điểm quan trọng trong thiết kế mạch DC/DC

Trong số các yêu cầu kỹ thuật cho mạch chuyển đổi DC/DC, những điều sau đây được coi là quan trọng:
- Hoạt động ổn định (Không bị hỏng trong quá trình vận hành như lỗi chuyển mạch hoặc cháy do quá áp)
- Đáp ứng tốt cho tải
- Độ gợn đầu ra nhỏ
- Hiệu năng cao
Những đặc điểm này có thể được cải thiện khi sử dụng những IC chuyển đổi khác nhau và các linh kiện ghép nối khác nhau. Mức độ quan trọng của 4 thông số này sẽ thay đổi với các ứng dụng khác nhau, do đó cần cần nhắc cách chọn các linh kiện cải các thông số này.

---
P/s: Đọc bài này có vẻ hại não cơ mà đây là chuyên mục dành cho việc học nên là . . . =))) Thôi thì chúc mọi người một ngày cuối tuần vui vẻ nha :v Cảm ơn mọi người vì đã đọc tới những dòng này nhé :3

18 tháng 4, 2020

[100daysTIL] Day 8 - My Memories (2nd Part)

Xin chào mọi người mình là Hoàng Anh và mình đã quay trở lại với các bạn rồi đây. Hôm qua mình có giới thiệu cho các bạn nghe về một quãng tuổi thơ hồi mình còn ngây ngô và khờ khạo :v Sau khi hồi tưởng lại những dòng kỷ niệm xa xôi ấy, tự dưng mình cảm thấy yêu đời ghê gớm. Ngày hôm nay mình đã nhắn tin thăm hỏi những người bạn cũ, rồi trò chuyện với họ quên mất thời gian luôn mà =))) Thì ra sau ngần ấy năm, những cảm xúc này vẫn sục sôi như vậy, cả những người bạn thời thơ bé ấy, họ cũng hiểu và yêu mến mình mà :v Roàiii !!!! Không rườm rà thêm nữa, hôm nay các bạn hãy cùng mình tiếp tục hành trình ngược dòng thời gian để thăm lại "ngày xưa" nhé =)))

Cho tôi xin một vé đi tuổi thơ
Đây là một cuốn sách rất hay và nhiều ý nghĩa phải phải không mọi người?
Khi mình lên cấp 2, mọi chuyện mới chính thức bắt đầu. Ngoài những người bạn thời cấp 1, mình đã biết thêm một vài cậu bạn mới. Chơi với nhau cũng có thể gọi là thân vì cứ tới lớp thì chỉ mong tới giờ ra chơi để được cùng nhau lần mò ra sân trường. 2 cậu nhóc gầy nhom, lom khom dưới một khoảng trời đầy nắng :v Chơi nhiều quá nên đứa nào cũng đen như mực, nhưng mà không sao :v Da hạt dẻ nhìn mới cute mà, phải không? =)) Giai đoạn giao thời từ cấp 1 lên cấp 2, học hành thì tệ hại, nhưng mà được cái là bạn bè ai cũng thân thiện, nhiệt tình và tốt bụng. Nên khi phải ra đi, cứ lưu luyến không thôi, cứ bồi hồi một góc.

Năm lớp 6, lớp 7 thấy mình học hành sa sút quá nên mẹ nuôi đã quyết định cho mình chuyển sang một ngôi trường mới, ở đó mẹ làm giáo viên dạy môn Văn. Và các bạn biết thế nào rồi đấy, bi kịch của mình chính thức bắt đầu từ đây :v Ngoài ra, do năm lớp 6, lớp 7 mình không còn chăm chỉ vượt khó nữa, nên các anh chị trong tổ chức GFO đã quyết định sẽ nhường suất của mình cho một bạn nhỏ nào đó khó khăn hơn, và cần giúp đỡ hơn. Mặc dù khi biết tin mình cũng rất buồn, nhưng kết quả nó phũ phàng như vậy rồi mình đâu thể chối cãi thêm được nữa. Và thế là mình ngậm ngùi chuyển tới một ngôi trường mới, bắt đầu hành trình làm lại cuộc đời.

Vốn là một cậu nhóc thều thều thào, thân hình thì rệu rạo, học hành lại chẳng ra sao . . . Bước sang một môi trường mới, mình đã nghĩ rằng phần nhân cách này phải thay đổi đi thôi. Và thế là mình bắt đầu tập chống đẩy, gập bụng, lên xà . . . Tuy rằng nó không đem lại cho mình quá nhiều kết quả. Nhưng cũng giúp mình có thêm chút sinh lực để tiếp tục lăn lộn với dòng đời. Môi trường mới và những người bạn mới, 2 năm đó có lẽ chưa đủ dài. Có lẽ các bạn cũng quên mất mình là ai, nhưng thôi. Không sao cả, khi nào họp lớp thì nhớ gọi mình nha :v

Nhớ lại 2 năm đó cũng thấy bản thân mình thật nực cười, hồi ấy mình bốc đồng lắm cứ mỗi lần bị mẹ mắng là lại lên lớp kể cho các bạn nghe. Nhưng cũng kỳ lạ là chỉ nghe các bạn vỗ về vài câu là mình không còn cảm thấy đau đầu hay bực tức gì nữa, lạ lùng thật nhỉ. Có lẽ từ chính từ giây phút ấy, mình đã nhận ra rằng cuộc sống này thật tốt nếu có bạn bè để sẻ chia với nhau những nỗi niềm. Không phải do bẩm sinh đâu, nhưng thật sự mình đã ngộ ra điều ấy đấy.

Sau 2 năm đèn sách miệt mài, mình lại bắt đầu hành trình thi vào trường Nguyễn Thị Minh Khai. Mặc dù với nhiều người thì đó không phải một ngôi trường tên tuổi hay danh tiếng lẫy lừng, nhưng cũng đáng để mình tự hào mỗi khi nhớ lại. Ở nơi này mình đã học được nhiều điều, đã gặp thêm được nhiều người bạn tốt. 

Thanh xuân của mình thực sự đã khép lại ở nơi này. Nói thế nào nhỉ? Đó là quãng đời mình nhớ nhất chăng? Hay phải gọi là không nỡ quên đây? Mối tình đầu tiên của mình được sinh ra, lớn lên và kết thúc cũng dưới bóng cây nơi này. Lần đầu tiên mình biết đến cảm giác được yêu thương, lần đầu tiên có người quan tâm tới cảm xúc của mình, quan tâm tới những gì mình đã trải qua. Và cậu ấy cũng là người đầu tiên muốn cùng mình vượt qua tất cả những dông bão cuộc đời. 
"Tôi đi bên, lòng vui không tiếng, tưởng như thế giới vừa được sửa sang. Tâm hồn tôi ai vừa trang hoàng lại, để bên cạnh nỗi đau vơi kịp có nỗi vui đầy, để tiếng chuông mùa phục sinh reo leng keng trong ngực, suốt ba tháng phượng hồng không một bóng mây giăng."
Mắt biếc - Nguyễn Nhật Ánh

Đây cũng chính là cảm xúc sục sôi trong lồng ngực mình hồi ấy vậy. Cô gái ấy đã bước tới bên cạnh thế giới của mình, giúp mình sửa sang lại góc tâm hồn cũ kỹ, giúp mình có thêm động lực để bước đi để hướng về phía trước. Các cụ vẫn bảo rằng "con gái trưởng thành trong khi yêu, còn con trai lại trưởng thành sau khi yêu". Quả thực, sau mối tình đầu tiên mình đã suy sụp rất nhiều, phải mất đến hơn 1 năm trời mới có thể trở lại và giao tiếp bình thường với các bạn trong lớp. Hồi ấy mình vẫn hay chọn những cung đường thật dài, thật đông người qua lại để về nhà. Rồi cứ thế, mỗi lần đạp xe mình lại thả hồn vào cơn gió và bắt đầu nghĩ ngợi xa xăm về thế giới, về cuộc đời, về cả những giấc mơ còn chưa trọn vẹn ...

Năm cuối cấp thì mình mới bắt đầu sống thả phanh. Bắt đầu mở lòng với bạn bè trong lớp, cố gắng sống hoà đồng nhất có thể, và . . . tất nhiên là phải tập trung để ôn thi rồi =)) Những ngày cuối cùng, cũng kịp xin được đôi ba dòng lưu bút của các bạn, may ghê gớm :'> Bây giờ khi thoảng mình hay lôi ra đọc rồi nhớ về, chẹp miệng: "Thì ra mình của ngày xưa đã từng là một người như thế". Khẽ cười một tiếng rồi lắc đầu và tiếp tục quay cuồng với mớ bòng bong của thực tại =)) 

Hôm nay mình xin phép tán dóc tới đây thôi, vì thực sự là mình mệt lắm rồi. Trí não của mình không còn tiết ra được những câu hài hước nữa :v Cảm ơn các bạn đã đọc tới những dòng này nhé. Chúc các bạn có một ngày cuối tuần vui vẻ ^^ 

17 tháng 4, 2020

[100daysTIL] Day 7 - My Memories (1st Part)

Mấy ngày vừa rồi, quả thực là mình có hơi bị quá sức một xíu khi phải viết về chuyên ngành và những kiến thức tương đối hàn lâm. Và có vẻ như nó bòn rút trí lực và sức lực của mình ghê gớm quá nên bắt đầu từ bài viết này mình sẽ thay đổi một chút. Từ  nay về sau, những bài viết dưới hashtag này sẽ không chứa các kiến thức hàn lâm về chuyên ngành của mình nữa, thay vào đó mình sẽ tập trung vào những kiến thức bên lề nhiều hơn. Nhưng bù lại thì mình sẽ để những bài viết học thuật kia sang một hashtag khác như vậy có vẻ ổn hơn nhỉ =)))

Yo! Mình sẽ đổi gió một chút và chuyển qua chủ đề tình cảm đi cho nó nhẹ nhàng và thoải mái. Hôm nay mình muốn chia sẻ với các bạn về một vấn đề đó là những khó khăn trong cuộc sống.

Một bức ảnh khá là ý nghĩa cho chủ đề này nhỉ =)))
Đây có lẽ là một chủ đề mà mình không muốn nhắc tới nhất, vì sao ư? Vì mình là một người tương đối nhạy cảm, lại có nhiều thời gian rảnh nên đêm về hay nghĩ ngợi vẩn vơ, rồi lại thẫn thờ ngồi chờ trời sáng.

Cũng chả hiểu mình đã nghĩ những gì mà có thể cứ quanh quẩn một nỗi sầu như vậy nữa :v Nói vậy chứ thực ra mình hiểu tại sao mà, tại vì những mặc cảm mình có với cuộc sống này, vì những hiện thực phơi bày ra trước mắt, vì hai bàn tay mình nó trắng quá chứ sao . . . :v

Hồi nhỏ ba mẹ vẫn dạy mình rằng, cuộc sống của mình thì mình phải tự lo chứ không thể đợi ai lo cho mình được. Thế nên nhỏ xíu mình đã được rèn rũa bằng cách thay đổi chỗ ở rất nhiều lần. Lần đầu tiên là mình được về ở với ông bà suốt năm lớp 1. Ông bà thương mình lắm nên cưng mình hết mực luôn, hồi ấy mình còn hay "bám váy bà". Bất kể là ra chùa hay đi thăm hỏi những người hàng xóm mình cũng lóc cóc theo sau, nhờ vậy mà mình đã có tháng hè ngắn ngủi được sống trong chùa. Cái bầu không khí tĩnh mịch ấy đã từng khiến mình say mê lắm, cơ mà cũng cũng có vài lần sợ "són" ra quần khi đến lượt mình đi tắt đèn mấy phòng thờ tự, nhìn mấy bức tượng là mình đã thấy bủn rủn chân tay rồi :v Nếu ngày xưa không bị dọa ma nhiều thì mình cũng không nhát như vậy đâu :v
Ở với ông bà hết năm lớp 1 thì mình học hành tệ quá, lại hay la cà với đám bạn gần nhà thế là mình bị cử sang nhà bác ở, vì bác gái là cô giáo dạy cấp một ở trường làng mà :v 

Nhà các bác cách nhà ông bà chỉ khoảng 5 phút đi bộ, nên thỉnh thoảng mình vẫn chạy về nhà ông bà chơi. Thấy mình chăm la cà mà học hành thì kém nên bác gái đã quyết định sát sao hơn với việc học tập của mình. Từ đó mình không còn được đi chơi nữa, những lúc học xong bài mình sẽ phải học các rửa bát, dọn dẹp nhà cửa, giặt dũ và cả nấu cơm nữa . . . Chăm chỉ như vậy thì chắc chắn kết quả phải đi lên rồi, mình sẽ "không khoe" là nhờ vậy mà mình được đi thi viết chữ đẹp đâu :v Và thế là mình đã bước sang lớp 3 trong sự ngỡ ngàng vậy đấy =))) 

Rồi đến một ngày đẹp trời nọ, mình cà khịa đám bạn cùng lớp và thế là bị tẩn cho túi bụi. Hậu quả là về nhà ngày hôm đó mình đã không ăn được gì mà phải ôm bụng nằm cả buổi. Thế là mình được ông bà và hai bác hộ tống lên bệnh viện của huyện để chuẩn đoán bệnh tình. Tèn ten, tự dưng mình trở thành người có bệnh: "Cháu nó bị đau ruột thừa rồi các bác ạ, phải mổ ngay chứ không thì nguy hiểm lắm" Và đó là lần đầu tiên mình biết cảm giác lên thớt nó ra sao, phải ăn cháo hành trong nguyên một tháng nó thế nào. Đúng là phê hết biết :v Đến bây giờ nhắc lại mình vẫn thấy phê nữa là :v
----
Ngày mình được ra viện cũng sắp tới gần, nhưng trong người vẫn cảm thấy không khỏe và vẫn cứ kêu đau với mẹ :v Rồi tình cờ chiếc băng y tế rơi ra ngay sau đó => Toang !!! Bụng của mình nó đang hoại tử dần dần. 

Rồi mẹ mình hốt hoảng, cùng các bác sống chết chuyển mình ra khỏi viện, mặc cho sự can ngăn của các y bác sỹ nơi này. Mình được chuyển tới bệnh viện tuyến cao hơn để tiến hành cấp cứu trong tình trạng khẩn cấp. May mắn là mẹ mình có quen một bác sĩ trưởng khoa đang trực ở phòng cấp cứu này, nên có lẽ lần đầu tiên mình được thấy, một bác sỹ trưởng khoa lại đứng ra ký giấy nợ cho bệnh nhân. Nếu được chứng kiến cảnh đó chắc mình cũng không khỏi rưng rưng, hoặc sẽ vỡ òa trong hạnh phúc và biết ơn cũng chưa biết chừng. 

Sau ca phẫu thuật 3 tiếng đồng hồ (hoặc 6 tiếng, mình cũng không nhớ rõ lắm), mình được chuyển tới phòng hồi sức trong trạng thái hôn mê bất tỉnh :v Và thế là 2 tháng tiếp theo đó mình đã được trải nghiệm cuộc sống của một bệnh nhân là như thế nào. Có một điều mình chưa từng nghĩ tới trước đây đó là "tiền viện phí", không biết mọi người đã xoay sở ra sao. Vì thời điểm đó, gia đình mình không hề khá giả, nếu không muốn nói là nghèo. 

Bác sỹ nói rằng, nếu chậm 30' nữa thì thời gian của mình sẽ hết, và không thể cứu được. Có vẻ như mình đã nhận được một phép màu to lớn từ gia đình của mình, và cả vị bác sỹ đáng kính đã có mặt trong ca phẫu thuật hôm đó. Thật sự thì chưa bao giờ mình ngồi nghiêm túc nhớ lại những kỷ niệm xa xưa ấy, nhưng bây giờ mình đã đủ lớn rồi nên phải hồi tưởng lại dòng ký ức ấy thôi. Đó là năm đầu tiên mình đón tết trong bệnh viện, lúc đó mình đã rất vô tư và không cảm nhận được gì nhiều. Nhưng mình vẫn nhớ về cái buổi chiều 29 tết đó, mình được bố chở về nhà để đón tết dọc đường đi thì bị tuýt còi vì vượt "đèn vàng". Hai bố con trong túi chẳng có lấy một xu, nên chỉ còn cách kể lể tâm tình với chú công an giao thông rằng: "cháu nhà tôi nó vừa mới xuất viện, hai bố con đang vội quá muốn về nhà để chuẩn bị con gà nắm xôi để thắp hương cho tổ tiên, có gì chú bỏ qua và thông cảm cho bố con tôi nhá". Thấy mủi lòng nên chú cũng chỉ vỗ vai rồi nói vài câu chúc tết và cho qua :v 

Do bệnh tình khi thoảng hay tái phát, lâu lâu lại dính ruột một lần nên mình được chuyển tới nhà cô chú ở để gần với bệnh viện hơn. Cô chú thương mình lắm, nên nhận mình làm con nuôi và mỗi tháng phải đóng thuế đều đặn cho nhà nước nữa :v Nghĩ cũng tội nhưng mà thôi, mình biết làm gì đâu. Rồi cuộc sống mới của mình chính thức bắt đầu ở nơi này. Mình được chuyển hẳn lên thành phố, học ở một ngôi trường gần nhà và bắt đầu làm quen với những người bạn mới. 

Mình tiếp tục học lớp 3 ở trên này, rồi tham gia nhiều hoạt động của trường nữa. Từ đánh cờ, đến kể chuyện rồi thi thố nọi kia, nói chung là cũng sôi nổi phết :v Và kết thúc năm lớp 4, mình được cô giáo chủ nhiệm giới thiệu tới một tổ chức có tên là GFO (Gentle Fun Organization). Và đây là logo của họ:
Giới thiệu sơ bộ về tổ chức này một chút nhé. Đây là một tổ chức từ thiện do lưu học sinh Việt Nam tại Singapore thành lập, mục tiêu của họ là chung tay giúp đỡ các em nhỏ có hoàn cảnh khó khăn và có thành thích tốt trong học tập. Rồi mình được trở thành một phần của nơi này, được gần gũi với những người bạn có những câu chuyện đáng buồn hơn cả bản thân mình. Được các anh, các chị quý mến. Hôm nay, ngồi nhớ lại những kỷ niệm này mình lại thấy dưng dưng mà nghẹn ngào ghê gớm. Mình đã may mắn tới cỡ nào không biết nữa. Hồi ấy các anh chị có hỏi, khi lớn lên em muốn làm gì? Mình vẫn còn nhỏ quá nên chưa ý thức nghiêm túc về những lời nói của mình, chỉ cười xòa và khẽ đáp "em muốn được giống như các anh chị, muốn đi giúp đỡ nhiều người ạ". Nhưng bấy lâu nay mình đã quên mất câu nói ấy, quên mất đi những cảm xúc chân thật mà mình từng có với mọi người. 

Nếu có thể thì em muốn được một lần nữa, nói với anh chị rằng "Em cảm ơn anh chị thật nhiều !!!". Thì ra những phép màu vẫn luôn xuất hiện trong cuộc sống của mình, nhưng bấy lâu nay mình đã quên đi mất. Nhưng bây giờ mình đã nhớ lại rồi, nhớ lại bầu trời tuổi thơ năm ấy. Nhớ lại những con người đã giúp cuộc sống của mình tốt đẹp hơn. 

Nhất định sau này mình phải sống có ích, phải tốt hơn bây giờ. Nhất định là như vậy!!!

P/s: Cảm ơn các bạn đã đọc những dòng tâm trạng xàm xí của mình. Với mình thì những dòng này thực sự ý nghĩa, may quá ngày hôm nay mình được ngồi nhìn lại những dòng ký ức đã qua, may quá những ký ức ấy vẫn chưa kịp nhạt nhòa. Thật là may quá !!! 

16 tháng 4, 2020

[100daysTIL] Day 6 - Coding Style

Bản thân mình không phải là một người hoạt động chuyên sâu về lĩnh vực lập trình, nhưng mình cũng có tìm hiểu về một vài điều căn bản như là Coding Style. Và chủ đề ngày hôm nay, mình sẽ chia sẻ những kiến thức về khía cạnh này mà mình đã tìm hiểu được. Bài viết hôm nay sẽ là phần tiếp theo của cuốn sách "Lập trình nhúng: Chuyện chưa kể" của tác giả Nguyễn Thành Công. 

Ảnh được lấy từ trang web này
Hầu hết các trang mình đọc khi nhắc về coding style, họ sẽ đưa ra các quy chuẩn về cách đặt tên biến, vị trí của dấu chấm, dấu phẩy, dấu ngoặc nhọn,  . . . Nhưng tác giả của cuốn sách này lại có phương thức tiếp cận hoàn toàn khác. 

Đầu tiên thì, theo bạn coding style là gì? Có lẽ bạn sẽ ý thức sâu sắc hơn về việc này sau khi: bạn thấy code của mình rối tung rối mù, viết xong một thời gian sau quay lại đọc thì . . . tuyệt vời, chả hiểu mô tê gì sất; lấy code của thằng bạn đọc để fix bug cho nó mà đọc muốn rớt con mắt ra ngoài; hay khi thêm một tính năng mới thì toang, phải bỏ hết đống code cũ và làm lại từ đầu. Và coding style giúp bạn giải quyết mấy chuyện đó, thật tuyệt vời !!! Những bậc cao nhân trong nghiệp lập trình chỉ cần nhìn những dòng code của họ thôi là chúng ta đã thấy phê rồi. 

Có 3 yêu cầu chính mà mấy gã lập trình viên cần đạt được là: Chạy được, dễ thay đổi, dễ hiểu.
  • Chạy được:  Đây là ưu tiên số một rồi, viết xong mà không chạy được thì cũng vứt đi thôi =))
  • Dễ thay đổi: Trên thực tế, các yếu tố đầu ra luôn thay đổi không ngừng. Giống như việc khách hàng muốn cái này, rồi thấy cái kia hay quá lại đòi thêm vào a,b,c thứ nữa; hoặc ông sếp của bạn tìm được phương án ngon cơm hơn cái hiện tại thế là bạn buộc phải bẻ lái giữa đường, . . .
    Ví dụ cụ thể như việc chúng ta thiết kế một cái xe nhỏ nhỏ chạy theo đường kẻ sẵn, làm xong rồi lại muốn gắn thêm cái camera cho nó chạy, sau khi xong rồi lại muốn gắn thêm cái đèn nhấp nháy cho vui mắt chẳng hạn. Hoặc mục tiêu ban đầu thực hiện xong rồi mà bạn thấy nó chạy cứ bị delay, tác vụ trễ lên trễ xuống, muốn viết lại xíu để nâng cấp firmware lên nhưng nhìn đi nhìn lại thấy đống code của mình nó bùng nhùng ghê gớm. Chẳng nhẽ phải đập đi xây lại à???
  • Dễ hiểu: Trong thực tế, bạn sẽ không phải làm các dự án một mình mà sẽ có một team để support lẫn nhau. Bạn sử dụng code của người khác để viết thêm, và người sau sẽ sử dụng code của bạn để phát triển các tính năng mới, hoặc bảo trì chẳng hạn. Hay khi bạn đọc lại code của mình sau một thời gian dài không sử dụng, lúc đấy lại lắc đầu thở dài: "không biết ngày xưa mình vẽ hươu vẽ vượn gì trong đây nữa?"
    Do đó, bạn phải viết code để người khác có thể hiểu được.
Và coding style là con đường giúp bạn chinh phục được các mục tiêu trên. Nhiều bậc cao nhân, cũng như các lập trình viên lão luyện đã khẳng định thế này: "Lập trình không có khó, cái củ chuối nhất là ngồi fix bug kìa". Thế nên việc hình thành một coding style sẽ giúp cuộc sống của bạn trở nên dễ thở hơn rất nhiều đấy. 
Ngoài việc chịu khó ngồi code, bạn còn phải chăm đọc sách hoặc thỉnh giáo các sư phụ, để có thể làm việc hiệu quả hơn. Rồi tới một ngày không xa, bạn sẽ nhận ra một điều là viết code cũng giống như viết văn xuôi vậy.

1) Module hóa

Mọi hệ thống lớn đều được cấu thành từ các module nhỏ, nên là bạn hãy chia nhỏ chương trình của mình thành các module, các file có chức năng khác nhau để dễ quản lý hơn nhé =)))

Module hóa trong trình biên dịch Keil C
Trong trình biên dịch Keil C các file có chức năng tương đương nhau được gộp vào các chung một thư mục. Dựa vào các thư mục riêng biệt chúng ta có thể kiểm soát code của mình một cách tốt hơn. 


Nguyên tắc chia module: Module A có thể biết module B làm được cái gì nhưng nó không biết module B làm điều đó như thế nào. Ví dụ bạn sử dụng hàm truyền dữ liệu Serial.wire() trong Arduino chẳng hạn, chắc chắn hàm sẽ truyền dữ liệu đi cho bạn, nhưng bạn không cần biết nó chuyển dữ liệu ấy đi như thế nào. A giao việc cho B theo một phương thức quy định sẵn và chấm hết. B sẽ báo về cho A rằng công việc ấy có thành công hay không, hoặc nếu thất bại thì thất bại vì lý do gì. 

Điều này giúp làm tăng tính độc lập giữa các module với nhau, làm cho cả chương trình trở nên rõ ràng hơn. Ví dụ khi lỗi xảy ra bạn có thể biết được ở A hay B gây ra lỗi, giúp bạn có thể khoanh vùng phạm vi lỗi của chương trình một cách tốt hơn. Điều này giống như việc khi bạn nâng cấp thư viện mà chương trình chính của bạn vẫn hoạt động bình thường.

2) Cấu trúc chương trình chính và cách gọi hàm

Trong một ứng dụng nhúng, hàm main thường cấu thành bởi các hàm khởi tạo và vòng lặp chương trình.
--------------------------------------------------------------
int main(void)
{
  system_init()// Hàm khởi tạo
  while(1)       // Vòng lặp chương trình
  {
    //Do what you want
  }
}
--------------------------------------------------------------
Trên đây là cấu trúc cơ bản của một chương trình nhúng. Ngoài ra còn một khái niệm không kém quan trọng nữa đó là mức trừu tượng. Chúng ta cùng xem xét ví dụ đọc cảm biến sau:
--------------------------------------------------------------
void read_sensor(void)
{
  request_sensor_data();
  wait_for_sensor_data();
  save_sensor_data();
}
--------------------------------------------------------------
Việc đầu tiên sau khi gọi hàm read_sensor() là gửi một yêu cầu tới cảm biến, sau đó đợi phản hồi và lưu lại giá trị phản hồi vào đâu đó trong bộ nhớ. Bạn có thể thấy mức trừu tượng của hàm read_sensor() sẽ cao hơn các hàm:
request_sensor_data();
wait_for_sensor_data();
save_sensor_data(); 
Vì nó bao gồm các hàm này.

Tóm lại là, hãy phân thứ bậc cho các hàm (giống mô hình đa cấp ý :). Bạn có thể quan sát hình vẽ dưới đây để có thể hình dung vấn đề một cách dễ dàng hơn :D

Mô hình đa cấp
Nhớ là không phải mình làm màu mà viết tên hàm tiếng Anh đâu, vì tiếng Việt không dấu nó viết như teen_code vậy đọc không nổi, mà nhiều khi hiểu lộn nghĩa nữa :)

3) Hàm số 

Việc phát minh ra hàm con là phát minh vĩ đại giống như phát minh ra cái máy tính vậy. Nếu không có hàm con thì bạn thử tưởng tượng viết chương trình một lèo từ đầu tới cuối xem :v  
Dưới đây là một số lưu ý khi sử dụng hàm:

a) Đặt tên hàm
Tên hàm được đặt ra để xác định cái hàm con đó nó làm cái gì. Ví dụ như read_sensor() chẳng hạn, dù bạn chẳng cần biết cảm biến loại gì và cách đọc nó ra sao nhưng bạn cũng hiểu sơ qua về tác dụng của cái hàm này. 
Thêm nữa, mỗi hàm chỉ nên thực hiện một chức năng duy nhất. Nó chỉ làm những nhiệm vụ mà tên hàm nói đến, không hơn không kém. Trong khi viết code thì mọi thứ nên được viết tường minh ra. ví dụ như hàm send_data() để gửi dữ liệu, nếu gửi dữ liệu xong mà muốn xóa dữ liệu cũ đi thì gọi hàm delete_data()

Không nên nhét hàm delete_data() vào bên trong hàm send_data() như muốn hiểu ngầm "gửi xong rồi thì xóa đi chứ còn giữ lại làm gì". Vì nhiều khi có việc cần dùng đến nó. Viết tường minh và tránh những chỗ hiểu ngầm sẽ giúp người đọc nắm đủ các bước thực hiện của bạn. 
Hàm được thực thi càng chính xác với cái tên của nó bao nhiêu thì code của bạn càng dễ đọc bấy nhiêu. Và đặc biệt, tránh kiểu viết trẻ trâu thích thể hiện, viết đoạn code thật ngầu, thật nhỏ xíu mà chạy vẫn ngon. Sau này chỉ khổ cho mấy người phải đọc lại nó.
b) Độ dài của hàm
Nguyên tắc để code dễ đọc là viết ngắn thôi, với lại tên hàm phải đặt đúng với yêu cầu.

Trong một số trường hợp, hàm chỉ hoạt động tốt khi nó đủ dài, cắt ngắn lại thành ra dở. Tuy nhiên, đa số các trường hợp chúng ta có thể cắt một hàm dài bất tận ra thành những hàm nhỏ, chia giai đoạn ra rồi đặt các hàm con theo từng giai đoạn của chương trình. Cũng có rất nhiều trường hợp, hàm viết ra để gọi có một lần. Tuy không có tác dụng là tránh lặp lại code như mục đích của những hàm thông thường, nhưng lại làm cho chương trình của bạn trở nên gọn gàng và dễ đọc hơn rất nhiều.

Theo các bậc cao nhân thì độ dài dưới 10 dòng là okie nhất, trên 20 dòng thì nên cắt nó đi.

c) Truyền tham số
Tham số là nơi giao tiếp giữa hàm này với hàm kia. Nó là nơi giao thương nên giống như cái chợ vậy, rất nhiều vấn đề phát sinh. Nên một hàm cần hạn chế tối đa các đầu vào, chỉ dữ lại những tham số tối quan trọng. Nếu phải viết một hàm với 5 thông số đầu vào thì làm sao bạn nhớ được thứ tự của các tham số đó mà truyền cho đúng đây?

d) Bảo vệ hàm số
Giả sử bạn viết một hàm chia a cho b như sau:
--------------------------------------------------------------
float a_divide_b(int a, int b)
{
  return (float)a/b;
}
--------------------------------------------------------------
Rồi bỗng một ngày đẹp trời, có thanh niên lấy hàm bạn viết ra và sài như sau:
float result = a_divide_b(2, 0);
Biên dịch thì không báo lỗi nhưng chạy thì xịt khói tứ tung. Đây là lỗi chia cho 0 nên máy nó không tính được và thế là cứ chạy loạn xạ. 

Bởi vậy cho nên mỗi chương trình có truyền tham số vào, hãy nhớ kiểm tra xem nó có hợp lệ hay không, nếu tính toán thì tham số đưa vào có thuộc tập xác định hay không . . . 
Nguyên tắc kiểm tra là: Không tin cha con thằng nào cả. Đừng hy vọng ai đó sẽ truyền vào than số hợp lệ, thường thì họ chả quan tâm đâu. Nên hãy nhớ kiểm tra đầu vào hợp lệ trước khi thực thi chương trình nhé.

4) Các biến số

Tất nhiên là khi lập trình bạn đều phải khai báo biến, rồi sử dụng các biến đó để lưu trữ, tính toán. Thế nên việc sử dụng cẩn thận các biến là điều rất quan trọng để chương trình có thể chạy được và ít phát sinh lỗi.
a) Đặt tên biến
Cũng giống như đặt tên hàm, tên biến nói lên ý nghĩa sử dụng của chính nó. Hồi mới học code, chúng ta vẫy hay sử dụng các chữ cái như: a, b, c ... hoặc x1, x2 ... để đặt tên biến. Nhưng mà tin mình đi, mấy cái đó đọc nhức mắt kinh khủng, nhiều khi trong lúc code bạn cũng không nhớ khai báo nó để lưu cái gì nữa. Tai hại hơn là bạn lại lưu vào x1 giá trị mà đáng lí ra phải lưu vào x2.

Theo thường lệ thì các chữ cái i, j, ... được dùng trong vòng lặp cho tiện. Nhưng còn các loại biến khác thì hãy đặt cho nó cái tên để gắn liền với chức năng của nó.

b) Các lưu ý khi khai báo biến
  • Tránh sử dụng biến toàn cục (Global variable): Biến toàn cục được khai báo bên ngoài hàm, là nơi mà bất kỳ hàm nào cũng có thể truy cập và chỉnh sửa nó.

    Hãy tưởng tượng là trong chương trình của bạn sử dụng biến toàn cục, và có khoảng 20 hàm được khai báo. Hàm nào cũng có quyền truy cập vào biến toàn cục này, nên bất cứ lúc nào nó cũng có thể bị thay đổi. Tệ hơn nữa nếu file code này không chỉ có một mình bạn viết, mà lại có nhiều người viết chung; việc không hiểu ý mà tự tiện truy cập vào biến toàn cục là chuyện bình thường.

    Thế nên hãy hạn chế sử dụng biến toàn cục hết mức có thể, và tốt nhất là không khai báo kiểu biến này càng tốt. Khi nhất thiết phải sử dụng biến toàn cục thì nên chú thích rõ ràng, nơi nào được đọc, ghi biến này để tránh việc thay đổi giá trị của biến mà không biết trước.

    Biến toàn cục là đồ công cộng. Ai cũng đụng chạm nó được. Mà đồ công cộng thì không an toàn. Chỉ vậy thôi =))))
  • Hãy khởi tạo giá trị cho biến. Khi khai báo biến mà không khởi tạo giá trị cho nó, CPU sẽ chỉ định vị trí biến này trong bộ nhớ điều này có thể gây lỗi khi bạn sử dụng các phép toán cho nó. Ví dụ như phép OR chẳng hạn, kết quả lúc này sẽ là bạt ngàn các con số khác nhau nhé :v
  • Luôn chắc chắn rằng biến của bạn chứa đủ giá trị mà bạn muốn lưu trong nó. Ví dụ như biến được khai báo kiểu uint_8 thì khoảng giá trị của nó sẽ nằm trong 0 - 255. Nếu bạn tình cờ ghi vào trong biến này một giá trị lớn hơn 255 thì bạn biết điều gì sẽ xảy ra rồi đấy, nó sẽ xịt khói tùm lum cho mà coi :v

5) Chú thích

Chú thích (Comment) Tưởng đơn giản nhưng lại là thành phần hại não nhất trong khi viết chương trình. Trong ngôn ngữ C, chú thích thường theo sau dấu // hoặc /* */. Vậy thì nó hại não ở chỗ nào được nhỉ? 

Nếu chú thích đúng cách thì chương trình sẽ rất dễ đọc, và người khác (ngay cả bạn nữa) cũng nắm được đại ý nhanh chóng. Nhưng khổ cái là chương trình thay đổi liên tục, mà hễ thay đổi thì chỉnh sửa lại code thôi, chứ không ai chịu sửa lại chú thích làm chi (vì vốn dĩ sửa code cũng đã đuối lắm rồi). Nên làm cho người đọc tưởng rằng mình đã hiểu, nhưng một hồi đọc tới code thì thấy nó sai sai :v

Thế nên cách chú thích tốt nhất là hạn chế nó hết mức có thể. Sử dụng tên hàm, tên biến như là một loại chú thích thì sẽ hiệu quả hơn nhiều. 
Tất nhiên là không nên bỏ hẳn nó đi, vì nếu được sử dụng đúng cách thì nó sẽ đem lại hiệu quả rất nhiều. Ví dụ như các chương trình thường đặt chú thích lên đầu trang để giải thích khái quát về ý nghĩa sử dụng của nó. Hoặc trong file .h, các chú thích được đặt lên trước tên hàm để giải thích công dụng của hàm đó, để người sử dụng có thể sử dụng luôn thư viện mà không cần phải đọc tới file code. Đôi khi những đoạn code khó đọc, tính logic cao thì nên có chú thích để giải thích xem ý tưởng đằng sau đoạn code đó là gì, nó giải quyết vấn đề gì.
Ui ui, sau mấy tiếng đồng hồ ngồi gõ thì bây giờ cũng đã 3h44 phút sáng mất rồi. Mình phải đi ngủ đây, hẹn gặp lại các bạn vào ngày mai nhé. Nhân tiện thì chúc một ngày mới tốt lành ^^

P/s: Các bạn có thể tham khảo rõ hơn ở trong cuốn CLEAN CODE của tác giả Robert C. Martin.

15 tháng 4, 2020

[100daysTIL] Day 5 - Lithium-ion Batteries Charging : An Overview

Yo! Lại là mình Hoàng Anh đây. Hôm nay mọi người có khỏe không, có đúc kết được gì cho một ngày của mình chưa? Ngày hôm nay của mình tuy không thật thú vị nhưng mà mình cũng đã hiểu ra được một số vấn đề. Và vấn đề mình muốn nhắc tới ngày hôm nay chính là Pin Lithium-ion, cùng theo dõi với mình nhé =)))

Hình được lấy từ trang web https://www.batteryjunction.com/panasonic-ncr18650b-3400.html
Lithium-ion là loại pin có thể sạc đi sạc lại rất nhiều lần, nó được ứng dụng rộng rãi trong các mạch điện tử điển hình nhất phải kể đến là điện thoại và các dòng máy tính đời đầu. Sở dĩ được ứng dụng rộng rãi như vậy là vì kích thước nhỏ, gọn, dung lượng pin lớn và giá thành phải chăng. Nhưng nó cũng tiềm ẩn nhiều rủi ro khi sử dụng như dễ chập cháy, tuổi thọ pin không cao. Đối với những sinh viên ngành điện tử, không có nhiều kinh phí như mình thì dòng pin này là thích hợp nhất rồi. 
Điện áp của pin bị ảnh hưởng bởi dung lượng của nó, nên chúng ta có thể kiểm tra dung lượng của pin một cách tương đối thông qua điện áp nằm giữa 2 cực của nó. Ví dụ như hình ở trên điện áp bình thường của Pin là 3.7V. Khi sử dụng thì dung lượng pin bị giảm theo thời gian, nên mức điện áp lúc này sẽ nhỏ hơn giá trị 3.7V, nếu giá trị điện áp nhỏ hơn ngưỡng 2,5V thì sẽ không thể sạc được nữa và lúc này pin rơi vào trạng thái over-discharge.

Tổng quan về quá trình sạc pin Lithium

Sạc pin gồm có 3 quá trình chính là: Sạc trước, sạc ổn dòng và sạc ổn áp.

Hình được lấy từ Datasheet của IC sạc MC32BC3770 của hãng NXP Semiconductors

  1. Pre-Charge (Sạc trước)
    Chế độ sạc trước được bật khi điện áp của pin ở ngưỡng điện áp thấp. Lúc này IC sẽ tiến hành sạc chậm để điện áp của pin đạt ngưỡng ~3.5V,  trong giai đoạn này dòng sạc được giữ ổn định. (Trong sơ đồ là 150 - 450mA)
  2. Sạc ổn dòng
    Sạc ổn dòng diễn ra ở đầu chu trình sạc, lúc này điện áp sẽ tăng dần theo thời gian và dòng điện được dữ không đổi ở mức 0.1C đến 0.5C (Trong đó C là dung lượng của pin - Ví dụ trong hình là 100 - 2000mA). Dòng điện càng lớn thì thời gian sạc ổn dòng càng ngắn, pin sẽ nhanh nóng hơn, và thời gian sạc ổn áp được kéo dài lâu hơn. Kết thúc quá trình sạc ổn dòng, dung lượng pin rơi vào khoảng 70%. (Trong sơ đồ là kết thúc quá trình Fast Charge)
  3. Sạc ổn áp
    Trong giai đoạn này điện áp pin được giữ ổn định ở mức 4.2V, và dòng sạc bắt đầu giảm dần. Khi giảm về giá trị nhỏ hơn 3%C, thì chế độ sạc ổn áp chính thức kết thúc (Trong hình trên giá trị kết thúc là 100mA), lúc này IC sẽ tự động ngưng sạc. 
Ngoài ra, IC còn hỗ chợ chế độ Recharge, tức là tái kích hoạt quá trình sạc sau khi điện áp của pin giảm xuống dưới ngưỡng VRCH . Nhờ vậy điện áp pin được giữ ở mức ổn định, tránh được hiện tượng over-charge và giúp kéo dài tuổi thọ của pin.

Tổng quan về Multi-cell và nguyên lý cân bằng pin

Trong các ứng dụng lớn, các pin sẽ không hoạt động tách rời mà thường được ghép song song hoặc nối tiếp với nhau. Và ở đây chúng ta lại phát sinh ra một vấn đề mới đó là cân bằng pin (cell-ballancing technique). Vậy câu hỏi đặt ra là, tại sao lại cần cân bằng pin? Sau đây là một số nguyên nhân dẫn tới vấn đề này như: Thông số các pin do nhà sản xuất cung cấp có sai số nhất định; trong quá trình hoạt động, nhiệt độ ảnh hưởng lên mỗi pin không đều nhau dẫn đến tuổi thọ của các pin không đồng đều, thêm vào đó một số pin sẽ có điện áp cao hơn, và một số thì thấp hơn nên các pin không cân bằng về mặt điện áp.

Điều này sẽ làm nảy sinh vấn đều, pin có điện áp cao hơn sẽ đầy trước trong khi một số pin còn lại chưa đầy. Nếu vẫn tiếp tục sạc, pin đó sẽ bị over-charge khiến nhiệt độ và áp suất tăng cao, làm giảm tuổi thọ của pin, thậm chí phá hỏng pin đó. Ngược lại, trong quá trình xả, pin có điện áp thấp hơn sẽ bị sụt áp nhanh hơn, nếu vẫn tiếp tục xả sâu thì pin đó sẽ bị over-discharge, làm giảm tuổi thọ của pin. Khi một pin bị hỏng, cả bộ pin đó cũng ảnh hưởng theo và phải thay thế hoàn toàn bằng một bộ pin mới.

Để giải quyết vấn đề đó, kỹ thuật cân bằng pin ra đời. Dưới đây là sơ đồ mô tả mạch điện của kỹ thuật cân bằng pin:

Hình được lấy từ bài viết Lithium Cell Charging and Battery Management của tác giả Rod Elliott
Có hai kiểu cân bằng là chủ động và thụ động, trên hình vẽ mô tả cân bằng thụ động. Hệ thống này, khá đơn giản, hoạt động ổn định nhưng bù lại không tối ưu về mặt năng lượng. Thích hợp với các ứng dụng có từ (2 - 5 pin), tuy nhiên lại không thích hợp với các ứng dụng lớn như xe đạp điện và ô tô vì sẽ dẫn tới chi phí cao hơn cho mỗi lần sạc. 
  1. Hệ thống hiển thị trong Hình A sử dụng tín hiệu điều khiển tới các IC sạc để giảm dòng điện ngay sau khi pin đầu tiên trong gói đạt đến điện áp tối đa. Điện trở như được hiển thị có thể cho dòng điện tối đa 75mA đi qua ở mức 4.2V, và bộ sạc không được cung cấp nhiều hơn mức này. Mỗi điện trở sẽ chỉ tiêu tán 315mW, nhưng điều này tăng lên nhanh chóng cho một bộ pin rất lớn và đó là nơi hoạt động cân bằng pin trở nên cực kỳ quan trọng.
  2. Cách thiết kế trong Hình B rất đơn giản, nhưng cũng khá hữu dụng. Ba biến trở 20k được điều chỉnh để cung cấp chính xác 4.2V trên mỗi pin. Khi cân bằng có hiệu lực (ở cuối chu trình sạc), dòng điện từ bộ sạc phải nhỏ hơn 50mA, hoặc các bộ điều chỉnh shunt sẽ không thể giới hạn điện áp pin ở mức 4.2V được nữa.
    Có một hạn chế quan trọng đối với loại cân bằng này - nếu một pin bị "hỏng" (điện áp thấp hoặc bị chập), các pin còn lại sẽ bị quá tải nghiêm trọng!
Trên đây là một số thông tin mình đã tìm hiểu được liên quan tới pin Lithium. Hy vọng nó sẽ hữu ích cho các bạn, và chắc chắn là sẽ hữu ích cho mình rồi. Lời cuối cùng xin cảm ơn các bạn đã đón đọc số hôm nay của mình ^^