BLOG · blog.duyet.net

Notes, mostly on data & agents.

Notes on data engineering, distributed systems, Rust, and — lately — AI agents. I've been writing here since 2015; some posts are reference docs I keep coming back to, others are thinking out loud.

301 posts11 yearssince 2015archiveseriestags
Autonomous Claude Code Migrate Nextjs to Tanstack Start
AIJun 3, 2026 · 8 min

Autonomous Claude Code Migrate Nextjs to Tanstack Start

The second ultrawork run: I asked Claude Code to migrate chmonitor.dev from Next.js to TanStack Start and went to sleep. It planned the work, spawned parallel agents, and kept going for days.

Read the post
Topics

Browse by category

Notes

Quick Thoughts

View all notes →

AX

Dries Buytaert's regarding AX (Agent Experience): In the era of AI coding agents, software adoption depends on how easily these agents can "consume" your project. AI agents prioritize the cheapest path to completion; if your software is difficult to use, they will simply reject it without notice. To ensure your project is chosen, you must reduce three specific costs: Friction: The effort required to get the system running (installation, setup, environment configuration, and access/credentials). Abstraction: The effort required to understand what to do next (providing clear recipes, templates, scaffolds, and logical defaults). Verification: The effort required to confirm the work was successful (reliable tests, clear error messages, and inspectable system states). What helps AI agents (AX) also helps human developers (DX). By making your project easy for an agent to install, modify, and verify, you make it better for everyone.

Dynamic Workflows with GLM 5.1

I am using more a lot of differrent models with Claude Code, this here is reazied We can also asking Claude to customize model and budget for each step in workflows.

MAI-Thinking-1, MAI-Code-1-Flash

| Benchmark | MAI-Thinking-1 | MAI-Code-1-Flash | Claude Haiku 4.5 | Sonnet 4.6 | Opus 4.6 | Kimi K2.6 | GLM-5.1 | | ---------------------- | -----------------: | -------------------: | --------------------------: | -------------------------: | -------------------------: | -----------------------------: | ---------------------------------------: | | SWE-Bench Pro | 52.8 | 51.2 | 35.2 | - | 53.4 | 58.6 | 58.4 | | SWE-Bench Verified | 73.5 | 71.6 | 66.6 | 79.6 | 80.8 | 80.2 | - | | SWE-Bench Multilingual | - | 65.5 | 62.7 | 75.9 | 77.8 | 76.7 | - | | AIME 2025 | 97.0 | - | 80.7 no tools / 96.3 Python | 95.6 | 99.8 | - | - | | AIME 2026 | 94.5 | 92.5 | 83.3 | - | - | 96.4 | 95.3 | | HMMT Feb 2026 | 84.9 | - | - | - | - | 92.7 | 82.6 | | GPQA Diamond | 84.2 | 84.6 | 73.2 | 89.9 | 91.3 | 90.5 | 86.2 | | LCB v6 | 87.7 | - | - | - | - | 89.6 | - | | AMO Bench | - | 40.0 | 16.0 | - | - | - | - | | Frontier Math | - | 6.3 | 2.8 | - | - | - | - | | HLE | - | 18.0 | 9.5 | 33.2 no tools / 49.0 tools | 40.0 no tools / 53.0 tools | 34.7 no tools / 54.0 tools | 31.0 no tools / 52.3 tools | | Frontier Science | - | 58.2 | 42.3 | - | - | - | - | | Artifacts Bench | - | 36.4 | 36.6 | - | - | - | - | | Terminal-Bench 2.0 | 46.0 | 54.8 | 41.6 | 59.1 | 65.4 | 66.7 | 63.5 Terminus-2 / 69.0 self-reported | | IF Bench | - | 75.0 | 46.1 | - | - | - | - | | Advanced IF | - | 71.4 | 56.9 | - | - | - | - | | Robust IF Bench | - | 61.2 | 45.0 | - | - | - | - | | τ²-Bench | - | 71.7 | 54.7 | - | - | - | - | Sources Microsoft AI, MAI-Thinking-1 technical report, for MAI-Thinking-1 scores and several comparison values. (Microsoft AI) Microsoft AI, Introducing MAI-Thinking-1, for headline AIME 2025 and AIME 2026 values. (Microsoft AI Microsoft AI, Introducing MAI-Code-1-Flash, for MAI-Code-1-Flash vs Claude Haiku 4.5 benchmark values. (Microsoft AI) Anthropic, Claude Haiku 4.5 announcement, for official Haiku context and Anthropic-reported SWE-Bench Verified score caveat. (Anthropic) Anthropic, Claude Sonnet 4.6 System Card, for Sonnet 4.6 SWE-Bench Verified and SWE-Bench Multilingual values. (Anthropic) Anthropic, Claude Opus 4.6 System Card, for Opus 4.6 SWE-Bench Verified and SWE-Bench Multilingual values. (Anthropic) Moonshot AI, Kimi K2.6 Tech Blog / Model Card, for Kimi K2.6 benchmark values. (Kimi) Z.ai, GLM-5.1: Towards Long-Horizon Tasks, and ModelScope GLM-5.1 card, for GLM-5.1 values. (Z.ai) Terminal-Bench official leaderboard, for Terminal-Bench 2.0 reference leaderboard context. (tbench.ai)

Latest

Recent posts

2026Autonomous Claude Code Migrate Nextjs to Tanstack StartThe second ultrawork run: I asked Claude Code to migrate chmonitor.dev from Next.js to TanStack Start and went to sleep. It planned the work, spawned parallel agents, and kept going for days.AI1.6k tok2026Letting Claude Code work overnight, 2026A quick snapshot of where coding agents are in 2026: you can hand one a real, multi-part task, walk away, and come back to merged PRs, a live deploy, and a few issues it worked around on its own.AI1.2k tok2026Cloudflare is all you needCloudflare's Agents SDK runs stateful TypeScript agents on Durable Objects, with Workers AI, AI Gateway, AI Search, Vectorize, Browser Run, Queues, Workflows, Email, Dynamic Workers, and Sandboxes around it.AI800 tok2026ClawsOpenClaw, NanoBot, PicoClaw, ZeroClaw, NullClaw, NemoClaw, ...AI600 tok2026Coding AgentsReflect on what I'm thinking and doing in this LLM eraAI12.4k tok2024ClickHouse Rust UDFsIn Data Platform System with ClickHouse, rather than extracting data from ClickHouse for processing in external systems, we can perform transformations directly within ClickHouse itself. ClickHouse can call any external executable program or script to process data. My idea is using custom **User-Defined Functions (UDFs) written in Rust** to handle data transformations between tables.Data7.6k tok2024ReplicatedReplacingMergeTreeLearn how to set up and manage ReplicatedReplacingMergeTree in ClickHouse on Kubernetes. This comprehensive guide covers cluster setup with ClickHouse Operator, data replication, performance tuning, and best practices for high availability deployments.Data10.0k tok2024ReplacingMergeTreeMy favorite ClickHouse table engine is `ReplacingMergeTree`. The main reason is that it is similar to `MergeTree` but can automatically deduplicate based on columns in the `ORDER BY` clause, which is very useful.Data3.4k tok2024MergeTreeAfter starting this series ClickHouse on Kubernetes, you can now configure your first single-node ClickHouse server. Let's dive into creating your first table and understanding the basic concepts behind the ClickHouse engine, its data storage, and some cool featuresData9.4k tok2024Monitoring ClickHouse on KubernetesComplete guide to monitoring ClickHouse on Kubernetes. Learn about built-in dashboards, Prometheus + Grafana setup, powerful system tables for monitoring queries, and the ClickHouse Monitoring UI dashboard. Includes practical examples, essential monitoring queries, and best practices for production observability.Data2.8k tok2024ClickHouse SELECT AdvancesDynamic column selection (also known as a `COLUMNS` expression) allows you to match some columns in a result with a re2 regular expression.Data3.6k tok2024ClickHouse on KubernetesComplete guide to deploying ClickHouse on Kubernetes using the Altinity ClickHouse Operator. Learn how to set up your first single-node cluster, configure persistent storage, manage users, and customize ClickHouse versions. Includes practical examples and best practices from production experience managing clusters with trillions of rows.Data6.0k tok20242023 - A Year of MovingSo, I hadn't really planned on writing a summary post for this year, as lazy as I am, but somehow, here we are.Story1.0k tok2023Rust: Processing JSON with serdeSerialize and deserialize JSON in Rust using serde and serde_json — derive macros, field attributes, enum representations, file I/O, dynamic values, and error handling.Rust7.4k tok2023Apache OpenDAL in Rust to Access Any Kind of Data ServicesOpenDAL is a data access layer that allows users to easily and efficiently retrieve data from various storage services in a unified way such as S3, FTP, FS, Google Drive, HDFS, etc. They has been rewritten in Rust for the Core and have a binding from many various language like Python, Node.js, C, etc..Rust3.2k tok2023My Neovim Setup in 2023It's been years since I first started using neovim and I've been updating it regularly ever since.Productivity600 tok2023DuckDBIn this post, I want to explore the features and capabilities of DuckDB, an open-source, in-process SQL OLAP database management system written in C++11 that has been gaining popularity recently. According to what people have said, DuckDB is designed to be easy to use and flexible, allowing you to run complex queries on relational datasets using either local, file-based DuckDB instances or the cloud service MotherDuck.Data8.2k tok2023Airflow control the parallelism and concurrency (draw)How to control parallelism and concurrencyData200 tok2023Fossil Data Platform Rewritten in Rust 🦀My data engineering team at Fossil recently released some of Rust-based components of our Data Platform after faced performance and maintenance challenges of the old Python codebase. I would like to share the insights and lessons learned during the process of migrating Fossil's Data Platform from Python to Rust.Rust4.2k tok2023Running Spark in GitHub ActionsThis post provides a quick and easy guide on how to run Apache Spark in GitHub Actions for testing purposesData1.6k tok2023Migrate (again) to Next.js 13 Pro MaxI've been using Gatsby since 2019 and while it's great that I can write my blogs in NeoVim, commit and push to Github, and have Cloudflare Pages build and publish to CDN, but I was becoming frustrated with the slow building times and the overall maintenance requirements.Project1.0k tok2023Why does Helm Charts interpret 0777 as 511?Why does Helm Charts interpret 0777 to 511? It took me quite some time to debug it.Data2.8k tok2023GPT vs Traditional NLP ModelsThe field of Natural Language Processing (NLP) has seen remarkable advancements in recent years, and the emergence of the Generative Pre-trained Transformer (GPT) has revolutionized the way NLP models operate. GPT is a cutting-edge language model that employs deep learning to generate human-like text. Unlike conventional NLP models, which required extensive training on specific tasks, GPT is pre-trained on vast amounts of data and can be fine-tuned for various NLP tasksData600 tok2023Ask ChatGPT about 20 important concepts of Apache SparkI asked ChatGPT to explain 20 important concepts of Apache Spark. Let's see what it has to say!Data600 tok2023Rust Data Engineering: Processing Dataframes with PolarsIf you're interested in data engineering with Rust, you might want to check out Polars, a Rust DataFrame library with Pandas-like API.Rust5.2k tok2023Data Engineering Tools written in RustThis blog post will provide an overview of the data engineering tools available in Rust, their advantages and benefits, as well as a discussion on why Rust is a great choice for data engineering.Data3.8k tok2023Why ClickHouse Should Be the Go-To Choice for Your Next Data Platform?Recently, I was working on building a new Logs dashboard at Fossil to serve our internal team for log retrieval, and I found ClickHouse to be a very interesting and fast engine for this purpose. In this post, I'll share my experience with using ClickHouse as the foundation of a light-weight data platform and how it compares to another popular choice, Athena. We'll also explore how ClickHouse can be integrated with other tools such as Kafka to create a robust and efficient data pipeline.Data5.4k tok2022Airflow Dataset (Data-aware scheduling)Airflow since 2.4, in addition to scheduling DAGs based upon time, they can also be scheduled based upon a task updating a dataset. This will change the way you schedule DAGs.Data2.8k tok2022Cargo: Patch DependenciesThere are several scenarios when you will need to override or patch upstream dependencies. Like testing a bugfix of your crates before pushing to crates.io, a non-working upstream crate has a new feature or a bug fix on the master branch of its git repository that you'd want to try, etc. In these cases, the [patch] section of Cargo.toml might be useful.Rust3.4k tok2022Cargo: workspace inheritanceSince 1.64.0, Cargo now supports workspace inheritance, so you can avoid duplicating similar field values between crates while working within a workspace. Workspace inheritance can include things like shared version numbers, repository URLs, or rust-version.Rust1.0k tok2022Rust: Why ? is goodIn Rust, the question mark (?) operator is used as an alternate error propagation method for functions that yield Result or Option types. The ? operator is a shortcut that minimizes the amount of code required in a function to quickly return Err or None from the types Result<T, Err>, or Option.Rust1.6k tok2022Rust: indocindoc là một crate nhỏ nhưng hữu ích giúp canh lề (indented documents). indoc!() macro nhận multiline string và un-indents lúc compile time, xoá tất cả khoảng trắng đầu tiên trên cách dòng dựa theo dòng đầu tiên.Rust1.0k tok2022Rust: Rayon - A data parallelism library for Rustrayon là thư viện data-parallelism cho Rust, gọn nhẹ và dễ dàng convert từ code tính toán tuần tự sang song song mà vẫn đảm bảo không lỗi data-race.Rust1.0k tok2022Rust automatically upgrade to a new editionEvery two or three years, the Rust team produces a new Rust edition. Each edition contains a lot of changes. Each edition brings together the features that have landed into a clear package with fully updated documentation and tooling.Rust1.6k tok2022Rust Source-based Code CoverageSupport for LLVM-based coverage instrumentation has been stabilized in Rust 1.60.0. To get the code coverage report in Rust, you need to generate profiling data and then use LLVM tools to process and generate reports.Rust4.0k tok2022Spark on Kubernetes tại Fossil 🤔Hành trình chuyển đổi Apache Spark từ AWS EMR sang Kubernetes tại Fossil Data Platform. Tìm hiểu kiến trúc hệ thống với Spark Operator, Spark Submit Worker, và Spark Jobs UI. Bài viết chia sẻ chi tiết về lý do migration, kiến trúc microservices, GitOps workflow, và các tối ưu hóa performance trên Kubernetes production environment.Data5.2k tok2022Rust: BoxTất cả giá trị trên Rust mặc định đều được allocated trên stack. Giá trị có thể được boxed, allocated trên heap bằng cách sử dụng Box<T>. Box<T> là một smart pointer của Rust cho phép allocated trên heap giá trị có kiểu T, còn pointer trỏ đến giá trị đó sẽ nằm trên stack.Rust5.0k tok2022Manage Redshift/Postgres Privileges GitOps StyleThe grant project aims to manage Postgres and Redshift database roles and privileges in GitOps style. Grant is the culmination of my learning of Rust for data engineering tools.Data6.0k tok2022Rust: Option & ResultRust giới thiệu hai generic enums Option và Result để giải quyết các vấn đề null pointer exceptions, exception data leak, ...Rust8.8k tok2022Rust Design Pattern: Builder PatternBuilder được sử dụng cực kỳ phổ biến trong Rust so với các ngôn ngữ khác, bởi vì Rust không có overloading.Rust1.4k tok2022Rust Design Pattern: Command PatternÝ tưởng cơ bản của Command Pattern là tách các actions thành các object riêng và gọi chúng thông qua parameters.Rust2.0k tok2022Rust Design Pattern: Prefer Small CratesPrefer small crates that do one thing well. Để có được sự hiệu quả, mọi crate phải được thiết kế tốt, lựa chọn dependencies kỹ càng và càng độc lập càng tốt.Rust400 tok2022Rust: Copy & Clone TraitCó một số kiểu dữ liệu trong Rust rất đơn giản (simple types), bao gồm integers, floats, booleans (true và false), và char. Các simple types này nằm trên stack bởi vì complier biết chính xác size của nó. Chúng được gọi là copy types. Bởi vì nó simple và nhỏ gọn nên dễ dàng để copy, do đó compiler luôn copy nếu bạn bỏ nó vào function.Rust4.4k tok2022Rust: StructStruct được sử dụng trong Rust rất nhiều, hầu như là mọi lúc. Với struct ta có thể định nghĩa một kiểu dữ liệu riêng.Rust2.4k tok2022Rust: TraitRust Trait là gì? Rust có nhiều loại data types như primitives (i8, i32, str, ...), struct, enum và các loại kết hợp (aggregate) như tuples và array. Mọi types không có mối liên hệ nào với nhau. Các data types có các phương thức (methods) để tính toán hay convert từ loại này sang loại khác, nhưng chỉ để cho tiện lợi hơn, method chỉ là các function. Trait trong Rust giúp chúng ta thực hiện những điều này.Rust11.4k tok2022Rust: cargo-editcargo-edit là công cụ mở rộng của cargo cho phép có thêm một số tính năng quản lý dependencies giống như npm hoặc yarn.Rust2.0k tok2022Rust: Format Strings in 1.58Bản cập nhật `Rust 1.58.0` vừa bổ sung một số tính năng mình thấy khá hay về format string.Rust3.6k tok2022Rust: FromStr traitFromStr là một trait để khởi tạo instance từ string trong Rust, nó tương đương abstract class nếu bạn có background OOP.Rust3.8k tok2022Rust: Turbofish ::<> 🐠 Trong trường hợp bạn cần chỉ định kiểu dữ liệu cho một generic function, method, struct, hoặc enum, Rust có một cú pháp đặc biệt để làm điều này gọi là turbofish.Rust7.4k tok2022cheats.rsThis is the best cheat sheet that I have ever seen. It breaks down the different categories, from language constructs, data layouts, types, tooling, etc.Rust200 tok2021Rust Design Pattern: Strategy PatternStrategy design pattern là một technique nhằm mục đích phân tách nhiều vấn đề, tách software modules thông qua Dependency Inversion.Rust2.0k tok2021Rust: OwnershipOwnership là một trong những tính năng đặc trưng của Rust, đây là cách giúp Rust đảm bảo memory safety mà không cần đến garbage collector.Rust2.4k tok2021Rust và Data Engineering? 🤔Tại sao Rust là lựa chọn cho Data Engineering? Khám phá 7 lý do chính từ performance, memory safety, đến WebAssembly và hệ sinh thái data tools như Apache Arrow, DataFusion, và Polars. Bài viết chi tiết về ưu nhược điểm, learning curve, và tương lai của Rust trong lĩnh vực Data Engineering và Big Data processing.Data3.0k tok2021Spark on Kubernetes - better handling for node shutdownSpark 3.1 on the Kubernetes project is now officially declared as production-ready and Generally Available. Spot instances in Kubernetes can cut your bill by up to 70-80% if you are willing to trade in reliability. The new feature - SPIP: Add better handling for node shutdown (SPARK-20624) was implemented to deal with the problem of losing an executor when working with spot nodes - the need to recompute the shuffle or cached data. Data600 tok2021Uptime with GitHub ActionsHey, I just found this tool, so incredibly clever that it uses Github Actions for uptime monitor and status page. Productivity200 tok2021From Docker to Podman on MacOSI'm looking for some of alternatives for Docker. Currently, there are a few of container technologies which are Docker’s most direct competitors, such as rkt, Podman, containerd, ... Productivity3.8k tok2021Good reasons to use ClickHouseMore than 200+ companies are using ClickHouse today. With many features support, it's equally powerful for both Analytics and Big Data service backend. Data5.4k tok2021zxA tool for writing better scripts. I usually choose to write a Python or Deno script instead of a shell script for more convenience. I found this tool is so great, helping to write the script quickly. Productivity1.4k tok2021Bitbucket Pipelines NotesBitbucket Pipelines document is fragmented everywhere. It always makes me search for a while every time I write a new one for CI/CD. So I'll make a few notes here.Productivity5.4k tok2021Postgres Full Text SearchPostgres has built-in functions to handle Full Text Search queries. This is like a "search engine" within Postgres.Data6.4k tok2021Migrating from Vim to NeoVimI migrated to NeoVim, after six month with Vim.Productivity1.2k tok2021Migrate to Cloudflare PagesCloudflare just released the Pages, with the most generous free tier, it is all set to compete with Netlify on this front. I just to try it out in this blog.Web600 tok2021Spark on Kubernetes Performance TuningSpark Performance tuning is a process to improve the performance of Spark. In this post, I will focus on Spark running on Kubernetes.Data Engineering600 tok2020Airflow 2.0 - Taskflow APIChú trọng vào việc đơn giản hóa và rõ ràng cách viết Airflow DAG, cách trao đổi thông tin giữa các tasks, Airflow 2.0 ra mắt Taskflow API cho phép viết đơn giản và gọn gàng hơn so với cách truyền thống, đặc biệt vào các pipelines sử dụng PythonOperators.Data Engineering5.0k tok2020Tại sao nên triển khai Apache Spark trên KubernetesSpark đã quá nổi tiếng trong thế giới Data Engineering và Bigdata. Kubernetes cũng ngày càng phổ biến tương tự, là một hệ thống quản lý deployment và scaling application. Bài viết này bàn đến một số lợi ích khi triển khai ứng dụng Apache Spark trên hệ thống Kubernetes.Data Engineering1.6k tok2020TL;DR - ES2020: Nullish CoalescingNullish coalescing (??) adds the ability to truly check nullish values instead of falsey values.Web600 tok2020Scheduling Python script in AirflowTo schedule a Python script or Python function in Airflow, we use `PythonOperator`. For Airflow 2.0+, consider using the TaskFlow API for a more modern approach.Data Engineering1.0k tok2020Spark History Server on KubernetesThe problem with running Spark on Kubernetes is the logs go away once the job completes. Spark has tool called the Spark History Server that provides a UI for your past Spark jobs. In this post, I will show you how to use Spark History Server on Kubernetes.Data Engineering3.0k tok20203 ways to run Spark on KubernetesSpark can run on clusters managed by Kubernetes. This feature makes use of native Kubernetes scheduler that has been added to Spark.Data Engineering4.8k tok2020Airflow DAG SerializationIn order to make Airflow Webserver stateless, Airflow >=1.10.7 supports DAG Serialization and DB Persistence. Note - This guide is for Airflow 1.x; for Airflow 2.x, DAG serialization is enabled by default.Data Engineering600 tok2020Data Studio: Connecting BigQuery and Google Sheets to help with hefty data analysisNormally, with BigQuery as a data source of Data Studio, users (of Data Studio Dashboard) might end up generating a lot of queries on your behalf — and that means you can end up with a huge BigQuery bill. It’s taken so long to refresh data when you change something in development mode. How to solve this problem with Spreadsheet, for free?Data Engineering400 tok2020TL;DR - Random Forest thay vì Neural NetworkCả Random Forest và Neural Networks đều là những kỹ thuật khác nhau nhưng có thể sử dụng chung ở một số lĩnh vực. Vậy khi nào sử dụng 1 kỹ thuật thay vì cái còn lại?Machine Learning400 tok2019Javascript Shorthands TipsThese Javascript shorthand tips will make your code look more cool and clean.Web5.0k tok2019Đánh giá hệ thống Information Retrieval (tiếp theo)Tiếp theo về các chỉ số đánh giá các hệ thống Information Retrieval, bài này sẽ bàn về đánh giá hệ thống tìm kiếm với Ground truth là non-binary (không phải nhị phân), và đánh giá hệ thống large scale.Data Engineering800 tok2019Sách hay (Engineering)Ghi lại mấy cuốn sách hay (Engineering) đã đọc qua.Data Engineering400 tok2019Đánh giá hệ thống Information RetrievalTrong bài này chúng ta sẽ tìm hiểu về cách đánh giá các hệ thống Information Retrieval, thách thức của việc đánh giá và các độ đo phổ biến như Precision/Accuracy, Recall, R-precision, F-measure, MAP, ...Data Engineering1.0k tok2019Information Retrieval - Vector Space ModelHệ thống tra cứu thông tin - Information Retrieval. Một hệ thống tìm kiếm thông tin (Information Retrieval - IR) là một hệ thống tra cứu (thường là các tài liệu văn bản) từ một nguồn không có cấu trúc tự nhiên (thường là văn bản), chứa đựng một số thông tin nào đó từ một tập hợp lớn. Một trong những kỹ thuật phổ biến trong Information Retrieval đó là Vector Space Model.Data Engineering1.4k tok2019Airflow - một số ghi chépMột số ghi chép, tips & tricks của mình trong quá trình sử dụng Apache Airflow.Data Engineering3.0k tok2019Cài đặt Apache Airflow với Docker ComposeTrong bài này mình sẽ hướng dẫn cách thiết lập môi trường develop Apache Airflow dưới local bằng Docker Compose.Data Engineering2.0k tok2019Gửi Slack Alerts trên AirflowSlack là một công cụ khá phổ biến trong các Team, slack giúp tập hợp mọi thông tin về Slack (như Jira alert, ETL pipelines, CI/CD status, deployments, ...) một cách thống nhất và dễ dàng theo dõi. Bài viết này mình hướng dẫn gửi mọi báo lỗi của Airflow đến Slack.Data Engineering1.2k tok20198 nền tảng serverless platform tốt nhất hiện nayMột vài nền tảng serverless tốt nhất hiện nay cho ứng dụng của bạn.Infrastructure1.2k tok2019Airflow - "context" dictionaryBiến `context` trong airflow là biến hay sử dụng trong Airflow (`PythonOperator` with a callable function), nhưng mình rất hay quên, note lại đây để dễ dàng tra cứu.Data Engineering600 tok2019Guess.jsGuess.js - Thư viện và công cụ cải thiện UX dựa trên Dữ liệu, thống kê và Machine Learning. Và cách cài đặt plugin Gatsby.Javascript1.8k tok2019Migrate Blogger sang GatsbyMình đã migrate từ Blogger sang GatsbyStory1.6k tok2019Pricetrack: theo dõi giá và cashback (by Firebase)Pricetrack (https://pricetrack.web.app) là một side project nhỏ của mình với chức năng theo dõi giá liên tục từ các trang TMDT (tiki.vn, shopee.vn, ...), thông báo và cashback hoàn tiền. Vì hay mua sắm nên pricetrack giúp mình check được giá ảo lên xuống thất thường, hoặc track khi nào có khuyến mãi thì mua. Khi giá thay đổi, giảm hoặc dưới ngưỡng mong muốn, tracker sẽ alert thông qua email hoặc push notification qua trình duyệt. Được build hoàn toàn từ Firebase của Google, trong lúc mình test các dịch vụ của nền tảng này thì pricetrack ra đời.Project400 tok2019Đi lại bằng phương tiện công cộng ở San FranciscoSan Francisco nổi tiếng với mùa hè mát mẻ dễ chịu, nhiều sương mù, các con đường đẹp với các ngôi nhà trên các con đồi, nhiều cây xanh. Hệ thống giao thông ở San Francisco khá phát triển, có khá nhiều sự lựa chọn đa dạng thuận tiện với các phương tiện công cộng, như SamBus, Bus MUNI, Bus VTA, BART, Caltrain, Cable-Car, ... Các phương tiện công cộng sẽ là lựa chọn tối ưu và tiết kiệm nhất khi ở San Francisco.Story800 tok2019Google Cloud Next '19Năm nay mình tham dự Google Cloud Next '19 tại San Francisco. Xin phép chia sẻ lại một vài hình ảnh hội nghị năm nay.Story400 tok2019Super Simple Shorten URL với Firebase Dynamic Linksgoo.gl đã shutdown, và được thay thế bằng Dynamic Link của Firebase. Mình đã sử dụng API của Dynamic Link và Firebase viết ứng dụng Shorten URL mới siêu đơn giản như dưới đây. Bài viết này mình xin hướng dẫn một chút và chia sẽ mã nguồn, cũng như cách deploy siêu đơn giản của Google Firebase.Project2.6k tok2019Resting và Spreading JavaScript ObjectsResting và spreading càng ngày được ưa chuộng vì sự tiện lợi của nó, sau đây là 7 tricks với JavaScript objects.Javascript3.8k tok2019Checklist tối ưu hiệu năng ReactMuốn tối ưu hiệu năng React, sau đây là checklist để tăng tốc website sử dụng ReactWeb400 tok2019Papers with Code: A Fantastic GitHub Resource for Machine LearningPapers with code. Sorted by stars. Updated weekly.Machine Learning200 tok2018api.duyet.net [https://api.duyet.net](https://api.duyet.net/) is now online. ![](https://1.bp.blogspot.com/-pkcT4MaSHys/W_BMQuealsI/AAAAAAAA1Ok/ieTSBcaC6u8KEzcVgbDmdS23UOuikzfdACLcBGAs/s1600/Screen%2BShot%2B2018-11-18%2Bat%2B12.12.11%2BAM.png) ...Project200 tok2018Web Performance 101Trang web sau sẽ giới thiệu tất tần tật về tối ưu hiệu năng của modern web. Bài viết sẽ giải thích vì sao việc tối ưu là quan trọng, những công nghệ tối ưu và công cụ nào hiện đang được sử dụng, giải thích một cách chi tiết dễ hiểu và cách ứng dụng chúng.Web200 tok2018[Slide] Build simple data pipeline for ETL and data aggregation on AWSMình vừa có một chút chia sẻ ngắn về xây dựng Data Pipeline trên AWS, phục vụ cho ETL và Data Aggregation.Data Engineering200 tok20185 bí quyết viết JS conditionals tốt hơnTrong Javascript, chúng ta phải sử dụng nhiều loại lệnh điều kiện (if ... else ...) khác nhau, sau đây là 5 bí quyết để viết lệnh if else nhanh hơn và chuyên nghiệp hơn.Web7.2k tok2018VS Code - Import CostExtension này sẽ hiển thị inline trên VS Code size của package (nodejs) đang được import, như hình dưới đây.Productivity200 tok2018Deploy Deep Learning model as a web service APITrong bài này mình sẽ hướng dẫn deploy 1 model Deep learning, cụ thể là Keras dưới dạng một web service API. Sử dụng Flask framework python và Redis server như một Messeage Queue.Machine Learning3.4k tok2018Signale - Hackable console logger for NodejsSignale là một thư viện thay thế console logger trong Nodejs, cho kết quả đẹp, sexy hơn và nhiều chức năng.Web1.4k tok2018TensorFlow.jsVới TensorFlow.js, không những có thể chạy models machine learning, mà chúng ta còn có thể training trực tiếp ngay trên browser. Trong bài viết ngắn gọn này, mình sẽ giới thiệu cách sử dụng cơ bản và nhanh nhất để bắt đầu với Tensorflow.js.Machine Learning4.0k tok2018Gio.js - 3D Globe Data VisualizationGio.js là thư viện nguồn mở để visualization 3D globe, xây dựng dựa trên thư viện **Three.js**. Gio.js cực kỳ dễ sử dụng và dễ customize.Web1.4k tok2018[Slide] Sentiment AnalysisMình vừa có bài nói về Sentiment Analysis trong NLP bao quát, xin phép chia sẻ lại slide tại đây.Machine Learning200 tok2018Sử dụng PyTorch với GPU miễn phí trên Google ColabGoogle Colab (https://colab.research.google.com/) là một phiên bản Jupyter/iPython đến từ Google (think iPython + Google Drive), cung cấp cho chúng ta một môi trường notebook-based với backend Python 2/3 miễn phí. Google Colab rất hữu ích trong việc chia sẻ, giáo dục và teamwork trong các dự án về Machine Learning.Machine Learning600 tok2018Propel - Machine learning for JavascriptPropel cung cấp cơ chế GPU-backed giống như thư viện Numpy trên Python, propel có thể cung cấp 1 kiến trúc rất mạnh cho các thuật toán Machine learning trên Javascript, như hỗ trợ tính toán rất mạnh và nhanh, như các tính toán trên ma trận, list, plot, ...Machine Learning1.4k tok2018Phân lớp SVM với Word2vecTrong chuỗi bài viết này mình sử sử dụng thuật toán SVM để phân lớp sentiment (cảm xúc) cho văn bản, kết hợp với ứng dụng Word2vec để biểu diễn các text dưới dạng vector.Machine Learning1.2k tok2018Duckling - phân tích văn bản sang dữ liệu có cấu trúcDuckling là một thư viện của Haskell, phát triển bởi Facebook, rất hay để phân tích (parses) dữ liệu text sang dạng có cấu trúc (structured data). Công cụ này rất hữu ích trong các ứng dụng phân tích văn bản trong NLP và nhất là lĩnh vực chatbot.Machine Learning400 tok2017Colaboratory - phiên bản custom của Jupyter Notebook từ GoogleColaboratory là phiên bản Jupyter Notebook được Google update lại, nhiều chức năng hay hơn nhất là khả năng cộng tác tương tự Google Docs. Code được lưu trong Google Drive, sử dụng miễn phí backend máy ảo của Google.Web200 tok2017Doc2vec trong Sentiment AnalysisDoc2vec, ngoài từ (word), ta còn có thể biểu diễn các câu (sentences) thậm chí 1 đoạn văn bản (document). Khi đó, bạn có thể dễ dàng vector hóa cả một đoạn văn bản thành một vector có số chiều cố định và nhỏ, từ đó có thể chạy bất cứ thuật toán classification cơ bản nào trên các vector đó.Machine Learning9.0k tok2017Python - Nhận dạng xe hơi với OpenCVTrong bài này, mình sẽ hướng dẫn sử dụng OpenCV để nhận diện xe hơi trong ảnh (video frame) với đặc trưng HAAR, sử dụng file mô hình đã được trained.Machine Learning5.6k tok2017Tolks.io — a tiny dialogue maker on Vue.jsA short note about tolks.io, a 2017 web toy for composing fake group chats — built on Vue.js and now offline.Web200 tok2017Machine Learning is Fun! (Vietnamese version)Chuỗi bài viết "Machine Learning is Fun!" này mình lược dịch từ bài viết gốc của tác giả ageitgey. Mình tin chắc có rất nhiều bạn đã và đang quan tâm đến Machine Learning hiện nay. "Machine Learning is Fun!" chắc chắn sẽ mang đến cho bạn cái nhìn từ cơ bản đến chuyên sâu nhất về thế giới Machine Learning.Machine Learning5.0k tok2017Phân lớp văn bảnTrong Machine Learning và NLP, phân lớp văn bản là một bài toán xử lí văn bản cổ điển, gán các nhãn phân loại lên một văn bản mới dựa trên mức độ tương tự của văn bản đó so với các văn bản đã được gán nhãn trong tập huấn luyện.Machine Learning800 tok2017natural - NLTK cho JavascriptNaturalJS được ví như nltk cho Node. natural có nhiều chức năng xử lý ngôn ngữ tự nhiên như: Tokenizing, stemming, classification, phonetics, tf-idf, WordNet, string similarity, ...Machine Learning4.2k tok2017gpu.js - Tăng tốc Javascript với GPUMình lướt github và vô tình thấy thư viện gpu.js này. gpu.js tự động compile mã Javascript thành một ngôn ngữ ánh xạ khác, và chạy trên GPU nhờ vào WebGL API. Nếu máy trình duyệt không có GPU, mã JS vẫn được thực thi bình thường.Web600 tok2017URLs là UIURLs are UI - mình đã nghe cái này nhiều và từ lâu rồi. Điều này hết sức rõ ràng và mình thấy hoàn toàn đúng.Web600 tok2017Cài Apache Spark standalone bản pre-builtMình nhận được nhiều phản hồi từ bài viết BigData - Cài đặt Apache Spark trên Ubuntu 14.04 rằng sao cài khó và phức tạp thế. Thực ra bài viết đó mình hướng dẫn cách build và install từ source.Data1.6k tok2017Explain Shell - explainshell.comBắt gặp một command linux trong một tutorial trên Internet nhưng không hiểu ý nghĩa của nó, ExplainShell.com sẽ giải thích giúp bạn một cách chi tiết: command đó làm việc gì, ý nghĩa các tham số, v.v ...Linux200 tok2017NLP - Truyện Kiều Word2vecKhám phá Word2vec qua "Truyện Kiều" của Nguyễn Du. Hướng dẫn chi tiết về word embeddings, cách xử lý tiếng Việt với n-grams, và sử dụng Gensim Python để training mô hình. Bài viết giải thích về distributed representation, PCA visualization, và những phát hiện thú vị về mối quan hệ ngữ nghĩa giữa các từ trong kinh điển văn học Việt Nam.Machine Learning3.6k tok2017Multcloud - di chuyển, sao chép dữ liệu qua lại giữa các Cloud Drive (Google Drive, Dropbox, ...)Multcloud - di chuyển, sao chép dữ liệu qua lại giữa các Cloud Drive (Google Drive, Dropbox, ...)Web400 tok2017Python - Churn prediction with GraphlabChurn prediction is the task of identifying whether users are likely to stop using a service, product, or website. With Graphlab toolkit, you can start with raw (or processed) usage metrics and accurately forecast the probability that a given customer will churn.Machine Learning800 tok2017Notibar.jsNotibar.js - Lightweight notification bar, no dependency.Project1.0k tok2017Learning R cheatsheetR cheatsheetMachine Learning5.0k tok2017Teleconsole - Chia sẻ remote console Teleconsole là dịch vụ miễn phí dùng để chia sẻ terminal session với người khác, giống như Teamviewer cho Terminal.Linux1.4k tok2017Botpress - Phần 1: Init ChatbotBotpress được ví như Wordpress for Chatbot - được viết bằng Node, cài đặt đơn giản, quản lý trên giao diện web, cơ chế lập trình module - Botpress giúp rút ngắn thời gian Dev lên rất nhiều.Web2.0k tok2017Botpress - Phần 2: CodingChatbot với Botpress phần 2Web3.4k tok2017Rancher - Quản lý Docker Container bằng UIRancher giúp quản lý Docker bằng UI Web một cách tiện dụng, mọi thao tác đều trên UI. Rancher còn tích hợp Shell trên Docker, App catalog, ...Linux1.2k tok2017Shell - Mọi thao tác với tệp và thư mục trên BashShell bash trên Linux nếu như biết khai thác thì nó sẽ là một công cụ rất mạnh, trong bài này mình sẽ liệt kê các thao tác với tệp và thư mục (copy, move, rename, zip, ...). Like a hacker :))Linux9.2k tok2017WritefullWritefull là tool hỗ trợ viết report, tài liệu khoa học bằng tiếng Anh khá hay, nó giúp mình tra cứu từ, sử dụng từ theo ngữ cảnh, so sánh từ, dịch, Writefull sử dụng CSDL từ Google News, Google Scholar, Web, ...News200 tok2016Javascript Weekly #10Javascript Weekly #10 gửi đến cộng đồng một số tin tức JS mới: top frameworks 2017, Angular Next 4.0, Voca xử lý string cực kỳ mạnh, Hyper 1.0 - terminal on top JS, Vuetify, ...Javascript400 tok2016The Evolution of a Software EngineerFunny story about the Evolution of a Software Engineer, I copied from [Sean Hickey Med]News200 tok2016Merge conflicts on GitHub websiteMerge conflicts ngay trên GithubGit200 tok2016vnTokenizer trên PySparkTrong blog này mình sẽ custom lại vn.vitk để có thể chạy như một thư viện lập trình, sử dụng ngôn ngữ python (trên PySpark và Jupyter Notebook).Data Engineering1.8k tok2016Javascript Weekly #9 Javascript Weekly #9: Date-DNS, chi tiết về các bản cập nhật mới của V8, React và Angular. ![](https://2.bp.blogspot.com/-3n1yGifwJdY/WEtxXVdp38I/AAAAAAAAgt4/ijum1QPHo6ENxNmPawMuGeKyxKfw2tfEACLcB/s1600/Screenshot%2Bfrom%2B2016-12-10%2B10-06-59.png) ## [date-fns: A Modern...Javascript400 tok2016R trên Jupyter Notebook (Ubuntu 14.04 / 14.10 / 16.04)Jupyter Notebook là công cụ khá mạnh của lập trình viên Python và Data Science. Nếu dùng R, Jupyter cũng cho phép ta tích hợp R kernel vào Notebook một cách dễ dàng.Data Engineering1.4k tok2016Openstack - App Catalog và Docker trên DevstackDevStack là giúp triển khai mô hình Openstack cho Developers, có thể chạy trên Single-MachineNews6.0k tok2016Yarn: A new package manager for JavaScriptFacebook has launched YarnJavascript600 tok2016Try Ubuntu on WebUbuntu Tour là trang Web của Ubuntu cho phép người dùng có thể sử dụng thử trước Ubuntu trên giao diện Web mà không cần phải cài đặt. Thoạt đầu tưởng họ dùng VNC để Connect vào Docker, nhưng thực ra đây là một Web Application hoàn toàn được họ mô phỏng lại giống hệt giao diện Ubuntu.News200 tok2016Spark: Convert Text (CSV) to Parquet để tối ưu hóa Spark SQL và HDFSLưu trữ dữ liệu dưới dạng Columnar như Apache Parquet góp phần tăng hiệu năng truy xuất trên Spark lên rất nhiều lần. Bởi vì nó có thể tính toán và chỉ lấy ra 1 phần dữ liệu cần thiết (như 1 vài cột trên CSV), mà không cần phải đụng tới các phần khác của data row. Ngoài ra Parquet còn hỗ trợ flexible compression do đó tiết kiệm được rất nhiều không gian HDFS.Data Engineering1.2k tok2016Chạy Apache Spark với Jupyter NotebookIPython Notebook là một công cụ tiện lợi cho Python. Ta có thể Debug chương trình PySpark Line-by-line trên IPython Notebook một cách dễ dàng, tiết kiệm được nhiều thời gian.Data2.8k tok2016Tối ưu hóa Javascript với Google Closure CompilerClosure Compiler là 1 dự án của Google giúp Javascript tải và chạy nhanh hơn. Không phải là biên dịch từ Javascript sang mã máy, mà Closure biên dịch từ Javascript sang better-Javascript. Tức là tự động viết lại Javascript sao cho tối ưu hóa nhất mà kết quả không thay đổi.News1.6k tok2016PySpark - Thiếu thư viện Python trên WorkerApache Spark chạy trên Cluster, với Java thì đơn giản. Với Python thì package python phải được cài trên từng Node của Worker. Nếu không bạn sẽ gặp phải lỗi thiếu thư viện.Data1.4k tok2016Autotrack turns 1.0Autotrack là thư viện Javascript sử dụng với analytics.js, cung cấp cho lập trình viên nhiều công cụ hơn để theo dõi hoạt động người dùng trên web.Javascript1.0k tok2016Bảo mật hai lớpBảo mật 2 lớp là một hình thức bảo mật hiệu quả, được sử dụng phổ biến và ủng hộ khá đông đảo. Khi bật Xác minh 2 bước (còn được gọi là xác thực hai yếu tố), bạn thêm một lớp bảo mật bổ sung cho tài khoản của mình. Bạn đăng nhập bằng thông tin bạn biết (mật khẩu của bạn) và thông tin bạn có (một mã được gửi đến điện thoại của bạn).News600 tok2016Javascript Weekly #8Javascript Weekly #8 với các bài viết: React Native có mặt trên Ubuntu, JS góp mặt vào IoT với việc điều khiển các mạch máy tính thông minh, song song hoá tính toán với GPU, ...Javascript400 tok2016Thuyết âm mưu về lý do con người thích mèoCon người có tự do lựa chọn hay chúng ta chỉ là những con rối bị ký sinh trùng giật dây?News2.0k tok2016Parse StackParse Server is an open source version of the Parse backend that can be deployed to any infrastructure that can run Node.js.Project1.4k tok2016Sự cố Vietcombank, một góc nhìn kỹ thuậtBài viết gốc đăng tại VnSecurityNews3.4k tok2016Có một Biển Đông trên không gian mạngCó một Biển Đông trên không gian mạngNews2.6k tok2016Create React AppsFacebook ra mắt công cụ mới Create React App - generate ra React starter project.Javascript2.0k tok2016Big Integer JavascriptJavaScript's Integer has a limit of up to 18437736874454810627 (that is, 2^64-2^53+3). To handle much larger values with high performance, we can use the Big Integer library.Javascript2.0k tok2016Javascript Weekly #7Javascript Weekly #7 tuần này: giới thiệu HyperTerm - Command Line mạnh mẽ dựa trên công nghệ của Web, Node.js, Howler.js là một thư viện Audio nhiều tính năng, hay cách xây dựng ứng dụng Desktop sử dụng Electron và React, khám phá 2 chức năng mới trong ES6, ...Javascript400 tok2016Sublime Text Plugin nào cho lập trình viên Node.jsHôm nay mình sẽ giới thiệu 1 số plugin cần có để lập trình Node.js trên Sublime.Web800 tok2016saveto.co cập nhật: Note Cardsave.co vừa cập nhật chức năng note card mới, cho phép ghi chú nhanh như các công cụ ghi chú khác. Hiện tại Note Card đang triển khai thử nghiệm, mọi note sẽ được public. Ngoài ra người dùng cũng có khả năng chọn background cho Note Card.Project200 tok2016Viện John von NeumannViện John von Neumann nằm trong khu CNPM - Đại học quốc gia TP.HCM. Ngày xưa từng có đi dự hội thảo trong khu này, nghe 1 anh lớn nói sau này có điều kiện nên vào học Thạc sĩ và PhD tại đây, đây là nơi hội tụ của biết bao nhiêu người tài. Lúc đó chỉ cười, thực sự tôi chưa từng nghĩ mình sẽ vào học tại đây.Story1.0k tok2016Javascript Weekly #6Bài viết giới thiệu chi tiết về Redux, D3.js 4.0 Released, thư viện hiệu ứng anime.js, viết ứng dụng WebAssembly đầu tiên, Debug Node .... đây là các bài sẽ có trong Javascript Weekly #6Javascript400 tok2016saveto.co cập nhật giao diện, trend, share và bình luậnsaveto.co vừa cập nhật hệ thống, nâng cấp một ít giao diện, cho phép hiển thị trực tiếp meta image từ URL.Project200 tok2016Topic Modeling: Tìm chủ đề cho tập văn bản bài viếtCâu hỏi: Với số lượng bài viết lớn như vậy (hơn 28,000 bài viết), bạn hãy tìm cách nào đó để nhóm các bài viết theo những chủ đề khác nhau. Bạn hãy đề xuất một phương pháp để có thể đặt tên cho từng chủ đề một cách hợp lý nhất. Kết quả công ty A mong đợi sẽ là một file dạng csv gồm 2 cột: cột 1 là tên bài báo, cột 2 là tên chủ đề tương ứng.Machine Learning1.8k tok2016Tìm hiểu về dữ liệu trong thể thao hiện đạiTìm hiểu về dữ liệu trong thể thao hiện đại. Một trong những câu trả lời cho câu hỏi: Dân hệ thống thông tin thì làm gì?Data2.2k tok20168 điều React.js beginner nên biếtMình bắt đầu nghiên cứu và sử dụng React.js một thời gian. Phải nói React và React Native là một trong nghệ của tương lai, sẽ phát triển mạnh.Javascript3.0k tok2016Chạy vnTokenizer trên môi trường Apache SparkvnTokenizer là công cụ chuyên dùng tách từ, gán nhãn từ loại cho tiếng Việt, của tác giả Lê Hồng Phương. vnTokenizer được viết bằng Java, có thể sử dụng như Tools Command Line hoặc Programming.Machine Learning2.0k tok2016React + Redux cơ bản - Phần 1: Component, JSX, Props & StateMình sẽ dành 1 chuỗi bài để viết về React, kết hợp với mô hình Redux, sử dụng Webpack để đóng gói và kết hợp với Sails.js để làm RESTful API Server.Javascript5.4k tok2016Javascript Weekly #5Preact cho những ai muốn sử dụng các chức năng core của React chỉ với 3KB, Angular 2 ra mắt với nhiều tính năng mới, học D3.js, bài viết cực hay và chi tiết về "this" trong Javascript trong các trường hợp.Javascript400 tok2016saveto.co cập nhật: tự động tag, hỗ trợ ảnh GIF saveto.co vừa được cập nhật, hỗ trợ chia sẻ ảnh ảnh động và tự động gán nhãn tag với một số nội dung.Project200 tok2016Javascript Weekly #4React và ES6 vẫn là các chủ đề đang được quan tâm. Javascript Weekly tuần này có gì hot?Javascript1.2k tok2016Hướng dẫn quản trị XenforoHướng dẫn quản trị diễn đàn Xenforo. Trích từ tài liệu hướng dẫn sử dụng SHTP Forum.Productivity800 tok2016JavaScript Weekly #3V8, modern JavaScript, WebAssembly tại sự kiện Google I/O, các chức năng Promises, Async và Await ES6 và ES7 sẽ giải quyết vấn đề "Callback Hell" như thế nào, React, ... Có gì mới trong #3 này?Javascript400 tok2016Webfont.js - Web Font LoaderWeb Font Loader (webfont.js)Javascript1.2k tok2016Reverse shell on a Node.js applicationHow we obtained a Javascript reverse shell by exploiting a vulnerability on a Node.js application during a security assessment.Javascript2.8k tok2016WebGazer.js - theo dõi chuyển động mắt của người dùng trên WebsiteWebGazer.js là thư viện viết bằng Javascript, theo dõi mắt người dùng, xác định điểm trên màn hình mà người dùng đang chú ý đến. Thư viện xử lý real-time, chạy trực tiếp trên trình duyệt, sử dụng webcam để nhận diện và không cần phải gửi video về server.Javascript1.2k tok2016JavaScript Weekly #2Javascript #2 tuần này có gì mới.Javascript400 tok2016Cách sử dụng Destructuring trong Javascript ES6Destructuring là chức năng mới trong ES6 của Javascript. Giúp extract dữ liệu (có thể lồng nhau) từ Array hoặc Object.Javascript5.6k tok2016ES6 - ép sử dụng tham số trong functionCác tham số function trong Javascript thực ra không bắt buộc, Javascript chỉ kiểm tra khi nó được sử dụng đến. Một số trường hợp ta muốn bắt buộc người sử dụng hàm phải điền tham số này khi gọi hàm. Thủ thuật sau sử dụng chức năng default param trong ES6Javascript1.0k tok2016ES6 - swap (hoán đổi) nhanh 2 biến sốES6 có chức năng destructuring có khá nhiều công dụng. Thủ thuật sau giúp hoán đổi giá trị 2 biến bằng cách destructuring.Javascript600 tok2016JavaPoly.js: chạy Java ngay trên trình duyệt WebPolyfills native, hỗ trợ JVM, bạn có thể import file Jar, biên dịch và chạy trực tiếp mã Java ngay trên trình duyệt Web với JavaPoly, thư viện được viết bằng Javascript.Javascript600 tok2016 JavaScript Weekly #1Từ nay, blog sẽ có thêm mục mới JavaScript Weekly, cập nhật và tổng hợp hàng tuần về Javascript/Nodejs. Mở đầu tuần đầu tiên này có gì mới?Javascript400 tok2016saveto.co ra mắt TILTIL là viết tắt của Today I learn, là một cách mà nhiều kĩ sư giỏi trên thế giới giữ thói quen học tập mỗi ngày bằng cách lưu lại kiến thức mình học được hàng ngày vào đâu đó.Project200 tok2016console.log() nâng caoLà một lập trình viên Javascript/Nodejs, ắt hẳn ai cũng đã quen với các hàm `console.*` để debug. Nay tôi xin giới thiệu các tính năng cách sử dụng hay và ít được biết đến của các hàm `console.*` này.Javascript2.8k tok2016Cách truy cập Website khi bị chặnNhiều bạn hỏi ý kiến tôi về việc "vượt tường lửa", cách truy cập các trang bị chặn, chẳng hạn như Facebook trong mấy tuần qua. Cách sau sẽ giúp bạn vượt được tường lửa và ẩn danh an toàn trên Internet.Web1.0k tok2016Tiến sĩ là gì?Tiến sĩ là gì? Người có kiến thức như thế nào thì đặt tới trình độ Tiến sĩ (Ph.D)?News400 tok2016Cài đặt Docker trên UbuntuDocker cung cấp một nền tảng mở cho các nhà phát triển và sysadmins để xây dựng, đóng gói, vận chuyển và triển khai ứng dụng bất cứ nơi nào, ứng dụng được chạy trong một container lightweight, cùng với khả năng tự động hóa, nhân bản nhanh, gọn nhẹ, ...Linux1.4k tok2016Đóng gói và triển khai ứng dụng Nodejs bằng DockerHướng dẫn cách đóng gói và build image docker cho ứng dụng Nodejs một cách cơ bản nhất.Linux7.2k tok2016Talk: Why docker?Tuần rồi tôi có buổi Seminar về Docker tại ISLab UIT: First look về Docker, kiến trúc cơ bản, quy mô tình hình sử dụng, các ứng dụng và cách sử dụng, viết 1 Dockerfile đơn giản.Project200 tok2016Giới thiệu Koa.jsVề Node.js, ắt hẳn mọi người đều đã quá quen với Expressjs. Nên nay tôi giới thiệu một framework mới cũng khá hay, hiệu năng cao và dễ sử dụng KoaJsJavascript4.2k tok2016Ra mắt Node.js v6.0.0Ra mắt Node.js v6.0.0Javascript1.6k tok2016Awesome functional programming in JavaScriptA curated list of awesome functional programming in JavaScriptJavascript1.4k tok2016Deploy production Node.js với PM2 và NginxCách cài đặt và triển khai production Node.js project với Nginx và PM2.Javascript6.0k tok2016Grunt - lỗi ENOSPCTrường hợp lỗi trên Grunt khi listen file change để restart server.News1.4k tok2016Tài liệu PanamaVụ rò rỉ 2.6TB tài liệu Panama có liên quan đến việc trốn thuế, rửa tiền và tham nhũng đang nóng mấy ngày qua, các tài liệu công bố có liên quan đến nhiều chính trị gia lớn, tổng thống, những người siêu giàu. Có nhiều cái thú vị trong vụ án cấp độ cực lớn ở lần này.News1.0k tok2016ES6 có gì mới?ES6 là phiên bản mới nhất của bộ tiêu chuẩn ECMAScript. ES6 ra mắt giữa 2015 với rất nhiều những tính năng mới lạ, và cần thiết đối với sự phát triển chóng mặt của Javascript trong những năm gần đây. Cụ thể ES6 sẽ có những điểm mới nào nổi bật?Javascript9.4k tok2016Update saveto.co: tìm kiếm và gắn tag linkHiện saveto.co vừa được nâng cấp, các URL được bookmark trên hệ thống hiện có thể được tìm lại thông qua từ khóa, từ khóa được nhập trực tiếp vào thanh URL.Project200 tok2016calc.js - evaluate expressions for MathFlexible expression parser and offers an integrated solution to work with numbers, big numbers, complex numbers, units, and matrices. Powerful and easy to use.Javascript1.0k tok2016How one developer just broke Node, Babel and thousands of projects in 11 lines of JavaScriptMột lập trình viên vừa gây lỗi hàng loạt cho Node, Babel và hàng nghìn projects khác. Chỉ với 11 dòng Javascript.News800 tok2016Neural networks là gì?Neural networks là gì?Machine Learning600 tok2016PostmanPostman là một App Extensions, cho phép làm việc với các API, nhất là REST, giúp ích rất nhiều cho việc testing. Hỗ trợ tất cả các phương thức HTTP (GET, POST, PUT, DELETE, OPTIONS, HEAD ...). Postman cho phép lưu lại các lần sử dụng. Sử dụng cho cá nhân hoặc team lớn.Web400 tok2016saveto.co — adding markdown notes and code snippetsA 2016 changelog for saveto.co — adding a markdown note and code-snippet feature on top of the URL shortener.Project400 tok2016Sao lại là Node.js/Javascript?Hàng năm, Stack Overflow đều có 1 cuộc khảo sát trên hàng trăm nghìn Developers thông qua các dịch của mình. Năm nay có 56,033 coders trên 173 nước trên thế giới tham gia khảo sát. Kết quả của các khảo sát này cho ta cái nhìn tổng quan và đúng đắn nhất về development trong năm qua.Javascript1.0k tok2016Asiacrypt 2016Asiacrypt 2016 - Hội thảo quốc tế về mật mã học được tổ chức tại Hà NộiNews400 tok2016ProtonMail - dịch vụ mail end-to-end encryptedProtonMail cho ra mắt beta hồi 2014, nhưng theo được biết đến hiện nay 2 ứng dụng trên Play Store và Apple Store mới được duyệt do phía Apple và sự chấp thuận chính phủ Mỹ.News200 tok2016Giao thức Diffie-Hellman (DH)Theo trang công nghệ Engadget, giải thưởng AM Turing được coi như Nobel IT năm 2015 sẽ được trao cho hai nhà khoa học Whitfield Diffie và Martin E. Hellman, tác giả của đề tài mã hóa dữ liệu mang tên "Giao thức Difie-Hellman 1976". Phương pháp mã hóa được cho là "có thể bảo vệ hàng nghìn tỷ USD" đã được vinh danh tại giải thường được coi là "giải Nobel" cho lĩnh vực công nghệ thông tin.Software Engineering400 tok2016CTB-Locker is back: the web server editionCryptolockers have become more and more sophisticated, bypassing system protections and terrifying anyone in their path. TeslaCrypt, CryptoWall, TorrentLocker, Locky and CTB-Locker are only some of the malware we have protected from for the past two years. We have seen many shapes and colors of cryptolockers, but the new CTB-Locker variant says it all. The world of cybercriminals is investing in how to reinvent cryptolockers.News800 tok2016PHP Game Boy Emulator in TerminalA PHP-based Game Boy emulator that runs in the terminal - a creative and fun way to play retro games. Features a complete implementation showcasing PHP's capabilities.Project200 tok2016Facebook reactionsTuần qua, Facebook vừa có sự thay đổi lớn trên toàn cầu, thay thế nút Like truyền thống thành các biểu tượng cảm xúc - Reactions. Facebook Reactions gây ra nhiều phản ứng khác nhau cho người dùng, hầu hết mọi người đều tỏ ra hứng thú với thay đổi lớn này.News400 tok2016Google ra mắt Project ShieldHiện tại Google đã ra mắt chính thức dịch vụ Project ShieldNews200 tok2016Japanese stopwords package for npm, bower and plaintextJapanese stopwords, available for npm, bower, plaintext. 日本のストップワードMachine Learning2.2k tok2016Detect robots in koaPlugin for Koa.js to detect crawler bots and user agentsJavascript1.6k tok2016function* và yield trong Javascript generator functionfunction* giúp khai báo 1 generator function, trả về 1 Generator object. Với chức năng mới này, hàm có thể dừng thực thi bất cứ thời điểm nào, đợi async chạy xong, xong tiếp tục thực thi.Javascript2.8k tok2016copy.js - simple copy text to clipboard in the browserSimple copy to clipboard. No Flash.Javascript3.0k tok2016Tự động hóa Internet với IFTTTIFTTT là một dịch vụ rất thú vị, cho phép người dùng tự động hóa các dịch vụ internet như mạng xã hội, Google Drive, Mail, Dropbox, Calendars, ... thậm chí location, SMS, ... trên smartphone.Infrastructure600 tok201613.5TB - Yahoo ra mắt bộ Dataset cực lớn cho lĩnh vực máy họcYahoo Labs đã tung ra nhiều loại bộ dữ liệu khác nhau cho những ai nghiên cứu trong lĩnh vực máy học (Machine Learning). Các bộ dữ liệu này chủ yếu được thu thập từ các dịch vụ của Yahoo, như thông tin hoạt động người dùng, dữ liệu đồ thị, ảnh đã gán nhãn, ngôn ngữ tự nhiên, tin nhắn, tương tác mạng xã hội, tương tác tin tức ... từ Yahoo News, Yahoo Sports, Yahoo Finance, Yahoo Movies, ...News400 tok2016Nginx - adding cross-origin resource sharing (CORS) support to reverse proxied APIsExample Nginx configuration for adding cross-origin resource sharing (CORS) support to reverse proxied APIs.Linux600 tok2016Tensorflow - cài đặt trên DockerDocker luôn là giải pháp đóng gói và triển khai các ứng dụng 1 cách nhanh chóng và an toàn. Sau mình xin hướng dẫn các cài đặt Tensorflow trong môi trường container của Docker.Machine Learning2.2k tok2016Tensorflow - hướng dẫn cài đặtCài đặt TensorflowMachine Learning2.4k tok2016Deep Learning là gì?Thế giới đã chứng kiến sự phát triển vượt bậc sau khi con người phát minh ra các công nghệ: động cơ hơi nước, điện, máy vi tính, internet. Công nghệ tiếp theo sẽ có sự tác động mạnh mẽ như vậy chính là trí thông minh nhân tạo (Artificial Intelligence - AI)Machine Learning400 tok2016Bigdata - Columnar Database và Graph DatabaseNhư đã nói về big data, chúng ta có các loại dữ liệu khác nhau và chúng ta cần lưu trữ trong database. Bigdata có thể xử lý và lưu trữ trên nhiều loại CSDL khác nhau. Sau đây tôi sẽ nói 1 ít về columnar Database và Graph Database.Data400 tok2016Docker - cài đặt Odoo 8/9 trên DockerHướng dẫn cài đặt Odoo 8/9 trên Server Ubuntu chỉ bằng vài bước đơn giảnLinux2.8k tok2016Graph DatabaseBài trước tôi có nói về Columnar Database và Graph Database. Mục đích là so sánh và đi sâu vào Graph Database. Tiếp đến là xử lý Graph Database với Big Data.Data800 tok2016Nodejs - đọc file package.jsonĐọc file package.json giúp ta lấy được một số thông tin của project, như: tên project, version, danh sách các package, ...Javascript600 tok2016Nodejs - Mã hóa mật khẩuMã hóa mật khẩu người dùng trước khi lưu vào database là 1 chuyện bắt buộc phải làm đối với bất cứ 1 website nào. Không riêng gì ai, Nodejs cũng hỗ trợ khá nhiều thư viện để hỗ trợ việc mã hóa này.Javascript3.2k tok2016Offline-First trong Modern Web"Web" và "Online" là gần như là 2 khái niệm đi liền với nhau. Nhưng gần đây xu thế mới trong thế giới web còn tồn tại 1 khái niệm nữa là công nghệ web offline, offline-first.Web800 tok2016Javascript - Thư viện Vizualization Các thư viện Vizualization trên JsJavascript200 tok2016Nodejs - Backend Development BookmarksNhiều bạn hỏi, tôi note lại một số bài viết hữu ích về nodejs backend, từ các hướng dẫn cài đặt, npm, database, các frameworks, socket, security, testing, ... tất tần tật để có thể dễ dàng tra cứu. Danh sách này cũng có thể nói gần như overview được hết các kiến thức về Nodejs backend.Web1.8k tok2015Year In Review 2015Năm qua thiệt dài, làm thiệt nhiều, thiệt siêng, đôi lúc cũng lười vô tội vạ, được nhiều, mất nhiều, tổng kết lại vài thứ trong năm qua.Story400 tok2015Unit test và Integration testMột hoạt động mang tính sống còn trong các dự án sản xuất hoặc gia công phần mềm, đó là kiểm thử phần mềm (testing).Javascript1.2k tok2015Angular 2 có gì mới?Cách đây vài hôm Angular 2 chính thức ra mắt, phiên bản BetaJavascript600 tok2015Docker là gì?Vậy Docker là gì và tại sao nó hữu ích.Infrastructure4.8k tok2015jsLab.xyz — a side-project archiveA look back at jsLab.xyz, a small umbrella site I started in 2015 to collect my JavaScript side-projects.Project400 tok2015Apache Spark on DockerContainerizing Apache Spark with Docker remains essential in 2025. This guide covers modern deployment practices using Docker Compose, Kubernetes considerations, and best practices with current Spark versions.Data4.6k tok2015CharticoChartico là trang web cho phép chúng ta tạo biểu đồ dạng cột rất nhanh chóng và đơn giản. Nói một cách khác, khi bạn cần tạo nhanh một biểu đồ cột, mà không muốn tạo bảng rồi phức tạp nhiều công đoạn như các công cụ thông thường (Excel, Numbers), chỉ cần vào Chartico để làm. Chartico sẽ cho phép ta chỉnh những thứ cơ bản nhất, đó là số liệu trên mỗi cột, màu sắc của từng cột (có 10 màu cho bạn chọn), tên của từng cột. Ở phía trên là lựa chọn tiêu đề cho biểu đồ cũng như tiêu đề phụ (Subtitle).Web200 tok2015Bigdata - Map-Reduce và bài toán Word CountMap-Reduce là một giải pháp! Map-Reduce được phát minh bởi các kỹ sư Google để giải quyết bài toán xử lý một khối lượng dữ liệu cực lớn, vượt quá khả năng xử lý của một máy tính đơn có cấu hình khủng.Data Engineering1.0k tok2015Firefox OSFirefox OS 2.5 vừa được Mozilla phát hành dưới dạng Developer Preview cho người dùng Android trải nghiệm và sử dụngWeb400 tok2015Google Big Data Meetup in SaigonFelipe Hoffa is a US-based Big Data Developer Advocate of Google.News200 tok2015Nodejs - Cache in-memory trong Nodejsmemory-cache là một package đơn giản trong Nodejs, giúp chúng ta cache 1 biến hay một giá trị bất kì vào bộ nhớ để dễ dàng quản lý, ngoài ra còn có thể thiết lập thời gian để tự hủy cache khi cần thiết.Javascript1.6k tok2015Clipboard.jsClipboard.js là một thư viện vô cùng gọn nhẹ (2kb) giúp bạn dễ dàng cắt hoặc sao chép nội dung trên trang web một cách dễ dàng. Được sử dụng trong các trường hợp bạn muốn người dùng tự động copy dữ liệu vào trong clipboard mà không cần thực hiện thao tác copy hoặc Ctrl + C.Javascript2.4k tok2015Cài đặt OpenVPN trên Debian, Ubuntu và CentOSOpenVPN là một chương trình mã nguồn mở VPN hoàn toàn miễn phí và đang được xem là giải pháp hoàn hảo nhất cho những ai muốn có một kết nối bảo mật giữa hai mạng. Trong bài này, mình sẽ giới thiệu OpenVPN road warrior installer, một script tự động cài đặt OpenVPN Server rất đơn giản và nhanh chóng.Linux800 tok2015Seminar - Giới thiệu Apache Spark và PredictionIOHôm nay buổi seminar về Apache Spark và giới thiệu PredictionIO tại ISLab (ĐH Công nghệ thông tin, KP6 phường Linh Trung) đã thành công tốt đẹp.Project200 tok2015Bruteforce DatabaseA Password dictionaries for hacking, bruteforce, testing ...Project400 tok2015PHP - Vietnamese Language Pack Extension for FlarumGói ngôn ngữ tiếng Việt cho Flarum.Web200 tok2015Install Odoo 8 in Ubuntu 14.04/15.04Cài đặt Odoo trên Ubuntu 14.04/15.04Linux9.2k tok2015Git - 19 Tips For Everyday Git UseI’ve been using git full time for the past 4 years, and I wanted to share the most practical tips that I’ve learned along the way. Hopefully, it will be useful to somebody out thereGit4.4k tok2015How to Install Oracle 12c on Ubuntu 15.04Cách cài đặt Oracle 12c trên Ubuntu 15.04Linux8.4k tok2015JS - The Entire JavaScript Language in a Single ImageA developer named Yusheng has created an amazing infographic that shows the entire JavaScript language syntax into one single image. Take a look and save it for a quick reminder.Javascript200 tok2015All you need to know about Node.js 4.0.0Now – that Node.js 4.0.0 is about to be officially released – you may wonder what it delivers to you and if you should upgrade right away, or not. This post covers the most important changes you need to know, and some key implications you may have to take into account in making your decision.Javascript1.6k tok2015Google has a new logo, seriouslyGoogle có Logo mớiNews200 tok2015Google Cloud Platform Developer RoadshowPlease come join us for some great learning and discussion on the future of compute, storage, big data and the power of Google Cloud PlatformNews800 tok2015Git - Cách xem nội dung 1 file ở branch khácNếu bạn đang ở 1 nhánh, và bạn muốn xem nội dung của 1 file nằm ở trên nhánh khác mà không cần phải checkout.Git1.0k tok2015Git - Cách xóa nhanh tất cả các branch cũ đã merge vào branch masterNếu bạn có rất nhiều branch trên repo, mỗi branch phát triển 1 chức năng của dự án. Trong số chúng có nhiều branch đã hoàn thành, và đã được merge vào branch chính (master) chẳng hạn, mình gọi các branch này là branch cũ.Git1.4k tok2015Git - Tutorial remove untracked filesIf you have a bunch of untracked files and want to remove them all in one go then just do thisGit2.2k tok2015Git rebase, gộp commits bằng rebaseTrong dự án, code của bạn luôn có sự thay đổi, sau khi push 1 đống commit lên github. Một ngày kia ông Leader kêu lại: "Ê mày, sửa chỗ này, sửa chỗ kia, code không đúng chuẩn rồi, bla bla ...". Thế là phải hồi hì hục cải tiến code, coding style cho "chuẩn".Git2.4k tok2015PHP - Có gì mới trong PHP 7Phiên bản stable PHP hiện nay đang được sử dụng là phiên bản PHP 5.6. Sau một số tranh luận thì nhóm phát triển đã quyết định họ sẽ bỏ qua tên phiên bản PHP 6. PHP 6 đã tồn tại trong quá khứ như một dự án thử nghiệm, nhưng vì lý do nào đó chưa hoàn chỉnh.Web1.4k tok20156 lời khuyên để đảm bảo dù ở đâu, bạn cũng sống tốt với thu nhập caoBài viết của Tony buổi sáng về 6 nguyên tắc sống - chỗ ở, ăn uống, mối quan hệ, học tập, du lịch và tiết kiệm. Những lời khuyên này vẫn còn giá trị nhất định trong năm 2025 khi nói về mindset, kỷ luật và phát triển cá nhân, mặc dù một số con số tiền tệ cần điều chỉnh theo thời điểm hiện tại.News1.6k tok2015Feedback Social PlatformFeedback Social is platform free for all to feedback, preview, complain,... about everything. They can get for supports from community about that.Project400 tok2015Nodejs - Create simple static server with NodejsWith this simple package, you can create your own static server simply by Nodejs.Javascript1.0k tok2015Nodejs - Tạo static server đơn giản với Nodejs Với package sau bạn có thể tạo 1 static server đơn giản bằng Nodejs.Javascript1.0k tok2015Nodejs - Các kỹ thuật Crawler, rút trích dữ liệu với NodejsNhân dịp tuyển sinh ĐH này, mình có project về thu thập dữ liệu tuyển sinh của các thí sinh trên trang của các trường ĐH. Project này mục tiêu là thu thập toàn bộ thông tin của thí sinh (SBD, tên, tuổi, điểm các môn, nguyện vọng các ngành, trường mà thí sinh nộp xét tuyển, ...). Điều oái oăm là mỗi trường công bố dữ liệu 1 cách hết sức ... tùm lum và tào lao.Data Engineering1.4k tok2015Git - Chỉnh sửa git vừa commitCách sửa commitGit1.4k tok2015Git - Khôi phục bằng reflog sau khi xóa commit hoặc branchĐôi khi, bạn có thể vô tình reset hard, xóa commit hoặc loại bỏ một nhánh. Rất ít người biết cách khôi phục từ những tình huống này và một số người thậm chí phải code từ đầu. May mắn thay, hầu hết chúng ta có thể dựa vào "cỗ máy thời gian" của Git: reflogGit3.8k tok2015Nodejs - Các package mà mọi lập trình viên Nodejs đều phải biết.Nodejs module (hay npm module) giúp lập trình viên Nodejs phát triển ứng dụng cực nhanh, lý do là các việc cần xử lý hầu hết là các module đã giải quyết cho chúng ta rồi. Sau mình sẽ liệt kê danh sách các module mà bất cứ ai khi bắt đầu học Nodejs đều phải biết.Javascript600 tok2015Tổng hợp phím tắt của Visual Studio CodeTổng hợp lại một số phím tắt hay, hay dùng của VS Code.News1.2k tok2015JavaScript Style GuideA mostly reasonable approach to JavaScript.Javascript32.2k tok2015Giao diện phẳng cho Sublime TextSublime text là một editor cực mạnh mẽ với nhiều plugin hữu ích, có thể cài đặt 1 cách dễ dàng trực tiếp. Sublime Text hiện đang được đông đảo các Web Developer sử dụng và yêu thích. Một điểm mạnh nữa là Sublime Text có thể mở rộng thông qua các Plugin, themes, .... viết bằng python.Web1.4k tok2015Web - 20 nền tảng blogging và publishing tốt nhất trong năm 2015Mặc dù hiện nay MXH đang thay thế dần nền tảng blogging, blog có dấu hiệu đang chết dần, thì vẫn có hàng trăm nghìn người đang sử dụng blog trong năm qua. Theo thống kê của The Next Web, có 20 nền tảng được blogger hay publisher chọn dùng nhiều nhất trong năm 2015.Web200 tok2015Git - Git Cheat SheetA simple Git cheat sheet for the basic commands and working with a git repo, in our case Github. (Sau đây mình xin list ra danh sách Git cheat sheet các lệnh cơ bản và cần thiết nhất khi chúng ta sử dụng git, cụ thể là Github)Git1.2k tok2015Git - Kĩ thuật chia branch, "Branch early, branch often"Đây là một bài mình viết trên blog CodeDaily, nói về kĩ thuật chia branch, branch workflow.Git800 tok2015Big Data - Monitoring Spark with Graphite and GrafanaGuide to monitoring Apache Spark applications using GraphiteSink and Grafana dashboards for real-time metrics visualization and performance diagnostics.News2.0k tok2015Git - Sử dụng git stash hiệu quảGit là công cụ cực kì hiệu quả để quản lý source code và cũng cực kì phổ biến khi gần như mọi công ty hay team develope sử dụng. Bài viết sau của bạn Lê Việt Tú đăng trên Kipalog hướng dẫn cách sử dụng Git stash một cách hiệu quả.Git3.6k tok2015Đạo lập trình - The Tao Of Programming Bản dịch tiếng Việt đầy đủ của "The Tao of Programming" - tác phẩm kinh điển về triết lý lập trình. 9 chương về Cõi hư vô, Lập Trình Sư, Thiết kế, Lập trình, Cải tiến, Quản đốc, Trung tâm đầu não, Phần cứng và phần mềm. Những bài học vượt thời gian về nghệ thuật coding, debugging, và sống hài hòa với Đạo của lập trình.News7.8k tok2015JavaScript Code SmellsAs we grow as developers we strive to write more maintainable code, but on our journey we often times don't know what that looks like yet.Javascript400 tok2015Minimalism in Web design: past and futureMinimalism is one of the most enduring visual frameworks in Web design given its timeless elegance and clear presentation of content. While cycles of popularity come and go, the design technique is a classic and lasting visual philosophy for designers across all specializations and industries.Web1.8k tok2015Tìm hiểu về hệ thống quảng cáo và quảng cáo OnlineChắc hẳn trong đa số chúng ta đều rất ghét các loại quảng cáo trên Web, Internet. Có lẽ nguyên nhân lớn nhất là chúng cản trở chúng ta đến với dịch vụ (che tầm nhìn của trang web hay tivi), và chúng hiển thị những thông tin mà chúng ta coi là dư thừa, không cần thiết. Tuy nhiên có phải vì thế mà quảng cáo chỉ toàn điều xấu và không đáng tồn tại?News2.8k tok2015PHP - Cài đặt APC (Alternative PHP Cache) cho XAMPP trên LinuxHướng dẫn cài đặt APC (Alternative PHP Cache) cho XAMPP trên LinuxWeb3.0k tok2015Google Materialize CSS frameworkĐược dịp ông anh share cái link về Materialize, 1 css framework dựa trên Material Design của Google. Trước đây mình dùng qua Angular Material và Bootstrap Material, nhưng cái này có vẻ thích hơn. Cũng như các CSS framework khác, Google Materialize này cũng đáp ứng được rất nhiều yêu cầu về thiết kế responsive với các dạng gird quen thuộc. Cung cấp cho chúng ta khá nhiều component đẹp mắt và dễ sử dụng.Web400 tok2015Twitter BootstrapỞ bài trước mình đã giới thiệu về Bootstrap về hệ thống Grid, giúp bạn tạo nên bố cục, giao diện Responsive cho trang web. Cùng với các định dạng sẵn tất cả các Tag HTML theo phong cách của Bootstrap nếu muốn dùng nhanh thì có thể không cần phải code thêm chút CSS nào nữa. Mình sẽ giúp các bạn tìm hiểu tiếp Components là gì và cách sử dụng chúng ra sao.Web1.2k tok2015Khái niệm cơ bản trong gitBạn là lập trình viên, và đôi khi bạn muốn đưa về trạng thái trước khi quậy phá của file code nào đó? Cách đơn giản nhất đó là sao chép lại file trước khi chỉnh sửa. Trường hợp dùng phương pháp này thì sẽ phải thường xuyên thực hiện việc thêm ngày đã thay đổi vào tên thư mục hay file. Tuy nhiên, việc tự mình sao chép file mỗi lần chỉnh sửa thì sẽ rất vất vả, và cũng dễ xảy ra nhầm lẫn.Git1.6k tok2015Linux - một số thủ thuật với trình soạn thảo vimVim (hoặc vi) là một trong những editor mạnh mẽ trên terminal Linux. Sau đây là một vài thủ thuật hay khi sử dụng vim trên Linux.Linux800 tok2015PySpark Getting StartedHadoop is the standard tool for distributed computing across really large data sets and is the reason why you see "Big Data" on advertisements as you walk through the airport. It has become an operating system for Big Data, providing a rich ecosystem of tools and techniques that allow you to use a large cluster of relatively cheap commodity hardware to do computing at supercomputer scale. Two ideas from Google in 2003 and 2004 made Hadoop possible: a framework for distributed storage (The Google File System), which is implemented as HDFS in Hadoop, and a framework for distributed computing (MapReduce).Data7.2k tok2015PHP - Tổng quan về Web và thiết lập môi trường để lập trình PHPHơn 70% website hiện tại trên thế giới phát triển trên nền ngôn ngữ PHP là minh chứng cụ thể cho thấy đây là một ngôn ngữ mạnh mẽ, phổ biến, dễ sử dụng để phát triển Web trong thời điểm hiện tại. Có thể kể đến một số website hiện tại đang sử dụng PHP là ngôn ngữ nền tảng như Facebook, Wikipedia, Yahoo, Photobucket, …Web1.2k tok2015Lorem Ipsum là gì?Nếu bạn là người quen với việc thiết kế web, chắc chắn không dưới một lần bạn đã từng thấy những giao diện được thiết kế và có các dòng chữ không phải là ngôn ngữ quen thuộc nào trên thế giới. Đó chính là những dòng chữ quen thuộc của giới thiết kế layout "Lorem Ipsum Dolor sit amet …"Web600 tok2015Mongo-Web-QueryMongo Web Query is Simple Node Application on Web, for query the MongoDB data, one of tools for LvDuit Project Preview Mining.Web600 tok2015Big Data Explained in Less Than 2 MinutesThere are some things that are so big that they have implications for everyone, whether we want them to or not. Big Data is one of those concepts, and is completely transforming the way we do business and is impacting most other parts of our lives.Data1.0k tok2015Open Source - Tìm hiểu về giấy phép GNU (GNU General Public License)GNU (GNU General Public License) là giấy phép phần mềm tự do phổ biến nhất, ban đầu được thiết kê bới Richard Stallman, dành cho dự án GNU. Phiên bản 2 của giấy phép này được phát hành năm 1991, và phiên bản 3, phiên bản hiện tại, được phát hành năm 2007.News600 tok2015Open Source - Tìm hiểu về giấy phép MITMIT là một giấy phép phần mềm tự do được phát hành bởi Học viện Công nghệ Massachusetts (Massachusetts Institute of Technology – MIT), được hội đồng MIT X sử dụng.News600 tok2015Tìm hiểu về giấy phép ApacheGiấy phép Apache là giấy phép mã nguồn mở được soạn ra bởi Tổ chức phần mềm Apache (ASF – Apache Software Foundation).News1.2k tok2015MongoDB - Cách thiết lập để App Server kết nối đến MongoDb ServerThông thường, chúng ta thường thiết lập để Code và phần Database chung 1 server. Với những ứng dụng lớn để quản lý, chúng ta phải tách riêng biệt chúng trên nhiều server khác nhau. Bởi vì mặc định MongoDb không cho phép remote connections mà chỉ cho phép kết nối nội bộ. Mình sẽ hướng dẫn cách thiết lập sao cho từ App Server (server chứa code) kết nối được tới MongoDb Server (hoặc cụm MongoDb Server)Data3.8k tok2015RedisRedis là 1 trong số các hệ quản trị cơ sở dữ liệu phát triển mang phong cách NoSQL. Redis là hệ thống lưu trữ key-value với rất nhiều tính năng và được sử dụng rộng rãi. Redis nổi bật bởi việc hỗ trợ nhiều cấu trúc dữ liệu cơ bản (hash, list, set, sorted set, string), đồng thời cho phép scripting bằng ngôn ngữ lua.Data2.4k tok2015MEAN.js FullstackMEANJs là một web application framework cho NodeJS, nó là 1 stack kết hợp nhiều công nghệ, giúp bạn dễ dàng nhanh chóng và dễ dàng phát triển 1 ứng dụng Web SPA (Single Page Application). Cùng tìm hiểu nhé.Javascript1.2k tok2015Cài đặt Apache Spark trên Ubuntu 14.04Trong lúc tìm hiểu vài thứ về BigData cho một số dự án, mình quyết định chọn Apache Spark thay cho Hadoop. Theo như giới thiệu từ trang chủ của Apache Spark, thì tốc độ của nó cao hơn 100x so với Hadoop MapReduce khi chạy trên bộ nhớ, và nhanh hơn 10x lần khi chạy trên đĩa, tương thích hầu hết các CSDL phân tán (HDFS, HBase, Cassandra, ...). Ta có thể sử dụng Java, Scala hoặc Python để triển khai các thuật toán trên Spark.Data8.6k tok2015So sánh mô hình Waterfall, mô hình mẫu, mô hình xoắn ốcPhân tích so sánh chi tiết ba mô hình phát triển phần mềm kinh điển - Waterfall, Prototype, và Spiral - về ưu điểm, nhược điểm và ứng dụngSoftware Engineering1.0k tok2015Xây dựng thương hiệu cá nhân tại công sởMột bài viết khá hay ở vietnamworks. Đã bao giờ bạn có câu hỏi: "Mọi người sẽ nói gì về bạn khi họ nhận xét bạn?" Hãy nghĩ xem mọi người sẽ đánh giá và nói gì về bạn. Những gì hầu hết đồng nghiệp đánh giá về bạn phản ánh thương hiệu cá nhân của bạn nơi công sở.News1.0k tok2015Mô hình thác nước (Waterfall Model)Mô hình thác nước là một mô hình của quy trình phát triển phần mềm, trong đó quy trình phát triển trông giống như một dòng chảy, với các pha được thực hiện theo trật tự nghiêm ngặt và không có sự quay lui hay nhảy vượt pha là: phân tích yêu cầu, thiết kế, triển khai thực hiện, kiểm thử, liên kết và bảo trì.Software Engineering800 tok2015Quy trình phát triển phần mềm - mô hình xoắn ốc (The Boehm's spiral model)Mô hình xoắn ốc có thể được xem là sự kết hợp giữa mô hình thác nước và mô hình mẫu và đồng thời thêm một thành phần mới - phân tích rủi ro.Software Engineering600 tok2015Design Patterns - hệ thống 23 mẫu Design PatternsHệ thống các mẫu design pattern hiện có 23 mẫu được định nghĩa bởi Gang of Four - một kiến thức cơ bản và không lỗi thời trong công nghệ phần mềmSoftware Engineering1.4k tok2015Design Patterns là gì?Design patterns là các giải pháp đã được tối ưu hóa, được tái sử dụng cho các vấn đề lập trình mà chúng ta gặp phải hàng ngày. Nó là một khuôn mẫu đã được suy nghĩ, giải quyết trong tình huống cụ thể rồi.Software Engineering800 tok2015DNS là gì?DNS là từ viết tắt trong tiếng Anh của Domain Name System, là Hệ thống phân giải tên miền được phát minh vào năm 1984 cho Internet. Bạn có thể hiểu DNS như một cái "Danh bạ điện thoại" để tìm trên Internet bằng cách dịch tên máy chủ máy tính thành địa chỉ IPNews800 tok2015package.json là gì?Khi bạn bắt đầu làm quen với việc xây dựng 1 trang web với Nodejs, 1 thứ mà bạn vẫn thường luôn thấy trong các source ở github đó là: `package.json`. Vậy nó là gì, tại sao chúng ta luôn cần phải có nó khi xây dựng 1 ứng dụng bằng NodejsJavascript2.4k tok2015Linux - Giao diện phẳng cho UbuntuGiao diện phẳng ngày nay tại đang là trào lưu rất mạnh mẽ và Ubuntu đã có dự định chuyển sang giao diện phẳng. Gần đây nhiều bạn có hỏi giao diện hiện mình đang dùng là gì. Bài viết này sẽ hướng dẫn các bạn thay đổi theme tạo giao diện phẳng đẹp mắt cho Ubuntu cũng như các Distros khác của Linux.Linux1.6k tok2015Linux - Đường dẫn tuyệt đối và đường dẫn tương đốiTrong linux, khi làm việc trên server hay đơn giản hơn là làm việc trên ternimal, ít nhiều bạn cũng phải rớ tới các file và thư mục, bay nhảy qua lại. Nhưng 1 điều bạn nhất định phải biết, đó là đường dẫn.Linux3.4k tok2015phpMyAdminphpMyAdmin là 1 chương trình mã nguồn mở miễn phí, viết bằng PHP, dùng để hỗ trợ các bạn làm việc với MySQL thông qua giao diện web mà không cần dùng tới những dòng lệnh MySQL phức tạp.Software Engineering400 tok2015Github là gì?Github, còn được gọi là social network dành cho developer đi vào hoạt động tháng 2 năm 2008, là một dịch vụ sử dụng hệ thống quản lý phân tán giúp người dùng lưu trữ source code cho các dự án. Git là một mô hình quản lý source phân tán, nó có mọi tính năng của một source control như SVN và hơn thế nữa.News1.0k tok2015Module hóaChúng ta thường có xu hướng muốn bắt tay ngay vào việc viết code. Tuy nhiên, niềm đam mê này đôi khi có thể khiến chúng ta gặp khó khăn về lâu dài khi ứng dụng phát triển và mở rộng. Khi đó, chúng ta có thể phải đối mặt với việc viết lại code hoặc gặp phải những vấn đề nghiêm trọng hơn.Software Engineering600 tok2015Linux - Một số lệnh hay dùngDùng Linux cũng đã lâu. Thấy nhiều bạn học HDH, nếu không nắm được một số câu lệnh cần thiết thì công việc quản trị của bạn sẽ gặp không ít khó khăn, mình ghi ra vài lệnh hay, hay dùng trên Linux để tiện tham khảo.Linux6.0k tok2015Git - Phục hồi code cũGit là một công cụ mạnh mẽ để quản lý dự án, được sử dụng phổ biến hiện nay. Dưới đây là một số trường hợp mà bạn có thể cần phục hồi mã nguồn do lỗi, hoặc các tình huống khác mà bạn thường gặpGit2.2k tok2015Using ExpressJS to Display Static HTML File ContentIn ExpressJs, there is a very simple way to send an HTML file to the browser using the method: res.sendFile(), which reads the content of the .html file and sends it to the browser, allowing us to quickly display the content of a page or some static page.Javascript2.8k tok
See all 301 posts