Là nơi ghi lại những vấn đề về công nghệ, kĩ thuật, kinh nghiệm của bản thân trong quá trình làm việc, hay đơn giản chỉ là những cảm xúc đời thường. Mỗi tuần vài dòng để giữ lại những niềm đam mê...
Chủ Nhật, 3 tháng 12, 2023
Suy nghĩ về đo lường trong quản trị
Ngoài việc tôi đã đạt được một số bài học về kỹ thuật hay kinh doanh, nhưng giữa những con số và dữ liệu, tôi nhận ra một khoảng trống đáng chú ý trong bức tranh của mình - đó là kỹ năng quản trị. Điều này không chỉ là một khía cạnh quan trọng mà còn là chìa khóa mở cánh cửa cho sự phát triển và ổn định trong vai trò quản lý.
Quản trị, theo tôi, không chỉ đơn thuần là việc sắp xếp và phân phối nguồn lực, mà còn ẩn chứa một bí mật quan trọng: sức mạnh thúc đẩy. Chính sức mạnh này là nguyên lý đẩy đưa mọi thứ về hướng mục tiêu cuối cùng, nhưng làm thế nào để khám phá và kích thích sức mạnh đó là một thách thức.
Thứ Tư, 1 tháng 11, 2023
Một khoảnh khắc nhìn lại về việc chọn lựa cơ sở dữ liệu
Hôm nay, tôi đã đọc một bài viết thú vị về việc thiết kế và triển khai một ứng dụng sử dụng Redis như cơ sở dữ liệu duy nhất. Bài viết được chia sẻ lại bởi một người anh em thân thiết của mình, và nó đã gợi lên nhiều suy nghĩ trong tôi. - Các bạn có thể đọc bài viết đó ở đây Dù tôi cảm thấy khá hứng thú, nhưng với nhiều năm kinh nghiệm làm kỹ sư và kiến trúc sư phần mềm, tôi không thể không tự đặt ra câu hỏi: liệu đó có phải là lựa chọn tốt và tôi có bỏ sót điều gì không?
Thứ Ba, 8 tháng 3, 2022
Phụ nữ có nên làm lập trình viên?
Lập trình viên lâu nay vẫn được mọi người áp đặt với hình ảnh 1 cậu trai trẻ, trông thư sinh với 1 cặp kính cận ngồi trước màn hình máy tính, hình ảnh đó phổ biến đến mức, ngay lúc này, mọi người có thể lên google image search với từ khóa developer thì ngay lập tức có hàng triệu cái hình minh họa, và 99% trong số đó là hình tượng của nam giới. Có thể đó chỉ là 1 hình tượng quen thuộc mà ngay chính mấy gã designer khi lên ý tuởng thiết kế đều mặc định trong vô thức như vậy. Vậy thì tại sao lại có điều đó, chẳng lẽ, phụ nữ lại không làm được lập trình viên?
Thứ Năm, 3 tháng 3, 2022
Hướng nghiệp
Vậy đã bao giờ mọi người đặt câu hỏi: "Mình sẽ code đến bao giờ?” chưa?
Mình đã từng hỏi rất nhiều lần, và ở lại với nó rất lâu cho đến khi mình tìm được câu trả lời.
Nhưng tạm thời, mình sẽ không nói ra câu trả lời của mình cho câu hỏi đó, mà mình sẽ chia sẻ một vài điều mà trong quá trình đi tìm chính bản thân mình, mình đã đọc được, đã trải nghiệm và ngộ ra.
Thứ Ba, 1 tháng 3, 2022
Giới thiệu Graph Database và Neo4j
Hôm nay mình muôn chia sẻ 1 chút về Graph Database: khái niệm về nó, một số ví dụ và giới thiệu về Neo4j - một Graph Database khá nổi tiếng.
Mọi người thường nghe họăc thường làm việc với khá nhiều loại cơ sở dữ liệu khác nhau, phổ biến nhất có lẽ là dạng cơ sử dữ liệu quan hệ (RDBMS) như là SQL Server, MySQL, Oracle, hay cơ sở dữ liệu phi quan hệ (NoSQL) như Redis (Dạng Key-Value), MongoDB (Dạng Document-Oriented), Casandra (Dạng Column-based), ...
Tuy nhiên trong NoSQL, còn có một dạng nữa mà mình thấy nó tương đối khác biệt mà mình đang muốn đề cập đến, chính là Cơ sở dữ liệu kiểu đồ thị (Graph Based).
Thứ Bảy, 2 tháng 11, 2019
Thứ Năm, 28 tháng 2, 2019
Using git with multiple remote repositories
Purpose
git working directory to have a different remote repository for different branches and then merge between them. This post shows how.Thứ Năm, 15 tháng 3, 2018
MongoDB Best Practice
Thứ Tư, 27 tháng 9, 2017
Gián điệp trên WLAN của bạn
- Tự động tìm những người dùng WLAN hoạt động mạnh nhất rồi theo dõi một trong số họ và / hoặc inject HTML / JS tùy ý vào các trang họ truy cập.
- Also can be used to continuously jam nearby WiFi networks
Thứ Ba, 10 tháng 1, 2017
Git và các khái niệm cơ bản
Git - Git là gì và các khái niệm cơ bản trong git
Bạ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.Và để giải quyết những vấn đề này thì các hệ thống quản lý phiên bản như Git đã được ra đời.
Thứ Năm, 7 tháng 1, 2016
Sử dụng Redis để dựng một Nosql Autocomplete Search Index
Autocomplete search?
Với mỗi một chức năng tìm kiếm, việc tự động gợi ý các từ khóa ngay khi người dùng gõ vào ô tìm kiếm có hai mục đích chính:- Giúp người dùng lựa chọn được từ khóa tìm kiếm thích hợp một cách nhanh chóng, tăng trải nghiệm người dùng
- Một phần nào đó giúp cho từ khóa được chuẩn hóa từ đó góp phần tối ưu được kết quả tìm kiếm cho người dùng
Thứ Ba, 29 tháng 12, 2015
ELK Stack
What is the ELK Stack?
The ELK stack consists of Elasticsearch, Logstash, and Kibana. Although they've all been built to work exceptionally well together, each one is a separate project that is driven by the open-source vendor Elastic—which itself began as an enterprise search platform vendor. It has now become a full-service analytics software company, mainly because of the success of the ELK stack. Wide adoption of Elasticsearch for analytics has been the main driver of its popularity.Data constantly flows into your systems, but it can quickly grow to be fat and stale. As your data set grows larger, your analytics will slow up, resulting in sluggish insights. And this is likely to be a serious business problem. So, the BIG question for your big data is: how can you maintain valuable business insights?
Not long ago, an epiphany ran through the industry: analytics is, in essence, a search problem that needs coupling with good visualizations. So, there was a marriage: Lucene with all its search goodness was brought together with the distributed-computing goodness that is Elasticsearch. Logstash came onto the scene to normalize all kinds of time-series data. Pop in Kibana's ultra-simple visualization tool, and you have a complete analytics tool that can rival very expensive and scalable solutions from Oracle, Palantir, Tableau, Splunk, Microsoft, and others. You, too, can play with the big boys for a lot less $$.
Let's ask the question a bit differently. How can you maintain blazing-fast analytics as you data grows larger and larger? Answer: the ELK stack makes it way easier -- and way faster -- to search and analyze large data sets.
We should mention that ELK is quite versatile. Use the stack as a stand-alone application, or integrate with your existing applications to get the most current data. With Elasticsearch, you get all the features to make real-time decisions-all the time. You can use each of these tools separately, or with other products. For example, Kibana often goes together with Solr/Lucene. Although none of these is a project of the Apache Foundation, each part of the stack falls under the Apache 2 License. Elasticsearch owns both the intellectual property and the trademarks.
Elasticsearch — The Amazing Log Search Tool
Elasticsearch is a juggernaut solution for your data extraction problems. A single developer can use it to find the high-value needles underneath all of your data haystacks, so you can put your team of data scientists to work on another project. Consider these benefits:- Real-time data and real-time analytics. The ELK stack gives you the power of real-time data insights, with the ability to perform super-fast data extractions from virtually all structured or unstructured data sources. Real-time extraction, and real-time analytics. Elasticsearch is the engine that gives you both the power and the speed.
- Scalable, high-availability, multi-tenant. With Elasticsearch, you can start small and expand it along with your business growth-when you are ready. It is built to scale horizontally out of the box. As you need more capacity, simply add another node and let the cluster reorganize itself to accommodate and exploit the extra hardware. Elasticsearch clusters are resilient, since they automatically detect and remove node failures. You can set up multiple indices and query each of them independently or in combination.
- Full text search. Under the cover, Elasticsearch uses Lucene to provide the most powerful full-text search capabilities available in any open-source product. The search features come with multi-language support, an extensive query language, geolocation support, and context-sensitive suggestions, and autocompletion.
- Document orientation. You can store complex, real-world entities in Elasticsearch as structured JSON documents. All fields have a default index, and you can use all the indices in a single query to get precise results in the blink of an eye.
Logstash — Routing Your Log Data
Logstash is a tool for log data intake, processing, and output. This includes virtually any type of log that you manage: system logs, webserver logs, error logs, and app logs. As administrators, we know how much time can be spent normalizing data from disparate data sources. We know, for example, how widely Apache logs differ from NGINX logs.Rather than normalizing with time-sucking ETL (Extract, Transform, and Load), we recommend that you switch over to the fast track. Instead, you could spend much less time training Logstash to normalize the data, getting Elasticsearch to process the data, and then visualize it with Kibana. With Logstash, it's super easy to take all those logs and store them in a central location. The only prerequisite is a Java runtime, and it takes just two commands to get Logstash up and running.
Using Elasticsearch as a backend datastore and Kibana as a frontend dashboard (see below), Logstash will serve as the workhorse for storage, querying and analysis of your logs. Since it has an arsenal of ready-made inputs, filters, codecs, and outputs, you can grab hold of a very powerful feature-set with a very little effort on your part.
Think of Logstash as a pipeline for event processing: it takes precious little time to choose the inputs, configure the filters, and extract the relevant, high-valuedata from your logs. Take a few more steps, make it available to Elasticsearch and—BAM!—you get super-fast queries against your mountains of data.
Kibana — Visualizing Your Log Data
Kibana is your log-data dashboard. Get a better grip on your large data stores with point-and-click pie charts, bar graphs, trendlines, maps and scatter plots. You can visualize trends and patterns for data that would otherwise be extremely tedious to read and interpret. Eventually, each business line can make practical use of your data collection as you help them customize their dashboards. Save it, share it, and link your data visualizations for quick and smart communication.How Can I Use the ELK Stack to Manage my Log Data?
Your critical business questions have answers in logs of your applications and systems, but most potential users of the data in those logs assume that the accessibility barrier is too high. But the answers are in there -- answers to questions such as:- How many account signups this week?
- What is the effectiveness of our ad campaign?
- What is the best time to perform system maintenance?
- Why is my database performance slow?
Three way to use Logstash with Hadoop Hdfs
Logstash is a great tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use (like, for searching). It is fully free and fully open source. The license is Apache 2.0, meaning you are pretty much free to use it however you want in whatever way.
But for now, Logstash doesn't support output log to Hadoop Hdfs, it's a really big missing fearture, so you if you are Logstash's fan, you have 3 way to put your log to Hadoop Hdfs from Logstash
- Hadoop HttpFS (or WebHDFS)
- Solution
- Forward you log message to Hadoop HttpFs with Logstash output (http, exec, ...)
- Document
- http://hadoop.apache.org/docs/r2.3.0/hadoop-hdfs-httpfs/index.html
- http://hadoop.apache.org/docs/r1.0.4/webhdfs.html (With old Hadoop version)
- Hadoop NFS (Network file system)
- Solution
- Store you log in a directory that mounted to Hadoop Hdfs, ues with Logstash output file
- Document
- Third party tools
- Solution
- Forward you log message to other tools that supported to streaming log to Hadoop Hdfs, use with Logstash output (tcp, http, exec, ..)
- Document





