Chủ Nhật, 3 tháng 12, 2023

Suy nghĩ về đo lường trong quản trị

Cuối năm, tôi thường dành nhiều thời gian hơn để nghĩ về những gì đã học được, đã làm được và những gì chưa làm được trong quãng thời gian trước đây, cố gắng lắp ghép chúng lại thành 1 bức tranh lớn hơn để cố gắng thấy mình đã đang và sẽ ở đâu trong tương lai.

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

Hello mọi người, trong nhóm mình chắc cũng phần đa là các bạn đang trẻ tuổi, mới bắt đầu những năm đầu sự nghiệp làm một kỹ sư phần mềm, hay một lập trình viên.
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.
Một buổi sáng ở ngoài ban công phòng làm việc, hồi đó mình chỉ mới tầm 22 tuổi. Sếp mình hỏi mình "Mục tiêu nghề nghiệp của mày là gì?”, mình trả lời: "Mục tiêu ngắn hạn là trở thành 1 kỹ sư giỏi, mục tiêu dài hạn là trở thành 1 leader giỏi và trở thành 1 quản lý giỏi”, Sếp mình im lặng một lúc và nói: "Người quản lý giỏi chưa chắc đã phải là người code giỏi, người code giỏi chưa chắc đã trở thành 1 người quản lý giỏi”. Câu nói đó đã thôi thúc mình đi tìm bản thân và thôi thúc mình đi tìm những câu trả lời cho đến mãi sau này.


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ứ Năm, 28 tháng 2, 2019

Using git with multiple remote repositories

When one just isn’t good enough

Purpose

Recently I was honored to be added to the taffydb maintainer list. This means I now need to merge changes from multiple remote repositories. Usually this can be done using the GitHub web interface but sometimes this is not flexible enough. Luckily, it’s rather easy to set up your git working directory to have a different remote repository for different branches and then merge between them. This post shows how.

Thứ Năm, 21 tháng 2, 2019

Mưu cầu hạnh phúc

Dù đã khá lâu rồi, nhưng đến giờ tôi vẫn còn ấn tượng khi xem bộ phim "Mưu cầu hạnh phúc" của điện ảnh Mỹ, đoạn Chris Gardner nghĩ về Thomas Jefferson và tuyên ngôn độc độc lập. Ông có suy nghĩ về sự mưu cầu hạnh phúc, đại ý rằng: "Tôi luôn thắc mắc là tại sao ông ấy lại biết và thêm vào đó cụm từ mưu cầu. Có thể hạnh phúc là thứ chúng ta chỉ có thể theo đuổi hoặc đó là thứ chúng ta không thể có".


Thứ Năm, 30 tháng 8, 2018

Viết cho Olympic Việt Nam và những thành phần bất mãn với cuộc đời

Hôm nay dạo qua một số báo lớn và mạng xã hội, thấy không ít comment ý kiến chỉ trích, chê bai nhằm vào huấn luyện viên Park Hang-seo và đội tuyển Olympic Việt Nam, sau trận trận bán kết với Olympic Hàn Quốc.
Bản thân mình nghĩ rằng, những comment như vậy hầu hết là của mấy hạng người sau:

Thứ Năm, 15 tháng 3, 2018

MongoDB Best Practice

MongoDB có rất nhiều nhược điểm và không phải DB mạnh về Performance. Tuy nhiên nó lại là DB quá dễ dành để sử dụng, vận hành và phát triển nên được sử dụng rất rộng rãi. Sau gần 5 năm sử dụng mình có tổng kết được một số thứ cần chú ý khi làm việc với MongoDB.

MongoDB logs

Thứ Tư, 27 tháng 9, 2017

Gián điệp trên WLAN của bạn

Dưới đây là một repo chứa mã nguồn thực hiện các kịch bản gián điệp trên mạng WLAN

  • 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
Đọc tiếp readme trong repo này để thử hàng :v
Hàng đây:  Link Github

Mặt trời nào cũng cúi đầu hổ thẹn khi được chụp hình với mặt trời nhăn nhó

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.

Tình xa

Tình xa - Trịnh Công Sơn
Chúng ta xa nhau cả khoảng cách, xa nhau cả tâm hồn và xa nhau cả những điều tầm thường nhất của cuộc sống. Xa nhau cả tình yêu và cảm nhận về tình yêu. Có lẽ không phải em xa anh, mà là anh xa em, xa với phần còn lại trong tâm hồn của những người bình thường khác, xa với những điều gần gũi với em. Xa với tất cả, chỉ gần với nỗi cô độc thôi em!
Có lẽ vì thế mà "Từng người tình bỏ ta đi như những dòng sông nhỏ". Đúng rồi, những dòng sông nhỏ, sống để về với nơi mà nó thuộc về, chỉ còn những tảng đá rêu phong mãi ở lại với cội nguồn, với những nỗi cô đơn, những dòng sông nhỏ mãi trôi về phía cuối chân trời, phía cuối chân trời sát với biển khơi.
"Ngày tháng nào đã ra đi khi ta còn ngồi lại
Cuộc tình nào đã ra khơi ta còn mãi nơi đây"


Thứ Bảy, 26 tháng 3, 2016

Tuổi buồn


"Tuổi nào nhìn lá vàng úa chiều nay
Tuổi nào ngồi hát mây bay ngang trời..."
Ai rồi cũng đến một lúc cần phải lựa chon, lựa chọn giữa muôn nghìn những điều hỗn độn của cuộc đời để tìm cho mình niềm hạnh phúc thực sự. Nhưng những niềm hạnh phúc không phải là bất biến, không có gì là bất biến, hạnh phúc là sự cảm nhận nhất thời ở từng thời điểm trong cuộc đời. Bởi thế, hạnh phúc mới đáng quý, mới đáng là thứ mà con người ta mưu cầu suốt cả cuộc đời. Đôi khi nhìn lại những niềm đau khổ của quá khứ cũng là một hạnh phúc, hạnh phúc của hiện tại
"Tuổi nào ngồi khóc tình đã nghìn thu
Tuổi nào mơ kết mây trong sương mù "

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, 5 tháng 1, 2016

Q2

Này em! cô gái của tôi ơi
Mình đã đi chung bao lâu rồi
Nắng vàng vẫn còn vương trên gót
Môi hồng chẳng hết khát khao tôi
Này em! cô gái của tôi ơi
Mây vẫn là mây xanh chân trời
Hoàng hôn vẫn hoàng hôn màu tím
Chắc em vẫn còn thiết tha tôi
Này em! cô gái của tôi ơi
Tôi biết mưa xa phía chân trời
Tôi biết lối về mây giăng lối
Ở cuối con đường em đợi tôi?

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?
(Qbox)

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

(Tú Phập)

Thứ Tư, 19 tháng 8, 2015

Anh trai

Một con đường nhỏ, một lối vào cũng nhỏ, một hàng lưng dậu thẳng đều,và tuổi thơ dè dặt bên những khoảng trời rất nhỏ. Tôi đã khép mình để cố nhét hết những kỉ niệm đó vào trong những suy tưởng mông lung và xa xôi. Tháng 6 nắng quê tôi chói chang lắm, nắng phơi những vạt cỏ bạc phếch màu, nắng quắt quay trên những mỏm núi đá vôi trắng xóa, trên những đỉnh đèo mà anh tôi thường đi qua. Tôi chờ anh vác củi về, rồi chạy lẽo đẽo theo sau. Tôi nấp mình sau cái bóng to lớn, nghiêng nghiêng vì phải vác trên vai một khúc gỗ rất to, chờ anh gọi tên tôi(*) rồi nhoẻn cười, tôi cũng cười, anh xoa xoa hai bàn tay chai sần rồi chụp lấy cái đầu của tôi, kéo tôi vào trong khoảng sân im mát.
Anh là hiệp sĩ của riêng tôi trong những trận đòn của bố bởi những rắc rối mà tôi tự gây ra. Anh là hiệp sĩ của riêng tôi trước những cái tát của cuộc đời và những đớn đau mà tâm hồn tôi mang lại. Tôi vẫn khép mình để giữ cho riêng mình một người hùng như thế

(*) Anh vẫn thường gọi tôi là Hưng Lùn :D

Hà Nội, lòng xác xơ 190815

Q

Đêm có hờn dỗi anh không
Mà cô đơn đến mênh mông cõi lòng...

Nghe: Chỉ còn lại tình yêu (Sỹ Hưng)

Hà nội, ngày tháng năm