Saramin
Sort by
0 results
job-image
Nhân viên kinh doanh (Sales)CÔNG TY TNHH KOREAFOAM
HIGHLIGHT COMPANY

Company information

job-imageCÔNG TY TNHH KOREAFOAM
Thành phố Hồ Chí Minh
2 Jobs

Related posts

Marketplace Illustration
Nên build cấu hình PC cho lập trình viên như thế nào?

Trong thời đại công nghệ phát triển nhanh chóng, việc sở hữu một chiếc PC mạnh mẽ là điều cần thiết đối với lập trình viên. Một cấu hình PC tốt không chỉ giúp công việc lập trình trơn tru hơn mà còn tăng hiệu quả khi xử lý các tác vụ nặng, từ lập trình game đến trí tuệ nhân tạo (AI). Bài viết này của TopDev sẽ giúp bạn lựa chọn cấu hình PC cho lập trình viên tối ưu nhất. Các yếu tố cốt lõi khi build PC cho lập trình viên CPU (Bộ vi xử lý) Bộ vi xử lý (CPU) là linh kiện quan trọng nhất khi build PC nó quyết định tốc độ xử lý và hiệu suất tổng thể của máy tính, đặc biệt là cho lập trình viên. Đây là thành phần chịu trách nhiệm xử lý hầu hết các tác vụ trong suốt quá trình hệ thống hoạt động. Tất cả cá [...]

Marketplace Illustration
ViteJS – Một Build Tool "Hackspeed" dành cho dev thích tốc độ

Bài viết được sự cho phép của tác giả Sơn Dương Thời gian thấm thoát thoi đưa, nhanh như chó chạy ngoài đồng. Mới ngày nào, đại ca Evan You (tác giả của VueJS) giới thiệu công cụ ViteJS trong năm 2020, giờ đã hơn 3 năm. Đây là công cụ build tool được giới thiệu là vô cùng mạnh mẽ, có tốc độ kinh hoàng, so với Webpack thì webpack chỉ có hít khói. Mới đầu mình cũng chưa muốn tìm hiểu Vite là gì, vì nó còn quá mới, cứ để cho tác giả và cộng đồng trải nghiệm trước. Nhưng đến thời điểm hiện tại, mình cũng đã bị thuyết phục. Thực sự ViteJS dùng rất sướng, tốc độ build thì quá nhanh. Bài viết này, chúng ta cùng tìm hiểu về một frontend build tool đỉnh cao ViteJS – một công cụ có thể thay thế ông già gân Webpack. Để xem Vite là gì đã nhé! Vite là gì? Chắc hẳn ai làm việc với các JS framework như VueJS, ReactJS, Angular… đều biết rằng, ở [...]

Marketplace Illustration
Hiểu cơ chế layer caching khi build docker image để viết Dockerfile tốt hơn

Bài viết được sự cho phép của tác giả Tống Xuân Hoài Vấn đề Docker gần đây đang nổi đình đám trong cộng đồng IT nên ngày càng phổ biến, được nhiều người dùng hơn. Bằng chứng là tần suất từ Docker xuất hiện trong JD của nhà tuyển dụng ngày càng nhiều. Công ty của tôi sử dụng Docker, dự án của tôi cũng dùng Docker, dự án làm cho người khác cũng dùng nó… Docker xuất hiện như một giải pháp "đóng gói" quá thuận lợi cho cuộc cách mạng tự động hóa. Nhưng có một điều đã tồn tại song song với nó từ xưa đến này là vấn đề build docker image khá tốn thời gian. Dung lượng của một "hình ảnh" docker nhiều khi lên đến cả hàng GB. Docker bổng nhiên trở thành một "sát thủ ổ cứng". Nhiều câu nói đùa rằng, ông bạn có đủ ổ cứng không mà dám CI/CD với Docker? Nhưng trong bà [...]

Marketplace Illustration
Bàn về câu lệnh npm run build - tại sao cần phải build?

Bài viết được sự cho phép của tác giả Tống Xuân Hoài Vấn đề npm run build một câu lệnh không quá xa lạ với các lập trình viên Javascript khi chuẩn bị release phiên bản mới của ứng dụng. Theo cách hiểu đơn giản, npm run build thực hiện công việc chuyển đổi mã trong dự án thành mã có thể chạy được trong trình duyệt hoặc Node.js. Nhưng tại sao lại cần phải có bước build? Bản chất của việc build là gì? Có phải tất cả dự án Javascript/Node.js cần phải build hay không? Hy vọng bạn đọc sẽ tìm được câu trả lời trong bài viết dưới đây. npm script package.json là một file có trong các dự án Javascript hay Node.js. Chức năng của nó là lưu trữ một số thông tin về project cũng như thông tin về cấu hình và các chỉ dẫn cho dự án hoạt động. Lấy ví dụ đơn giản, trong package.json lưu trữ lại tấ [...]

Marketplace Illustration
Top 5 câu hỏi phỏng vấn IT Pre sales hàng đầu

Phỏng vấn IT Pre sales liệu có phải chỉ liên quan tới bán bán và bán. Doanh số, doanh số và doanh số? IT Pre sales là vị trí thường xuyên làm việc và tiếp xúc với khách hàng, vị trí này chịu trách nhiệm phát triển chiến lược cho công ty để bán hàng. Ngoài xúc tiến bán hàng cho khách hàng tiềm năng mới, vị trí này cũng đảm nhận việc tăng trưởng bán hàng cho các sản phẩm đã có công ty. Ôi vị trí này thì đập chai. hơn mấy ông Engineer nhiều. Một IT Pre sales cho biết IT Pre sales cũng là vị trí cầu nối giữa khách hàng và nhóm phát triển, xây dựng mối quan hệ với khách hàng và làm việc với nhóm phát triển (development) để tìm cách đáp ứng nhu cầu của khách hàng. Vậy phỏng vấn IT Pre sales cần chú ý những gì. Cùng tìm hiểu qua 5 câu [...]

Marketplace Illustration
Hướng dẫn cấu hình Maven cho Jenkins (Build Maven Project)

Bài viết được sự cho phép của tác giả Trần Hữu Cương Hướng dẫn cấu hình Maven cho Jenkins (Build Maven Project) Để build các project Maven bằng Jenkins, ta cần cấu hình Maven, MAVEN_HOME cho Jenkins. Hướng dẫn cấu hình Maven cho Jenkins (Build Maven Project) Trên thanh menu bên trái, chọn Manage Jenkins > Global Tool Configuration Cuộn màn hình xuống dưới sẽ thấy phần Maven, Click vào nút Add Maven [irp posts="37780" name="Hướng dẫn build java project, maven project trên Jenkins"] [irp posts="47578" name="Hướng dẫn cấu hình Maven cho Jenkins (Build Maven Project)"] Xem thêm tuyển dụng Magento lương cao trên TopDev Cách 1: Cấu hình Maven bằng Maven đã cài sẵn ở local Cách này yêu cầu bạn đã cài maven trên máy. (Xem lại: cài đặt maven trên ubuntu) Để kiểm tra maven trên local, ta mở cửa sổ terminal (Ctrl + Alt + T) và gõ mvn --version Ví dụ, mình đang cài maven ở folder /usr/share/maven Click Add Maven. Bỏ chọn ô check box Install Automatically Ô MAVEN_HOME nhập folder cài đặt maven, ví dụ /usr/share/ [...]

Marketplace Illustration
Bazel 4.1.0: Bài 3 – Build ứng dụng mẫu

Bài viết được sự cho phép của tác giả Lê Xuân Quỳnh Dùng terminal gõ lệnh sau để lấy source code mẫu: git clone -b source-only https://github.com/bazelbuild/examples cd vào thư mục examples/tutorial và tạo ra file WORKSPACE bằng cách gõ: touch WORKSPACE Mở nó lên và gõ tiếp: load("@bazel_tools//tools/build_defs/repo:git.bzl", "git_repository") git_repository( name = "build_bazel_rules_apple", remote = "https://github.com/bazelbuild/rules_apple.git", tag = "0.31.3", ) git_repository( name = "build_bazel_rules_swift", remote = "https://github.com/bazelbuild/rules_swift.git", tag = "0.23.0", ) git_repository( name = "build_bazel_apple_support", remote = "https://github.com/bazelbuild/apple_support.git", tag = "0.11.0", ) git_repository( name = "bazel_skylib", remote = "https://github.com/bazelbuild/bazel-skylib.git", tag = "1.0.3", ) File trên để lấy rule remote theo name và tag của chúng để build project chúng ta. [irp posts="31527" name="6 project vui dành cho dev build khi chán"] [irp posts="309" name="Anh hào UX hội tụ tại Building your UX Design from scratch"] Mẹo: trên trang chủ của bazel nội dung khác hẳn với file trên. Lý do tại sao các tag lại khác, đó là tại thời điểm viết bài này thì các tag của các repository ở trên đã [...]

Marketplace Illustration
Build executable jar sử dụng Maven Shade Plugin

Bài viết được sự cho phép của tác giả Nguyễn Hữu Khanh Maven Shade Plugin là một Maven plugin cho phép chúng ta có thể build các uber-jar. Nói nôm na thì uber-jar là những tập tin .jar ngoài chứa source code của ứng dụng thì nó còn chứa các dependencies mà ứng dụng đó đang sử dụng. Từ đó, nó giúp chúng ta có thể build các ứng dụng Java có thể chạy standalone được. [irp posts="36036" name="Tại sao lại dùng Gradle thay thế Maven và Ant"] [irp posts="38093" name="Cài Plugin cho Jenkins, Cài Maven Plugin cho Jenkins"] Lấy ví dụ như mình có một Maven project với một main class đơn giản, khi chạy sẽ hiển thị dòng chữ “Hello from Huong Dan Java” như sau: package com.huongdanjava.mavenshadeplugin; import org.apache.commons.lang3.StringUtils; public class Application { public static void main(String[] args) { System.out.println(StringUtils.capitalize("hello from Huong Dan Java")); } } Trong ví dụ này, mình có sử dụng thư viện commons-lang3 để in hoa chữ cái đầu tiên của dòng chữ này. <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> < [...]

Marketplace Illustration
Building Microservices Application - Phần 3: Xác thực API bằng Oauth 2.0

Bài viết được sự cho phép của tác giả Edward Thien Hoang Trong các bài viết trước chúng ta đã làm quen với Netflix Eureka, Ribbon, Zuul và Hystrix. Trong bài này hãy cùng làm quen với việc xác thực API sử dụng OAuth 2.0 Các bạn có thể tham khảo bài viết tiếng Anh tại: http://callistaenterprise.se/blogg/teknik/2015/04/27/building-microservices-part-3-secure-APIs-with-OAuth/ [irp posts="40161" name="Building Microservices Application - Phần 1: Sử dụng Netflix Eureka, Ribbon và Zuul"] [irp posts="40181" name="Building Microservices Application - Phần 2: Xử lý Chain of Failures" dùng Circuit Breaker Pattern với Netflix Hystrix"] 1. GIỚI THIỆU VỀ OAUTH VÀ SINGLE SIGN ON Các hệ thống phân tán (decentralized system) ngày càng trở lên phổ biến và xác thực là một khía cạnh quan trọng của tất cả chúng. Xác thực Single Sign On (SSO) ngày càng trở nên cần thiết hơn bao giờ hết. Ngày nay, hầu hết các trang web đều yêu cầu xác thực để truy cập tới các tính năng và nội dung của nó. Với số lượ [...]

Marketplace Illustration
Building Microservices Application - Phần 2: Xử lý "Chain of Failures" dùng Circuit Breaker Pattern với Netflix Hystrix

Bài viết được sự cho phép của tác giả Edward Thien Hoang Trong bài trước, chúng ta đã làm quen với các nền tảng và công cụ để làm việc với Microservice bao gồm Spring Boot, Spring Cloud, Netflix OSS với 3 ứng viên CẦN THIẾT nhất là Netflix Eureka, Ribbon và Zuul để một hệ thống gồm nhiều Microservice có thể hoạt động trơn tru trong điều kiện “thời tiết tốt”, không có lỗi phát sinh nào. Tuy nhiên, trong thực tế thì đâu có chuyện đơn giản như vậy. Như một tính chất quan trọng nhất mà một hệ thống microservice cần phải đáp ứng đó là khả năng chịu lỗi và phản hồi với lỗi. Đặc biệt là với các lỗi ở dạng “chain of failures”. Một hệ thống microservice, bạn hãy tưởng tượng đó là các quân cờ domino được xếp cạnh nhau, giả sử có một quân tự dưng đổ sầm ra, thì các quân còn lại, liên đới với quân bị đổ sẽ bị đổ theo. [irp posts="40110" name=" [...]

Marketplace Illustration
Building Microservices Application - Phần 1: Sử dụng Netflix Eureka, Ribbon và Zuul

Bài viết được sự cho phép của tác giả Edward Thien Hoang Đây là bài viết thứ nhất (index start từ 0  ) trong series Building Microservices Application với Spring Boot. Trong bài viết mở đầu series đã giới thiệu một cách tổng quan các “viên gạch” cần có khi xây dựng ứng dụng Microservices. Trong bài viết này, hãy bắt tay vào những viên gạch đầu tiên CẦN thiết nhất bao gồm: API Gateway, Load balancer và Service Discovery. [irp posts="40110" name="Building Microservices Application - Phần mở đầu: Bức tranh tổng thể"] [irp posts="39876" name="Các thao tác cơ bản với Database trong Microsoft SQL Server"] SPRING BOOT, SPRING CLOUD VÀ NETFLIX OSS Spring Boot là một dự án nổi bật trong hệ sinh thái Spring Framework. Nếu như trước đây, công đoạn khởi tạo một dự án Spring khá vất vả từ việc khai báo các dependency trong file pom.xml cho đến cấu hình bằng XML hoặc annotation phức tạp, thì giờ đây với Spring Boot, chúng ta có thể tạo các ứng dụng Spring một cách [...]

Marketplace Illustration
Building Microservices Application - Phần mở đầu: Bức tranh tổng thể

Bài viết được sự cho phép của tác giả Edward Thien Hoang Đây là bài viết đầu tiên trong phần Xây dựng ứng dụng với Microservices. Trong những loạt bài trước, chúng ta đã tìm hiểu qua phần lý thuyết về những “viên gạch” (building block) chủ đạo trong Microservies. Loạt bài tiếp theo sẽ hướng đến việc implement những pattern như API Gateway, Service Discovery, Circuit Breaker trong kiến trúc Microservices như thế nào. [irp posts="1436" name="Cải thiện hiệu năng cho JavaScript Web Application chỉ trong vòng vài bước đơn giản"] [irp posts="37933" name="Security Considerations khi Designing Web Applications"] Đáng lẽ mình sẽ tự tay implement và giải thích về ý nghĩa của từng phần, tuy nhiên, trong thời gian research đã tìm ra được một nguồn tài liệu viết rất chuyên nghiệp và đầy đủ. Vì vậy mình sẽ dựa trên đó để viết, nhằm mang đến cái nhìn professional và đúng đắn nhất  Các bạn có thể đọc các bài viết nguyên bản tiếng Anh tại ĐÂY. Trong bài viết đầu [...]

Marketplace Illustration
Hướng dẫn build java project, maven project trên Jenkins

Bài viết được sự cho phép của tác giả Trần Hữu Cương Hướng dẫn build java project, maven project trên Jenkins Trong ví dụ này mình sẽ thực hiện clone 1 maven project từ github và thực hiện build nó thành file jar. Tất cả sẽ được thực hiện tự động bằng Jenkins. [irp posts="6054" name="10 Java Web Framework tốt nhất"] [irp posts="34596" name="10 tip tối ưu code trên JavaScript mà web developer nào cũng nên biết"] Yêu cầu: Đã cấu hình JDK cho Jenkins Đã cấu hình Maven cho Jenkins Trong ví dụ này mình sử dụng 1 project maven trên github có url: https://github.com/stackjava/spring-boot-hello. Đây là 1 ví dụ về spring, đã được cấu hình chạy trên port 8081. Các bạn có thể fork/clone về account github của các bạn để dùng. (Xem lại: Code ví dụ Spring boot Hello World) Hướng dẫn build java project, maven project trên Jenkins Đầu tiên, ta tạo 1 plan build bằng cách click vào New Item Chọn Maven Project và nhập tên cho plan build Ở đây mình dùng source code từ github nên mình sẽ chọn Git (khi [...]

Marketplace Illustration
Phát triển và tận dụng Google Assistant theo nhiều cách khác nhau

Giới thiệu về Google Assistant Trợ lý giọng nói (voice assistant) và tìm kiếm bằng giọng nói (voice search) đang dần trở thành một xu hướng mới. Trong số những trợ lý ảo phổ biến nhất hiện nay thì Google Assistant là cái tên bạn không nên bỏ qua. Hiện tại, Google Assistant đang hỗ trợ hơn 19 ngôn ngữ, trên hơn 80 quốc gia và có mặt trên nhiều loại thiết bị khác nhau như các thiết bị Smart Display, các dòng điện thoại Android, Iphone, Google Home, loa thông minh,...  Bạn có thể tận dụng Google Assistant để tiếp cận lượng người dùng lớn của trợ lý ảo này bằng cách tạo ra các action thông qua nền tảng Actions on Google. Bài viết sẽ hướng dẫn chi tiết về nền tảng này thông qua topic "Multiple ways to build for Google Assistant" của Ms. Jessica Dene Earley-Cha - Developer Advocate @Google  tại sự kiện Vietnam Web Summit 2020 LIVE - biên tập bởi TopDev. Bài viết sẽ phù hợp nếu bạ [...]

Marketplace Illustration
Xây dựng cụm cơ sở dữ liệu bằng MongoDB ( Building Database Clusters with MongoDB )

Bài viết được sự cho phép của tác giả Nguyễn Hữu Đồng Như các bạn đã biết, mongodb là một cơ sở dữ liệu không có quan hệ rất nổi tiếng (NoSQL). Thay vì việc sử dung các bảng có các thuộc tính cố định, mongodb lưu trữ dữ liệu dưới dạng document, dạng key-value, mongodb cũng hỗ trợ scale ngang khi prod lớn lên. Trong bài này mình sẽ hướng dẫn các bạn setup cluster theo phong cách mi ăn liền. [irp posts="31480" name="Thao tác với MongoDB trong các ứng dụng Java"] [irp posts="32990" name="Xây dựng cụm cơ sở dữ liệu bằng MongoDB ( Building Database Clusters with MongoDB )"] Trước khi bắt đầu các bạn hãy nhìn qua hình dưới đây là cách mà mongo cluster hoạt động Nhìn vào hình trên cluster gồm 3 phần chính. shard: Mỗi shard chứa đựng một tập nhỏ các data đã sharded, từ phiên bản 3.6 trở lên, shards phải được cấu hình chạy replicaset nếu muốn trở thành một phần của [...]