<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Tân]]></title><description><![CDATA[Learn, Share and Grow ❤️]]></description><link>https://tancodes.com</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1679326316977/pwiIdJkjK.png</url><title>Tân</title><link>https://tancodes.com</link></image><generator>RSS for Node</generator><lastBuildDate>Tue, 21 Apr 2026 08:47:23 GMT</lastBuildDate><atom:link href="https://tancodes.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Unlocking the Power of Linux: Essential Command Line Skills from Linux Basics for Hackers]]></title><description><![CDATA[Chapter 2 of Linux Basics for Hackers dives deeper into the command line, a powerful tool for interacting with the Linux operating system. This chapter aims to familiarize readers with essential command-line operations and build their confidence in u...]]></description><link>https://tancodes.com/unlocking-the-power-of-linux-essential-command-line-skills-from-linux-basics-for-hackers</link><guid isPermaLink="true">https://tancodes.com/unlocking-the-power-of-linux-essential-command-line-skills-from-linux-basics-for-hackers</guid><category><![CDATA[Linux]]></category><category><![CDATA[linux for beginners]]></category><category><![CDATA[linux-basics]]></category><dc:creator><![CDATA[Tan Hoang]]></dc:creator><pubDate>Mon, 02 Sep 2024 14:12:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1725285339255/93c593b0-af42-427b-87ed-1e03aac7f350.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Chapter 2 of <em>Linux Basics for Hackers</em> dives deeper into the command line, a powerful tool for interacting with the Linux operating system. This chapter aims to familiarize readers with essential command-line operations and build their confidence in using the terminal.<br />Key Points:</p>
<ol>
<li><p><strong>Understanding the Command Line Interface (CLI)</strong>:</p>
<ul>
<li><p>The chapter starts by explaining the significance of the command line in Linux, emphasizing how it allows users to perform tasks more efficiently than through a graphical interface.</p>
</li>
<li><p>It discusses the command-line shell, specifically focusing on Bash (Bourne Again Shell), which is the most common shell in Linux.</p>
</li>
</ul>
</li>
<li><p><strong>Basic Command Syntax</strong>:</p>
<ul>
<li><p>The structure of a command in Linux is explained, breaking it down into the command itself, options (or flags), and arguments.</p>
</li>
<li><p>Examples of simple commands are provided to illustrate this syntax, such as <code>echo</code>, <code>date</code>, and <code>uname</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Navigating the Filesystem</strong>:</p>
<ul>
<li><p>The chapter teaches readers how to move around the Linux filesystem using the command line. It covers commands like <code>pwd</code> (print working directory), <code>cd</code> (change directory), and <code>ls</code> (list directory contents).</p>
</li>
<li><p>It also introduces the concept of absolute and relative paths, helping users understand how to navigate between different directories.</p>
</li>
</ul>
</li>
<li><p><strong>File and Directory Operations</strong>:</p>
<ul>
<li><p>Readers learn how to create, delete, and manage files and directories. Commands covered include <code>touch</code> (create a file), <code>mkdir</code> (create a directory), <code>rm</code> (remove files or directories), and <code>mv</code> (move or rename files).</p>
</li>
<li><p>The chapter also discusses how to view the contents of files using commands like <code>cat</code>, <code>more</code>, and <code>less</code>.</p>
</li>
</ul>
</li>
<li><p><strong>Permissions and Ownership</strong>:</p>
<ul>
<li><p>The chapter introduces the concepts of file permissions and ownership in Linux, explaining how these are crucial for system security.</p>
</li>
<li><p>It covers the <code>chmod</code> command to change file permissions and the <code>chown</code> command to change file ownership.</p>
</li>
</ul>
</li>
<li><p><strong>Using Wildcards and Pipes</strong>:</p>
<ul>
<li><p>Wildcards, like <code>*</code> and <code>?</code>, are explained as tools for simplifying file operations.</p>
</li>
<li><p>The chapter introduces pipes (<code>|</code>), which allows users to pass the output of one command as input to another, enabling more complex command chains.</p>
</li>
</ul>
</li>
<li><p><strong>Getting Help with Commands</strong>:</p>
<ul>
<li>The chapter emphasizes the importance of understanding how to use commands by accessing their manuals. It introduces the <code>man</code> command (manual) and the <code>--help</code> option for getting quick command syntax references.</li>
</ul>
</li>
<li><p><strong>Practice and Application</strong>:</p>
<ul>
<li>Throughout the chapter, there are examples and exercises to help readers practice the commands and concepts introduced. This practical approach is designed to build proficiency and confidence in using the command line.</li>
</ul>
</li>
</ol>
<h3 id="heading-conclusion">Conclusion:</h3>
<p>Chapter 2 is foundational for anyone looking to master Linux, especially in the context of ethical hacking. It emphasizes the importance of the command line as a tool for controlling and interacting with the operating system. By the end of the chapter, readers should feel more comfortable using basic Linux commands and navigating the filesystem.</p>
]]></content:encoded></item><item><title><![CDATA[Linux Basics for Hackers: Key Takeaways from Chapter 1]]></title><description><![CDATA[Chapter 1: "Getting Started"
Chapter 1 of "Linux Basics for Hackers" introduces readers to the fundamental concepts of Linux, emphasizing its significance in cybersecurity and ethical hacking. The chapter begins by explaining why Linux is a preferred...]]></description><link>https://tancodes.com/linux-basics-for-hackers-key-takeaways-from-chapter-1</link><guid isPermaLink="true">https://tancodes.com/linux-basics-for-hackers-key-takeaways-from-chapter-1</guid><category><![CDATA[Linux]]></category><category><![CDATA[linux for beginners]]></category><dc:creator><![CDATA[Tan Hoang]]></dc:creator><pubDate>Sat, 24 Aug 2024 16:14:10 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1724515140973/01594c7d-c1f5-46ec-9c0f-dad032000bf7.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fg96tp6vyctjtn52qikx9.png" alt /></p>
<h2 id="heading-chapter-1-getting-started">Chapter 1: "Getting Started"</h2>
<p>Chapter 1 of "Linux Basics for Hackers" introduces readers to the fundamental concepts of Linux, emphasizing its significance in cybersecurity and ethical hacking. The chapter begins by explaining why Linux is a preferred platform for hackers due to its open-source nature, flexibility, and the extensive array of tools available for penetration testing.</p>
<p><strong>Key Points:</strong></p>
<ol>
<li><p>Introduction to Linux:</p>
<ul>
<li><p>Linux is presented as an open-source operating system that is highly customizable, secure, and widely used in both personal and professional environments.</p>
</li>
<li><p>The chapter discusses the different distributions (distros) of Linux, focusing on Kali Linux, which is tailored for security professionals.</p>
</li>
</ul>
</li>
<li><p>Why Linux for Hackers:</p>
<ul>
<li><p>The text highlights the importance of using Linux in hacking due to its command-line interface (CLI), which provides more control and precision than graphical interfaces.</p>
</li>
<li><p>Linux's native support for programming and scripting languages (like Python, Bash, and Perl) is emphasized as a crucial tool for hackers.</p>
</li>
</ul>
</li>
<li><p>Getting Started with Linux:</p>
<ul>
<li><p>The chapter guides readers on how to set up their first Linux environment, recommending virtual machines as a safe way to experiment.</p>
</li>
<li><p>Instructions are provided for downloading and installing Kali Linux using virtualization software like VirtualBox or VMware.</p>
</li>
</ul>
</li>
<li><p>Basic Command-Line Skills:</p>
<ul>
<li><p>The chapter introduces essential Linux commands that every beginner should know. Commands like <code>ls</code>, <code>cd</code>, <code>mkdir</code>, and <code>cp</code> are explained, allowing the reader to navigate the file system and manage files.</p>
</li>
<li><p>The concept of superuser (root) privileges is introduced, with a discussion on the importance of understanding and using the <code>sudo</code> command responsibly.</p>
</li>
</ul>
</li>
<li><p>Security and Precautions:</p>
<ul>
<li>The chapter closes by stressing the importance of practicing ethical hacking. It encourages readers to use their skills responsibly and within legal boundaries.</li>
</ul>
</li>
</ol>
<p>Overall, Chapter 1 lays the groundwork for readers who are new to Linux, providing them with the knowledge needed to start using Linux effectively for cybersecurity tasks. It emphasizes the significance of learning the command line and setting up a secure and controlled environment for hacking practices.</p>
]]></content:encoded></item><item><title><![CDATA[5 điều mà lập trình viên mới ra trường cần lưu ý]]></title><description><![CDATA[Nắm vững kiến thức cơ bản

Kiến thức cơ bản là nền tảng vững chắc để lập trình viên có thể phát triển các kỹ năng chuyên môn và giải quyết các vấn đề thực tế. Chúng ta cần nắm vững các kiến thức về ngôn ngữ lập trình, cấu trúc dữ liệu, thuật toán,......]]></description><link>https://tancodes.com/5-dieu-ma-lap-trinh-vien-moi-ra-truong-can-luu-y</link><guid isPermaLink="true">https://tancodes.com/5-dieu-ma-lap-trinh-vien-moi-ra-truong-can-luu-y</guid><category><![CDATA[vietnamese]]></category><category><![CDATA[Vietnam]]></category><category><![CDATA[Beginner Developers]]></category><category><![CDATA[sinhvien]]></category><category><![CDATA[#newbieintech]]></category><dc:creator><![CDATA[Tan Hoang]]></dc:creator><pubDate>Sun, 08 Oct 2023 12:56:34 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/mZnx9429i94/upload/722e699af3969383f73a6767b76f6dc8.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<ol>
<li><strong>Nắm vững kiến thức cơ bản</strong></li>
</ol>
<p>Kiến thức cơ bản là nền tảng vững chắc để lập trình viên có thể phát triển các kỹ năng chuyên môn và giải quyết các vấn đề thực tế. Chúng ta cần nắm vững các kiến thức về ngôn ngữ lập trình, cấu trúc dữ liệu, thuật toán,... Ngoài ra, lập trình viên cũng cần có kiến thức về các hệ điều hành, mạng máy tính,...</p>
<ol>
<li><strong>Thực hành thường xuyên</strong></li>
</ol>
<p>Thực hành là cách tốt nhất để lập trình viên có thể nâng cao kỹ năng và kinh nghiệm. Lập trình viên mới ra trường nên dành thời gian để thực hành thường xuyên, tham gia các dự án cộng đồng,... Điều này sẽ giúp lập trình viên có thể áp dụng kiến thức đã học vào thực tế và phát triển các kỹ năng cần thiết như tư duy logic, giải quyết vấn đề,...</p>
<ol>
<li><strong>Không ngừng học hỏi</strong></li>
</ol>
<p>Công nghệ luôn thay đổi và phát triển, vì vậy lập trình viên cần không ngừng học hỏi để có thể bắt kịp xu hướng. Lập trình viên mới ra trường nên tham gia các khóa học, hội thảo,... để cập nhật kiến thức mới. Ngoài ra, lập trình viên cũng nên đọc sách, tài liệu,... để mở rộng kiến thức và kỹ năng.</p>
<ol>
<li><strong>Phát triển kỹ năng mềm</strong></li>
</ol>
<p>Ngoài kỹ năng lập trình, lập trình viên cũng cần có các kỹ năng mềm như giao tiếp, làm việc nhóm,... Các kỹ năng mềm này sẽ giúp lập trình viên có thể làm việc hiệu quả và hòa nhập tốt với môi trường làm việc.</p>
<ol>
<li><strong>Luôn sẵn sàng đón nhận thử thách</strong></li>
</ol>
<p>Công việc của lập trình viên thường xuyên phải đối mặt với những thử thách mới. Lập trình viên mới ra trường cần có tâm lý sẵn sàng đón nhận thử thách để có thể phát triển bản thân và đạt được thành công trong nghề.</p>
<h1 id="heading-duoi-day-la-mot-so-loi-khuyen-cu-the-danh-cho-lap-trinh-vien-moi-ra-truong">Dưới đây là một số lời khuyên cụ thể dành cho lập trình viên mới ra trường:</h1>
<ul>
<li><strong>Hãy tự tin vào bản thân</strong></li>
</ul>
<p>Khi mới ra trường chúng ta thường có tâm lý tự ti, lo lắng. Tuy nhiên, bạn cần nhớ rằng bạn đã được đào tạo bài bản và có kiến thức nền tảng vững chắc. Hãy tự tin vào bản thân và thể hiện khả năng của mình.</p>
<ul>
<li><strong>Tìm kiếm cơ hội thực tập</strong></li>
</ul>
<p>Thực tập là một cách tốt để lập trình viên mới ra trường có thể tích lũy kinh nghiệm và tìm kiếm cơ hội việc làm. Bạn có thể tìm kiếm cơ hội thực tập tại các công ty công nghệ, các dự án cộng đồng,...</p>
<ul>
<li><strong>Tham gia các cộng đồng lập trình</strong></li>
</ul>
<p>Các cộng đồng lập trình là nơi bạn có thể học hỏi, chia sẻ kiến thức và kinh nghiệm với các lập trình viên khác. Bạn có thể tham gia các diễn đàn, nhóm Facebook,... của các cộng đồng lập trình.</p>
<ul>
<li><strong>Không ngại hỏi và học hỏi từ đồng nghiệp</strong></li>
</ul>
<p>Khi mới ra trường, bạn sẽ không thể biết hết mọi thứ. Hãy mạnh dạn hỏi và học hỏi từ đồng nghiệp. Họ sẽ sẵn lòng giúp đỡ bạn và chia sẻ kinh nghiệm với bạn.</p>
<p>Với những lưu ý trên, lập trình viên mới ra trường sẽ có thể nhanh chóng hòa nhập và phát triển trong môi trường làm việc.</p>
]]></content:encoded></item><item><title><![CDATA[2 Lý do vì sao một lập trình viên nên có trang web cá nhân]]></title><description><![CDATA[Là lập trình viên (bất kể cả senior hay dev quèn), ngoài việc có 1 trang Linkedin thì việc có một trang web cá nhân cũng có thể là một công cụ rất giá trị để tiếp cận những nhà tuyển dụng tiềm năng. Hoặc đơn thuần chỉ là để rút ngắn thời gian tìm hiể...]]></description><link>https://tancodes.com/2-ly-do-vi-sao-mot-lap-trinh-vien-nen-co-trang-web-ca-nhan</link><guid isPermaLink="true">https://tancodes.com/2-ly-do-vi-sao-mot-lap-trinh-vien-nen-co-trang-web-ca-nhan</guid><category><![CDATA[vietnamese]]></category><category><![CDATA[personalbrand]]></category><category><![CDATA[webdev]]></category><dc:creator><![CDATA[Tan Hoang]]></dc:creator><pubDate>Sun, 19 Mar 2023 11:13:43 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/2iS6Ro5fbe4/upload/fe8e223a53f4f017e6182472fe6a0fde.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Là lập trình viên (bất kể cả senior hay dev quèn), ngoài việc có 1 trang <a target="_blank" href="https://www.linkedin.com/">Linkedin</a> thì việc có một trang web cá nhân cũng có thể là một công cụ rất giá trị để tiếp cận những nhà tuyển dụng tiềm năng. Hoặc đơn thuần chỉ là để rút ngắn thời gian tìm hiểu nhau thông qua những chia sẻ trong công việc, kỹ năng và kinh nghiệm của bản thân trên trang web cá nhân.</p>
<p>Hãy cùng Tân khám phá tầm quan trọng mà bạn cần tạo 1 trang web cá nhân nhé.</p>
<h2 id="heading-giup-nha-tuyen-dung-tim-den-ban-de-dang-hon">Giúp nhà tuyển dụng tìm đến bạn dễ dàng hơn</h2>
<p>Đúng là hiện nay các TA hoặc HR đều dùng <a target="_blank" href="https://www.linkedin.com/">Linkedin</a> để tìm đến các lập trình viên, nhưng theo mình được biết họ cũng sử dụng <a target="_blank" href="https://www.google.com/">Google</a> để tìm kiếm những ứng viên giỏi. Điều này có nghĩa là họ có thể tình cờ gặp bạn và trang web cá nhân của bạn.</p>
<p>Còn một điều nữa là khi bạn nộp CV tới cho nhà tuyển dụng và kèm theo 1 trang web có domain riêng của bạn sẽ giúp bạn nổi bật hơn, tăng tính chuyên nghiệp và tạo ấn tượng ban đầu tốt hơn.</p>
<p>Và hiển nhiên điều này sẽ giúp cho bạn có được một cuộc phỏng vấn với công ty mà bạn đang nhắm đến. Vậy là thành công bước đầu rồi!</p>
<h2 id="heading-xay-dung-thuong-hieu-ca-nhan">Xây dựng thương hiệu cá nhân</h2>
<p>Ngoài việc “khoe” kinh nghiệm cũng như kiến thức trong ngành, viết blog có thể giúp các bạn xây dựng được thương hiệu cá nhân của bạn và tạo được một sự ảnh hưởng nhất định, điều này có thể giúp bạn nổi bật trong thị trường việc làm đầy cạnh tranh và mang tới nhiều cơ hội mà khi “sống ẩn dật” bạn không có được.</p>
<p>Bên cạnh đó, những kỹ năng ngoài kỹ thuật như quản lý thời gian, giao tiếp và quản lý dự án cũng là những yếu tố quan trọng không kém trong công việc lập trình. Khi bạn chia sẻ về những kỹ năng này, bạn có thể giúp độc giả hiểu rõ hơn về quá trình làm việc của một lập trình viên “xịn sò”.</p>
<h2 id="heading-vi-du-ve-blog-cua-lap-trinh-vien-thanh-cong">Ví dụ về blog của lập trình viên thành công</h2>
<p><a target="_blank" href="https://toidicodedao.com/">toidicodedao</a> của anh Phạm Huy Hoàng là 1 ví dụ  của một dev viết lách rất thành công trong ngành, anh viết về Nội dung blog một nửa là về kỹ thuật lập trình, một nửa còn lại là những kinh nghiệm tôi học được: Cách deal lương, sắp xếp thời gian, kỹ năng mềm, ngôn ngữ lập trình nên học, con đường phát triển nghề nghiệp… Đó là những điều quan trọng ko thua gì kỹ năng lập trình.</p>
<h2 id="heading-tum-lai-la">Túm lại là...</h2>
<p>Việc chia sẻ suy nghĩ và hiểu biết về lĩnh vực kỹ thuật trên web cá nhân không chỉ giúp bạn khẳng định mình là một chuyên gia trong lĩnh vực lập trình, mà còn giúp bạn phát triển những kỹ năng quan trọng như viết lách, xử lý thông tin và quản lý thời gian.</p>
<p>Nó cũng giúp bạn chứng tỏ rằng bạn có những kỹ năng ngoài kỹ thuật cần thiết để làm việc hiệu quả trong ngành công nghiệp lập trình.</p>
]]></content:encoded></item><item><title><![CDATA[Những repos xịn xò cho anh em lập trình viên]]></title><description><![CDATA[Nếu bạn muốn tìm hiểu thêm về các mẫu laptop cho sinh viên học lập trình thì vào đây
1- Node.js Best Practices
link: https://github.com/goldbergyoni/nodebestpractices
Những thứ học được ở repos:

Cấu trúc dự án của bạn tốt hơn
Xử lý lỗi (Error Handli...]]></description><link>https://tancodes.com/nhung-repos-xin-xo-cho-anh-em-lap-trinh-vien</link><guid isPermaLink="true">https://tancodes.com/nhung-repos-xin-xo-cho-anh-em-lap-trinh-vien</guid><category><![CDATA[GitHub]]></category><category><![CDATA[IT]]></category><category><![CDATA[coder]]></category><category><![CDATA[vietnamese]]></category><category><![CDATA[Vietnam]]></category><dc:creator><![CDATA[Tan Hoang]]></dc:creator><pubDate>Sat, 03 Sep 2022 09:25:37 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/unsplash/842ofHC6MaI/upload/v1662196923865/pIh7m9Y7Q7.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Nếu bạn muốn tìm hiểu thêm về các mẫu laptop cho sinh viên học lập trình thì vào <a target="_blank" href="https://tanhoang.notion.site/Nh-ng-m-u-laptop-cho-sinh-vi-n-h-c-l-p-tr-nh-f82096f2ed4947b0860ba49fd41281a9">đây</a></p>
<h1 id="heading-1-nodejs-best-practices">1- <strong><strong>Node.js Best Practices</strong></strong></h1>
<p>link: https://github.com/goldbergyoni/nodebestpractices</p>
<h3 id="heading-nhung-thu-hoc-duoc-o-repos">Những thứ học được ở repos:</h3>
<ul>
<li>Cấu trúc dự án của bạn tốt hơn</li>
<li>Xử lý lỗi (Error Handling Practices)</li>
<li>Hình thành được code style(Code Style Practices)</li>
<li>Và nhiều hơn nữa.</li>
</ul>
<h1 id="heading-2-you-dont-know-js-yet">2- You Don’t Know JS Yet</h1>
<p>link: https://github.com/getify/You-Dont-Know-JS</p>
<h3 id="heading-nhung-thu-hoc-duoc-o-repos-1">Những thứ học được ở repos:</h3>
<ul>
<li>Đây là một seri sách đi sâu vào các cơ chế cốt lõi của ngôn ngữ JavaScript</li>
<li>Tất cả các cuốn sách đều hoàn toàn miễn phí và bạn có thể đọc online trên repo</li>
<li>Các có thể tham khảo readme của dự án để biết nên bắt đầu từ đâu</li>
</ul>
<h1 id="heading-3-front-end-checklist">3- <strong><strong>Front-End-Checklist</strong></strong></h1>
<p>link: https://github.com/thedaviddias/Front-End-Checklist </p>
<h3 id="heading-nhung-thu-hoc-duoc-o-repos-2">Những thứ học được ở repos:</h3>
<ul>
<li>Đây là một repo dựa trên Front End Web Development và tập trung nhiều hơn vào hiệu suất (performance), bảo mật (security), SEO, v.v.</li>
<li>Tất cả các mục trong <strong><strong>Front-End-Checklist</strong></strong> là bắt buộc đối với phần lớn các project thực tế</li>
</ul>
]]></content:encoded></item></channel></rss>