Lập Trình

Duyệt các bài viết được gắn thẻ Lập Trình

1677 bài viết

Spring Boot là gì? Demo dự án Spring Boot trong 5 phút

Spring Boot là gì? Demo dự án Spring Boot trong 5 phút

Bài viết được sự cho phép của tác giả Lê Chí Dũng Spring là một framework quen thuộc với các lập trình viên, nhưng Spring vẫn tồn tại nhiều nhược điểm khi hoạt động đơn lẻ. Spring boot ra đời để cải thiện những hạn chế này của Spring. Cùng Station D tìm hiểu Spring boot là gì ? Các tính năng nổi bật và demo cách tạo một dự án Spring Boot chỉ trong 5 phút. Spring Boot là gì? Spring Boot được xây dựng dựa trên nền của Spring Framework, phát triển bởi ngôn ngữ Java. Nó là một phiên bản có tính tự động hoá cao hơn và đơn giản hơn của Spring. Spring Boot khiến cho việc tạo và khởi chạy ứng dụng chỉ diễn ra trong vòng vài phút. Lịch sử phát triển của Spring Boot Spring Boot được phát triển bởi Pivotal Software, với phiên bản đầu tiên (Spring Boot 1.0) được phát hành vào tháng 4 năm 2014. Mục tiêu ban đầu của Spring Boot là giải quyết những hạn chế và phức tạp trong việc cấu hình Spring Framework truyền thống. Spring Framework, mặc dù rất mạnh mẽ và linh hoạt, nhưng yêu cầu nhiều cấu hình thủ công và có thể trở nên cồng kềnh khi xây dựng các ứng dụng phức tạp. Trước khi Spring Boot ra đời, việc cấu hình một ứng dụng Spring thường đòi hỏi nhiều file XML hoặc các class Java cấu hình, gây khó khăn cho việc bảo trì và phát triển. Spring Boot được giới thiệu như một cách tiếp cận đơn giản và hiệu quả hơn, với các cấu hình tự động và các công cụ hỗ trợ như Spring Initializr, giúp nhà phát triển bắt đầu dự án mới nhanh chóng chỉ...

By stationd
Tôi là Product Manager. Tôi làm việc gì trong công ty và tổ chức của tôi?

Tôi là Product Manager. Tôi làm việc gì trong công ty và tổ chức của tôi?

Bài viết được sự cho phép của tác giả Lê Chí Dũng Product Manager (PM – Người quản lý sản phẩm) là một trong những vị trí khó định nghĩa và không có mô tả công việc cụ thể vì mỗi công ty và tổ chức anh ấy được định nghĩa và mô tả công việc cụ thể khác nhau. "Dân làm Product khác hoàn toàn 180 độ với dân làm outsourcing" 3 bài học xương máu mà mỗi Product Manager đều phải trải qua. Nhiều người nghĩ rằng, công việc của một PM sẽ liên quan đến những lĩnh vực sau: Viết code, hệ thống (Technical) Tạo các mock-ups, UX, UI (Design) Ký kết hợp đồng với đối tác bán hàng (Bussiness) Lên kế hoạch truyền thông, PR (Marketing) Nhưng thực tế, những việc trên không phải là công việc mà một PM phải làm. Đây mới là những việc mà PM phải làm: Technology : Bạn không cần thiết phải là developer nhưng bạn phải nắm được công nghệ và kĩ thuật xây dựng nên hệ thống và sản phẩm của mình tối ưu. Để có quyết định đúng đắng đó thì việc tìm hiểu các công nghệ là không thể thiếu và tốt nhất là nên tham khảo ý kiến các senior developer trong team để cùng phát triển. User Experience (UX) : Bạn là người luôn luôn lắng nghe và luôn luôn thấu hiểu trải nghiệm của người dùng. Nên bạn là người dùng đầu tiên trải nghiệm sản phẩm của chính mình. Business : Bạn là người am hiểu mục tiêu của danh nghiệp bạn biết được với hệ thống thế nào và sản phẩm thế nào là mang lại lợi ích cho doanh nghiệp. Và từ các ý kiến trên tôi đút kết ra...

By stationd
SNTP – Simple Network Time Protocol là gì?

SNTP – Simple Network Time Protocol là gì?

Bài viết được sự cho phép của tác giả Kiên Nguyễn Hôm nay nhận được task đi fix bug, lò mò điều tra mới biết nó liên quan tới SNTP (Simple Network Time Protocol). Vậy SNTP là gì?. Nốt công tìm hiểu nên viết ra luôn cho anh em xem. Cách thiết lập và duy trì mối quan hệ (networking) hiệu quả Làm thế nào để xây dựng social network bằng Ruby on Rails Đầu tiên thì nói sơ qua về cái bug. Fix bug này cho một application trên MacOS. Ứng dụng khi start sẽ kiểm tra thời gian ở phía client (Mac Mini) và phía Server (Apple time) có chính xác hay không. Hiện tại thì app crash -> banh chành. SNTP có response trả về nhưng app vẫn bị crash 1. Simple Network Time Protocol là gì? Bắt đầu với định nghĩa: The simple network time protocol (SNTP) is a time synchronization protocol of the TCP/IP protocol family. It is based on the connectionless user datagram protocol (UDP) and can be used on all supporting devices to synchronize system time in IP networks (IPv4 and IPv6). Simple Network Time Protocol (SNTP) là phương thức đồng bộ hóa thời gian, thành viên của TCP/IP protocol. Dựa trên kết nối của user datagram protocol (UDP) và có thể sử dụng để đồng bộ hóa tất cả thời gian trên thiết bị. Cả trên IPv4 và IPv6 Đó, theo như cái lý thuyết, đầu tiên SNTP là phương thức đồng bộ thời gian. Trong mạng máy tính, có thể vì các lý do khách quan dẫn tới thời gian ở client và server khác nhau. Kết nối vàng cho biết là kết nối trực tiếp. Đỏ là giao tiếp giữa các máy client với nhau. Nguồn ảnh source: Wikipedia.com Nếu...

By stationd
Lưu ý khi chạy async function với vòng lặp

Lưu ý khi chạy async function với vòng lặp

Bài viết được sự cho phép của tác giả Lưu Bình An Để chạy một chuỗi các async function theo thứ tự (tuần tự như chạy tiếp sức) cố định, nếu không để ý chúng ta sẽ có những kết quả không như mong đợi. Luôn dùng for...of Không sử dụng .forEach nếu bên trong callback chứa các hàm cần await . Luôn luôn dùng for..of nếu muốn nó đúng thứ tự 6 lý do Async/Await của Javascript đánh bại Promises RxSwift 3: Thuật ngữ về lập trình bất đồng bộ (Asynchronous programming glossary) Xem thêm các việc làm JavaScript lương cao trên Station D async function asyncProcessing ( ms ) { return new Promise ( resolve => setTimeout ( function ( ) { console . log ( 'wait:' , ms ) ; resolve ( ms ) ; } , ms ) ) ; } async function forOf ( ) { const timeouts = [ 10 , 600 , 200 , 775 , 125 , 990 ] ; let result = [ ] ; for ( const timeout of timeouts ) { result . push ( await asyncProcessing ( timeout ) ) } return result ; } // Kết quả wait: 10 wait: 600 wait: 200 wait: 775 wait: 125 wait: 990 Nếu thay vòng lặp for...of bằng timeouts . forEach ( async timeout => { const a = await asyncProcessing ( timeout ) ; result . push ( a ) ; } ) // kết quả nhận được wait: 10 wait: 125 wait: 200 wait: 600 wait: 775 wait: 990 Hoặc dùng Array.reduce Một lựa chọn khác nếu không thích dùng for...of , kết quả sẽ giống i chang const result = await timeouts . reduce ( async ( sum , timeout ) => { return [ ... (...

By stationd
Tổng hợp các công cụ kiểm thử chức năng cho web

Tổng hợp các công cụ kiểm thử chức năng cho web

Bài viết được sự cho phép của vntesters.com Bạn đang tìm kiếm công cụ kiểm thử chức năng cho web và đang không biết bắt đầu từ đâu, như thế nào? Bài viết này sẽ giúp bạn tiết kiệm được rất nhiều thời gian google. Các bạn xem thêm các công cụ kiểm thử chức năng cho Desktop ở đây. Nếu bạn có danh sách khác, hãy chia sẻ bằng cách để lại chú thích nhé. 10 bước để bắt đầu áp dụng kiểm thử tự động vào dự án 10 lý do kiểm thử phần mềm trở thành một nghề thời thượng Xem thêm nhiều việc làm Tester lương cao trên Station D No. Product Vendor 1 actiWATE Actimind 2 AppsWatch NRG 3 Badboy Badboy Software 4 Canoo WebTest Canoo 5 eValid Software Research 6 IeUnit 7 Imprimatur 8 Internet Macros Opus 9 HTTP::Recorder Opus 10 iRise Application Simulator iRise 11 ITP Incanica 12 liSA iTKO 13 Netvantage Functional Tester Netvantage Technologies 14 PesterCat PesterCat 15 QA Wizard Seapine 16 Ranorex Ranorex Software 17 Rational Robot Rational Software 18 Sahi 19 SAMIE 20 Selenium ThoughtWorks 21 SilkTest Segue Software, Inc. 22 SoapTest Parasoft 23 soapui eviware 24 Solex NEOMAlogic 25 Squish froglogic GmbH 26 swete Neal Lester 27 TestSmith Quality Forge 28 TestWeb Original Software 29 vTest Verisium 30 WatiN 31 Watir 32 WebAii ArtOfTest 33 Webcorder Crimson Solutions 34 WebInject WebInject 35 WebKing ParaSoft 36 WET Qantom Software 37 WSUnit 38 Yawet InforMatrix Bài viết gốc được đăng tải tại vntesters.com Có thể bạn quan tâm: Kiểm thử tính năng Tìm kiếm – bạn làm như thế nào? Các chức năng cần tìm hiểu khi lựa chọn công cụ tự động cho kiểm thử di động Kiểm thử phần mềm là gì? Các phương pháp kiểm thử được...

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
Lập trình đâu chỉ có những dòng code

Lập trình đâu chỉ có những dòng code

Lập trình đâu chỉ là những dòng code – Station D via Persol

By stationd
Kết nối RabbitMQ sử dụng Web STOMP Plugin

Kết nối RabbitMQ sử dụng Web STOMP Plugin

Bài viết được sự cho phép của tác giả Giang Phan Trong các bài viết trước mình đã giới thiệu với các bạn cách kết nối đến RabbitMQ sử dụng Java thông qua giao thức AMQP . Trong bài này, tôi sẽ giới thiệu với các bạn cách kết nối RabbitMQ sử dụng Javascript thông qua WebSocket . Giới thiệu CloudAMQP – Một RabbitMQ server trên Cloud Đôi chút về RabbitMQ Web STOMP Plugin là gì? Web STOMP plugin giúp chúng ta có thể sử dụng Javascript để kết nối đến RabbitMQ sử dụng giao thức STOMP thông qua WebSocket connection. RabbitMQ Web STOMP sử dụng giao thức STOMP, được cung cấp bởi RabbitMQ STOMP plugin và expose (hiển thị) nó bằng WebSocket. Để enable RabbitMQ Web STOMP plugin, sử dụng lênh sau: rabbitmq-plugins enable rabbitmq_web_stomp Sau khi enable, chúng ta có thể access một web socket endpoint tại context path: /ws Chẳng hạn: http://127.0.0.1:15674/ws Sử dụng Web STOMP Plugin Trong ví dụ bên dưới, tôi sẽ tạo một ứng dụng Echo server, đơn giản cho phép user gửi một Message lên RabbitMQ server và subscribe để nhận Message từ RabbitMQ Server. Giao diện chúng ta sẽ tạo như sau: Box bên trái: hiển thị thông tin Message nhận được từ RabbitMQ server. Box bên phải: hiển thị thông tin log message giao tiếp giữa client và RabbitMQ server thông qua websocket. Một input cho phép user gửi message lên RabbitMQ server. Để sử dụng STOMP trong Web browser context, chúng ta cần download một JavaScript STOMP library . Link download: https://raw.github.com/jmesnil/stomp-websocket/master/lib/stomp.js Đoạn code của chương trình như sau: index.html Tiếp theo, chúng ta sẽ tạo file javascript để kết nối đến RabbitMQ server, gửi và nhận message: printLogDebug : hiển thị thông tin log message giao tiếp giữa client...

By stationd
12 loại bàn phím cho lập trình viên (Phần 1)

12 loại bàn phím cho lập trình viên (Phần 1)

Bài viết được sự cho phép của smartjob.vn Bàn phím là công cụ không thể thiếu với mỗi lập trình viên . Họ dùng chúng hằng ngày, tiếp xúc với chúng nhiều hơn bất cứ thứ gì khác. Với mỗi người sẽ có những loại bàn phím ưa chuộng riêng tùy theo sở thích, phong cách làm việc của họ. Sau đây là 12 loại bàn phím được rất nhiều lập trình viên muốn sở hữu bởi các style và tính năng riêng biệt mà chúng mang lại. Các bạn sẽ được chiêm ngưỡng những kiểu dáng điển hình nhất của từng thời đại, đã làm nên tên tuổi của các nhà sản xuất và đã gắn bó với giới lập trình trong một khoảng thời gian dài. Ngăn Google Chrome sử dụng các phím Media trên bàn phím Top 7 phương pháp tự học lập trình tốt nhất dành cho Developer IBM Model M (1992) Đươc thiết kế với sự chủ đạo là tính đàn hồi, đem lại cảm giác rất thỏa mãn cho người dùng. Các lập trình viên đã từng rất ưa chuộng model này và rất thích thú với âm thanh của bàn phím. Chúng ta có thể bố trí bàn phím này ở nhiều góc khác nhau trên bàn làm việc bởi sự cơ động của nắp chụp phím. Một đặc điểm khác là độ bền của model này gần như là số 1. Đó là lý do nó đã gắn bó với nhiều lập trình viên trong suốt một khoảng thời gian dài. Nhận xét: “Bạn thích nó bởi phản ứng của từng phím mang lại cảm giác chắc chắn và sẽ cực kỳ thoải mái khi làm việc khi được nghe âm bàn phím kết hợp với tiếng nháy chuột.” Daniel C.Silvertein “Nó...

By stationd
Phần 1 – Học AWS cơ bản: Quán Net

Phần 1 – Học AWS cơ bản: Quán Net

Bài viết được sự cho phép của tác giả Trần Khôi Nguyên Hoàng Chắc chắn trong đời của các bạn thì đã một lần trốn học đi chơi Net. Và mình cũng thế, mình cũng có một tuổi thơ ăn dầm nằm dề ở quán các quán net cỏ ngày xưa. … Chính vì thế, mình sẽ mượn hình ảnh của quán Net để nói một cách tổng quát các khái niệm của Amazon Web Services (AWS), giúp các bạn có một cái nhìn tổng quát hơn về AWS. Quán Net Amazon Tưởng tượng rằng công ty A muốn mở một chuỗi các cửa hàng kinh doanh quán Net với cấu hình khủng. Vì công ty A giàu vcl nên công ty A muốn mở chuỗi cửa hàng Net trên toàn bộ thế giới. Cứ một quốc gia sẽ có một quán Net ở mỗi thành phố lớn ở quốc gia đó. Quán Net của ông ty A thì to vcl, mỗi quán lại có vài nghìn máy cấu hình khủng , đủ cho các Skys cày view cho sếp hay là đua rank LOL. AWS, Azure và Google Cloud là gì? Chứng chỉ nào tốt nhất cho sự nghiệp của bạn? Công nghệ Cloud: Bối cảnh sử dụng Cloud & kinh nghiệm làm việc với AWS, IaC Cũng như bao quán Net khác, quán Net của công ty A cũng đánh số lên mỗi máy: Máy 1, Máy 2, Máy 3, để nhân viên dễ dàng quản lý và khách hàng cũng dễ dàng tìm được máy mà mình thích hơn. Tuy nhiên, quán Net này lại không có nhân viên kỹ thuật, chính vì thế, khách hàng tới chơi Net phải tự chuẩn bị sẵn bộ cài Window (hoặc bất cứ hệ điều hành nào) để cài lên...

By stationd
Sync extensions của VSCode

Sync extensions của VSCode

Khi sử dụng VSCode chắc ai cũng cài thêm một mớ extensions, lỡ ngày nào cài lại máy, hay sử dụng máy công ty, máy tính ở nhà muốn VSCode sync mấy cái extention hay sử dụng Cần có Tài khoản Github, danh sách extension sẽ được lưu lên gist Cài thêm extention tên là Settings Sync – tác giả Shan Khan. Tạo access token trên Github Đăng nhập vào tài khoản Github, vào trang Settings / Developer settings / Personal access tokens / Generate New Token Nhập tên và cấp quyền tạo gist cho token này Sau khi tạo xong, nhớ lưu lại token này ở đâu đó Upload những thiết đặt, extensions đã cài cho VSCode Dùng phím tắt Shift + Alt + U hoặc search từ command Palette, search từ sync Nó sẽ yêu cầu nhập giá trị token vừa mới tạo Sau khi upload thành công, nó sẽ trả về gist id, nhớ copy và lưu lại giá trị gist Id này để sử dụng trên máy khác. Download các thiết từ gist về Dùng phím tắt Shift + Alt + D , hoặc gọi từ command palette Nó sẽ yêu cầu nhập lại token và gist id đã tạo, điền vào, xong! Station D via Vuilaptrinh

By stationd
Những chứng chỉ cần có của một quản lý công nghệ thông tin

Những chứng chỉ cần có của một quản lý công nghệ thông tin

Tác giả: Ryan Vergara Giới thiệu Chúng ta đang sống trong thời kỳ công nghệ 4.0 chính vì vậy nên các vị trí công việc dành cho lĩnh vực công nghệ thông tin ngày một nhiều hơn. Và để vươn lên vị trí là một quản lý công nghệ thông tin, bên cạnh kỹ năng và kiến thức, bạn cần có những bằng cấp liên quan để chứng minh năng lực của mình với nhà tuyển dụng. Có thêm những chứng chỉ này giúp việc thăng tiến phần nào “nhẹ nhàng” hơn Những chứng chỉ IT cần có một quản lý công nghệ thông tin Cisco Certified Network Associate (CCNA) CCNA có lẽ là bằng phổ biến và quen thuộc nhất hiện tại dành cho các chuyên gia CNTT. Đây là một khóa học cấp chứng chỉ trung cấp. Người sở hữu bằng CCNA là người có năng lực trong việc định cấu hình, vận hành và khắc phục sự cố mạng được định tuyến. Để có được chứng chỉ này, bạn phải vượt qua kỳ thi CCNA 200-301. Trong đó bài kiểm tra này đề cập đến các nguyên tắc cơ bản về bảo mật mạng, giao thức internet, tự động hóa và các kỹ năng liên quan đến bảo mật khác. Xem thêm các việc làm tại Gear Inc tuyển dụng hấp dẫn với Station D Kỳ thi bao gồm 120 câu hỏi trong đó mỗi câu hỏi có một điểm liên quan. Để vượt qua kỳ thi, bạn phải có số điểm ít nhất là 800 (điểm cao nhất có thể đạt được là 1.000). Chi phí cho kỳ thi này là 300 USD. Chứng chỉ IT Cisco Certified Network Professional (CCNP) Trong khi CCNA là chứng chỉ bao gồm các cấp độ kỹ năng từ cơ...

By stationd