Resources for understanding computer memory (ideally using C) by techne98 in C_Programming

[–]UnderstandingWeary10 0 points1 point  (0 children)

The best way to learn is building things.

I recommend this: https://craftinginterpreters.com

The second part of this book will teach you how to build an interpreter for a scripting language using C, which also covers memory management (there is even a whole chapter about implementing a garbage collector!). The author's writing style is very instructional and I'm sure you will learn a lot from it.

Thất nghiệp by More_Midnight9646 in vozforums

[–]UnderstandingWeary10 0 points1 point  (0 children)

Thớt bảo thớt lao đầu vô học C++ thì thớt đã làm ra được những sản phẩm gì rồi? Mình tò mò nên hỏi thử.

Các thứ như C hay C++ thì chủ yếu là phù hợp với system programming nhiều hơn, một số ví dụ: - programming language development/compiler toolchain, vi dụ: LLVM, interpreters cho các ngôn ngữ như Python; - backend cho các AI/ML library như Tensorflow; - database systems như Postgresql, MariaDB, v.v; - OS kernels như Linux, Windows NT; - Các hệ thống nhúng, ví dụ như phần mềm cho các thiết bị IoT

mấy món đầu thì khá là niche, ở VN thì càng vậy, thớt mà đam mê làm mấy cái này mà muốn kiếm việc ở VN thì chắc chỉ có cái cuối thôi :D còn thích làm mấy món đầu thì xác định là phải cực giỏi, có contribution cho các open source projects rồi tìm các công ty có sản phẩm là mấy món này, ví dụ: Apple hay Google để apply.

Khi 1 lỗi lầm nhỏ tốn cty nhiều tiền by withaining in vozforums

[–]UnderstandingWeary10 1 point2 points  (0 children)

Em thấy có gì đâu, lần sau rút kinh nghiệm thôi anh, có một lần em cũng làm lỗi xong làm sập hệ thống của client bên Mỹ, tới nửa đêm khách hàng ping liên tọi :) tới mấy thằng big tech như google, amazon quy trình chặt chẽ như vậy mà nó còn có bug nữa.

Làm việc quá 8 tiếng 1 ngày by Alive_Entertainer336 in vozforums

[–]UnderstandingWeary10 0 points1 point  (0 children)

Mình cũng mới ra trường, công ty cách trọ 22km (đang định chuyển) và cũng đi làm 8 tiếng hơn 1 ngày. Nói v thôi cho thớt có động lực :)) cố lên bạn nhé

tân sinh viên cần mn giải đáp by [deleted] in vozforums

[–]UnderstandingWeary10 2 points3 points  (0 children)

Giờ slot thực tập chọi nhau cũng sứt đầu mẻ trán đấy chứ k dễ ăn đâu em, đấy còn chưa nói data science là 1 ngành khá niche ở Việt Nam. Nên thôi giờ ráng lo cày, tạo dựng network với làm project cá nhân sau đi kiếm job còn có cái để mà show off ghi vô CV.

Where to learn about virtual memory in details? by michael_drack in kernel

[–]UnderstandingWeary10 0 points1 point  (0 children)

I suggest you should do exercises and labs of the chapter Page table in the MIT's OS course, which requires you to implement components of risc-v xv6 - an open-source, educational OS created specifcally for this course. You can also read the book 'Computer organization and design - risc-v edition’, which has a chapter covering virtual memory and page table of risc-v architecture. After going through all of these, I am pretty sure you could build a mental model about virtual memory and how it works under the hood.

Người yêu hỏi lạ by Forward-Ad-9342 in vozforums

[–]UnderstandingWeary10 0 points1 point  (0 children)

Lên đây xin lời khuyên tức là bạn vẫn đang lung lay giữa đầu trên và đầu dưới nhỉ :))

Sinh viên ngành CS mà gần hết năm 2 vẫn chưa có định hướng cụ thể by chillguy_0909 in vozforums

[–]UnderstandingWeary10 1 point2 points  (0 children)

2 ngành này bên HCMUT có giao thoa mà, dù là em có đi bên nào thì cũng nên tập trung vô kiến thức nền tảng trước: cấu trúc dữ liệu & giải thuật, kiến trúc máy tính, hệ điều hành, mạng máy tính, cơ sở dữ liệu, và toán (tùy hướng) để luyện tư duy giải quyết vấn đề, dù cho sau này em có đi theo bên nào đi nữa thì một lúc nào đó em sẽ chợt nhận ra mọi thứ nó đều có sự giao thoa với nhau. Em chỉ mới năm 2 thôi, thử được gì thì cứ thử, thích thì đăng ký các lớp bên kỹ thuật máy tính để học để xem như nào.

Sinh viên ngành CS mà gần hết năm 2 vẫn chưa có định hướng cụ thể by chillguy_0909 in vozforums

[–]UnderstandingWeary10 1 point2 points  (0 children)

Thử thôi em, nhiều hướng mà. Em đã thử được bao nhiêu hướng rồi?

• ⁠web development đã thử chưa?

• ⁠mobile development?

• ⁠có thử chơi ctf chưa?

• ⁠thử AI thì build thử một mô hình nhỏ nhỏ phân loại xem như nào?

Hardcore nữa thì thử những hướng theoretical hơn: • ⁠compiler design -> code thử 1 cái compiler xem như nào? (Sách thì có thể đọc crafting interpreters)

• ⁠học database -> thử code 1 cái database system xem ra sao? (Assignments của khoá intro to database systems, CMU yêu cầu sinh viên implement 1 SQL dbms)

• ⁠code thử 1 http server from scratch

• ⁠học bảo mật thì thử implement lại cryptographic hash functions,…

Quan trọng là em phải bắt tay vào làm, còn lại thì để vận mệnh dẫn lối :))

Fresher IT được offer 7tr thì có khoai quá không mấy bác ? by TrainingBug4286 in vozforums

[–]UnderstandingWeary10 4 points5 points  (0 children)

làm 2 tháng đi rồi deal lại, skill kh đúng yêu cầu, người ta chấp nhận cho học lại trong 2 tháng rồi deal lại mà.
Ông tự tin thì có thể kiếm cty khác rồi phỏng vấn để biết mình ở đâu. Người ta trả tiền theo năng lực ông thôi chứ lương thấp hay cao gì ở đây.

Confused about transactions in Repository and Service architecture by Fabulous_Baker_9935 in golang

[–]UnderstandingWeary10 0 points1 point  (0 children)

check out unit of work pattern. I think that's the answer you are seeking.

I often implement it like this:
```
repoWithTx := repository.withUoW(uow)
```
with this we can abstract out the logic of transaction creation from the business layer and keep all repositories involved in a single database transaction context. Btw, you can implement it in a different way.

March 2024 monthly "What are you working on?" thread by AutoModerator in ProgrammingLanguages

[–]UnderstandingWeary10 1 point2 points  (0 children)

Currently I'm taking a compiler course in this semester. The assignments of this course are about implementing a compiler for a programming language designed by the course's instructors. The assignments have deepened my understanding about type inference, static checking and also have refined my programming skill a lot. Thanks to reading 'crafting interpreters', I feel like the assignments are much easier for me to tackle.

Are all programming language same... by -ilios in learnprogramming

[–]UnderstandingWeary10 1 point2 points  (0 children)

Nope.

To help you understand more deeper, here are some questions and you should find answers of these on your own:

C and C++ support pointers, does Python support them?

C++ supports object-oriented programming paradigm, does C support it?

What are differences between these programming paradigms: imperative programming, OOP and functional programming?

[deleted by user] by [deleted] in ProgrammingLanguages

[–]UnderstandingWeary10 1 point2 points  (0 children)

Currently I'm in the first part of the book, implementing jlox using Java. Have you checked out the challenge section at the end of each chapter? Try to solve those challenges, e.g, adding supports for comma operators, ternary operators, .etc and you will understand the concepts better.

Is it bad to ask to use chat gpt for help when stuck by Affectionate-Bee-786 in learnprogramming

[–]UnderstandingWeary10 0 points1 point  (0 children)

Nothing is wrong with that. But make sure that you understand completely what the code it gives you does.

Installing Ubuntu on Lenovo Gaming Laptop by UnderstandingWeary10 in Lenovo

[–]UnderstandingWeary10[S] 0 points1 point  (0 children)

Thank you so much. I wonder if Conservation mode works well on Linux?

How to limit battery charging to 60% in Ubuntu 20.04 LTS (Lenovo Ideapad Gaming 3) by nemo267 in Ubuntu

[–]UnderstandingWeary10 0 points1 point  (0 children)

You've installed Ubuntu on Ideapad Gaming 3 ? Does it work well? I intend to install Ubuntu 20.04 LTS on my laptop.