September 2015

Chào các bạn!

Hôm nay mình xin chia sẻ một số kinh nghiệm học tập của mình khi là sinh viên năm nhất. Lưu ý, với trình độ giới hạn của mình thì những chia sẽ này chỉ dành cho các bạn mới bắt đầu bước vào lập trình thôi nhé :D


   TÌM KIẾM BẠN BÈ


Các bạn nên sớm tìm kiếm cho mình một nhóm bạn cùng sở thích, tính cách để cùng nhau giúp đỡ trong việc học tập. Bởi vì môi trường và cách thức học tập ở Đại học khác rất nhiều so với phổ thông. 
Và bạn cũng không thể nào ôm trọn tất cả các môn mà học tốt được. Bạn cần thời gian để học những thứ mới, lạ, và cần thiết cho chuyên ngành mình hơn là ôm trọn các môn đại cương.

ĐI HỌC ĐẦY ĐỦ




  • Sinh viên năm nhất thì giờ tốt nhất là đi học đầy đủ, đừng bỏ bất cứ một buổi nào mặc dù kiến thức buổi đấy đã biết rồi. Bạn đừng nên chú trọng vào sách vở, cũng đừng nên ỉ lại vào quyển đề cương, vì nếu bạn không siêng thì 2 thứ đấy bạn cũng sẽ không bao giờ đụng tới đâu :)
  • Đến lớp đầy đủ cũng chưa đủ, phải rèn luyện kỹ năng mềm, giao tiếp, thuyết trình, làm nhiều bài tập, luyện tập và tự đề ra mục tiêu cho chính mình (tuần 1 học for, tuần 2 học switch - case,...) , cứ thế thì bạn sẽ nắm được cơ bản và dễ dàng đi sâu vào trong lĩnh vực.
  • Cố gắng làm cho bảng điểm càng đẹp càng tốt và vẫn có thời gian để học lập trình sẽ tốt cho CV của các bạn sau này khi đi xin việc

HỌC TIẾNG ANH, ĐỌC SÁCH ĐỌC TIN TỨC CÔNG NGHỆ MỚI




  • Các bạn cũng biết thời đại hội nhập, ngoại ngữ là cần thiết cho bất kì sinh viên nào, nhất là IT. Bởi vì phần lớn thời gian chúng ta làm việc trên môi trường hoàn toàn bằng tiếng Anh, đâu có IDE nào hỗ trợ tiếng Việt đâu nhỉ :D
  • Khi bạn giỏi tiếng Anh bạn sẽ dễ dàng tiếp cận với các cộng đồng hỗ trợ lập trình, các diễn đàn nước ngoài (như stackoverflow.comhttp://www.codeproject.com/http://www.cplusplus.com/), search lỗi, tài liệu bằng tiếng Anh thì sẽ dễ tìm hơn với ngành IT chúng ta
  • Đa số công ty khi tuyển dụng IT đều cần bạn nói tốt ngoại ngữ, dù bạn lập trình không tốt nhưng vốn ngoại ngữ và giao tiếp tốt thì bạn sẽ chắc chắn thành công ngang hoặc hơn người giỏi lập trình mà ngoai ngữ lại quá tệ
  • Sách học lập trình cũng đa phần là tiếng Anh mới hay và chất, còn sách tiếng Việt thì ít thấy quyển nào thực sự là hay. Sẵn đang nói về sách mình giới thiệu luôn. Quyển C++ Primer Plus là một quyển cũng hay. Quyển Code Complete là dành cho việc thiết kế và viết code hoàn chỉnh hơn. Nếu bạn muốn đầu tư C++ thì tiếp tục đọc quyển C++ Primer Plus. Còn nếu muốn học Code một cách chung / hoàn chỉnh thì đọc Code Complete. Nó bàn luận về cách lập trình tốt hơn, giống Clean Code. Các bạn có thể tham khảo 10 quyển sách lập trình "kinh điển" mà các lập trình viên đều nên đọc
    => Vậy nên hãy cố gắng học tiếng Anh hoặc tiếng Nhật để dễ học và dễ đi làm sau này hơn nhé


QUAN TRỌNG NHẤT: TẬP TRUNG NHIỀU VÀO CÁC MÔN CHUYÊN NGÀNH




  • Các bạn nên học và thành thạo các kiến thức nhập môn - kỹ thuật lập trình. Tài liệu các bạn có thể tham khảo ở đây
  • Tập trung học tư duy, rèn luyện các thuật toán (Sắp xếp, đệ qui, qui hoạch động,...)
  • Dành nhiều thời gian nghiên cứu cơ bản. Có thể nó sẽ chán, à mà không, rất chán. Nhưng bạn sẽ có lợi về sau đấy.
  • Bất cứ khi nào cảm thấy nhàm chán vì các kiến thức quá cơ bản, cứ làm đi làm lại với những cấu trúc chán ngắc, bạn nên tự đưa ra những project nho nhỏ, và hiện thực hóa nó bằng các kiến thức đã học (Ví dụ: Học các cấu trúc, đọc ghi file xong thì làm phần mềm quản lý học sinh, thư viên bằng Console, Học các thuật toán sắp xếp thì làm phần mềm so sánh thời gian thực thi của các loại Sort, Học đệ qui - qui hoạch động xong thì làm các bài thuật toán tám hậu, Mã đi tuần,....)
  • Các bạn cũng nên dành thời gian tham gia các diễn đàn dạy lập trình như daynhauhoc.comhttp://congdongcviet.com/
  • Dành thời gian tham gia các contest trên http://codeforces.com/ sẽ rèn cho bạn tư duy thuật toán và các giải quyết vấn đề một cách nhanh nhất
  • Và lưu ý, đối với các bạn chỉ mới bước chân vào lập trình thì năm nhất chỉ nên dừng ở mức độ thành thạo về một ngôn ngữ duy nhất là  C/C++ nó sẽ làm bàn đạp vững chắc cho các bạn sau này. (Đừng xem thường C/C++ nhé, nó khó hơn các ngôn ngữ khác đấy :D nếu học Master được C/C++ thì lương cao gấp 2, 3 lần lương LTV các ngôn ngữ khác)
  • Đối với các bạn nào đã được học lập trình khá tốt từ cấp ba cũng có thể học theo hướng trên và cộng thêm việc nghiên cứu sơ qua về một ngôn ngữ mới, công nghệ mới (như Java, C# .Net, Python,...) sẽ giúp ích cho các bạn sau này

--------------------------------------------------------------------------------------------------------------------------
 


Cuối cùng, sau khi kết thúc năm nhất đồng nghĩa với việc nghỉ hè, các bạn nên dành thời gian hè đó để suy nghĩ xem mình thích cái gì, mình giỏi cái gì, mình sẽ theo hướng lập trình mobile, hay lập trình web, hay học Khoa học máy tính, trí tuệ nhân tạo (AI),... Và bắt tay vào làm - học thử một ít để xem mình thực sự hứng thú với cái gì, và đâu sẽ là con đường dành cho tương lai mình :)

Bonus cho các bạn tấm ảnh này, hãy góp ý, chia sẻ cảm nghĩ, và bình luận phía dưới để hoàn thiện cho bài viết hơn nhé




   Chào các bạn! 
   Hôm nay mình lại tiếp tục Series lập trình C# winform căn bản kèm theo ví dụ thực tế


GIỚI THIỆU
   Một phần mềm hoàn chỉnh không phải lúc nào cũng đưa ra các thông báo cho người dùng bằng MessageBox được, vì khi đó người dùng cần phải ấn vào OK, hoặc tắt MessageBox đi, rất phiền phức. Có một cách khác để thông báo mà các phần mềm khác hay dùng đó chính là dùng control mà mình sẽ giới thiệu hôm nay - NotifyIcon.



   NotifyIcon thường thông báo khi ta đóng phần mềm xuống thanh Taskbar, hoặc thông báo thông tin về update phần mềm, hoặc thông báo thời gian thực thi của một lệnh (-shutdown -s -t chẳng hạn :D ). Cũng như các Control khác, NotifyIcon có các thuộc tính và sự kiện cơ bản.


THUỘC TÍNH CỦA NOTIFYICON



   Icon mình có thể thêm Icon tùy biến ở ngoài vào theo ý thích. Vì mình dùng Win10 nên tạm thời các demo đều là hình ảnh của Win 10 nên các bạn thông cảm.
   Ví dụ: Với đoạn code sau
//Icon trên khay hệ thống
notifyIcon1.Icon = SystemIcons.WinLogo; 

//Biểu tượng xuất hiện trên thông báo
notifyIcon1.BalloonTipIcon = ToolTipIcon.Info; 

notifyIcon1.BalloonTipText = "IceTea Việt!";
notifyIcon1.BalloonTipTitle = "Thông báo!"; 

notifyIcon1.ShowBalloonTip(1000);
Thì kết quả sẽ là:

SỰ KIỆN CỦA NOTIFYICON
   
   NotifyIcon có các sự kiện hay dùng như sự kiện Click, DoubleClick. Và thường được dùng kèm với các sự kiện khác của Form.   Ví dụ: Ta muốn làm một thông báo khi đóng (Minimize) chương trình xuống, và khi hiện chương trình lại lại thông báo thêm lần nữa, ta thực hiện với đoạn code sau, với ShowBalloonTip(int_value) là lệnh hiển thị thông báo của NotifyIcon
private void YourForm_SizeChanged(object sender, EventArgs e)
{
        if(this.WindowState == FormWindowState.Minimized)
        {
            notifyIcon1.Icon = SystemIcons.WinLogo;
            notifyIcon1.BalloonTipIcon = ToolTipIcon.Info;

            notifyIcon1.BalloonTipText = "IceTea Việt!";
            notifyIcon1.BalloonTipTitle = "Thông báo!"; 

            //Lệnh gọi thông báo ra màn hình với 1000 là thời gian hiển thị
            notifyIcon1.ShowBalloonTip(1000);
        }
        else if(this.WindowState == FormWindowState.Normal)
        {
            notifyIcon1.BalloonTipText = "Ứng dụng đã được mở lại";

            notifyIcon1.ShowBalloonTip(1000);
        }
            
}
   Thì khi đóng chương trình xuống Taskbar sẽ hiển thị thông báo Notification với tiêu đề là "Thông báo", nội dung là "IceTea Việt". Với thời gian hiển thị là 10 giây. Và tương tự  khi mở lại.
   Trên là những thông tin cơ bản về Control NotifyIcon của C#. Các bạn tham khảo nếu thiếu hay không hiểu gì cứ viêc pm hỏi mình, hoặc comment mình sẽ trả lời ngay.
   Như thường lệ là đoạn code để đoán kết quả:
using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
 public Form1()
 {
     InitializeComponent();
 }

 private void Form1_Load(object sender, EventArgs e)
 {
     // When the program begins, show the balloon on the icon for one second.
     notifyIcon1.ShowBalloonTip(1000);
 }

 private void notifyIcon1_MouseDoubleClick(object sender, MouseEventArgs e)
 {
     // When icon is double-clicked, show this message.
     MessageBox.Show("Doing something important on double-click...");
     // Then, hide the icon.
     notifyIcon1.Visible = false;
 }
    }
}

TỔNG KẾT
   Đối với chương trình yêu cầu thông báo liên tục, NotifyIcon có thể giúp tích hợp vào hệ điều hành chức năng này. Bằng cách kết hợp các NotifyIcon với các balloonTip, bạn có thể đưa ra những cảnh báo, attention-grabbing hoặc tin nhắn.

Chào các bạn và hẹn gặp lại vào các bài sau!



Contact Form

Name

Email *

Message *

Powered by Blogger.
Javascript DisablePlease Enable Javascript To See All Widget