Công nghệ
Duyệt các bài viết được gắn thẻ Công nghệ
1899 bài viết

Distributed cache là gì? – điều gì khiến nó trở nên mạnh mẽ?
Bài viết được sự cho phép của tác giả Kiên Nguyễn Ngày nay, một ứng dụng web, một app trên mobile cũng có thể có cả triệu user sử dụng, truyền đạt (gửi đi tới cả tera bytes). Rõ ràng là thế, vậy mới đẻ ra nghành Khoa Học Dữ Liệu ( Data Scientist ) , càng ngày càng hot. Để đảm bảo cho trải nghiệm của người dùng, cache chưa bao giờ là sự lựa chọn tồi. Tuy nhiên, chỉ mỗi cache không là chưa đủ. Buffer là gì? Hiểu về Buffer và Cache Speed up Microservices 2: Tận dụng trình duyệt và cache Số lượng request nhiều -> một server cache sẽ chịu tải quá lớn -> nếu đầu tư quá nhiều phần cứng -> lãng phí. Đây là nguyên nhân chính ta cần phải biết thêm về Distributed cache (Cache phân tán). 1. Distributed cache là gì? Distributed cache thì có 2 chữ, chữ Distributed và chữ Cache . Giờ focus vô chữ Cache trước Caching is a commonly used technology to boost application performance as well as reduce costs Caching là công nghệ thường được sử dụng để tăng hiệu năng của ứng dụng, giảm chi phí xuống ở mức tối thiểu Bằng cách sử dụng cache và CDN , user không còn phải chờ tải nội dung từ hơn 1000km hoặc từ châu lục này tới châu lục khác. By caching frequently accessed data in memory, rather than the backend database, applications can deliver highly responsive experiences . Bằng cách thường xuyên sử dụng cache để lưu trữ data trong bộ nhớ, hơn là sử dụng Backend DB, ứng dụng có thể cung cấp những trải nghiệm tuyệt vời hơn tới User . Khác với CDN , thay vì mỗi khu vực sẽ có vài...

Dùng Px, Em hay Rem để viết media query
Bài viết được sự cho phép của tác giả Lưu Bình An Khi viết media query, bạn có bao giờ thắc mắc nên dùng đơn vị nào: px, em hay rem? Các bạn đọc bài này mình mặc định bạn đã phân biệt được sự khác nhau giữa em và rem Setup để thử nghiệm Chúng ta sẽ dùng 3 div tô 3 màu khác nhau để thấy được kết quả dễ dàng .pixel { background: red; } .em { background: green; } .rem { background: blue; } Chúng ta viết query min-width trên 3 element này, thay đổi opacity để thấy được khi nào css này được áp dụng .pixel { background: red; @media (min-width: 400px) { opacity: .5 } } Chúng ta sẽ đặt font-size cho html là 16px = 1em = 1rem. Như vậy 400px = 25em = 25rem .em { background: green; @media (min-width: 25em) { opacity: 0.5 } } .rem { background: blue; @media (min-width: 25rem) { opacity: 0.5 } } Tất cả đều được trigger ở chính xác kích thước 400px Tối ưu hóa việc thực thi query trong MYSQL Những gợi ý sử dụng jQuery bạn nên biết Thay đổi font size ở HTML Trường hợp phổ biến nhất chúng ta hay gặp là thay đổi font-size trên HTML html { font-size: 200%; } Khi thay đổi font-size lên 200%, nghĩa là 1em = 1rem = 32px. Nếu sự thay đổi font-size này tác động lên em và rem , chúng ta sẽ thấy 2 element bên dưới trigger ở 800px Kết quả trên Chrome, Firefox và IE11, cả 3 thằng đều trigger ở 400px Nếu chạy đúng, em và rem không nên bị ảnh hưởng bởi thay đổi font-size trên HTML, nó chỉ được phụ thuộc vào font-size mặc định của trình...

Kiểm thử tính năng Tìm kiếm – bạn làm như thế nào?
Bài viết được sự cho phép của tác giả Tô Thị Vân Anh Bài viết này được tham khảo từ nguồn https://www.deviqa.com/blog/7-things-to-test-in-your-search-form . Sau khi mình đọc được đâu đó bản dịch cũng từ nguồn trên thì cảm thấy có gì đó không ổn, phát hiện ra là bài viết tiếng Anh được bê nội dung vào “Gu-gồ” dịch sau đó thì đưa lên làm bài viết. Google dịch giờ thì cũng đã sát nghĩa và đỡ lôm côm rồi, nhưng mà nhiều chỗ cần giải thích, có những đoạn dùng từ hơi đặc thù nên nếu không diễn giải, sử dụng từ phù hợp hơn thì nó vẫn rất là “buồn cười” nhưng nghe vẻ bạn dịch bài viết kia đã không để ý hoặc bạn không quan tâm nên Google dịch thế nào bạn lấy về dùng y như thế khiến mình nghĩ là mình sẽ dịch thử xem sao. Cách tự học code web, tìm kiếm công việc dễ dàng và hạnh phúc mỗi ngày Làm sao Google cho ra kết quả tìm kiếm nhanh đến thế? Đúng là dịch rồi thì mới thấy là hơi mông lung =)) các bạn đọc rồi góp ý cho mình với nhé. Có những đoạn thì mình đoán ý người viết rồi viết ra theo cách hiểu của mình. Đây là bài học và kinh nghiệm khi kiểm thử chức năng tìm kiếm cho các ứng dụng web có tính năng này. Mình cũng hi vọng bài viết có ý nghĩa cho tất cả các bạn mới tìm hiểu và làm về kiểm thử. ——– Hiện nay hầu hết các ứng dụng đều cung cấp chức năng tìm kiếm cho phép người dùng có thể tương tác, tìm kiếm nội dung trên trang web đó. Số lượng các kịch bản...

Cách sử dụng properties trong tập tin cấu hình của Spring
Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Trong những bài viết trước mình đã giới thiệu với các bạn về cách đọc properties files trong Spring sử dụng đối tượng PropertyPlaceholderConfigure, namespace util hay namespace context. Vậy làm thế nào để sử dụng những properties này trong tập tin cấu hình của Spring? Trong bài viết này, mình sẽ hướng dẫn các bạn làm điều đó! Lập trình theo kiểu Aspect Oriented Programming (AOP) sử dụng Spring Framework Tạo hiệu ứng trong react với React Spring Trước tiên, mình sẽ tạo một Maven project mới để làm ví dụ: Spring framework dependency: <dependency <groupId> org.springframework </groupId> <artifactId> spring-context </artifactId> <version> 4.3.9.RELEASE </version> </dependency> HelloWorld class: package com . huongdanjava . springusingpropertiesinspringxml ; public class HelloWorld { private String name ; public void print ( ) { System . out . print ( "Hello " + name ) ; } public String getName ( ) { return name ; } public void setName ( String name ) { this . name = name ; } } Application class: package com . huongdanjava . springusingpropertiesinspringxml ; import org . springframework . context . ApplicationContext ; import org . springframework . context . support . ClassPathXmlApplicationContext ; public class Application { public static void main ( String [ ] args ) { ApplicationContext context = new ClassPathXmlApplicationContext ( "spring.xml" ) ; HelloWorld helloWorld = ( HelloWorld ) context . getBean ( "helloWorld" ) ; helloWorld . print ( ) ; } } configuration.properties name = Khanh spring.xml <beans xmlns = "http://www.springframework.org/schema/beans" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns : context = "http://www.springframework.org/schema/context" xsi : schemaLocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd" <context:property-placeholder location = "classpath:configuration.properties" /> </beans> Ở đây, mình đã khai báo sử dụng namespace context để đọc file...

SourceTree: Công cụ trực quan hóa cho GIT trên Windows/ macOS
Bài viết được sự cho phép của blogchiasekienthuc.com Chào anh em, Git có lẽ là một công cụ đã không còn xa lạ gì với anh em trong giới lập trình nữa rồi, bởi sự hiệu quả trong việc quản lý mã nguồn (source code) mà nó mang lại là không phải bàn cãi gì thêm. Nhưng việc sử dụng Git thông qua các dòng lệnh (command line) không phải lúc nào cũng tiện và “ngầu” như anh em vẫn nghĩ. Đặc biệt là với các anh em mới tiếp cận với lập trình ! Chính vì vậy trong bài viết này, mình sẽ hướng dẫn cho anh em cài đặt SourceTree – một công cụ GUI giúp trực quan hóa các thao tác với Git, giờ đây các thao tác quản lý sẽ dễ như ăn kẹo Ok, bây giờ thì cùng mình cài đặt thôi nào ! "Dân làm Product khác hoàn toàn 180 độ với dân làm outsourcing" #1. Download Sourcetree mới nhất Trang chủ: www.sourcetreeapp.com Link từ trang chủ: https://www.sourcetreeapp.com/ . Hiện tại thì Sourcetree chỉ hỗ trợ cho Windows và Mac OS, đây cũng là hai hệ điều hành phổ biến nhất hiện nay. #2. Cài đặt phần mềm Sourcetree Nói chung là quá trình cài đặt cũng không có gì khó khăn cả, đa số là những thao tác rất quen thuộc với anh em lập trình mà thôi. Sau khi download sourcetree xong => anh em bấm vào file vừa tải về để tiến hành cài đặt. + Bước 1: Đầu tiên là phần đăng ký tài khoản thông qua Bitbucket, nhưng nếu anh em có tài khoản Github hoặc Gitlab hay VS Team thì dùng luôn các tài khoản này cũng đươc nhé. Bạn bấm vào nút Skip để sang bước tiếp...

Lib requests có gì hay mà dùng thay urllib
Bài viết được sự cho phép của tác giả Nguyễn Việt Hưng Python là một ngôn ngữ già, có thể bạn chưa biết, Python tuổi dê Python ra đời từ thời mới có HTTP , và nổi tiếng là hỗ trợ tận răng , nên không có gì lạ nếu Python có kèm sẵn thư viện standard để thực hiện HTTP request với tên urllib . Vậy nhưng khi lên mạng tìm kiếm hay hỏi quanh đây: dùng gì để gọi HTTP trong Python? , câu trả lời phần lớn đều là cài: pip install requests . Biến toàn cục (global), biến cục bộ (local), biến nonlocal trong Python 11 tip học Python dành cho các “newbie” Requests không phải có từ ngày Python xuất hiện, nhưng vào thời Python 2.6 2.7 (cỡ 2012-2013), requests đã rất phổ biến, ví dụ như câu trả lời trên StackOverFlow năm 2013 . Requests (có chữ s) xuất hiện với một API cực kỳ thân thiệt, với motto (khẩu hiệu): Python HTTP for Humans do urllib có sẵn trong Python2 quá rắc rối. API của requests nổi tiếng đến mức gần như ngôn ngữ lập trình nào cũng có một thư viện “nhái” requests của Python , nó quá đơn giản, tới mức … trước đây không thư viện nào từng làm vậy. (API của thư viện là các function mà thư viện đó public cho người dùng sử dụng, ví dụ requests có: requests.get, requests.post.) Sau gần chục năm phát triển, requests giờ đã nằm dưới mái nhà Python Software Foundation . Với các tính năng được quảng cáo ở bản v1.0.0, cuối năm 2012 International Domains and URLs Keep-Alive & Connection Pooling Sessions with Cookie Persistence Browser-style SSL Verification Basic/Digest Authentication Elegant Key/Value Cookies Automatic Decompression Unicode Response Bodies Multipart File...

Hướng dẫn pull images từ docker repository, registry (docker pull)
Bài viết được sự cho phép của tác giả Trần Hữu Cương Hướng dẫn pull images từ docker repository, registry (docker pull) 20 trường hợp sử dụng lệnh Docker cho developer Cách thiết lập một dự án Symfony để làm việc với Docker Subdomains Ví dụ docker pull Để pull docker image ta dùng lệnh sau: docker pull [ OPTIONS ] NAME [ :TAG| @DIGEST ] Trong đó có các OPTIONS sau: --all-tags , -a Tải tất cả các tag của image trong repsitoryDownload all tagged images in the repository --disable-content-trust true Bỏ qua bước verify image --platform experimental (daemon) API 1.32+ Thiết lập platform nếu server cho phép nhiều platform --quiet , -q Thu gọn log của lệnh Ví dụ: pull image ubuntu với tag là 18.04 docker pull ubuntu: 18.04 Okay, Done! References: https://docs.docker.com/engine/reference/commandline/pull/ Bài viết gốc được đăng tải tại stackjava.com Có thể bạn quan tâm: Hướng dẫn cài đặt docker registry server (private registry server) Docker là gì? Kiến thức cơ bản về Docker Hướng dẫn xóa docker image (ví dụ docker rmi) Xem thêm Việc làm IT hấp dẫn trên Station D

Hướng dẫn cách tạo kết nối đến SQL Server thông qua SSMS
Bài viết được sự cho phép của blogchiasekienthuc.com Chào các bạn, trong bài viết trước mình đã cùng các bạn cài đặt Microsoft SQL Server và SSMS (SQL Server Management Studio) là một công cụ giao diện hỗ trợ thao tác với SQL Server. Và để tiếp tục cho nội dung của bài hôm trước thì trong bài viết tiếp theo này, mình sẽ cùng các bạn thực hiện việc kết nối tới SQL Server thông qua SSMS. Ok, bắt đầu ngay thôi nào ! #1. Khởi chạy SQL Server Management Studio + Bước 1: Đầu tiên các bạn mở SSMS lên, có rất nhiều cách mở. Các bạn có thể tìm kiếm trên thanh Taskbar hoặc tạo shortcut trên màn hình. Ở đây mình dùng cách đơn giản nhất và nhấn tổ hợp Windows + S để mở Windows Search => và tìm kiếm với từ khóa Microsoft SQL Server như hình bên dưới. + Bước 2: Bạn chờ một lát để cho SQL Server Management Studio khởi động. + Bước 3: Đây chính là giao diện ban đầu khi các bạn khởi tạo SSMS. Các bạn có thể bấm vào Connect như ảnh bên dưới để kết nối đến SQL Server thông qua xác thực của hệ điều hành (được thiết lập trong quá trình cài đặt). #2. Tạo mới một connection + Bước 1: Vâng, sau khi có connection rồi thì các bạn có thể bấm vào tab Connect như hình bên dưới => rồi chọn Database Engine… + Bước 2: Ở đây các bạn bấm vào ô lựa chọn Server name thì sẽ có một drop-down sổ xuống => Các bạn chọn là SQL Server Authentication . => Sau đó bấm Connect để thiết lập một kết nối thông qua xác thực của Server. + Bước...

System Design Cơ Bản – Phần 5: Indexes
Bài viết được sự cho phép của tác giả Edward Thiên Hoàng Có lẽ thuật ngữ “đánh index” đã quá quen với những ai làm việc với CSDL, đó là cách rất phổ biến để tăng tốc độ query của dữ liệu, khi dữ liệu Database ngày càng tăng và trở nên chậm dần đều theo thời gian. Mục tiêu của việc tạo Index là để tăng tốc độ trả về dữ liệu của một hoặc nhiều trường (rows) trên một bảng (table) cụ thể nào đó bằng cách tạo Index trên một hoặc nhiều cột (columns) của một database table. Những điều cần biết về z-index trong css 4 ngôn ngữ phát triển game indie phổ biến Để hiểu rõ hơn thế nào là Indexes ta hãy đến thử một nhà sách hay thư viện, thường các cuốn sách sẽ được phân chia theo các danh mục về nội dung như: sách nấu ăn, sách tiểu thuyết nước ngoài, sách tâm lý, sách lịch sử … Nếu ta muốn tìm kiếm một loại sách theo nội dung mong muốn thì chỉ việc tới cá kệ sách với nội dung tương ứng, nó sẽ nhanh hơn là tìm kiếm từ toàn bộ cả nhà sách từ. Hoặc ví dụ khác về các phần mục lục trong muốn cuốn sách, nếu ta muốn tìm nhanh đến “chương hồi” ta đang cần tìm kiếm hoặc đọc dở chỉ cần tra mục lục rồi tìm tới đúng trang chứa nội dung. Index trong Database cũng giống như vậy, ví dụ ta có một table là Books chứa 4 columns là “book_title”, “writer”, “subject”, và “date_of_publication”, thường thì khách hàng sẽ thường xuyên tìm kiếm sách theo hai tiêu chí là tên sách và tác giả, do đó ta sẽ tạo Index cho hai...

So sánh giữa Native App Development và Hybrid App Development
Tác giả: Surender Vikram Singh Sự phát triển mạnh mẽ của thị trường điện thoại thông minh trong những năm gần đây đã dẫn đến tỷ trọng truy cập trang web trên điện thoại di động lên đến 52,2% trong năm 2018. Tính sẵn có của điện thoại thông minh hiệu quả về chi phí dẫn theo sự gia tăng sự lệ thuộc của chúng tôi vào điện thoại thông minh, khiến các nhà phát triển khó lựa chọn giữa Native Mobile App Development hay Hybrid App Development. . . . Tầm quan trọng của UI / UX trong phát triển ứng dụng trên thiết bị di động Trước khi chúng tôi xem xét nền tảng phát triển ứng dụng Native & Hybrid, có một khía cạnh quan trọng nhất của việc phát triển ứng dụng này là chính là khách hàng của bạn cần phải được xem xét. Khách hàng của bạn ít quan tâm đến công nghệ cũng như nền tảng cung cấp cho ứng dụng mà họ đang sử dụng. Hầu hết người dùng lo ngại về những gì họ có thể làm với ứng dụng thay vì những thứ tạo ra chúng. Vì vậy, trải nghiệm người dùng và giao diện người dùng ( User Experience and User Interface ) là khía cạnh quan trọng nhất của bất kỳ ứng dụng di động nào. 79% người dùng thử một đến hai lần cho bất kỳ ứng dụng nào nếu nó không hoạt động trong lần thử đầu tiên , trong khi chỉ 16% người dùng sẽ cố gắng thử nhiều hơn hai lần. Trải nghiệm người dùng kém ngăn cản người dùng sử dụng ứng dụng. . . . Ứng dụng Native & Hybrid – Khái quát nhanh Native App Development Ứng dụng di động gốc...

Lấy ngày giờ hiện tại trong Java
Bài viết được sự cho phép của tác giả Giang Phan Có nhiều cách để lấy ngày giờ hiện tại trong Java. Trong bài này, tôi sẽ giới thiệu một vài cách thường được sử dụng để lấy ngày giờ hiện tại. 5 thói quen ngày thứ 2 giúp bạn xây dựng app tốt hơn "Luật 5 giây" giúp Steve Jobs thách thức mọi giới hạn sáng tạo Lấy ngày hiện tại: java.time.LocalDate System.out.println(java.time.LocalDate.now()); Kết quả: 2017 - 01 - 23 Lấy giờ hiện tại: java.time.LocalTime System.out.println(java.time.LocalTime.now()); Kết quả: 00 : 01 : 14.341 Lấy ngày và giờ hiện tại: java.time.LocalDateTime System.out.println(java.time.LocalDateTime.now()); Kết quả: 2017 - 01 -24T00: 03 : 31.593 Lấy ngày và giờ hiện tại: java.time.Clock System.out.println(java.time.Clock.systemUTC().instant()); Kết quả: 2017 - 01 -23T18: 35 : 23 .669Z Lấy ngày và giờ hiện tại: java.util.Date java.util.Date date= new java.util.Date(); System.out.println(date); hoặc long millis=System.currentTimeMillis(); java.util.Date date= new java.util.Date(millis); System.out.println(date); Kết quả: Thu Oct 26 08 : 22 : 02 IST 2017 Lấy ngày hiện tại: java.sql.Date long millis=System.currentTimeMillis(); java.sql.Date date= new java.sql.Date(millis); System.out.println(date); Kết quả: 2017 - 10 - 26 Lấy ngày và giờ hiện tại: java.util.Calendar Date date=java.util.Calendar.getInstance().getTime(); System.out.println(date); Kết quả: Thu Oct 26 08 : 22 : 02 IST 2017 Như bạn thấy có rất nhiều cách để lấy ngày giờ trong Java, nếu có thể hãy sử dụng các phương thức Date Time trong Java 8 : java.time.* sẽ tốt hơn nhé. Bài viết gốc được đăng tải tại gpcoder.com Có thể bạn quan tâm: Lập trình Java cho những người mới bắt đầu: học Java để làm gì? 10 lý do cho thấy tại sao bạn nên theo học ngôn ngữ lập trình Java Exception là gì? Tổng quan về Exception trong Java Xem thêm các việc làm Java hấp dẫn tại Station D

5 lý do sinh viên IT nên học Tiếng Anh ngay lập tức
Bài viết được sự cho phép của tác giả Kiên Nguyễn Trong những năm trở lại đây, công nghệ thông tin đang dần trở thành một trong số ngành học “hot” nhất, được nhiều bạn học sinh quan tâm và theo học nhất… Cũng đúng thôi, thời đại của công nghệ mà lại. Qua những số liệu thống kê thì chúng ta có thể thấy, một trong những nguyên nhân hàng đầu khiến các bạn trẻ đổ xô vào học công nghệ thông tin đó chính là: Cơ hội việc làm nhiều và lương ngành này tương đối cao so với mặt bằng chung. Nhưng tất nhiên, bất cứ ngành học nào cũng có những ưu và nhược điểm riêng. Ngành IT này cũng vậy. Nếu bạn không trang bị cho mình những kỹ năng khác nữa thì bạn cũng sẽ khó tiến xa hơn được. "Ngành IT này học rất dễ, tài liệu ko bao giờ thiếu. Quan trọng là phải có đam mê và chịu cày" Mẫu CV IT tiếng Anh hấp dẫn nhà tuyển dụng Vâng, và một trong số đó chính là khả năng ngoại ngữ của bạn. Ở trong bài viết này mình sẽ chia sẻ với các bạn 5 lý do cực kỳ thuyết phục để bạn học ngoại ngữ (tiếng Anh) ngay lập tức, và ngay bây giờ… #1. Để đọc hiểu tài liệu Ở mức cơ bản nhất, các bạn nên trang bị cho mình khả năng đọc hiểu tài liệu tiếng Anh. Các bạn không cần phải Ielts 7, 8 chấm, vì để đọc hiểu tài liệu chuyên ngành thì phần đa các bạn sẽ gặp các từ ngữ chuyên ngành mà thôi. Thậm chí là các bạn sẽ không có thời gian để đọc hết một tài liệu từ a-z,...