


Trong bối cảnh phát triển phần mềm ngày càng đa dạng và phức tạp, việc lựa chọn một hệ quản trị cơ sở dữ liệu (DBMS) phù hợp đóng vai trò quan trọng trong việc đảm bảo hiệu năng, tính ổn định và khả năng mở rộng của ứng dụng. MySQL và SQL Server, hai trong số những DBMS phổ biến nhất hiện nay, đều sở hữu những ưu điểm riêng biệt. Bài viết này sẽ tiến hành so sánh MySQL và SQL Server, nhằm cung cấp cho người đọc cái nhìn toàn diện và khách quan, từ đó đưa ra lựa chọn tối ưu cho dự án của mình. Nhắc lại Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) RDBMS là hệ quản trị cơ sở dữ liệu quan hệ mạnh mẽ, hiệu quả trong việc lưu trữ, quản lý và thao tác dữ liệu có cấu trúc. Nền tảng của RDBMS nằm ở mô hình quan hệ, được đề xuất bởi E.F. Codd vào năm 1970. Mô hình [...]
Read more →
Bài viết được sự cho phép bởi tác giả Vũ Thành Nam Vừa đi vừa code hay là vừa đi vừa khóc! Dạo gần đây mức độ anh em lập trình viên chuyển sang cách làm freelance ngày càng nhiều, có thể nó giúp cho họ không bị gò bó hay thời gian linh hoạt hơn chăng. Hãy cùng mình phân tích thử một số ưu và nhược điểm để giúp bạn có thể lựa chọn nên hay không nên làm việc tự do và văn phòng nhé! Freelancer hiểu đơn giản là làm việc tự do mà thôi, nó có thể làm với rất nhiều ngành nghề trong đó có lập trình và phát triển phần mềm. Thay vì bạn làm fulltime cho một công ty phần mềm nào đó thì bạn lựa chọn freelance như một cách để đổi gió, bạn sẽ được làm việc mà không có sự giới hạn nào về môi trường và thời gian. Dưới đây là một vài ưu đ [...]
Read more →
It has been more than 1 year since our first launch in Ho Chi Minh City, now MGM Technology Partners is proud and happy to share that they have our own building in HCMC from this November. It's a great journey with mgm HCMC and a story to be told behind the new office in 195A Hai Ba Trung. Ward 6, Dist. 3 :D Let's discover by watching this video recap. [video width="1138" height="640" mp4="https://topdev.vn/blog/wp-content/uploads/2023/11/MGM-2nd-post.mp4"][/video] Link post: https://www.linkedin.com/posts/mgm-technology-partners-vietnam-co-ltd_mgm-hcmc-office-activity-7127919459528294400-Nbo-/ --- mgm technology partners Vietnam Co. Ltd Website: http://www.mgm-tp.com Join us: https://lnkd.in/gUi_y8GU Why mgm: https://lnkd.in/gziNr4iH Phone: (+84) 236 3531 77
Read more →
Bài viết được sự cho phép của tác giả Nguyễn Việt Hưng xlwings là 1 thư viện Python dùng để tương tác giữa Python và MS Excel. Hoạt động được trên Windows và Mac. xlwings có các tính năng: [irp posts="35934" name="Checked và Unchecked Exception trong Java"] [irp posts="13762" name="PHPExcel - Import và Export xử lý Excel"] Scripting: Tự động hóa/tương tác với Excel từ môi trường Python, sử dụng cú pháp gần với VBA mà vẫn "Pythonic". Macros: Viết các script python thay thế cho VBA macros, giúp code dễ đọc hơn. Sau khi viết script python xong, chỉ cần gọi 1 hàm trong VBA là script chạy. UDFs: Viết hàm người dùng tự định nghĩa bằng ngôn ngữ Python và sử dụng được hàm đó trong excel (Windows only). REST API: cung cấp REST API cho Excel workbook. Cài đặt: pip install xlwings Sử dụng: Một số thao tác cơ bản: import xlwings as xw # mở workbook mới new_wb = xw.Book() # hoặc opening_wb = xw.Book('name_of_opening_workbook') # hoặc open_new_workbook = xw.Book('full/relaive_path_to_xls') # Lấy các sheets có trong file excel xw.sheets # [...]
Read more →
Bài viết được sự cho phép của tác giả Tô Thị Vân Anh Chúng ta đều biết rằng, trong mỗi môi trường phát triển phần mềm, dữ liệu là một phần không thể thiếu. Khi phát triển, chúng ta thường lưu trữ dữ liệu trực tiếp trong các file chương trình, mỗi khi có sự thay đổi nào đó liên quan trực tiếp đến dữ liệu trong các file đó thì bắt buộc phải thực hiện biên dịch code và kiểm tra lại các kết quả biên dịch đó. [irp posts="32922" name="Các kiểu “đợi chờ” trong Selenium Webdriver: Implicit wait, Explicit wait và Fluent wait"] [irp posts="35555" name="Làm quen: Tóm tắt cơ bản về Selenium"] Vậy thì vấn đề đặt ra ở đây là, nếu như dữ liệu cần phải thay đổi nhiều lần, liên tục và hàng ngày thì chúng ta sẽ thực hiện thay đổi từng phần theo mỗi lần thay đổi đó và rồi lại biên dịch lại? Chỉ nghĩ thôi đã thấy khá là mệt mỏ [...]
Read more →
Vai trò chính của giám đốc công nghệ là nhằm đảm bảo chiến lược phù hợp với mục tiêu chung của tổ chức/doanh nghiệp. Nhưng không có nghĩa, CTO sẽ chịu trách nhiệm giám sát bộ phận CNTT. Thay vào đó, điều họ thực hiện là pha trộn các nền tảng kiến thức về công nghệ của cá nhân và kiến thức thông tin được cập nhật liên tục để cung cấp cho doanh nghiệp những giải pháp về chiến lược tốt nhất có thể. Có thể nói, CTO có một vai trò quan trọng cho sự gắn kết của công ty. Cùng TopDev phân tích sâu hơn tầm quan trọng của CTO qua bài viết sau đây. CTO - Chief Technology Office là gì? CTO – Giám đốc công nghệ (hay Giám đốc kỹ thuật) – là người giữ vị trí quản lý cấp cao trong một doanh nghiệp. Đồng thời, họ chuyên phụ trách các vấn đề về công nghệ và kỹ thuật; điều hà [...]
Read more →
Để có thể hiểu rõ những khó khăn của CTO hay gặp phải thì việc đầu tiên chúng ta cần định hình được định nghĩa CTO và vai trò của CTO trong công ty, sự khác biệt của CTO và CIO là gì? Từ đó đúc kết được những khó khăn mà CTO sẽ gặp phải. Nếu sau khi đọc xong bài tổng hợp này từ TopDev mà bạn vẫn cảm thấy hứng thú với vai trò CTO và cảm thấy đây mà một thách thức đáng để trải nghiệm thì chúc mừng bạn, cơ hội trải nghiệm vị trí CTO tại TopDev chào mừng bạn! CTO là gì? Theo nghĩa tiếng anh CTO - Chief Technology Officer, được hiểu là Giám đốc Công nghệ. Tuy nhiên khái niệm này khá rộng và mơ hồ, vậy công việc thực sự của CTO là gì? Có thể hiểu nôm na CTO là người đưa ra những quyết định mang tính mấu chốt liên quan đến những vấn đề về công nghệ trong công ty. Họ sẽ là [...]
Read more →
CTO là gì? Luôn là một câu hỏi mà rất nhiều người trong giới lập trình hiện đang quan tâm. Michel Krieger (Instagram), Werner Hans Peter Vogels (Amazon) hay David Hasson (founder của Ruby on Rail) đều là những CTO tiêu biểu, những người tiên phong trong việc thay đổi thế giới bằng những ý tưởng công nghệ tiến bộ. Lê Hồng Việt (FPT), Thái Trí Hùng (MoMo), Nguyễn Sơn Tùng (Việc Có) cũng là những Giám đốc công nghệ có tên tuổi tại Việt Nam, tạo nên sự đột phá công nghệ, đưa sản phẩm trong công ty họ lên một tầm cao mới. Có thể thấy, với sự phát triển liên tục của ngành công nghệ thông tin trong những năm vừa qua, CTO không còn là vị trí quá mới lạ đối với cộng đồng IT. Thậm chí thuật ngữ này đã xuất hiện hơn chục năm rồi, vậy mà chúng ta vẫn còn bị nhầm lẫn với các chức vụ [...]
Read more →
Chào mọi người, nối tiếp bài trước là tận dụng caching ở trình duyệt để tăng tốc cho microservices. Ở bài này mình sẽ chia sẻ một case study khá thông dụng trong các dự án “vừa vừa”, đó là nhu cầu export dữ liệu ra file excel. Nếu như các bạn thường xuyên làm việc liên quan đến các hệ thống quản lý dữ liệu thì data table / grid sẽ xuất hiện khá nhiều, kéo theo tính năng thường xuyên được yêu cầu là export dữ liệu (ra file Excel). Có thể bạn quan tâm: [irp posts="7308" name="Giao tiếp hiệu quả giữa các Microservice"] [irp posts="2958" name="Microservices rất khó, nên đây là hướng dẫn về Microservices vô cùng giá trị dành cho bạn!"] [irp posts="7795" name="Xác thực và phân quyền trong Microservices"] Phương pháp export dữ liệu “cổ điển” Trước khi đi sâu vào cách Teamcrop export dữ liệu, chúng ta cùng nhau bàn về cách tiếp cận “cổ điển” mà có lẽ bạn nào cũng đã từ [...]
Read more →
Đôi lúc chúng ta sẽ cần phải truy - xuất dữ liệu bằng file Excel như: xuất dữ liệu thống kê ra cho người dùng, hoặc import nhiều dữ liệu từ file excel vào Database. Thư viện được sử dụng nhiều nhất hiện nay là PHPOffice/PHPExcel. Đọc và ghi file excel bằng PHP thuần Đọc file excel Các bạn tải file data mẫu excel này mà mình đã tạo sẵn, có nội dung hình dưới và đặt nó nằm cùng cấp với thư mục Classes: Tiếp theo, bạn sẽ tiến hành đọc file này bằng cách tạo thêm 1 file mới tên là docfile.php cùng cấp với thư mục Classes, và gõ theo nội dung bên dưới: <?php // Include thư viện PHPExcel_IOFactory vào include 'Classes/PHPExcel/IOFactory.php'; $inputFileName = 'product.xlsx'; // Tiến hành đọc file excel try { $inputFileType = PHPExcel_IOFactory::identify($inputFileName); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $objPHPExcel = $objReader->load($inputFileName); } catch(Exception $e) { die('Lỗi không thể đọc file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage()); } // Lấy thông tin cơ bản của file excel // Lấy [...]
Read more →