01/10/2018, 14:32
Đọc sách gì để tiếp cận level Expert, Master Java
Chào các bạn,
Mình ko mong đạt tới level expert hay master trong một sớm một chiều… và cũng còn ti tỉ thứ phải làm với java core, advanced. Nhưng các bạn biết đấy!..Con ếch có lẽ sẽ nhận thấy và hiểu rõ cái đáy giếng của mình hơn khi nhìn thấy trời xanh.
Các bạn có thể chỉ giúp mình một số tài liệu, nguồn được không?
Bài liên quan
mình thì khuyên bạn dành nhiều thời gian làm việc để trở thành expert hơn là đọc
Đầu năm nay mình đặt ra mục tiêu là học chỉnh chu Design Pattern
Đi từng bước nhỏ để expert Java
Mình đồng ý với bạn rằng làm việc là cách học rất tốt, tuy nhiên mình ko có điều kiện để làm việc trong môi trường cọ sát hay training hay học tập từ người khác nên cần tìm tài liệu tốt dể điều hướng.
vậy theo mình bạn nên tham gia một dự án opensource hoặc là đọc từ source code những framework nổi tiếng như spring, hibernate hoặc thậm chí là code của JDK/OpenJDK . Mình cũng ko rõ nhưng mình ít khi đọc full sách, mình chỉ đọc những cái mình quan tâm kiểu một topic nào đó chẳng hạn. Mình đi từ kiến thức OOP rồi đến design pattern như @SakaDream rồi tới architect chứ chưa theo full một quyển nào cả , mình nghĩ bạn bắt đầu từ cái chủ đề bạn muốn học rồi từ keyword đó search ra sách , từ sách đọc source code rồi nghiền ngẫm ra
Đọc nhiều sách, không phải sách Head First, Pro, In Action gì đó
Luôn đọc docs chính thức (câu trả lời nên học ở đâu để master Java)
Design tổng thể và chi tiết càng nhiều càng tốt
Viết test case nhiều lên.
Ngồi cắm đầu code chỉ có thể thành thợ code giỏi, nhưng không thể thành software developer giỏi.
Vụ SVG mình đưa ra gợi ý rồi, nhưng bạn không có kiến thức nền vững, cụ thể là Compiler. Nếu là Real Project, làm việc trực tiếp với chục ngàn đối tượng, triệu row là chuyện hằng ngày
bạn có nghĩ là cần phải là một coder giỏi trước khi thành một developer giỏi hông ?
quên, chúc mừng năm mới mọi người !
Cảm ơn bạn rất nhiều,
Mình vừa đi làm khác ngành vừa tiếp cận lập trình với C, C++. Lướt w3schools.com, tutorialspoint.com, stackoverflow.com. JS, PHP, MySQL, Vuejs mình biết cơ bản. Sơ sơ cũng khoảng hơn 1 năm.
Khoảng 3 tháng nay mình cắm đầu vào Java, javafx, Design pattern, ko cảm thấy việc lập trình là khó nhưng thấy như mình đang giải quyết công việc ko đủ tốt, ko đủ chiều sâu kiến thức.
Mỗi khi tiếp cận bằng cách vào tutorialspoints.com và đọc sách head first và đọc docs khi cần làm việc. Nhưng nhận thấy nó vẫn cứ ở đó, quanh quanh như ở 1 cái ao và chưa biết làm thế nào để đào nó sâu hơn.
Với mình là vầy.
Cho problem và tool, coder dùng tool giải quyết problem. Nếu problem khác 1 chút, tool không xài được, coder không làm được
Với developer, nếu problem khác, developer biết tool có gì, design ra sao, từ đó ra quyết định mở rộng tool hay viết tool mới. Để viết được tool thì có kiến thức nền tốt.
Kinh nghiệm của mình rằng: Kiến thức vững và sâu luôn luôn giúp người ta mạnh hơn rất nhiều. Người có điều này thường là người luôn tìm ra giải pháp, chính xác và rất nhanh, hoặc chắc chắn với câu trả lời kiểu như “điều đó là không thể”.
Nhưng làm nhiều ko có nghĩa là vững và sâu.
à, vậy mình khác quan điểm về coder một chút, coder đối với mình là người có thể sử dụng tools để giải quyết vấn đề ở khía cạnh kỹ thuật, còn developer thì cao hơn chút về các kỹ năng mềm cũng như teamwork , design … Nên đối với mình, để làm việc ở higher level thì cần phải sử dụng tools thật tốt, biết điểm mạnh yếu mà vận dụng. Khi sử dụng đã tốt rồi thì tới việc sáng tạo sau
Trong công việc cũng vậy, với mình khi một architect design ra hệ thống thì ít nhất phải chứng minh được nó hoạt động tốt bằng một hoặc vài case chứ ko chỉ đơn thuần là documents
Bạn có thể cụ thể hơn được không? Ít nhất mình cũng biết chỗ nào để mà học. Có vẻ mình đang dùng giải pháp “bad programing”: Mình dùng regex để lôi elements trong SVG file ra rồi đem sang javafx build lại theo format SVGPath của javafx.
Mình không nhìn ra mối liên hệ với compiler
Mình thì lâu nay cứ nghĩ việc của coder là code, just code.
coder = syntactical writer
developer = coder + designer = creator.
Nghĩ lại:
developer = coder + designer
creator = developer + practical idealist
Regex chỉ dùng trong bước token parser.
SVG thực chất là XML nên sử dụng XML Parser để xây AST.
Nếu đúng các bước, dùng XML DOM Parser ra DOM tree, từ DOM tree sang AST cho việc render. Từ AST gắn thêm feature và tạo các metadata. Một bộ feature riêng duyệt cây, khi qua từng node thì render.
Nếu làm đủ chạy rất chậm, nên mình nói là làm
giảm các bước trung gian, chỉnh sửa CFG sao cho parse và render cùng lúc, đạt được O(n).
Sau khi làm được render được On thì đến bước optimize, tăng tốc render từng node lá, phân cụm Node trung gian render đồng thời. Cái này lại liên quan đến bên Đồ hoạ.
Gần như là build 1 hệ thống từ kiến thức nền, nhiều bước nên không chỉ có vài trick là giải quyết được liền.
Overwhelmed now.
Thank you, thank you, thank you…