2018-11-19

[SHARE CODE] TOOL TỰ ĐỘNG LẤY VÀ ĐÓNG GÓI HTML VÀ CSS CỦA MỘT WEBSITE BẤT KỲ

[SHARE CODE] TOOL TỰ ĐỘNG LẤY VÀ ĐÓNG GÓI HTML VÀ CSS CỦA MỘT WEBSITE BẤT KỲ

Các bạn có thể download code tại đây
Một số thư viện dùng trong tool này:
  • [PHP] simple_html_dom link: http://sourceforge.net/projects/simplehtmldom/ dùng để bóc tách các phần tử html elements
  • [PHP] hzip.class.php zip cả folder thành một file với tên tương ứng
  • [JS] enscroll – v0.6.1. tạo thanh scollbar giống như facebook sidebar (bên tay phải)
Các file chính trong tool này:
  • index.php tạo form cho người dùng nhập địa chỉ website
  • functions.php  chứa các function viết sẵn dùng trong tool
  • result.php hiển thị các bước đang xử lý
Các bước xử lý:
  1. lấy cấu trúc HTML của website
  2. lấy các tìm các link tới file css và js, tải về và lưu vào thư mục tương ứng là asset/css và asset/js
  3. Tìm các ảnh background trong các file css đã tải về, lưu vào một mảng, sau đó đọc thông tin từ mảng này rồi tải về máy
  4. cập nhật lại đường dẫn của các file css và js tương ứng với thư mục tải về
  5. kết thúc
File sử dụng ajax để lấy các thông tin trả về từ file process.php. Mỗi khi trả về status là 200 thì lặp lại request cho tới khi trả về trạng thái status 500
Lưu ý: Tool không sử dụng database, chỉ sử dụng SESSION của php

Mức lương của lập trình viên Việt Nam hiện nay?

Mức lương của lập trình viên Việt Nam hiện nay?

Hiện nay thị trường công nghệ Việt Nam đang tăng trưởng rất nhanh trong vài năm trở lại đây. Việt Nam là điểm đến lý tưởng cho những công ty công nghệ hàng đầu trên thế giới với những ưu điểm như giá rẻ và trình độ tương đối và đây được đánh giá là ngành mũi nhọn.
Theo như dự báo của các chuyên gia thì tới năm 2020 thị trường Việt Nam sẽ cần 500.000 nhân viên lập trình, trong khi đó hiện tại chỉ có khoảng hơn 200.000 nhân viên lập trình có trình độ đủ đáp ứng nhu cầu công việc. Như vậy trong thời gian tới thị trường Việt Nam sẽ thiếu hụt một số lượng lớn lập trình viên có năng lực chuyên môn.
Đối với những lập trình viên mới tốt nghiệp ra trường thì mức lương đó là vấn đề không quá quan tâm lớn. Trong giai đoạn đầu này thì kiến thức và kinh nghiệm chưa thực sự nhiều và đang là giai đoạn để tích luỹ thêm kiến thức cũng như kỹ năng nghề nghiệp! Tuy nhiên mức lương cũng là một vấn đề quan trọng để giúp các lập trình viên có động lực và phấn đấu hơn nữa cho mục tiêu tương lai cũng như trong công việc của mình.
Khác với các ngành nghề khác, tốc độ thay đổi về công nghệ và kỹ thuật của ngành công nghệ thông tin là rất nhanh. Điều đó đòi hỏi các lập trình viên phải luôn đổi mới, sẵn sàng tiếp thu các công nghệ mới nhất và tiên tiến để áp dụng trong công việc.

Mức lương của các lập trình viên mới ra trường hiện nay?

Theo công bố của đại học FPT thì mức lương khởi điểm của sinh viên mới ra trường khoảng 8.3 triệu đồng/tháng. Mức lương của lập trình viên từ mới ra trường (chưa có kinh nghiệm) đến có kinh nghiệm trong các công ty trước khi ra trường vào khoảng từ trên 5 triệu đồng đến dưới 12 triệu đồng. (nguồn thống kê từ Internet) Mức lương này phụ thuộc lớn vào kinh nghiệm và khả năng làm việc của mỗi lập trình viên.

Chênh lệch mức lương của các lập trình viên?

Mức lương của lập trình viên phụ thuộc vào trình độ kỹ thuật và năng lực của mỗi người.
  • Đối với các lập trình viên mới ra trường & junior level, mức lương khoảng 5-8 triệu/tháng.
  • Đối với các lập trình viên có kinh nghiệm, senior level từ 3-5 năm thì mức lương trung bình khoảng 15-20 triệu/tháng.
  • Đối với các lập trình viên có kim nghiệm lâu từ 5-7 năm, trung bình khoảng 20-30 triệu/tháng.
  • Trên 7 năm, con số này dao động khá nhiều, và tuỳ vào tố chất và năng lực phát triển các hướng lâu dài của mỗi lập trình viên (thống kê qua Vietnamworks năm 2017)

Mức lương của lập trình viên phụ thuộc các yếu tố nào?

Mức lương của lập trình viên không những phụ thuộc vào vào trình độ kỹ thuật và năng lực của mỗi người **mà nó còn phụ thuộc một số yếu tố.
  • Mức lương phụ thuộc vào ngôn ngữ lập trình. Tuỳ theo ngôn ngữ lập trình mà mức lương dành cho các lập trình viên khác nhau. Ví dụ lương của các lập trình viên sử dụng các ngôn ngữ dùng cho backend (PHP, Java,…) thường có lương cao hơn các lập trình viên Frontend (HTML, CSS,…). Các bạn có thể xem TOP các ngôn ngữ lập trình phổ biến để có thể lựa chọn ngôn ngữ phù hợp với mình nhất.
  • Mức lương phụ thuộc vào công ty đang làm. Mức lương của bạn cũng phụ thuộc khá nhiều vào công ty nơi bạn đang làm việc, chế độ đãi ngộ của công ty. Thông thường các công ty nước ngoài sẽ có chế độ đãi ngộ cho nhân viên tốt hơn các công ty Việt Nam.
  • Mức lương phụ thuộc vào địa phương, thành phố. Tuỳ theo mức sống ở mỗi nơi thì mức lương của lập trình viên cũng khác nhau.
Nguồn: topdev.vn

Lập trình viên phải làm gì để có mức lương cao hơn?

So với các ngành nghề khác thì mức lương khởi điểm của lập trình viên là khá hơn ở thời điểm ban đầu. Tuy nhiên về sau thì tốc độ tăng sẽ chậm lại và ít có đột biến và chu kì tăng lương thường tính theo năm.
Hầu hết để có những thay đổi lớn về lương các lập trình viên thường lựa chọn thay đổi công ty làm việc. Đây là tình huống xảy ra phổ biến nhất nhưng bạn cũng nên cân nhắc trước khi thực hiện. Cần đưa ra tiêu chí xem có thực sự nên nhảy việc hay không như khả năng phát triển tương lai, môi trường làm việc,… ngoài vấn đề chính là tiền lương.
Để tăng mức lương và thu nhập một các hợp lý và chắc chắn bạn nên nâng cao kiến thức của mình: không chỉ đơn giản là lập trình nữa bạn cần có các kĩ năng khác về:
  • OS, Database, Server,… các kĩ năng về phân tích yêu cầu khách hàng và báo cáo,…
  • Luôn luôn tìm hiểu các công nghệ mới để áp dụng.
  • Nâng cao khả năng trình độ về ngoại ngữ hơn nữa.
  • Trau dồi thêm các kỹ năng về quản lý. -…

Lập trình viên có thể kiếm thêm thu nhập từ nguồn khác

Ngoài mức lương là nguồn thu nhập chính từ công ty bạn đang làm. Chúng ta có thể kiếm thêm thu nhập từ nhiều nguồn khác nhau như nhận thêm các dự án ngoài của riêng mình, làm freelancer. Nếu bạn có trình độ cao, khả năng quản lý các bạn có thể tự mở công ty cho riêng mình. Quan trọng nhất vẫn là bạn cần đặt ra mục tiêu cho phù hợp với mình và thực hiện tốt nhất có thể. Kỳ thực cuộc sống vốn không có giới hạn, chỉ có bạn tự đặt ra giới hạn cho bản thân mình thôi. Như vậy thông qua bài viết hy vọng đã giúp các bạn phần nào có cái nhìn tổng quan hơn về mức lương của ngành lập trình và có những mục tiêu dự định cho riêng mình trong tương lai!

Hướng dẫn lấy giao diện từ website khác(P1)

Hướng dẫn lấy giao diện từ website khác


Các bạn hãy vào link sau lấy ứng dụng :
https://nguyenduchanh.wordpress.com/2015/09/29/share-code-tool-tu-dong-lay-va-dong-goi-html-va-css-cua-mot-website-bat-ky/


Sau khi tải, các bạn vào 1 trang web bất kì.
 Ấn F12  => SnappySnippet
Chúc các bạn thành công


Những mẹo và thủ thuật PHP cực hay có thể bạn chưa biết

Những mẹo và thủ thuật PHP cực hay có thể bạn chưa biết

1. Toán tử bậc ba

Toán tử bậc ba là một cách khác để bố trí các cấu trúc IF đơn giản. Chúng ta thử làm một ví dụ cơ bản dưới đây:
$value = ($condition) ? ‘Truthy Value’ : ‘Falsey Value’;
Sử dụng toán tử bậc ba sẽ giúp mã của bạn nhẹ hơn và có thể được lồng nhau mà không có vấn đề gì.

2. Trình xử lý ngoại lệ PHP

Khi xảy ra lỗi, tập lệnh PHP sẽ hiển thị lỗi nghiêm trọng. Để tránh lỗi, bạn nên viết mã đúng cách để xử lý ngoại lệ trong tập lệnh PHP. Trình xử lý ngoại lệ PHP là một cách thông minh để quản lý các trường hợp đặc biệt.
// Kích hoạt ngoại lệ trong khối thử và bắt ngoại lệ
try {
// Một số mã code
} catch (Exception $e) {
echo ‘Message: ‘ . $e->getMessage();
}

3. array_key_exists () với in_array ()

Bạn có đang sử dụng array_key_exists () thay vì in_array ()? Dù tin hay không thì đây vẫn là một lựa chọn tốt mà bạn đã thực hiện. array_key_exists () nhanh hơn nhiều so với in_array ().
array_key_exists ($ key, $ array); // Lý tưởng.
in_array ($ key, array_keys ($ array)) // Điều này tạo ra một mảng các khóa từ mảng đã cho trước, làm cho nó chậm hơn nhiều so với array_key_exists ().

4. unserialize () với json_decode ()

Cố gắng tránh sử dụng unserialize. Thay vào đó, hãy sử dụng json_decode. Thực tế, sự khác biệt chính giữa unserialize () và json_decode () là unserialize nguy hiểm hơn nhiều nếu được sử dụng cho dữ liệu nhận được từ mạng.
Trên đây là một vài mẹo và thủ thuật hay để phát triển và tối ưu web. Chúng tôi hy vọng bạn thích chúng. Còn bạn, bạn có bất kỳ mẹo và thủ thuật PHP nào hay không? Hãy chia sẻ nó trong phần bình luận bên dưới nhé!

Code Backup dữ liệu MySQL trên PHP

Đây là đọan code để backup dữ liệu database được lưu dưới dạng file mysql
Tạo file  có tên  là backup.php  và  chèn  đọan code này  vào . Giả  sử   mình chạy dưới local  có  thông  tin:
host : localhost
user : root
pass : root
db : name_db
Tôi  sẽ tạo   1   function  backup_tables với  các tham số  sau
?php

    backup_tables('localhost','root','','maytinh');


    /* Sao lưu cả database hoặc một bảng cụ thể nào đó */
    function backup_tables($host,$user,$pass,$name,$tables = '*')
    {
     
      $link = mysql_connect($host,$user,$pass);
      mysql_select_db($name,$link);
      mysql_query("SET NAMES 'UTF8'"); 

      //Lấy tất cả các bảng
      if($tables == '*')
      {
        $tables = array();
        $result = mysql_query('SHOW TABLES');
        while($row = mysql_fetch_row($result))
        {
          $tables[] = $row[0];
        }
      }
      else
      {
        $tables = is_array($tables) ? $tables : explode(',',$tables);
      }
     
      //Vòng lặp
      foreach($tables as $table)
      {
        $result = mysql_query('SELECT * FROM '.$table);
        $num_fields = mysql_num_fields($result);
       
        $return.= 'DROP TABLE IF EXISTS '.$table.';';
        $row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
        $return.= "\n\n".$row2[1].";\n\n";
       
        for ($i = 0; $i < $num_fields; $i++)
        {
          while($row = mysql_fetch_row($result))
          {
            $return.= 'INSERT INTO '.$table.' VALUES(';
            for($j=0; $j<$num_fields; $j++)
            {
              $row[$j] = addslashes($row[$j]);
              $row[$j] = ereg_replace("\n","\\n",$row[$j]);
              if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
              if ($j<($num_fields-1)) { $return.= ','; }
            }
            $return.= ");\n";
          }
        }
        $return.="\n\n\n";
      }
     
      //save file
      $handle = fopen('db-backup-'.time().'-'.(md5(implode(',',$tables))).'.sql','w+');
      fwrite($handle,$return);
      fclose($handle);
    }
    ?>
Chúc tất cả mọi ng thành công. Ủng hộ mình hãy Like và share bài viết

6 mẹo nhỏ tối ưu hóa khi lập trình PHP