Lập Trình

Tổng hợp các thông tin, kinh nghiệm hữu ích và mới nhất về lập trình cần học gì, phỏng vấn, mức lương trong ngành IT như thế nào, tìm hiểu ngay!

398 bài viết

Một số mẹo để bắt đầu với Machine Learning

Một số mẹo để bắt đầu với Machine Learning

Thực sự cần thiết để bắt đầu việc học về machine learning càng sớm càng tốt nếu bạn muốn không bị tụt hậu. AI và Machine Learning đã trở thành một trong những giải pháp có tác động mạnh mẽ đến các doanh nghiệp nhất hiện nay và chúng vẫn là một phần quan trọng trong chiến lược phát triển của các công ty công nghệ trong thời gian tới. Cần phải hiểu rằng việc sử dụng Machine Mearning ( ML) để phát triển sản phẩm dần trở nên cần thiết – và nếu một công ty muốn đạt được mục tiêu của mình, họ sẽ tụt hậu so với các đối thủ cạnh tranh trong thập kỷ tới nếu họ không có ML. Vì vậy, cần bắt đầu tìm hiểu về ML càng sớm càng tốt. Nếu bạn sẵn sàng đạt được mục tiêu này, đây là một số mẹo để bắt đầu. Tìm việc làm lập trình cho it machine learning Tạo ra liên kết giữa ML Operations và Data Science Có nhiều công ty hiểu về ML và data science, nhưng họ không biết làm thế nào để thực hiện. Việc tập trung vào cả hai và giữ chúng riêng biệt là không cần thiết. Bạn có thể đưa data science và các hoạt động ML Sẵn sàng cho các thử nghiệm mới Vì đây là nỗ lực đầu tiên để ứng dụng ML vào hoạt động công ty, nên thử những thử nghiệm mới trong các lĩnh vực kinh doanh khác nhau, để học hỏi thêm những điều mới. Ngay khi bắt đầu chiến dịch, nếu bạn đang mong đợi thu được lợi nhuận ngay thì có lẽ bạn sẽ từ bỏ việc tìm hiểu ML ngay từ khi bắt đầu. Quản lý hiệu quả Data...

By stationd
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x

REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x

Bài viết được sự cho phép của tác giả Giang Phan Trong bài trước chúng ta đã cùng tìm hiểu cách xây dựng ứng dụng Java Restful web service với Jersey 1.x. Trong bài này, chúng ta sẽ cùng tìm hiểu cách tạo ra ứng dụng Java Restful web service với Jersey 2.x và ứng dụng Java RESTful Client sử dụng Jersey Client API để gọi tới RESTful web service. 4 tips học Java cơ bản nhanh nhất dành cho Beginner Developer 5 cách chia một mảng lớn thành nhiều mảng nhỏ trong Javascript Xem thêm tuyển dụng Java hấp dẫn trên Station D 1. Tạo Jersey project Trong bài trước chúng ta đã tạo Restful web service sử dụng Jersey version 1.x. Trong bài này, chúng ta sẽ tạo Jersey project với version 2.x. Jersey 1.x : các thư viện nằm trong package com.sun. Jersey 2.x : các thư viện nằm trong package org.glassfish. Vào Menu File -> New -> Dynamic Web Project -> Finish. Nhấn chuột phải lên project vừa tạo -> Configure -> Convert to Maven Project: Nhập thông tin Maven project như sau: Chúng ta có project như sau: Mở file pom.xml và cập nhật lại như sau: < project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation = " http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd " > < modelVersion >4.0.0</ modelVersion > < groupId >RestfulWebServiceWithJersey2Example</ groupId > < artifactId >RestfulWebServiceWithJersey2Example</ artifactId > < version >0.0.1-SNAPSHOT</ version > < packaging >war</ packaging > < properties > < project.build.sourceEncoding >UTF-8</ project.build.sourceEncoding > < maven.compiler.source >1.8</ maven.compiler.source > < maven.compiler.target >1.8</ maven.compiler.target > < jersey.version >2.28</ jersey.version > < lombok.version >1.16.20</ lombok.version > </ properties > < dependencies > <!-- https://mvnrepository.com/artifact/org.glassfish.jersey.core/jersey-server --> < dependency > < groupId >org.glassfish.jersey.core</ groupId > < artifactId >jersey-server</ artifactId > < version >${jersey.version}</ version > </ dependency >...

By stationd
Lập Trình với Game Flappybird Python

Lập Trình với Game Flappybird Python

Bài viết được sự cho phép của tác giả Nguyễn Chí Thức Vào những năm 2014, tựa game flappybird miễn phí bình thường trong nước và quốc tế. Game flappybird có đồ họa đơn giản dễ chơi nhưng rất khó để đạt được điểm cao. Luật chơi vô cùng đơn giản, bạn chỉ điều khiển các chú chim vượt chướng ngại vật. Mỗi lần vượt qua, bạn sẽ được cộng một điểm, nhưng nếu bạn để chú chim chạm vào các vật thể khác, thì bạn sẽ bị thua. Bắt đầu lập trình: Nhập các yêu cầu thư viện. Tạo một lớp Bird. Hàm khởi tạo. Hàm bật sound. Lưu ý : Ở đây mình dùng một tập tin có âm thanh click. Chỉ sử dụng âm thanh có đuôi là .wav với Bitdepth là 16. Hàm để vẽ các hình ảnh. Hàm display point. Colunm method. Hàm run. Lưu ý: Các bạn ghi chú vào phần chú thích . Kiểm tra xem con chim chạm cột. Mình sẽ kiểm tra xem chim có cột vào các trường hợp như sau. Và cũng tương tự như chim chạm vào tường. Run try. Hoàn thành Vậy là chúng ta đã hoàn thành rồi. Nếu các bạn thấy hay thì hãy chia sẻ bài để ủng hộ mình nhé. Bạn cũng có thể tham khảo thêm các việc làm Python hoặc tin tuyển dụng Game Developer để hiểu thêm về những yêu cầu cũng như công việc nhé. Cảm ơn các bạn đã đọc. Ứng tuyển ngay các vị trí tuyển dụng lập trình Game lương cao trên Station D Bài viết gốc được đăng tải tại ucode.vn Xem thêm: Khởi Đầu Dự Án Python Như Thế Nào Để Thuận Tiện Phát Triển Lên Hướng dẫn từng bước lập trình web với...

By stationd
Lombok là gì? Sinh code tự động trên Eclipse – Intellij

Lombok là gì? Sinh code tự động trên Eclipse – Intellij

Bài viết được sự cho phép của tác giả Trần Hữu Cương 1. Lombok là gì? Lombok là một thư viện Java giúp tự sinh ra các hàm setter/getter, hàm khởi tạo, toString… và tinh gọn chúng. Thực tế thì hầu hết các IDE hiện này đều hỗ trợ sinh code tự động ví dụ như trên eclipse ta click chuột phải vào file cần sinh code và chọn Source và chọn các method cần sinh r Tuy nhiên với những class có nhiều thuộc tính thì việc hiển thị các hàm getter/setter hay các hàm toString sẽ khiến cho class bị rối. Lombok sinh ra chính là để khắc phục những điểm đó. Ví dụ class không sử dụng lombok và class có sử dụng lombok: 2. Cài đặt Lombok Để sử dụng các annotation của Lombok ta cần sử dụng thư viện lombok: Sử dụng maven: <dependency > <groupId > org.projectlombok </groupId> <artifactId > lombok </artifactId> <version > 1.16.20 </version> <scope > provided </scope> </dependency> Hoặc download file lombok-1.16.20.jar Project Lombok là gì? Getter, Setter và Constructors với Project Lombok Sử dụng Lombok để rút gọn code trong Java Cài đặt plugin lombok cho IDE Với Intellij: vào File/Settings/Plugins và nhập lombok ở ô tìm kiếm và click install. Với Eclipse: ta click vào file lombok-1.16.20.jar hoặc chạy lệnh java -jar lombok-1.16.20.jar Trên giao diện cài đặt lombock, ta click button “Specify Location” và trỏ tới file eclipse.exe Sau khi cài đặt thành công ta sẽ thây lombok xuất hiện trong phần about của eclipse. Tuyển dụng lập trình viên Java lương cao 3. Code ví dụ với lombok Đầu tiên là với annotion @Getter @Setter sẽ giúp sinh ra các method getter/setter Ngoài cách dùng annotation @Getter @Setter trước các field ta có thể dùng trước class...

By stationd
Python free variable

Python free variable

Bài viết được sự cho phép của tác giả Nguyễn Việt Hưng Python có 2 loại variable (biến): local, global, và free (đếm từ 0, tất nhiên). Xem thêm nhiều việc làm Python hấp dẫn trên Station D binding x = 42 trong Python đọc là bind name x tới object 42. Tham khảo thêm tại bài Python call by gì? 3 loại variable trong Python global variable Đoạn code sau print ( x ) x = 42 x viết sát lề, gọi là global variable. Chạy đoạn code trên sẽ hiện ra exception: NameError : name 'x' is not defined do code dùng x trước khi x được bind tới object 42. local variable Đoạn code tiếp theo, chạy sẽ thấy gì? Gợi ý: không phải NameError: def foo (): print ( x ) x = 42 foo () x = 42 nằm trong 1 block (trong thân function hay class), gọi là local variable. Trong 1 block, dùng 1 variable/name trước khi bind nó (tức là có bind, nhưng bind sau khi dùng), exception sẽ xảy ra là UnboundLocalError : local variable 'x' referenced before assignment free variable def foo (): print ( x ) foo () Xóa x = 42 trong ví dụ phần local, ta chạy đoạn code này, lại thấy NameError. NameError : name 'x' is not defined Lần này không xảy ra UnboundLocalError, do đoạn code không bind x = 42 trong thân function (block). x ở đây là một free variable. Free variable hoạt động theo cách … rất tự do. Khi không tìm thấy x trong foo, Python sẽ đi tìm x ở global (bên ngoài function foo). x = 42 def foo (): print ( x ) x = 96 foo () x = 100 Màn hình sẽ hiện ra 42...

By stationd
10 Kỹ năng quan trọng cần có của Front-end để tìm công việc dễ dàng hơn

10 Kỹ năng quan trọng cần có của Front-end để tìm công việc dễ dàng hơn

Dù đang là sinh viên hay đã làm việc trong ngành công nghệ thông tin về mảng lập trình web thì những gì mình sắp giới thiệu dưới đây đều là những kỹ năng thiết thực và quan trọng để bạn trở thành 1 lập trình viên frontend tốt hơn cũng như giúp bạn tìm 1 công việc phù hợp ưng ý được dễ dàng khi hầu hết các công ty đều yêu cầu các kĩ năng này khi tuyển dụng. Lập trình viên frontend là gì? Trong các bài viết trước, mình đã giới thiệu đến các bạn 7 hướng đi của 1 lập trình viên web cũng như lộ trình trong sự nghiệp lập trình viên web cho những ai còn đang phân vân chưa biết mình nên trở thành 1 frontend , backend hay devops thì hôm nay mình chỉ tập trung nói về lập trình viên frontend. Chúng ta bắt đầu thôi: Để bạn có cái nhìn rõ hơn mình xin giới thiệu sơ về mảng lập trình web 1 chút, cơ bản gồm 2 phần chính, với yêu cầu những kỹ năng, kiến thức công nghệ khác nhau: frontend sẽ là thứ người dùng tương tác trực tiếp (user interface – giao diện người dùng) và backend là những gì đằng sau nó và làm cho 1 website hoạt động. Tóm lại, frontend sẽ chăm sóc ‘client-side’, còn backend chính là ‘server-side’. Nếu ví von 1 trang web như cơ thể người thì HTML sẽ là khung xương, phần cơ bản nhất. Để cơ thể vận động được cần có cơ và gân, hay để 1 dynamic web chạy cần có JavaScript và các ngôn ngữ lập trình khác. Cuối cùng để xem cơ thể đó xấu hay đẹp cần da thịt đắp lên hay...

By stationd
Cách thiết lập JIT trong PHP 8

Cách thiết lập JIT trong PHP 8

Bài viết được sự cho phép của tác giả Lê Chí Dũng PHP 8: Cách thiết lập JIT PHP 8 bổ sung một trình biên dịch JIT vào lõi của PHP có khả năng tăng tốc hiệu suất đáng kể. Có một số chú thích được thực hiện về tác động thực tế đối với các ứng dụng web trong thực tế. Tôi cũng muốn dành một bài đăng trên blog về cách thiết lập JIT, vì có một số điều cần chia sẽ. 10 điều bạn cần biết về PHP7 10 Frameworks tốt nhất hiện nay cho PHP Thành thật mà nói, thiết lập JIT là một trong những cách cấu hình tiện ích mở rộng PHP khó hiểu nhất mà tôi từng thấy. May mắn thay, có một số phím tắt cấu hình có sẵn để dễ thiết lập hơn. Vẫn tốt để biết sâu về cấu hình JIT. Trước hết, JIT sẽ chỉ hoạt động nếu opcache được bật , đây là mặc định cho hầu hết các cài đặt PHP, nhưng bạn nên đảm bảo rằng nó opcache.enable được đặt thành 1 trong php.ini tệp của bạn . Việc kích hoạt bản thân JIT được thực hiện bằng cách chỉ định opcache.jit_buffer_size trong php.ini . Việc kích hoạt bản thân JIT được thực hiện bằng cách chỉ định opcache.jit_buffer_size trong php.ini . Lưu ý nếu bạn đang chạy PHP qua dòng lệnh, bạn cũng có thể chuyển các tùy chọn này qua cờ -d , thay vì thêm chúng vào php.ini : php -dopcache.enable=1 -dopcache.jit_buffer_size=100M Nếu chỉ thị này bị loại trừ, giá trị mặc định được đặt thành 0 và JIT sẽ không chạy. Nếu bạn đang thử nghiệm JIT trong tập lệnh CLI, bạn sẽ cần sử dụng opcache.enable_cli thay thế để bật opcache:...

By stationd
Substr trong php là gì? Ví dụ về substr

Substr trong php là gì? Ví dụ về substr

Anh em làm việc hoặc có một thời gian tìm hiểu về ngôn ngữ lập trình php chắc không còn lạ gì với các phương thức trong php, tuy nhiên với những anh em mới bắt đầu thì phương thức nào cũng có ví dụ, có người giải thích sẽ dễ hiểu hơn, bài viết này giải thích cụ thể và đem tới nhiều ví dụ về substr trong php . Php còn nhiều điều hay ho lắm, anh em cứ chờ đón từ từ. =))) Substr là phương thức trong ngỗn ngữ lập trình php . Cụ thể về cú pháp cũng như các ví dụ sử dụng như thế nào. Tất cả sẽ có trong bài viết này. 1. Substr trong php là gì? Đầu tiên như phía trên đã có nói qua với anh em, substr là phương thức, tức là một hàm được cung cấp sẵn trong các version của ngôn ngữ php. Chia thành 2 phần nhỏ, đầu tiên là sub , sub ở đây hiểu la một phần nhỏ của một cái gì đó lớn. Str là viết tắt của String , là chuỗi dài. Vậy substr trong php là chuỗi con ngắn trong chuỗi con dài lấy được. Giống y chang như định nghĩa luôn nha. The substr() function returns a part of a string. Hàm substr trả về một phần của chuỗi. Hướng dẫn viết code PHP chuẩn – PSR tiêu chuẩn khi lập trình PHP Chuẩn coding convention trong PHP với PSR 2. Cú pháp và giải thích ví dụ Về cú pháp thì substr trong php tương đối rõ ràng và dễ sử dụng về mặt cú pháp. substr(string,start,length) Giải thích các parameter cho function này như sau: Đầu tiên là string: cái này là bắt buộc, tìm chuỗi con...

By stationd
Xác thực và phân quyền trong Microservices

Xác thực và phân quyền trong Microservices

Tác giả: Hòa Nguyễn Xác thực (authentication, trả lời câu hỏi bạn là ai) và phân quyền (authorization, trả lời câu hỏi bạn có thể làm được gì) microservices luôn là thành phần không thể thiếu của mọi hệ thống, nhưng mức độ áp dụng thì lại tùy thuộc vào từng giai đoạn. Nếu bạn làm mọi thứ chặt chẽ ngay từ đầu, nó có thể làm tăng độ phức tạp và làm chậm sự phát triển của công ty. Nhưng nếu bạn làm nó quá muộn, thì có thể bạn sẽ hứng chịu nguy cơ bị tấn công và rủi ro từ đó. Với 1 công ty e-commerce như Tiki, rủi ro đó rất hiện hữu với các hệ thống liên quan tới thanh toán, tiền ảo (Tiki Xu), mã khuyến mại (coupon), phiếu quà tặng (giftcard) và nhiều hệ thống nhạy cảm khác… Bắt đầu từ Monolithic Tiki xuất phát là 1 hệ thống monolithic, thông thường ở hệ thống như vậy sẽ có 1 module chung quản lý việc xác thực và phân quyền, mỗi user sau khi đăng nhập sẽ được cấp cho 1 Session ID duy nhất để định danh. Phía client có thể lưu Session ID lại dưới dạng cookie và gửi kèm nó trong mọi request. Hệ thống sau đó sẽ dùng Session ID được gửi đi để xác định danh tính của user truy cập, để người dùng không cần phải nhập lại thông tin đăng nhập lần sau Khi Session ID được gửi lên, server sẽ xác định được danh tính của người dùng gắn với Session ID đó, đồng thời sẽ kiểm tra quyền của user xem có được truy cập tác vụ đó hay không. Giải pháp session và cookie vẫn có thể sử dụng, tuy nhiên ngày nay...

By stationd
Python: Tạo một máy chủ HTTP đơn giản

Python: Tạo một máy chủ HTTP đơn giản

Bài viết được sự cho phép của tác giả Phạm Văn Nguyên Web sever có ở khắp mọi nơi. Cho dù bạn là loại kỹ sư phần mềm nào, tại một số thời điểm trong sự nghiệp, bạn sẽ phải tương tác với các máy chủ web. Có thể bạn đang xây dựng một máy chủ API cho dịch vụ phụ trợ. Hoặc có thể bạn chỉ đang cấu hình một máy chủ web cho trang web của bạn. Trong bài viết này, tôi sẽ đề cập đến cách tạo máy chủ web http cơ bản nhất trong Python. Nhưng vì tôi muốn chắc chắn rằng bạn hiểu những gì chúng tôi đang xây dựng, tôi sẽ đưa ra một cái nhìn tổng quan trước tiên về máy chủ web là gì và cách chúng hoạt động. Nếu bạn đã biết máy chủ web hoạt động như thế nào, thì bạn có thể bỏ qua trực tiếp đến phần này. Việc làm python lương cao cho bạn Máy chủ HTTP là gì? Máy chủ web HTTP không có gì ngoài một quy trình đang chạy trên máy của bạn và thực hiện chính xác hai điều: 1- Listen các yêu cầu http đến trên một địa chỉ TCP socket cụ thể (địa chỉ IP và số cổng mà tôi sẽ nói về sau) 2- Xử lý yêu cầu này và gửi phản hồi lại cho người dùng. Cụ thể thì hãy xem ví dụ sau: Hãy tưởng tượng bạn kéo trình duyệt Chrome của mình lên và nhập www.yahoo.com vào thanh địa chỉ. Tất nhiên, bạn sẽ nhận được trang chủ Yahoo được hiển thị trên cửa sổ trình duyệt của bạn. Nhưng những gì thực sự chỉ xảy ra? Trên thực tế rất nhiều điều đã xảy ra và...

By stationd
Thói quen viết code an toàn trong khi xây dựng ứng dụng PHP

Thói quen viết code an toàn trong khi xây dựng ứng dụng PHP

Bài viết được sự cho phép của tác giả Lê Chí Dũng Bất cứ khi nào bạn xây dựng một hệ thống xong xui và hệ thống đang chạy ngon lành đều bị phá hoại vào ngày đẹp trời nào đó.!? Vì lý do bla, bla,… gì đó họ sẵn sàng dùng mọi cách phá hoại dự án kỳ công của bạn chính vì thế xây dựng code an toàn từ lúc xuất xưởng là cần thiết, hãy áp dụng thói quen này để đảm bảo rằng các ứng dụng của bạn là an toàn mức cao nhất có thể nhé. Kiểm tra hợp lệ đầu vào (validate ngoài form) Bảo vệ post form (validate trong file xử lý) Bảo vệ hệ thống file (ghi logs khi phát sinh tải file mà mình giới hạn) Bảo vệ cơ sở dữ liệu (Chống lại sự tấn công SQL INJECTION) Bảo vệ dữ liệu phiên làm việc (đảm bảo hệ thống luôn chạy tốt) Bảo vệ chống lại các sơ hở của ứng dụng lệnh xuyên các trang (Cross-Site Scripting – XSS) Bảo vệ chống lại các giả mạo yêu cầu xuyên các trang (Cross-Site Request Forgeries – CSRF) 10 Frameworks tốt nhất hiện nay cho PHP Kiểm tra hợp lệ đầu vào (validate ngoài form) Đây là quy tắc cơ bản trong lập trình và nó cũng có 4 bước cơ bản, bạn làm theo thì chắc chắn sẽ K.O. Lập ra danh sách hợp lệ(while list) vs bất hợp lệ (black list) Luôn luôn kiểm tra hợp lệ trong black list. Kiểm tra kiểu dữ liệu đúng. ví dụ như là các số, chuỗi,… Trong quá trình xử lý danh sách bất hợp lệ cần dùng hàm thoát để giảm tải quá trình xử lý. Tuy nhiên hiện nay các...

By stationd
Flask python là gì? – Những điều cần biết

Flask python là gì? – Những điều cần biết

Flask Python WTF, xin lỗi anh em nhưng không có gì là bậy bạ ở đây nha. FlaskWTF mà F ở đây là Forms. Ông này là một plugin hỗ trợ integration giữa Flask và WTForms. Ông WTForms lại là form validation và form render viết bằng Python. Ối dồi sao cái tên nhạy cảm thế. Bậy nào bậy nào À mà giật tít vậy thôi chứ bài viết này tập trung nhấn nhá, nhấn tới nhấn lui và giải thích về Flask Python nha. 1. Flask Python là gì? Flask Python là web framework (giúp anh em xây dựng và phát triển web application). Framework thì anh em biết rồi, thay vì phải dựng trăm thứ bằng tay thì framework sẽ xử giúp anh em. Cứ xài là có, cứ cần là dùng. Flask Python giúp phát triển web nhanh hơn, dễ dàng hơn. Nói chung chung vậy chứ cũng phải tổng kết lại một vài ý ha. Đầu tiên Flask xây dựng trên ngôn ngữ Python Flask xây dựng một phần core nhỏ gọn, dễ dàng mở rộng gọi là microframework Microframework này của Flask tất nhiên không bao gồm trong đó phần ORM (Object Relational Manager). Core chỉ là core và nó chứa những thứ cơ bản nhất. Flask có nhiều thứ hay ho như url routing, template engine (kỹ hơn sẽ nói ở phần sau nha anh em). Xin mạn phép đá qua tí về microframework. Sợ là sợ đôi khi đọc microframework anh em lại tò mò. Mà tò mò lại không nói ra thì cũng dở. Nên thôi cứ viết ra đây cho anh em. Python là gì? Tổng hợp kiến thức cho người mới bắt đầu 2. Microframework Anh em cứ tách keywork ra thành micro (nhỏ) và framework. Hai thứ này làm...

By stationd