Wednesday, January 10, 2018

Tôi cần chuẩn bị gì để học iOS? (version 2018)

Bài viết chia sẻ một số suy nghĩ nhằm cung cấp thêm thông tin cho một số bạn muốn học lập trình iOS mà chưa biết bắt đầu chuẩn bị phần cứng như thế nào.


+ Nếu bạn đã có máy Macbook
Quá đơn giản, lập trình iOS cần XCode, mà XCode chỉ chạy trên Mac OS vốn được cài sẵn trên Macbook. 

- Tuy nhiên một số bạn lo sợ máy mình không đủ mạnh. Theo nhận xét cá nhân, máy Mac Mini đời 2012 với CPU Core i5, Ram 4GB vẫn dev rất bình thường, tốc độ ngon.

- Macbook pro đời 2013 vẫn có thể chiến rất tốt, tốc độ rất ngon. Hiển nhiên các đời sau vẫn ngon lành.

- Macbook air (đời trước 2015) có thể sẽ hơi giật lag. Macbook air đời sau 2015 ngon lành.


+ Nếu bạn chỉ có máy chạy Windows / Ubuntu

Có 2 giải pháp chính là Hackintosh và cài máy ảo

HACKINTOSH

- Đây là giải pháp cài hệ điều hành Mac lên một phần cứng bất kì nếu có CPU Intel :). Cách này khá khó vì đòi hỏi các bạn phải hiểu biết khá nhiều thứ, và bản thân việc có và tìm các driver (kext) để dùng thích hợp hoặc hoạt động ổn định cũng không đơn giản. Việc thiếu kext lúc cho wifi, lúc thiếu kext cho card màn hình khá ức chế. Các phần cứng mới nhất cho hệ điều hành mới nhất cũng không luôn có sẵn.

- Bạn có thể tham khảo hướng dẫn ở đây: https://hackintosh.com/ 

VMWARE

Bạn có thể tải máy ảo Mac Sierra theo hướng dẫn tại đây. 

https://techsviewer.com/install-macos-high-sierra-vmware-windows/

Chú ý, có thể bạn sẽ không tải được vì hết download limit, có một mẹo nhỏ (có viết trong link) là nhấn phải Add vào Drive của bạn rồi vào phần quản lí Drive của bạn tạo bản sao và tải bản sao này về là được.


Ngoài ra CPU của bạn cũng cần phải hỗ trợ ảo hóa (Virtualization), bạn cần lên trang chủ của Intel để kiểm tra.


- Nếu bạn có CPU Ryzen của AMD thì có thể tham khảo ở đây: 
https://www.pcsteps.com/2157-mac-os-x-virtual-machine-vmware-player/

Máy ảo dung lượng có bự lắm không?

Máy ảo giải nén ra sẽ có dung lượng cỡ 10GB, tải XCode 4GB nữa là sẽ cần khoảng 15GB để chạy tốt.

Yêu cầu CPU và Ram thế nào để chạy máy ảo?

- Mình từng dùng lập trình với dự án thiệt với máy Windows có cấu hình CPU đời Sandy Bridge (2012), Ram 8GB, ổ cứng 128GB SSD (chỉ dùng hết cỡ 20GB) để chạy máy ảo.

- Kinh nghiệm cá nhân ổ cứng SSD sẽ giúp máy ảo của bạn chạy nhanh hơn máy ảo chạy trên ổ cứng HDD truyền thống.


+ Bạn thậm chí không có máy tính? Có thể thuê máy mac online


Đây là giải pháp dành cho các bạn có máy quá yếu không thể cài Hackintosh, ta có thể thuê một máy Mac trên trang này và trả tiền theo h để remote từ xa qua mạng.


Gói rẻ nhất là trả theo h, 1$/h nhưng phải trả tối thiểu 30$ trước.
Hoặc thuê theo tháng với 20$ / tháng.

+ Dùng Xamarin / ionic có được không?

Được nhé, nhưng khi build ra binary cho ios cần có máy chạy Mac :).

+ Dùng React Native có được không?

Tùy theo lớp học mà bạn theo học ngôn ngữ lựa chọn có thể là Swift thì React Native có thể không hợp.







Sunday, May 29, 2016

Sử dụng snippet của Atom để viết mã nguồn nhanh hơn

Giới thiệu về snippet trong Atom

Trong khi lập trình, có những đoạn mã nguồn cứ lặp đi lặp lại, đặc biệt trong lĩnh vực viết web.
Ví dụ khi cần tạo mới trang html thì phần khung
<html>
     <head>
         <title></title>    
    </head>
    <body>
    </body>
</html>
luôn luôn được tạo.

Trong Atom, ta chỉ cần gõ html rồi bấm tab thì đoạn code trên sẽ được tự động chèn vào:


(Kết quả sau khi bấm tab, dấu nhắc ở giữa thẻ title để viết tiêu đề trang web)

Vậy nếu ta muốn chèn một đoạn code nhỏ theo ý của riêng mình thì sao?

Tạo snippet custom

+ Bấm Ctrl + Shift + P để mở command pallette
+ Gõ Snippet và chọn: Application: Open your snippets



+ File snippets.cson sẽ mở ra, sẵn sàng để ta tạo custom snippet
+ Thử tạo một snippet với mã nguồn như bên dưới:



Giải thích: Mỗi khi gõ test và bấm tab thì đoạn mã nguồn
<p></p>
<div></div>

sẽ được thay thế. Dấu nhắc sẽ nằm ở giữa hai thẻ p trước, nếu ta bấm tab tiếp thì dấu nhắc sẽ di chuyển tới giữa hai thẻ div.

Snippet này chỉ có tác dụng trong file php, nhưng phạm vi có hiệu lực là khi viết ngoài thẻ <?php ?> (tức lúc viết code html)

Dấu """ ám chỉ một đoạn mã nguồn nhiều dòng.


Tạo custom snippet dành cho Bootstrap

Để sử dụng Bootstrap, phần khung html cần khai báo nhiều thứ, nhưng với sự trợ giúp của custom snippet từ Atom, giờ đây mọi chuyện đơn giản hơn nhiều, chỉ cần gõ từ khóa "bs" (tự đặt :v) thì các mã nguồn cần thiết tự động chèn vào:




Tạo custom snippet cho các ngôn ngữ khác:

  • HTML: .text.html.basic
  • CSS: .source.css
  • SASS: .source.sass
  • JavaScript: .source.js
  • JSON: .source.json
  • PHP: .text.html.php
  • Java: .source.java
  • Ruby: .text.html.erb
  • Python: .source.python
  • plain text (cho cả markdown): .text.plain


-------------------
Đọc thêm tại đây: http://flight-manual.atom.io/using-atom/sections/snippets/

Monday, March 11, 2013

Kinh nghiệm leo núi Phú Sĩ

Bài viết dưới đây chia sẻ những kinh nghiệm chuẩn bị và thực hiện chuyến leo núi Phú Sĩ. Những cảm nhận và ý nghĩa của chuyến đi không được đề cập đến. Những kiến thức được đề cập trong bài không hẳn đúng và chưa hẳn là tốt nhất vì nó là chia sẻ kinh nghiệm cá nhân, tuy nhiên nó cũng là một nguồn tham chiếu hữu ích cho mọi người. Hi vọng vậy ^^.

Okie, tôi muốn leo núi Phú Sĩ, tôi nên bắt đầu từ đâu đây? Chuẩn bị. Tất nhiên rồi. 

1. Chuẩn bị cho chuyến đi

a. Thời gian

- Lộ trình thời gian mà mình đã từng leo là tối từ 7h30 xuất phát, lên đến đỉnh khoảng 4h. Nghỉ ngơi nửa tiếng và ngắm mặt trời mọc từ 4h30. Bắt đầu xuống núi lúc 6h ngắm mặt trời bắt đầu chiếu rọi trên các sườn núi, mây lững thững trôi trong lúc đi xuống.

- Thời gian để leo núi thích hợp nhất là tháng 7 hoặc tháng 8 vì không quá lạnh. Cần kiểm tra dự báo thời tiết trong 2 ngày, ngày bạn bắt đầu leo và sáng hôm sau đó, đảm bảo là trời không có mưa nhé. Không gì khó chịu hơn là đi trong mưa và sương mù dày đặc đâu.

- Thời điểm để tới trạm 5 (sẽ lí giải về trạm 5 ở phần c.Lộ trình) là từ 2h chiều, mặc dù bạn sẽ bắt đầu leo từ 7h30 tối. Lí do là bạn có thể tranh thủ chụp ảnh lúc mặt trời nắng đẹp, đợi một chút cho mây khuất và chụp ảnh góc nhìn cực kì hùng vĩ với các rặng núi. Tuy nhiên tới đây lúc 5h30, gói ghém đồ đạc và leo lúc 7h30 cũng không sao cả. Ngoài ra thì sẽ có dư thời gian để ngắm nghía cảnh đẹp xung quanh, vào ít hàng quán ăn thử các món ăn ở đây.

- Cần lên lịch trước 1 tháng cho mọi người chuẩn bị đồ và luyện tập thể lực. Thật ra lên lịch trước 1 tuần cũng ... không sao cả. Leo núi chủ yếu cần ý chí và nghị lực, không đòi hỏi thể lực mạnh mẽ gì cho cam. Tuy nhiên có tập thể lực trước thì chuyến đi sẽ dễ dàng hơn và bạn sẽ có sức khỏe để ngắm cảnh, tận hưởng chuyến đi :D

b. Con người

- Nói chung không nên leo núi một mình, bởi lúc gặp khó khăn ít có người giúp đỡ, khi bạn có niềm vui cũng không có ai chia sẻ, khi có cảnh đẹp không có ai ... chụp hình giùm mình và quan trọng hơn là khi bạn ... đi vệ sinh không có ai trông đồ giùm :-".

- Để hẹn bạn bè bạn có thể dùng công cụ doodle.com để lên lịch và để mọi người check vào lịch rảnh và từ đó sắp xếp.

- Thống nhất trước với nhau về tâm lí: Leo núi không phải là chuyến đi du lịch, sẽ không êm ả và cần phải cố gắng. Tâm lí enjoy khi đi du lịch e rằng không thích hợp cho chuyến đi. Tuy nhiên có một sự thật là để enjoy được chuyến đi thì nên ... tập thể lực tích cực. He he.

c. Lộ trình

- Có tổng cộng bốn lộ trình, trong đó lộ trình dành cho mọi người là Kawaguchiko-guchi. Lúc đi lên thì không sao, nhưng lúc xuống thì luôn nhớ đi theo trail màu vàng ứng với mỗi bản chỉ đường. Yep, rất quan trọng nếu không muốn đi lạc qua bên ... núi khác. 

- Trong lộ trình này sẽ có xe buýt đưa tới trạm 5 (ở độ cao khoảng 2200m so với mực nước biển) để bắt đầu leo. Các trạm nghỉ lớn là 7, 8 (Không biết trạm 6 ở đâu :-", còn đỉnh không biết có phải trạm 10 không nữa :D, nói chung trạm 7, 8 là có mốc và biển để chụp hình). Trạm 7 đi cỡ 2h thì tới còn trạm 8 cỡ 3h30'. Còn lên tới đỉnh thì ... quãng thời gian còn lại :D.

Chú ý quan trọng: Tại trạm 5 có nhà vệ sinh miễn phí ở bên trái bến xe. Trong nhà vệ sinh có băng ghế dài ngồi chờ, rất ấm cúng và tránh gió. Mọi người thường mua gậy và đi vệ sinh tại cửa hàng bán đồ leo núi ở trung tâm trạm 5, tuy nhiên giá mỗi lần đi vệ sinh là 50 yên.

- Ở trên đỉnh sẽ có quán ăn, nhà nghỉ, khu vực để ngắm mặt trời mọc và miệng núi lửa ở sau lưng. Nói chung khi lên đến đỉnh nên làm một tô mì 1200 yên cho ấm bụng rồi ngắm mặt trời mọc là y bài ;). 

- Thời gian quay về để mua vé xe bus có thể là 9h, 10 hoặc 11h sáng (thường thì bạn sẽ xuống tới lại trạm 5 từ đỉnh núi lúc 8h30 nếu đi từ từ. Có lẽ tốt nhất nên bắt chuyến lúc 10h là vừa đẹp. Giá vé tất nhiên là 2600 yên. Bạn sẽ thấy trạm bán vé nhỏ nhỏ xinh xinh ở bên phải lối đi lên trạm 5 :D

d. Vật dụng

- Mặc trên người (Các món đồ in đậm là rất quan trọng và nên chuẩn bị kĩ)

  • Giầy leo núi: Rất quan trọng. Nên chọn loại giầy đế bằng, có ma sát cao. Có thể ghé ga T19 để mua giầy leo núi khoảng 950 yên.
  • Găng tay: Rất quan trọng. Nên mua găng tay không thấm nước vì nó còn có thể chống gió, dùng khi nghỉ dọc đường và ở trên đỉnh núi. Ở cửa hàng 100 yên găng tay không đủ ấm, đủ ma sát nhưng không chống được nước và gió.
  • Mũ len trùm đầu: Rất quan trọng. Dùng chống gió cho tai và giữ ấm khi dừng lại. Mua ở 100 yên là được.
  • Đèn pin: Rất quan trọng. Có thể mua loại 100 yên có 9 bóng và dùng 3 pin AAA. Tuy nhiên độ sáng và độ xa không bằng loại 1200 yên, chỉ có 1 bóng và 1 pin AA. Tiền nào của nấy :D. Nếu được thì nên mua loại gắn trên đầu, rảnh tay bớt, nhưng mắc, hình như >3000 yên. Nếu bạn ở Nhật lâu dài nên mua loại này, dùng khi ... động đất hoặc thiên tai.
  • Túi đựng rác: Cần chuẩn bị 2 cái, túi đựng rác có thể cột vào quai ba lô cho nó rảnh tay. 100 yên thẳng tiến.
  • Áo thường: mặc trên người 1 áo. Chuẩn bị 1 cái để thay khi bạn ra quá nhiều mồ hôi là đủ. Không cần mặc quá nhiều đồ vì khi đi bạn sẽ RẤT nóng.
  • Áo lạnh: Nên mang theo áo lạnh ấm nhất mà bạn có thể mang nhưng không cần mặc mà quấn rồi cột quanh hông. Khi dừng lại và ở trên đỉnh núi thì lấy ra mặc. Lúc đi bạn sẽ RẤT nóng không cần mặc áo lạnh.
  • Quần: Mặc quần gì cũng được, miễn đừng quá hạn chế cử động là được. Jeans chật quá không thích hợp cho leo núi. Kaki là tốt nhất. Quần lửng cũng không sao, lúc đứng lại gió thổi từ dưới lên cho nó mát :-".
  • Gậy leo núi: Rất quan trọng. Đặc biệt giúp ích rất nhiều cho các bạn lúc đã quá mệt. Dùng tựa vào nghỉ hoặc trợ lực khi leo. Có thể mua lúc ở trạm 5, giá cũng rẻ khoảng 1000 yên.
  • Kính râm: Rất quan trọng. Không có thì ngắm mặt trời mọc không vui. Với lại lúc đi xuống mặt trời chiếu thẳng vào mắt khó chịu lắm.
  • Tiền xu: Ở trạm 5 có một trạm đi vệ sinh ở bên trái miễn phí, sau khi đi vệ sinh xong có thể ngồi ở băng ghế nghỉ ngơi. Nếu đi vệ sinh ở cửa hàng mua gậy thì sẽ tốn 50 yên. Ở trạm 7 nhà vệ sinh tốn 100 yên. Ở trạm 8 nhà vệ sinh là 200 yên một lần. Ở trạm 8.5 hoặc 9 thì sẽ là 300 yên một lần và trên đỉnh là 400 yên một lần. Tuy nhiên trên đỉnh mỗi lần đi vệ sinh lại phải xếp hàng đợi 40 phút ấy.


  • Túi ngủ: Không có không sao. Có thể đặt mua trên amazon giá 824 yên (chịu được min 15 độ C), ngoài ra amazon có bán loại chịu được min 7 độ C nhưng theo ý kiến cá nhân thì loại 15 độ là được rồi. Dùng khi lên tới đỉnh quá sớm, đứng một chỗ thì sẽ quá lạnh, mà đi lại thì cũng không biết đi đâu. Nếu có áo ấm đủ ấm thì cũng không cần mang túi ngủ. Chủ yếu chỉ cần giữ ấm chân, tay và tai thì sẽ ổn.
  • Tất: Không quan trọng lắm, chọn loại nào cũng được. Nếu có thể nên mặc 2-3 đôi để êm chân. Nếu muốn khỏi lạnh chân thì chuẩn bị tất chống thấm. Nếu muốn tiết kiệm thì mặc 1 đôi tất, tròng vào một cái túi ni lông, rồi mặc một đôi tất nữa để bám giầy. Như vậy sẽ chống thấm hiệu quả và rẻ tiền.
  • Bình ô xy cầm tay: Nên nhờ các anh chị nào biết tiếng Nhật viết/ đánh máy giùm câu "Tôi muốn mua bình ô xy cầm tay", in ra, từ quán Thái ở NII đi tới một chút gặp ngã ba, rẽ phải thì sẽ thấy một cửa hàng chuyên bán đồ leo núi. Có thể mua kính râm ở đây. Bình ô xy giá khoảng 1000 yên. Dùng cho các bạn sức khỏe không tốt lắm, lên núi cao gặp khó khăn trong hít thở do không khí loãng.
    Update from TTMTrang: Có thể mua tại trạm 5 cũng có bán.
  • Miếng dán ấm: Nói chung bỏ mấy miếng này trong người phòng khi trời quá lạnh hoặc khi dừng lại cũng tốt. Hoặc ở trên đỉnh núi đứng một chỗ gió thổi cũng rất lạnh.

- Trong ba lô

  • Nước: Chuẩn bị hai chai nước nửa lít hoặc một chai nước nửa lít và hai chai tăng lực nhỏ mua ở cửa hàng tiện dụng. Nói chung người thường sẽ uống hết 1 lít nước, còn nếu có chút kinh nghiệm thì sẽ uống nửa lít nước và hai chai tăng lực nhỏ. Lúc thấy khát chỉ nên hớp một ngụm nhỏ, giữ trong miệng để bớt cơn khát và nuốt chậm rãi. Uống nước tăng lực trước rồi uống nước suối sau để không bị khát vì uống đồ ngọt. Kết hợp cách này với di chuyển ở tốc độ vừa phải bạn sẽ không bị mất nước quá nhiều và không cần phải uống nước nhiều.
  • Đồ ăn: Nên chọn các loại thức ăn giàu năng lượng như chuối, sô cô la, táo, lương khô. Nên mua 3 hộp trái cây đóng hộp 100 yên, 2 trái táo, 2 thanh sô cô la, 2 trái chuối, một phần cơm nắm là vừa đủ cho chuyến đi. Tại mỗi chặng dừng lấy ra ăn, riêng sô cô la thì trên đường đi vừa đi vừa nhấm nháp.
  • Áo mưa: Cho dù dự báo thời tiết nói không có mưa thì vẫn nên mang theo. Nên chọn loại cánh dơi hoặc chí ít là loại quần áo mưa mặc từ cửa hàng 100 yên. Áo cánh dơi thì chắc daiso mới có.

e. Đặt vé

- Từ Shinjuku có bán vé đi tới trạm 5 (ở cổng ra phía Tây - West exit). Nếu mua vé đi trong ngày thì ở tầng trệt. Nếu mua vé đi ngày khác thì ở tầng 1. Chú ý là lên tầng 1 cần quan sát chút mới thấy chỗ bán vé vì nó nằm hơi khuất bên trong khu bán máy ảnh. Lúc xuống không cẩn thận sẽ đi vào đường dành riêng cho staff thì sẽ bị bảo vệ chặn lại hỏi vài câu ấy mà :D.

- Để đi mua vé, ở cổng ra phía Tây của ga Shinjuku, đi theo vòng xoay xe bus ở bên trái. Tòa nhà Keio ở góc gần trạm dừng 26, bên phải của nó là cửa hàng Yodobashi Camera. Giá vé là 2600 yên. Trên vé có ghi số của trạm dừng.

- Có thể mua vé khứ hồi luôn nhưng mà theo mình nghĩ là để lúc về mua vé cũng được.

f. Tập thể lực.

Không có gì ghê gớm, tập đứng lên ngồi xuống mỗi lần 200 cái. Tập kiễng chân bằng cách kê một quyển sách và nhón gót lên 200 lần là được. Mỗi lần leo hạn chế để đầu gối cao hơn eo (dùng sức quá nhiều) là được.

2. Leo núi

Khi leo, nên đi chậm nhất có thể, dù gì thì đây cũng không phải là cuộc đua và ta nên giữ sức :D. 

Update (from TTMTrang): Khi dừng không nên dừng lại quá lâu. 
Me: Có thể lấy áo khoác cột quanh hông ra mặc vào cho ấm. Khi thấy người hơi mát mát lạnh lạnh thì phải tiếp tục đi ngay. Ngoài ra dừng quá lâu cũng khiến chùn chân và lên cơn lười không muốn đi tiếp. Khi dừng lại nghỉ không nên tháo ba lô mà vẫn mang, nhưng tựa ba lô vào dốc và đứng nghỉ.

Update (from TTMTrang): Khi đi xuống nên đi thụt lùi cho đỡ đau đầu ngón chân. 
Me: Có thể đi zic zắc đi xuống. Có một số người chạy thẳng xuống luôn, có một số người đi một chân trước rồi hạ một chân xuống sau. Có người dùng gậy chống mạnh rồi mới đặt chân xuống. Nói chung đi cách nào cũng được.

Khi đi nên dùng gậy kết hợp hai chân, sẽ giúp ích rất nhiều vì giảm lực phải dùng của hai chân. Tránh dùng các động tác đạp mạnh hoặc phải khiến đầu gối cao hơn eo.

Sau khi leo xong có thể đi tắm onsen ở suối nước nóng, sẽ lại sức rất nhanh và cực kì đã ^^.

Đến đây thì xong các bước chuẩn bị rồi. Chúc bạn có chuyến leo núi Phú Sĩ vui vẻ. Ngạn ngữ phương Tây có câu: Người thông minh leo núi Phú Sĩ một lần, còn kẻ ngốc thì leo hai lần.

Happy trekking!

Thursday, December 20, 2012

Tại sao bạn nên viết blog?

Có nhiều thứ bạn có thể viết trên blog của mình. Một trong số đó là trả lời các câu hỏi trong cuộc sống như một bài tiểu luận. Bằng cách luyện tập liên tục, bạn sẽ có thêm và cải thiện rất nhiều kĩ năng. Ngoài ra, bạn có thể còn có thêm nhiều thứ khác.

1.Suy nghĩ sâu sắc hơn

    Nhiều ý tưởng, chỉ sau khi bạn đặt bút xuống viết, bạn mới thấy ý nghĩa của nó không mạnh mẽ như bạn tưởng, thậm chí lập luận cũng không chặt chẽ nữa. Mặt khác, bạn sẽ nhanh chóng nhận ra những lỗ hỗng trong cách suy nghĩ, lập luận của mình.
    Mặt khác, blog sẽ mang đến cho bạn sự phản hồi. Những người dùng Internet có xu hướng hay chỉ ra các ngoại lệ của các trường hợp trong cuộc sống. Điều này sẽ giúp bạn càng ngày càng nhận ra sự thiếu sót trong cách lập luận của mình.
    Và như vậy, theo thời gian, suy nghĩ của bạn sẽ trở nên chín chắn hơn.
    
2. Đọc tốt hơn
    Thể hiện ý tưởng không phải là việc dễ. Làm thế nào để thể hiện ý tưởng một cách hiệu quả? Câu hỏi này sẽ khiến bạn phải tìm tòi, suy nghĩ. Muốn viết blog tốt, bạn sẽ phải tham khảo cách viết từ các cây viết blog nổi tiếng. Bạn sẽ học được cách họ sử dụng các câu hỏi, cách sử dụng các đoạn văn ngắn, cách họ lập luận, cách họ sử dụng hình minh họa... Thế đấy, quá trình này góp phần tôi luyện bạn trở nên một người đọc hiệu quả.

3. Học hỏi phong cách

    Mỗi blog khác nhau có các phong cách viết khác nhau. Quá trình tìm tòi sẽ mang lại cho bạn phong cách mới mà trước đây bạn chưa từng thử. Sự phản hồi sẽ giúp bạn thay đổi, định hình và lựa chọn phong cách viết, đọc, suy nghĩ, hành động ưng ý.


Có những thứ khác sẽ xuất hiện ngoài lề như là những hiệu ứng phụ. Sẽ có nhiều người biết đến bạn, một số người sẽ mang lại cho bạn các cơ hội mở rộng mạng lưới quan hệ hoặc các công việc và nhiều thứ khác. Ai mà biết được có thể sẽ có gì chứ.


Nhưng dù gì đi nữa, bạn vẫn nên viết blog vì các lợi ích của nó mang lại.


Tôi tin là vậy!