====== Personal dokuwiki ====== **Hạn chế nói về những gì ta đã làm với vợ con, bạn bè**, chỉ nên nói khi đạt được thành quả nhất định. Một hạn chế của phụ nữ và bạn bè là hay nói ra nói vào với định hướng của mình, làm cho nó bị sai lệch Điều chỉnh định hướng: Thay vì chỉ focus vào một việc, ta nên chia ra thành hai việc khác nhau: * 70% thời gian buổi sáng cho việc phát triển sản phẩm yêu thích: Sản phẩm này là giá trị cốt lõi để phát triển, nó man tính chất đặc thù của ngành nghề và kỹ năng của mình đang có * 30% thời gian buổi tối cho việc phát triển dự án website bán hàng **Bản thân mình tự phát triển những gì cho riêng mình** và không phụ thuộc vào bất kỳ ai khác, kể cả người gần gũi nhất với mình ===== Personal Information ===== SN: admin/DSNW6951ed18 Bank: 2926248A04 171.248.115.183 50000901219oYzZ0HXgoqfURcbEFQAs1020c6efzvemdLiVHu1Bj1HOtkQrf7p teamviewer: Id: 178 851 313, pass: 384xbj ===== Overview ===== //Thất bại lớn nhất là không cố gắng.\\ Một khi bạn tìm được thứ gì đó bạn thích\\ làm, hãy là người làm việc đó giỏi nhất.\\ // Debbi Fields Trong thời gian này ta cảm thấy tư duy và trí nhớ của ta sa sút nghiêm trọng, có một cái gì đó làm rào cản trong tâm trí của ta. Phải chăng bia rượu đã làm cho đầu óc của ta suy giảm đến vậy sao? Làm sao ta có thể trở lại chính mình như thời điểm còn đi học phổ thông?**QUYẾT KHÔNG BIA RƯỢU ĐỂ TÌM LẠI CHÍNH MÌNH** ==== Nhìn lại lối tư duy giải quyết vấn đề ==== Cách giải quyết vấn đề bất kỳ: Mô phỏng cách giải quyết vấn đề như việc giải quyết một bài toán khó * Làm thế nào để giải quyết bài toán khó và lớn: Giả sử bài toán cần chứng minh là đúng thì nó sẽ đúng trong tất cả mọi trường hợp đặc biệt khác nhau của bài toán => Tất cả các trường hợp đặc biệt là các bài toán nhỏ liên quan cần chứng minh là đúng, ta chỉ cần chứng minh những **bài toán nhỏ này làm tiền đề**, sau đó sắp xếp các tiền đề lại với nhau để làm những tiền đề cho việc giải bài toán lớn. Khi trình bày lời giải cho bài toán khó này, chúng ta cần phải trình bày dựa theo những **tiền đề có sẵn và dựa theo những tiền đề mà ta đã chứng minh** để giải quyết bài toán lớn * Vậy làm thế nào để giải quyết vấn đề khó trong lập trình: Ta xem vấn đề khó là một bài toán lớn cần giải quyết, để giải vấn đề này cần giải quyết các trường hợp đặc biệt của nó, lúc này vấn đề khó sẽ được đơn giản hóa, ta sẽ giải quyết cái đơn giản để làm tiền đề để giải quyết vấn đề khó đó. Tiền đề trong lập trình là hàm hoặc module giải quyết một vấn đề nào đó, chúng ta sẽ sử dụng những **API có sẵn trong ngôn ngữ lập trình** và kết hợp với **hàm hoặc module đã viết** để hoàn thành chương trình chính của mình * Làm sao thoát khỏi lối tư duy phụ thuộc hoàn toàn vào những cái mà người khác đã phát triển thì mới làm được? * Lối tư duy tham khảo cách người khác làm là hoàn toàn hợp lý, học hỏi được kỹ năng và công nghệ của họ. * Tuy nhiên, không nên phụ thuộc hoàn toàn vào cái của người khác, kg phải dựa theo cách nghĩ phụ thuộc rằng có người làm rồi thì mới làm lại được, cần phải rèn luyện kỹ năng tự trình bày theo cách riêng của mình để thực hành kỹ năng trình bày để giải quyết vấn đề. Việc trình bày giống như là việc hành văn, cần phải có bố cục rõ ràng trước khi viết * Đồng thời cần xem cách giải quyết của họ là một phần trong module phát triển của mình, và bản thân mình phải biết tích hợp hoặc nhúng những phần phát triển đó trong sản phẩm của mình * Cần xem những cái đã có là những lý thuyết cơ bản nhất, tự làm theo ý của mình để hiểu rõ vấn đề hơn, sau đó nếu ý đó kg giải quyết được thì mới xem cách giải quyết của người khác rồi tự đặt câu hỏi: **Tại sao họ lại giải quyết được vấn đề đó và nghĩ ra nó**? * Một trong những cái thiếu sót hiện hữu của ta là **làm quá ít bài tập cho lý thuyết mới**, vì vậy kg có kinh nghiệm để giải quyết vấn đề * Và trong cuộc sống ta cần phải **làm nhiều bài tập về thực tế cuộc sống** thì mới có nhiều kinh nghiệm hơn để xử lý vấn đề * Có thể không có những ví dụ bài tập thực tế, mà là 1 full source người khác đã phát triển, việc học hỏi những full source này giống như học lại một bàn cờ thế đầy đủ trong cờ tướng, **cần phải học hỏi từng nước đi để hiểu tâm cơ của mỗi nước đi** đó, lúc đó mới biến cách nghĩ đó thành cách nghĩ của mình được * Việc lập trình tạo ra sản phẩm lúc này không chỉ là cách giải bài toán, mà là **tự đưa ra bài toán kinh tế cho riêng mình dựa trên những API có sẵn** rồi giải quyết bài toán đó => Cần phải trau dồi kỹ năng này * Một đỉnh cao trong lối suy nghĩ về lập trình những dự án lớn: **Cách phân chia dự án thành nhiều nhóm module nhỏ, mỗi nhóm module nhỏ có một thằng Manager quản lý nó**, và khi làm việc với nhau, các manager sẽ tương tác với nhau -> Phân tách độc lập ra và có thể code dễ dàng hơn. Nhìn kiểu tư duy lập trình này có vẻ giống như là một mô hình quản lý kinh tế thực tế, những người manager sẽ tương tác với nhau và báo cáo kết quả công việc với sếp chính. Bởi lối suy nghĩ này, trước khi code, chúng ta cần mô phỏng mô hình vận hành của một bài toán thực tế để phân chia ra module cho hợp lý. Việc phân chia có thể tùy thuộc vào khối lượng công việc của từng nhóm, nếu công việc nhiều thì phải có người quản lý riêng cho nhóm đó. Đồng thời cũng không kém phần quan trọng phải có **phần ban quản lý(Phần core)** để quản lý tổng quan toàn bộ công việc của công ty ==== Cách quản lý và làm việc nhóm ==== * Với 1 task lớn, chúng ta cần sử dụng người và phân chia công việc được cho nhiều người -> tăng hiệu quả công việc(Kỹ năng làm việc nhóm) * Phân chia công việc ra thành các module nhỏ độc lập, sau đó ráp các module nhỏ thành sản phẩm lớn * Phân chia công việc theo chuyên môn, điểm mạnh của mỗi người * Phân chia công việc để có thể tạo ra những việc nhỏ và dễ dàng cho nhân công lao động giá rẻ có thể hoàn thành task -> tối ưu chi phí đầu tư * Quản lý công việc dựa theo các thông tin sau: * report * log commit lên svn ==== Cách cải thiện trí nhớ ==== Dưới đây là các cách giúp cải thiện trí nhớ. - Hóa giải stress bằng phương pháp thiền hay yoga. Đây là cách gỡ bỏ các áp lực, làm trùng giãn tâm thần, tăng khả năng tập trung... Ngoài ra, bạn có thể luyện tập thể lực ngoài trờ như bơi lội, đi bộ, đạp xe, tập aerobic... Hoạt động thể lực chính là biện pháp đốt cháy stress, vì chúng cho tim tăng cung lượng máu tới não và các phủ tạng, khiến tinh thần phấn chấn, sảng khoái. - Tập thể dục cho não bằng cách đọc sách, báo, lướt các trang web lành mạnh và bổ ích. Đồng thời, bạn nên chơi các trò chơi trí tuệ như ô chữ, cờ tướng (hoặc cờ vua), học ngoại ngữ hay chơi một loại nhạc cụ nào đó... Cách này làm tăng lượng ô-xy tới não, thúc đẩy quá trình dịch chuyển từ bộ nhớ ngắn hạn sang dài hạn. - Một chế độ dinh dưỡng đầy đủ và cân đối, nhiều rau, trái cây, giúp tăng cường các chất dinh dưỡng như lecithin (có trong dầu đậu nành, trứng, lạc, mầm lúa mạch, gan), vitamin C (trong cam, chanh, rau, quả) và các vitamin nhóm B (trong gan, thận, thịt nạc, sữa, yoghurt). Tất cả các chất này hỗ trợ cho việc sản xuất chất dẫn truyền thần kinh acetylchline. - Phải tạo được giấc ngủ tốt để giúp não củng cố trí nhớ ngắn hạn cũng như dài hạn. Nghiên cứ của Đại học Lubeck, Đức, đã cho thấy sự sáng tạo và khả năng giải quyết vấn đề có liên quan mật thiết đến giấc ngủ đầy đủ của mỗi người. Chứng mất ngủ hay chứng ngừng thở khi ngủ làm cho người ta mệt mỏi nên không thể tập trung. - Kiểm soát tốt những căn bệnh mãn tính như cao huyết áp, đái đường... cũng là một giải pháp hữu hiệu để tăng cường trí nhớ. - Lối sống tích cực, lạc quan, cởi mở có tác động rất lớn trong việc giảm thiểu nguy cơ trầm cảm, nhất là đối với phụ nữ tiền mãn kinh, mãn kinh và những người cao tuổi. Đồng thời, cách này còn cải thiện đáng kể trí nhớ và các hoạt động trí tuệ nói chung. ===== List My links ===== ==== programming ==== [[my:dinhhuongphattrien|Định hướng phát triển]]\\ [[my:phat-trien-website-cong-ty-ban-hang|Phát triển website công ty, bán hàng]]\\ [[my:seo|SEO]]\\ [[my:opencart|Opencart]]\\ [[my:wordpress|Wordpress]]\\ [[my:drupalthemes|drupal themes]]\\ [[my:toolconverthtmltophptemplate|Tool convert HTML to PHP template]]\\ [[my:translate-toolkit|Translate Toolkit]]\\ [[my:myscripts|My Scripts]]\\ [[my:hacker|Hacker]]\\ [[my:webservice|Web Service(SOAP, REST)]]\\ [[my:oauth2|OAUTH2]]\\ [[my:gameserver|Game Server]]\\ [[my:convert-code-tool|Convert Code Tools]]\\ [[my:comparecms|Compare CMS]]\\ [[my:zend-framework|Zend Framework]]\\ [[my:lavarel|lavarel]]\\ [[my:yiiframework|YiiFramework]]\\ [[my:tri-tue-nhan-tao|Trí Tuệ Nhân Tạo]]\\ [[my:flash-and-actionscript|Flash And Actionscript]]\\ [[my:decompiler|Decompiler]]\\ [[my:parsing-source-code-and-convert-code|Parsing source code and converting code]] ==== Products ==== [[my:gamebai|Game Bài]]\\ [[my:dev-game-bai|Dev Game bài]]\\ [[my:websosanh|Web so sánh]]\\ [[my:website-tim-va-phan-loai-bat-dong-san|Tìm và phân loại bất động sản]]\\ [[my:the-cao|Thẻ Cào]]\\ [[my:website-cho-me-va-be|Website cho mẹ và bé]]\\ ==== Crawler ==== [[crawler:scrapy|Scrapy]]\\ [[crawler:scrapyexamples|Scrapy Examples]]\\ [[crawler:scrapyarchitecturecode|Scrapy Architecture Code]]\\ ==== system ==== [[my:build-openvpn-system|Build OpenVPN System]]\\ [[my:nginx-apache-phpfpm-config|nginx,apache and php-fpm config]]\\ [[my:web-proxy-squid|Web Proxy Squid]]\\ [[my:mongodb|Mongodb]]\\ [[my:system-experiences|System Experiences]]\\ [[my:dynamicip|Dynamic IP]]\\ ==== customer ==== [[my:websites]]\\ ==== personal ==== [[my:cv|Curriculum vitae]]\\ [[my:dau-tu|Đầu Tư]]\\ [[my:chung-khoan|Chứng khoán]]\\ [[my:nhatky|Nhật ký đời tôi]]\\ [[my:learnenglish|Learn English]]\\ [[my:web-hay]] ==== Other ==== [[my:thu_thuat_tim_kiem|Thủ thuật tìm kiếm]]\\ [[my:svnadmin|SVN Admin]] ===== List exams for testing ===== * http://zend-php.appspot.com/\\ * http://www.mypythonquiz.com/ ===== List Learning online ===== * http://www.tutorialspoint.com/ * http://learnenglish.britishcouncil.org/en/ ===== Listening Books(Nghe sách nói) ===== * http://khosachnoi.com/sach-noi/551/bi-quyet-tu-than-lam-giau---chia-khoa-lam-giau---con-bao-trieu-phu.html(1,4,5,6) * http://khosachnoi.com/sach-noi/479/bi-quyet-tay-trang-thanh-trieu-phu---chia-khoa-lam-giau.html * http://khosachnoi.com/sach-noi/551/bi-quyet-tu-than-lam-giau---chia-khoa-lam-giau---con-bao-trieu-phu.html * http://khosachnoi.com/sach-noi/567/tam-va-ke-nguoi-do-thai---chia-khoa-lam-giau.html * http://khosachnoi.com/sach-noi/704/sach-noi-chien-thang-tro-choi-cuoc-song.html ===== How to Find the Right Business Idea When Starting a Business ===== They think they have to come up with **something that no one has ever done before--a new invention, a unique service**. In other words, **they think they have to reinvent the wheel**. But **unless you're a technological genius--another Bill Gates or Steve Jobs**--trying to reinvent the wheel is a big waste of time. For most people starting a business, the issue should not be coming up with something so unique that no one has ever heard of it but **INSTEAD ANSWERING THE QUESTIONS**: "How can I **improve on this**?" or "Can I **do this better or differently from the other guy** doing it over there?" Or simply, "Is there **market share not being served** that makes room for another business in this category?" Find new business ideas from **products developer** which you know to view their products. Below are some new products ideas from some website which develop games: * https://www.sellmyapp.com/ * http://www.chupamobile.com/ * http://www.pocketgamer.biz/list/62773/top-50-mobile-game-developers-of-2016/ products for baby: * http://www.babyfirsttv.com/(search **educational baby games**) * http://www.owlieboo.com/ * http://www.fisher-price.com/en_US/gamesandactivities/onlinegames/index.html * http://www.familyeducation.com/(drupal) * http://www.topbabygames.com/ Some questions to find demand of market: * Xác định khó khăn của người khác để tìm ra nhu cầu của thị trường -> Đưa ra giải pháp để giải quyết khó khăn này(Khó khăn của người khác là cơ hội của người kinh doanh). * Sử dụng người khác giỏi hơn mình để thực hiện những cơ hội làm giàu -> Người giỏi sẽ làm tốt việc đó và giảm thời gian phát triển * Biến việc làm hiện tại của mình thành công việc kinh doanh * Vừa học vừa làm để phát triển kinh doanh: Làm thêm công việc trong ngành nghề bạn chọn -> Sau đó mới ra phát triển kinh doanh riêng dựa theo ngành nghề này * Nhìn các hãng trong ngành nghề của mình làm gì để kiếm tiền: * Tạo mối quan hệ với người trong ngành nghề để nắm bắt các xu thể hiện tại hoặc vấn đề khó khăn trong ngành nghề của mình để tìm thấy cơ hội cho mình * Tham dự các hội nghị chuyên đề trong ngành nghề của mình -> Học hỏi đàn anh và các chuyên gia * Nhìn thấy cơ hội kinh doanh khác ngành nghề -> Có thể làm seller hoặc kiếm người giỏi để làm việc đó cho mình * Làm giàu bằng cách đi theo người dẫn đường -> Làm người bắt chước có sáng tạo: * **Không cần phải là người tiên phong, mà phải là người giỏi nhất**(Xe hơi Mỹ đi trước -> Nhưng Nhật đi sau vẫn là người giỏi nhất, Nokia đi trước nhưng iphone và samsung đi sau vẫn chiếm lấy hết thị phần) * Có lợi thể khi theo kế hoạch đã được thị trường chứng minh trong khi thành lập 1 kế hoạch mới * Rất bất lợi khi người đi đầu làm dịch vụ -> Rất tốn kém. Trong khi người đi sau sẽ thấy khó khăn bất lợi của họ và chỉnh sửa tốt hơn * Theo dõi sự cạnh tranh và áp dụng phương pháp cạnh tranh hay nhất(như thể mình đang cạnh tranh thực sự): * Không ai có thể giữ bí mật mãi một sáng kiến mang lại thắng lợi * Quyến rũ khách hàng sử dụng SP của mình từ sai lầm của họ * Với sản phẩm mới, không cần làm đầy đủ tất cả tính năng, chỉ cần làm phần khác biệt để thu hút người dùng. Bởi vì theo quy tắc 80/20 thì 80% người dùng chỉ sử dụng 20% tính năng của SP. Có thể thêm công cụ phân tích để xác định rõ mong muốn của người dùng và làm ngày càng tốt hơn * Tối ưu hoá chi phí SX và nâng cao chất lượng SP: * Cập nhật công nghệ để tối ưu hoá mô hình sản xuất -> để tạo ra SP với chi phí thấp * Sử dụng người giỏi để nâng cao chất lượng SP và tăng tốc SX * Huấn luyện người mới để làm việc cho mình -> Tăng tốc thời gian phát triển, tối ưu chi phí * Quảng cáo: Quảng cáo để người dùng biết SP của mình hơn là người dùng sử dụng SP khác không tốt * Làm giàu bằng cách biến cái lỗi thời thành cái hợp thời * Mở rộng quy mô ===== Experiences ===== ==== Experience about Developer ==== Việc phát triển phần mềm không chỉ đơn thuần là code, mà còn biết các mô hình làm việc hiệu quả để giảm chi phí và giảm thời gian phát triển sản phẩm\\ Bên dưới là một số phương thức giảm chi phí phát triển sản phẩm: * Phát triển phần mềm tuân thủ nguyên tắc DRY(Don't repeat yourself): Không viết lại những gì cộng đồng đã phát triển và chia sẻ, biết tận dụng những gì họ đã phát triển và sử dụng lại. Một số framework sử dụng DRY: * http://laravel.com/(PHP) * http://symfony.com/(PHP) * http://www.yiiframework.com/(PHP) * http://www.web2py.com/(Python) * https://www.djangoproject.com/(python) * https://www.eiffel.com/eiffelstudio/ * http://rubyonrails.org/ * https://msdn.microsoft.com/en-us/library/ff851953.aspx * Tận dụng nguồn opensource sẵn có để customize thành sản phẩm riêng của mình, chẳng hạn ta có thể **sử dụng hệ thống CMS như Drupal và Wordpress để làm một số síte hiển thị các loại nội dung khác nhau**. Việc tận dụng này đã hỗ trợ hơn 80%(Theme, tính năng, module mở rộng) các công việc cần phải làm, chúng ta chỉ biết cách mở rộng tính năng mà opensource hỗ trợ -> Việc này cũng tuân thủ nguyên tắc DRY, kg cần phải làm lại CMS khi mà drupal hoặc wordpress đã làm việc này rất tốt * Thực hiện việc automation những thao tác lặp đi lặp lại: Chẳng hạn viết unittest cho phần mềm để kiếm tra logic của phần mềm, và khi **thay đổi logic liên tục**, chúng ta có thể kiểm tra nhanh logic của phần mềm đã OK hay chưa mà kg mất nhiều thời gian sử dụng nhân lực để kiểm tra đi kiểm tra lại -> Việc test chất lượng phần mềm được tự động hóa * Biết phân chia công việc thành nhiều công việc nhỏ khác nhau, những công việc nhỏ đó dành cho những người lao động bình thường chi phí thấp thực hiện * Luôn cập nhật những công nghệ mới nhất có nhiều tính năng ưu việt hơn và giảm chi phí, thời gian phát triển hơn Một số phương thức giảm thời gian phát triển sản phẩm: * **Phân chia công việc** lớn thành nhiều việc nhỏ khác nhau cho nhiều người thực hiện song song * Thực hiện việc automation những thao tác lặp đi lặp lại: Chẳng hạn **viết unittest** * **Module hóa** những hàm mà chúng ta hay sử dụng, có thể tạo **helper** sử dụng những hàm phức tạp để sử dụng lại nhiều nơi trong chương trình hoặc để sử dụng lại trong các sản phẩm khác. === Kinh nghiệm chung về dev === - Để có thể hiển thị những hàm của class trong python khi gõ, cần phải import package mà mình muốn hiển thị hàm, sau đó sử dụng 1 trong 2 cách sau để hiển thị hàm của package đó: * Sử dụng tên class để gọi hàm * Khởi tạo 1 object của class đó, rồi dùng object đó để gọi hàm - Để có thể học thư viện mới một cách nhanh nhất, bên cạnh việc tìm hiểu cần phải tìm các bài tập cơ bản về thư viện đó để giải và thực hành * Bất cứ lập trình viên nào đều phải làm những bài tập này, có điều những bài tập này ngầm định là những kinh nghiệm từ những dự án họ làm qua * Cần phải note lại những dạng bài tập như thế trong quá trình làm để tích lũy kinh nghiệm cho mình. Xem bài tập để kiểm nghiệm lại cách hiểu lý thuyết của mình - Làm thế nào để hiểu rõ API mà ngôn ngữ hỗ trợ? * Tìm hiểu kiến trúc và thuật toán mà API hỗ trợ cho mình * Để hiểu rõ thư viện mới cần hình dung overview **thuật toán cần thiết phải sử dụng** để đáp ứng bài toán của mình, nếu muốn giải quyết bài toán đó thì thư viện phải hỗ trợ những hàm tương ứng a, b, c....Sau đó mới tìm hiểu cụ thể những hàm của thư viện. Nếu ta đã có thuật toán, nhưng không có thư viện hỗ trợ, cần phải viết thêm thư viện để giải quyết vấn đề, xem như là bài toán thiếu giả thiết(thư viện), cần phải bổ sung giả thiết(thư viện) để có thể giải quyết vấn đề * Kinh nghiệm về cách học cũ về Toán, Lý, Hóa: Cần phải hiểu rõ tiền đề cơ bản nhất là gì trong các môn học: **Cái nào là tiền đề, cái nào là định lý**. Về API lập trình cũng thế, cần biết **API nào là cơ bản nhất, cái nào là suy diễn từ những cái cơ bản đó** để sử dụng cho đúng. Lúc này mới có thể chuyển sang một mức tư duy khác: Vô chiêu ứng hữu chiêu, kg cần phải nhớ rõ nhiều hàm(chiêu thức) hỗ trợ, chỉ từ cái cơ bản nhất để giải quyết mọi vấn đề. Dựa theo những cái cơ bản này ta **có thể sáng tạo ra nhiều thuật toán mới(hay định lý mới)** để sử dụng đặc thù riêng cho ứng dụng của ta - Most developers can write PHP and code everything from scratch. Given enough time, many will manage fine without a CMS. But the idea is to deliver projects on time and profitably. **Reinventing the wheel is not the best way to achieve this**. - Python Experiences * Khi sử dụng hàm parse của lxml.etree hoặc lxml.html, nó sẽ trả về 1 object lxml.tree._ElementTree, chúng ta sẽ sử dụng nó giống như là ElementTree của thư viện xml.tree.ElementTree * root = tree.getroot()(tree là ElementTree) trả về giá trị root là HtmlElement, vì thế sẽ có những hàm thao tác riêng trên HtmlElement. Refer: https://docs.python.org/2/library/xml.etree.elementtree.html#xml-tree-and-elements * Kiểm tra những hàm gọi sử dụng CPython: * Kiểm tra những hàm được khai báo trong file .pxi(CPython) * Gọi hàm lỗi để biết code C sẽ check ở đâu:Chẳng hạn ta gọi hàm context = etree.iterparse(StringIO.StringIO(htmlcontent), events = ("start", "end", "data"), html = True) Sẽ gây ra lỗi: E:\backup\GoogleDrive\projects\python>test.py Traceback (most recent call last): File "E:\backup\GoogleDrive\projects\python\test.py", line 37, in parse_index() File "E:\backup\GoogleDrive\projects\python\test.py", line 30, in parse_index context = etree.iterparse(StringIO.StringIO(htmlcontent), events = ("start", "end", "data"), html = True) File "iterparse.pxi", line 90, in lxml.etree.iterparse.__init__ (src\lxml\lxml.etree.c:124583) File "parser.pxi", line 1630, in lxml.etree.HTMLPullParser.__init__ (src\lxml\lxml.etree.c:100860) File "parser.pxi", line 804, in lxml.etree._BaseParser._collectEvents (src\lxml\lxml.etree.c:93574) File "saxparser.pxi", line 37, in lxml.etree._buildParseEventFilter (src\lxml\lxml.etree.c:102780) ValueError: invalid event name 'data' Lúc này ta sẽ kiểm tra file saxparser.pxi để tìm các tham số hợp lệ cho việc gọi hàm * Kiểm tra loại object được trả về bởi python sử dụng print import xlrd xlsfile = xlrd.open_workbook('adminup/shop.xlsx') print xlsfile output: - Kinh nghiệm về HTML: * Để so sánh nội dung của 2 tag, có thể hiển thị trực tiếp 2 page, sau đó sử dụng Chrome Developer Tools để **copy as HTML** của 2 tag đó và dùng Beyond Compare để so sánh sự khác biệt của nó - Django: It's **not for making websites**. Your sample just sounds like you want plain old HTML. Django is for **creating web applications**. That is, software, normally backed by a database, that includes some kind of interactivity, that operates through a browser. A Framework provides a structure and common methods for making this kind of software.Refer link http://www.tonymarston.net/php-mysql/web-site-vs-web-application.html to compare web application and websites - Cách chọn **opensource để phát triển sản phẩm**: Việc phát triển sản phẩm bất kỳ cũng đều dựa vào nền tảng mà opensource đó hỗ trợ, nếu **hỗ trợ nhiều tính năng liên quan đến sản phẩm của mình** thì ta nên dùng nó để có thể tạo ra sản phẩm nhanh nhất, hạn chế phát triển lại từ đầu -> Vì ta phải mất nhiều thời gian để thiết lại cấu trúc database và nhiều thứ khác, chẳng hạn sẽ mất nhiều thời gian nếu ta dùng hệ thống CMS để phát triển một sản phẩm thương mại điện tử - Kinh nghiệm phát triển ứng dụng: Việc phát triển ứng dụng sau này sẽ đi theo hướng **dựa vào thiết kế database để tự động tạo ra code**, giữa client và server sẽ tự tạo ra các basic code để đông bộ về giao thức. Chúng ta chỉ phát triển vấn đề tương tác giữa các module * Có thể dựa vào client để mô phỏng lại kiến trúc source của server:các đối tượng(model) ở client sẽ giống các đối tượng ở server, việc truyền nhận sẽ đồng bộ về dữ liệu read write, riêng client thì có thêm phần view còn server thì có thêm phần xử lý tương tác giữa các client * Có thể porting client thành đa nền tảng, chỉ thay đổi về cách thức hiển thị giao diện, còn model và phương thức truyền dữ liệu chỉ là vấn đề porting ngôn ngữ * Việc tạo ra code tự động chỉ là vấn đề xử lý cho việc lưu trữ và truyền nhận dữ liệu. Những phần còn lại là gì? * Flow hoạt động của chương trình(core) * Ràng buộc dữ liệu được gởi từ client xem có hợp lệ hay không và ràng buộc dữ liệu giữa các module * Logic xử lý với các thuật toán của chương trình - Tại sao các opensource thường phức tạp hơn ứng dụng bình thường? Chẳng hạn CMS django, nếu thực sự thiết kế 1 CMS đơn giản đâu phải quá phức tạp như thế? * Một opensource thường hỗ trợ** nhiều tính năng backend** hơn một ứng dụng bình thường: Chẳng hạn nói về opencart, opencart kg chỉ hiển thị thông tin sản phẩm và xử lý đặt hàng, mà còn hiển thị phần backend cho việc upload sản phẩm, quản lý khách hàng, đơn hàng, thống kê sản phẩm * Một opensource được thiết kế theo kiểu **có thể gắn plugin** vào platform để có thể mở rộng và phát triển sản phẩm theo kiểu phát triển plugin, không đụng đến phần core của sản phẩm. Muốn làm được như vậy, opensource đó phải tạo 1 platform để hỗ trợ cho việc đó. Chẳng hạn drupal phải có cơ chế hook, wordpress phải có cơ chế hook API * Opensource **khi tạo ra module mới, phải đồng bộ tạo ra phần xử lý frondend và backend**, nên với 1 module đơn giản sẽ xử lý phức tạp hơn module ứng dụng bình thường. Bởi theo lối suy nghĩ thông thường, ta chỉ tạo ra phần frondend mà thôi, nên sẽ đơn giản hơn * Chọn opensource để phát triển ứng dụng của ta hay phát triển từ đầu? * opensource có thể thêm nhiều tính năng mà người dùng kg cần thiết, phải theo core của opensource hỗ trợ, nếu sản phẩm tương đồng thì có thể sử dụng nó để phát triển * Phát triển từ đầu có thể không thêm những phần admin không cần thiết, tận dụng lại thiết kế mà opensource sẵn có, chẳng hạn thiết kế database - **Don’t Repeat Yourself (DRY)**: * If you’ve been around the block a few times, you know all too well how easy it is to write “boilerplate” code. You code once for one purpose, then again for another, and again, and again, and again. After a while, you realize how much * code has been duplicated, and if you’re lucky, you have the time, energy and presence of **mind to look at what’s common and move those pieces into a common location**. This process is one of the primary reasons for a framework to exist. **Frameworks provide much of this common code**, while attempting to make it easier to avoid duplicating your own code in the future. This combines to represent a common programming practice: Don’t Repeat Yourself. * The basic idea is that you should only **write something once**. That reduces the risk of accidentally introducing inconsistency between two pieces of code that should match. It should also be as reusable as possible, and if other code needs to know something about what you’ve already written, you should be able to get the necessary information automatically using Python, without requiring the programmer to repeat any of that information. * To facilitate this, Python provides a wealth of resources for peeking inside your code, a process called introspection. Many of these resources, covered in Chapter 2, are incredibly useful when supporting DRY in your code. - **Unittest**: Unit tests give developers and testers **a quick way to check for logic errors** in the methods of classes in C#, Visual Basic .NET, and C++ projects. **A unit test can be created one time** and **run every time that source code is changed** to **make sure that no bugs are introduced**. === Kinh nghiệm về thiết kế chương trình === Việc thiết kế 1 chương trình đều mô phỏng vào những tương tác thực tế của con người để mô phỏng 1 chương trình, xu hướng thiết kế đều mô phỏng dựa theo những tương tác này. Bên cạnh việc mô phỏng tương tác, việc thiết kế chương trình có một số kỹ thuật để tận dụng lại những gì mà lập trình viên khác đã phát triển: * Định nghĩa function và SDK(Software developer Kit) để có thể sử dụng lại ở nhiều chương trình khác nhau * Định nghĩa tính kế thừa trong lập trình hướng đối tượng -> Định nghĩa này giúp cho ta tạo ra một đối tượng mới kế thừa tất cả thuộc tính và chức năng(function) của đối tượng cha để việc tạo một lớp đối tượng mới nhanh hơn có đầy đủ các chức năng để thể hiện sự đặc trưng của lớp đối tượng và tránh việc lặp đi lặp lại các hàm xử lý giống nhau. Vì vậy ta phải có lối tư duy hướng đối tượng dựa trên thuộc tính và hành động của nó trong thực tế. Kiểu thiết kế này giống như thiết kế cơ sở dữ liệu: Nếu thuộc tính và phương thức dùng chung thì để trong lớp cha, còn nếu dùng riêng thì để trong lớp riêng * Có thể mô phỏng mối quan hệ giữa các bảng trong cơ sở dữ liệu Mối quan hệ giữa các class và đối tượng trong lập trình(Chẳng hạn mối quan hệ 1 nhiều, tham chiếu khóa ngoại...) để thực hiện việc load và update thông tin của đối tượng từ cơ sở dữ liệu. * Vd: Table Player và Friend, trong đó table player chứa đựng thông tin về tất cả player trong game vf table Friend chứa đựng thông tin về mối quan hệ bạn bè giữa các player: * Khi thiết kế hướng đối tượng ta sẽ tạo ra models gồm class PlayerInfo để lưu trữ thông tin đối tượng player và class FriendInfo lưu trữ thông tin đối tượng friend. * class kế nối với database: PlayerBussiness để thực hiện việc lưu trữ và update thông tin của Player xuống database, class FriendBussiness để thực hiện việc lưu trữ và update thông tin của Friend xuống database. * Cuối cùng là class GamePlayer là đổi tượng thực sự chứa đựng thông tin của player và danh sách FriendInfo mà là friend của player * vd: Table Player và Quest, Quest_Condition, Quest_Goods, Quest_Data * Đối với Player: Có PlayerInfo, PlayerBussiness * QuestMgr(Quản lý Quest, Quest_Condition, Quest_Goods): Quản lý tất cả các nhiệm vụ trong game, bao gồm việc load danh sách tất cả Quest(Nhiệm vụ trong game) khi game start, load thông tin QuestInfo dựa theo QuestID danh sách các điều kiện và phần thưởng dựa theo QuestInfo, đi kèm với nó là các lớp đối tượng QuestConditionInfo, QuestAwardInfo * Ràng buộc với Player: Gồm QuestBussiness hỗ trợ việc load thông tin Quest_Data(QuestDataInfo) dựa theo UserID * Interface trong lập trình đối tượng: Interface định nghĩa 1 chuẩn gồm danh sách cảc hàm để thực hiện việc tương tác giữa các đối tượng dễ dàng hơn. Khi ta định nghĩa 1 interface chứa chức năng **draw**, ta có thể cho phép một đối tượng bất kỳ có chức năng draw bằng cách implement nó. Nhờ interface, Nó làm giảm đi sự phức tạp của sự đa kế thừa trong lập trình hướng đối tượng, ta có thêm 1 lớp tính năng cho đối tượng bằng cách gắn interface và implement nó, vì vậy thêm vào lớp tính năng mới cho đối tượng sẽ dễ dàng hơn và có thể tương tác với đối tượng thông qua những interface này(Interface dựa theo nguyên tắc lắp ráp 1 sản phẩm lớn từ các sản phẩm nhỏ khác nhau dựa theo chuẩn giao tiếp mà nó định nghĩa) Việc mô phỏng hệ thống quản lý trong chương trình giúp cho việc quản lý tương tác giữa các nhóm đối tượng trong chương trình dễ dàng hơn, giống như là một hệ thống quản lý bên ngoài. Kiến trúc của chương trình mô phỏng lại hệ thống này mà thôi: * PlayerManager quản lý tất cả các user trong game: * Hỗ trợ việc load thông tin 1 user bất kỳ từ database dựa trên character_id chẳng hạn * Hỗ trợ việc tạo ra user mới và quản lý việc update định kỳ thông tin của nhân vật vào database * PlayerManager mô phỏng tất cả các hoạt động quản lý thực tế mà người quản lý bên ngoài thực hiện. Khi có request bất kỳ liên quan đến nhân vật, PlayerManager là người action những hành động này * RoomManager quản lý tất cả các room được tạo ra: * Tạo room mới * Xóa room * Remove user ra khỏi room * GameManager quản lý tất cả các game được tạo ra: * Xem các game nào đang được tạo, đang playing,.... * Hỗ trợ tạo ra phòng game mới cho user chơi * Hỗ trợ việc hủy các phòng game đang rảnh và kg có người chơi Thiết kế game: Game là một trò chơi độc lập bên ngoài, giống như bàn game bắn cá chẳng hạn. Vì là một trò chơi độc lập nên người chơi trong game chỉ là một phần đối tượng trong game * Game bao hàm các đối tượng tương tác thuộc về game * Người chơi có thể tham gia chơi bằng cách tương tác những nút chức năng và rule ràng buộc mà game quy định * Có các quy định ràng buộc để quyết định người thắng, thua trong game * Có quy định ràng buộc để xác định thời điểm kết thúc game Việc viết chương trình kg chỉ dựa theo kỹ thuật cơ bản trong lập trình, mà còn phụ thuộc vào việc mô phỏng và am hiểu kiến trúc thực tế để mô phỏng lại chương trình cho hiệu quả, chẳng hạn kiến thức về quản lý. Nếu các đối tượng trong chương trình tương tác mà kg thông qua người quản lý, việc tương tác giữa các đối tượng trong chương trình sẽ trở nên lộn xộn và kg có quy trình -> Khó quản lý và vận hành. === Kinh nghiệm sử dụng lại opensource và phát triển sản phẩm === **Ưu điểm của opensource**: * Chúng ta không mất nhiều thời gian để làm lại một số tính năng mà opensource đã phát triển như: * Nhiều ngôn ngữ * Cơ chế plugin để gắn vào những module độc lập bên ngoài do cộng đồng phát triển. Ta chỉ sử dụng lại và kg mất thời gian phát triển: Chẳng hạn SEO, facebook... * Không đòi hỏi nhiều kinh nghiệm về develop phần mềm, kiến trúc code tốt đã được chỉnh sửa trong thời gian dài * kiến trúc thiết kế database tốt * Việc xử lý tương tác giữa các module tốt * Sử dụng lại những template mà cộng đồng mạng đã phát triển Ưu điểm và nhược điểm của kiến trúc **dev dựa trên framework có sẵn** (chẳng hạn django): * Việt phát triển sản phẩm về lâu dài dựa trên tính năng chính và không code lại những phần râu ria liên quan, chẳng hạn CMS, quản lý menu...**Tất cả chỉ dựa vào thiết kế database và generate ra code tự động để làm tính năng đó, tối ưu hóa thời gian phát triển** * Để làm được điều đó, ta cần chọn một framework hoàn chỉnh để có thể **sử dụng lại module thông thường đã phát triển độc lập và không ràng buộc nhiều với tính năng chính cần phát triển của website -> django** * Việc sử dụng **opensource chỉ cần lưu ý đến tính năng core mà opensource đó đã làm**, chẳng hạn thiết kế database, tương tác giữa các đối tượng, tính năng liên quan đến tính năng core. Sau đó porting tất cả những tính năng core này sang framework mà ta đã lựa chọn ở trên * Việc phát triển này đòi hỏi có nhiều kinh nghiệm về thiết kế database và kiến trúc phần mềm, đồng thời có kinh nghiệm về phát triển template Kinh nghiệm **dev bằng cách update opensource có sẵn để làm sản phẩm chính của mình**: VIệc dev theo hướng này đòi hỏi opensource này có nhiều tính năng tương đồng với trang web mình cần thiết kế. Lúc này sẽ không mất nhiều thời gian về việc thiết kế lại database, code lại những plugin cần thiết cho website, phát triển lại từ đầu các template cho website ==== Experiences about Business ==== Cách nhìn ra cơ hội kinh doanh của người Do Thái để nhìn ra cơ hội kinh doanh mới nhất: * Để nhìn ra được cơ hội, người Do Thái luôn **đoán biết thông tin trước khi nó diễn ra dựa vào các tin tức diễn ra xung quanh mình** -> Chính vì vậy mà người Do Thái luôn nhìn thấy cơ hội kinh doanh trước người khác và chuẩn bị kế hoạch cho cơ hội kinh doanh này * Thường xuyên **rèn luyện kỹ năng dự đoán thị trường**: * Học **kinh nghiệm dự đoán của các bậc tiền bối đi trước** hoặc sách vở * **Quan sát các thông tin liên quan để dự đoán các sự kiện có thể xảy ra**. Khi đoán được sự kiện có thể diễn ra, cần nghiên cứu các cơ hội làm ăn từ nó -> Chuẩn bị kế hoạch kinh doanh cho mình * Tập **rèn luyện kỹ năng tìm thấy cơ hội riêng của mình** trong xu thế riêng của thị trường: Nắm chắc thị trường và các hệ thống liên quan đến nó -> Tìm thấy cơ hội riêng từ cách hiểu và nắm chắc hệ thống này * Hợp tác với những đối tác khác để tạo tiềm lực mạnh hơn trong kinh doanh === Phân tích cơ bản(Thiên về tâm pháp) === Tâm pháp cơ bản nhất về kinh doanh: - **Luôn tập trung vào người dùng** để biết được nhu cầu của họ mà tạo ra sản phẩm. Kế tiếp mới tính đến công nghệ để tạo ra sản phẩm đó. Quy tắc này có mâu thuẫn với việc **chọn cái ta giỏi nhất** để làm sản phẩm? - **Cùng 1 SP**, chúng ta có thể **đa dạng hóa phương thức kinh doanh** để tiếp cận nhiều phân khúc khách hàng khác nhau - **Mục tiêu cơ bản nhất của kinh doanh là gì?**Tạo ra **sản phẩm chất lượng tốt nhất với chi phí thấp nhất** có thể để tăng sự cạnh tranh và thúc đẩy phát triển kinh tế * Chất lượng tốt nhất: Có thể xem sản phẩm của người Nhật, sản phẩm của người Nhật luôn luôn tốt khi ra thị trường. Sản phẩm luôn được kiểm định kỹ càng trước khi ra thị trường. * Chi phí thấp nhất: Có thể xem lợi ích của nền công nghiệp mang lại, khi có máy móc hoặc công nghệ, con người đã tạo ra hàng loạt sản phẩm với chi phí thấp hơn nhiều * Mô hình hoạt động của kinh tế để tạo ra hiệu quả về chi phí: Giống như mô hình của Giaohangnhanh * Tiện ích của máy móc và công nghệ: Giúp việc tạo ra sản phẩm với chi phí thấp hơn nhiều - **Làm thế nào cạnh tranh trong kinh doanh?** Cạnh tranh là một điều không thể tránh khỏi trong kinh doanh, khi sản phẩm của mình ra thị trường và kiếm được nhiều khách hàng, chắc chắn nhiều cá nhân hoặc doanh nghiệp khác sẽ nhòm ngó và muốn kinh doanh sản phẩm tương tự giống mình và có thể tạo ra sản phẩm khác tốt hơn. Vậy làm thế nào để có thể cạnh tranh với đối thủ tiềm lực lớn hơn mình? Lúc này ta mới nhìn lại điểm mạnh và điểm yếu của mình để có thể tồn tại trong môi trường cạnh tranh khốc liệt này, bên cạnh đó cần phải làm thương hiệu để đối thủ đi sau khó có thể chiếm miếng bánh của mình * **Chọn cái mình giỏi nhất**: Ta cần phải biết mình giỏi nhất là gì để có thể định hướng trước phải làm gì, nếu ta đã làm giỏi nhất và làm trong thời gian dài, ai có thể cạnh tranh được ta?Ta chọn cái giỏi nhất của ta làm định hướng: Đó là core value(Giá trị cốt lõi) của doanh nghiệp mà ta muốn tạo ra. Lúc này nếu có doanh nghiệp khác muốn nhòm ngó thì cũng đã chậm và không có thời gian để phát triển. * Chọn sản phẩm: Cái giỏi nhất là đủ nhưng cũng chưa đủ. Phân tích dựa theo ta cái giỏi nhất cho ta thấy có 1 người khác cũng giống ta là chọn sản phẩm này, nhưng họ đi trước ta thì sao? Lúc này ta phải nhìn nhận lại về cách chọn sản phẩm của mình: * Sản phẩm đã có người đi trước nhưng không biết giá trị cốt lõi: **Họ làm sản phẩm này nhưng không phải là cái họ làm giỏi nhất, cái này ta làm giỏi hơn**, dù ta đi sau nhưng ta sẽ tạo ra sản phẩm chất lượng tốt hơn để cạnh tranh(Ta có thể làm ra sản phẩm chất lượng tốt hơn, chi phí thấp hơn) * Sản phẩm ta chọn phải là người tiên phong: **Sản phẩm ta đang chọn chưa có người làm hoặc rất ít người làm**. Ta chọn sản phẩm này để có thể là người đầu tiên chiếm miếng bánh béo bở trên thị trường * **Đường đi nào cho ta khi có doanh nghiệp đã làm sản phẩm này với kỹ thuật tốt và đầy đủ nhân lực cho các mảng khác**, đồng thời đã có một thị trường ổn định(thương hiệu) * Ta cần phân tích doanh nghiệp này để xem doanh nghiệp có phải đã làm tốt nhất sản phẩm của họ theo giá trị cốt lõi hay không? Cần phải hiểu nguồn nhân lực mà công ty đó đang phát triển để biết được giá trị cốt lõi của họ mà đánh giá. Nếu cty không có đội ngũ nhân lực mạnh bằng giá trị cốt lõi của ta, ta có thể join vào thị trường và chiếm một phần miếng bánh này và làm ra sản phẩm tốt hơn họ * Một doanh nghiệp nếu không đi dúng giá trị cốt lõi nếu đi theo mô hình hoạt động này có thể bất đồng bộ về quy trình và tốn chi phí cao khi tạo ra sản phẩm * Một doanh nghiệp nếu không đi dúng giá trị cốt lõi sẽ không làm sản phẩm của họ tốt nhất và chất lượng không tốt nhất * Nếu doanh nghiệp này lớn và có giá trị cốt lõi giống ta khi phát triển sản phẩm này? * Doanh nghiệp **càng lớn càng cồng kềnh và có thể chưa optimize về chi phí hoạt động** và có thể có những bộ phận hoạt động không hiệu quả -> Ta vẫn có cơ hội * Có thể Doanh nghiệp lớn sẽ phát **triển sản phẩm lớn và phù hợp với mô hình của họ, tất nhiên họ sẽ không đi theo hướng giá trị cốt lõi của ta** * Hoặc ta phát triển sản phẩm giống với doanh nghiệp lớn, nhưng ta cần phát triển mạnh sản phẩm này ứng với giá trị cốt lõi của ta và **liên kết với doanh nghiệp khác để bù đắp thiếu soát trong 20% phần còn lại trong lợi thế cạnh tranh của mình**. Chẳng hạn: * **Doanh nghiệp liên kết sẽ care mảng kinh doanh cho ta**(Cổng ứng dụng hoặc cổng game), ta có thể toàn tâm để phát triển mạnh giá trị cốt lõi về kỹ thuật * **Doanh nghiệp liên kết làm 1 phần trong quy trình tạo ra sản phẩm của ta**: Phần cứng, máy móc, hoặc 1 phần là designer trong việc tạo ra logo và trang web cho ta, hoặc sale sản phẩm cho ta...(Vd: Ở brasil có người nghiên cứu ra phát minh về sơn bay hơn, nhưng nhờ 1 nhà máy khác để tạo ra sản phẩm) - **Giảm chi phí và thời gian phát triển sản phẩm trong kinh doanh** * **Có nên mua một phần sản phẩm mà người khác đã phát triển khác hay kg**? Nếu mua một phần sản phẩm người khác đã phát triển sẽ rút ngắn lại được thời gian phát triển ban đầu. Vấn đề ở đây là chọn thời điểm nào để mua sản phẩm đó? * Sản phẩm sẽ được mua khi ta **có một khách hàng nào đó dùng sản phẩm này và ta sẽ bán lại cho họ** dưới một hình thức khác có lợi cho ta. Bài toán ở đây là **trong cùng 1 thời gian, ta sẽ kiếm được bao nhiêu tiền** chứ không phải là ta có làm được hay kg? * Nếu **sản phẩm này nằm trong 1 phần công đoạn tạo ra sản phẩm của ta, nếu ta tự phát triển sẽ mất nhiều thời gian và chi phí hơn**, bởi nó không thuộc về giá trị cốt lõi của ta, ta cần dùng thời gian để phát triển giá trị cốt lõi của mình * Để giảm chi phí, **ta cần làm những gì mà ta nghĩ là ta giỏi nhất và theo hướng đó**, những phần khác **không thuộc về chuyên môn của ta thì để cho người khác làm**, lúc này ta chỉ chọn những người làm tốt và giá cả hợp lý. Lúc này ta mới thấy được vấn đề liên kết hoặc hợp tác trong kinh doanh quan trọng hơn bao giờ hết. Trong trường hợp của ta thì làm như thế nào để phát triển kinh doanh? * Ta có thể nhờ một người khác để kiếm khách hàng cho mình và chia lợi nhuận với họ: Có thể tuyển saler hoặc hợp tác với 1 saler tự do nào đó * Trong thời gian đầu nếu ta chưa có kênh user, có thể tận dụng những nguồn có user hiệu quả làm kênh marketing cho mình * Trường hợp một số khách hàng cần design lại, ta cần hợp tác với một số designer khác để design lại theo yêu cầu của khách hàng, không nhất thiết phải tự làm lại những phần này * Ta có thể tìm kiếm hợp tác với những người làm designer và cần làm backend cho họ để làm ăn lâu dài - Sử dụng công nghệ làm giá trị cốt lõi? Trong khi nhiều website khác ra đời sử dụng các sản phẩm dựa trên template có sẵn, mình cần phải tạo ra dòng sản phẩm dựa theo điểm mạnh là công nghệ để có thể tạo ra sự cạnh tranh tốt hơn: * Phát triển những tính năng mà không có sẵn và được chia sẻ bởi nhiều người * Thông thường những CMS như drupal, wordpress đều tạo website dựa theo mẫu có sẵn -> Không tạo ra website linh động mang tính chất thuần về ứng dụng và sáng tạo riêng, chúng ta cần dùng web framework để tạo ra những website mang tính chất ứng dụng này: zend framework, codeigniter, django. Nói như vậy không có nghĩa là ta không tận dụng những CMS có sẵn để phát triển website, vẫn dùng nó nếu đặc tính website của ta không mang tính chất thuần về web application mà là CMS - Các mô hình hiệu quả khác **bên cạnh việc chọn cái ta giỏi nhất**: * Sản phẩm **tận dụng được nguồn nhân công lao động dồi dào, giá rẻ**: Chúng ta cần phải tính toán và cân đối tài chính để tận dụng triệt để nguồn lao động này để đáp ứng được 2 điều: * Tạo công ăn việc làm cho họ * Giảm chi phí và thời gian phát triển sản phẩm * Sản phẩm được tạo ra **dựa trên sự tính toán chi phí và lợi nhuận mang lại**, có thể mua đi bán lại nhưng cần phải có một mô hình hoàn chỉnh để tối ưu hóa lợi nhuận: * Có thể mua lại sản phẩm đã được phát triển và mang về kinh doanh: Mua game online về và vận hành * Sản phẩm đã có một phần source code có sẵn, chúng ta cần phải có thời gian phát triển và vận hành để tạo ra sản phẩm sớm nhất có thể * Dựa vào phân tích **lượng tiền đầu tư**: Nếu số tiền đầu tư càng lớn thì số lượng người đầu tư càng ít, lúc này cũng là một rủi ro nhưng đồng thời cũng là cơ hội lớn cho ta nếu đầu tư và tính toán hiệu quả * Mô hình 4P: Một công ty sản xuất ra sản phẩm(**product**) thích hợp, định ra giá cả(**Price**) phù hợp, với kênh phân phối(**Place**) thích hợp, đồng thời có các hoạt động thúc đẩy việc tiêu thụ hàng hóa(**Promotion**) phù hợp => Không có sản phẩm nào là không thể bán được dựa theo mô hình này, vấn đề là chọn mô hình phù hợp cho nó mà thôi - Kinh nghiệm về mua bán và tìm kiếm: * Một sản phẩm mà có nhiều người mua trên mạng, chắc chắn sản phẩm đó sẽ có một vài người nào đó sẽ share nó, chúng ta cần chịu khó search để tìm ra nó * Việc tìm kiếm có thể phân ra nhiều hướng liên quan khác nhau để tìm ra vấn đề, nhưng trong đầu phải có đầu óc phán đoán vấn đề liên quan đó mà tìm kiếm, chẳng hạn việc tìm kiếm trang chia sẻ sản phẩm thương mại là template trên themeforest chẳng hạn - Tại sao cũng là nghe nhạc mà nhaccuatui và mp3.zing.vn lại sử dụng 2 định dạng giao diện người dùng khác nhau? Cả 2 đều có kho nhạc phong phú, lúc này sẽ là vấn đề cạnh tranh thu hút user về trang của mình * Ứng với mỗi giao diện sẽ thu hút một tầng lớp người thích giao diện đó * Ứng với mỗi tính năng mới hay ứng dụng đề thu hút lượng user tương ứng - Cách học hỏi ý tưởng kinh doanh? * Học hỏi từ những sản phẩm mà người khác kinh doanh * Học hỏi những kỹ thuật hiện hành từ những ý tưởng kinh doanh đó của họ - Những giá trị mang lại trong việc dùng đồng tiền(dùng người) hiệu quả để mang lại giá trị trong kinh doanh: * Việc **dùng người hiệu quả sẽ giảm chi phí trong kinh doanh**, khi cái đó ta làm kg tốt, nếu dùng người khác thì sẽ tạo ra sản phẩm hiệu quả tốt hơn -> Tính theo về **giá trị đồng tiền trong 1 giờ tạo ra của mỗi người** * Khi **dùng người khác làm việc cho mình sẽ tăng tiến độ công việc** -> Ta sẽ làm được nhiều việc hơn * Từ 2 yếu tố trên, ta sẽ tạo ra nhiều sản phẩm chất lượng hơn cho khách hàng -> **Tạo ra sản phẩm chất lượng và giá trị với chi phí thấp**. Và việc **tạo ra càng nhiều sản phẩm, sẽ mang lại cho ta nhiều giá trị thặng dư tương ứng** * Nếu ta vẫn không thay đổi lối tư duy suy nghĩ trong việc tự làm mọi thứ cho công việc của mình, đồng nghĩa với cách nghĩ khi mình làm việc đó lỡ thất bại thì không mất chi phí, chỉ mất công sức. Đó là một tư tưởng sai lầm, công sức của ta đều có thể quy đổi ra tiền, những công sức đó mất đi, có nghĩa là tiền của ta cũng mất đi và mất nhiều là đằng khác -> Mọi thứ nên quy đổi ra tiền để làm đơn vị trao đổi và sử dụng sức lao động cho hiệu quả === Phân tích dựa trên thực tế đến lý thuyết === Tại sao nhiều công ty như Dịch vụ giống giao hàng nhanh, Bảo Tâm, Vhost.vn **ra sau nhưng không đủ tầm lớn vẫn có thể chen chân vào thị trường** và hoạt động được?Tại sao nhiều nhà kinh doanh **biết sản phẩm ABC đã tồn tại trên thị trường nhưng vẫn quyết bỏ chỉ phí và chen chân đầu tư** vào lĩnh vực mà đã có nhiều tay to đầu tư?**Cơ hội nào cho những người đi sau, làm sau chen chân cạnh tranh với những ông lớn hơn mình** để có thể tạo công ăn việc làm và góp phần phát triển kinh tế? * Về Bảo Tâm, về giá thành thì cũng kg rẻ hơn nhiều so với Phong Vũ, Hoàng Long, nhưng Bảo Tâm có ưu điểm gì để tồn tại? - Vị trí địa lý: Phong Vũ, Hoàng Long dù gì cũng quá xa đối với những khách hàng gần khu vực của Bảo Tâm mở văn phòng, việc mua máy ở Bảo Tâm và kêu Bảo Tâm bảo trì cũng sẽ nhanh hơn - Chất lượng dịch vụ của Bảo Tâm tốt hơn: Nhân viên đến tận nơi để xử lý sự cố cho khách hàng. Việc bảo trì bảo hành ở Bảo Tâm cũng nhanh hơn khi mà Phong Vũ, Hoàng Long luôn quá tải - Chia hoa hồng: Ở các cty lớn rất khó mà thỏa thuận hoa hồng như thế này vì mọi thứ đều theo quy trình, trong khi ở Bảo Tâm thì việc này quá dễ dàng -> Phần khúc các nhân viên cty kêu Bảo Tâm bán máy, bảo trì máy tính cho cty của họ và nâng giá khống * Từ thực tế của Bảo Tâm ta có thể thấy được Bảo Tâm vẫn có thể tồn tại và phát triển được đều bắt nguồn từ **nhu cầu của khách hàng**: - Vị trí địa lý: Một số khách hàng có thói quen đi đến địa điểm gần nhất để mua sản phẩm hoặc dịch vụ - Chất lượng dịch vụ: Một số người kỹ thuật cty khi đi mua máy ở Phong Vũ, Hoàng Long lại có cảm giác đợi chờ quá lâu hoặc đi xa, trong khi mua ở Bảo Tâm có thể bằng 1 cú điện thoại mà sản phẩm đến tận nơi. Hoặc khi sản phẩm của họ hư và có sự cố, việc gọi Bảo Tâm đến sẽ được phục vụ tốt hơn trong khi đó nếu mua máy ở Phong Vũ, Hoàng Long lại phải đợi chờ để mà xử lý sự cố - Chia hoa hồng: Việc chia hoa hồng cũng bắt nguồn từ nhu cầu của nhân viên trong cty hoặc ngay cả các sếp muốn rút ruột cty bằng cách hợp thức hóa các hóa đơn thanh toán khi mua sản phẩm và dịch vụ Tóm lại, mọi phân tích đều quy về giá trị duy nhất là nhu cầu của khách hàng, có thể những **chiến lược kinh doanh của ta thay đổi đều học từ phản ứng của khách hàng** để mà sản phẩm và dịch vụ ngày càng tốt hơn và chiếm phân khúc thị trường đó về phía mình, nói nôm na là có thể **một số khách hàng dạy cho mình biết được có phân khúc đó tồn tại** và ta có thể tìm cách tiếp cận phân khúc này tốt hôn => Từ yếu tố này mà ta có thể nghĩ rằng khi làm sản phẩm kg cần phải suy nghĩ quá nhiều hoặc focus quá nhiều vào kỹ thuật, **ta cần cho sản phẩm đó ra thị trường và dựa theo phản ứng của khách hàng để biết được nhu cầu thực sự của một số phân khúc khác nhau và tiếp cận phân khúc đó cho tốt** === Tìm hiểu nhu cầu của khách hàng === Ta có thể tìm thấy được nhu cầu thực sự của khách hàng dựa vào các nguồn thông tin sau: * Tìm hiểu các sản phẩm, dịch vụ mà một số công ty trong nước và nước ngoài cung cấp * Đọc các diễn đàn trao đổi hoặc hỏi đáp * Tìm hiểu các thông tin thay đổi trong công nghệ hoặc thay đổi khác để biết được xu thế của thị trường và tạo ra sản phẩm để đi theo xu thế thay đổi -> Update công nghệ và các sản phẩm mới thông qua các tính năng feed tin tức của website, mạng xã hội * Tìm hiểu các tính năng của các website khác * Tìm hiểu các dự án đang phát triển thông qua các request job để biết xu thế phát triển sản phẩm -> Tạo sản phẩm tương tự cho mình === Tìm hiểu chiến lược kinh doanh của đối thủ === === Tại sao phải lên kế hoạch === Việc lên kế hoạch phát triển là vấn đề quan trọng mà ta cần phải làm bởi các lý do sau: - Lên kế hoạch giúp ta hình dung được công việc cụ thể cần phải làm để hiểu rõ sản phẩm mà ta cần làm: * Liệt kê công việc cần phải làm để tạo ra sản phẩm * Đầu ra cho sản phẩm -> Chi phí và lợi nhuận mang lại khi phát triển sản phẩm * Phương hướng phát triển lâu dài - Khi có chi tiêt về kế hoạch, ta có thể chia công việc của mình ra thành các phần nhỏ để người khác làm SP của ta để đạt được các mục đích sau: * Tối ưu chi phí khi chia những việc nhỏ cho những lao động chi phí thấp làm nó * Hoặc tối ưu chi phí khi một phần công việc đã được làm và bán với chi phí thấp bởi cá nhân hoặc doanh nghiệp nào đó * Tăng tốc thời gian phát triển khi công việc được chia nhỏ và làm song song bởi nhiều người khác nhau - Khi có chi tiết kế hoạch, ta tính toán được chi phí và lợi nhuận của sản phẩm -> Có quyết tâm và dành riêng thời gian cho nó để hoàn thành, hoặc bỏ tiền ra để người khác làm 1 số phần việc khác trong sản phẩm === Chọn Sản Phẩm === Sản phẩm ra đời bắt nguồn từ nhu cầu thực tế bên ngoài của cá nhân hoặc doanh nghiệp. Từ nhu cầu đó, chúng ta tạo SP để đáp ứng cho họ -> Ra đời SP. Cách nghĩ để chọn sản phẩm phát triển: * Sản phẩm không nhất thiết phải quá lớn, vừa đủ tầm nhưng đáp ứng nhu cầu của 1 nhóm KH tiềm năng nào đó * Sản phẩm vừa sức với bản thân -> đủ để tạo ra luồng tiền cho mình. Nếu có luồng tiền ổn định, chúng ta sẽ dùng tiền đó để tái đầu tư để biến nó thành sản phẩm lớn * Việc chọn 1 sản phẩm phù hợp sao lại quá khó với bản thân ta? * Nếu chọn 1 sản phẩm giống người khác đã phát triển ở nước ngoài và kinh doanh ở nước ngoài -> Sản phẩm không có gì mới mẻ khi đầu tư ở nước ngoài * Nếu chọn 1 sản phẩm giống người khác đã phát triển ở nước ngoài và kinh doanh ở VN -> Không có phân khúc KH phù hợp * Tự nghĩ ra sản phẩm phù hợp với thị trường VN -> Quá khó vì không có kinh nghiệm va chạm thực tế * Phát triển 1 SP có nhu cầu thực tế, chẳng hạn Chứng Khoán, nhưng muốn phát triển nó phải tìm ra được thuật toán cực kỳ tốt thể hiện chiến lược đầu tư lướt sóng hiệu quả(**Phải nắm và hiểu rõ tất cả các chiến lược đầu tư lướt sóng hiện tại**) -> **Ta cần phải sáng tạo ra những đặc trưng riêng cho mình khi phát triển SP** * Có thể làm **giống các SP khác trên thị trường, nhưng nếu ta có tiếp cận KH tốt** -> Vẫn có user ghé thăm website của ta thường xuyên -> kiếm tiền quảng cáo * Vì ta mới tiếp cận SP và chưa phát triển bao giờ -> Có tâm lý sợ và không tự tin khi phát triển SP đó cạnh tranh với các SP đã tồn tại * Đến ngay thời điểm hiện tại ta chưa chọn và phát triển sản phẩm nào cho riêng mình để kinh doanh -> Chưa có kinh nghiệm về vấn đề này. Vì vậy ta có thể **chọn 1 SP để phát triển hoàn thiện và kinh doanh**, dù **kg kiếm được nhiều tiền nhưng SP này giúp ta tự tin và có nhiều kinh nghiệm hơn** * Làm sao ta có thể ngộ ra được con đường cho riêng mình và chọn sản phẩm phù hợp? ==== Chiến lược phát triển sản phẩm ==== Việc phát triển sản phẩm kg nhất thiết phải làm sản phẩm lớn trước, có thể làm sản phẩm nhỏ hơn để thời gian ra mắt sản phẩm nhanh hơn. Sau đó dùng nền tảng công nghệ của sản phẩm nhỏ để phát triển sản phẩm khác tương tự nhưng tầm vóc lớn hơn -> Chiến lược lấy ngắn nuôi dài\\ Phát triển sản phẩm dựa trên tâm niệm mang lại **lợi ích miễn phí cho cộng đồng** hoặc **tối thiểu là lợi ích cho mình** để có thể nảy sinh ra ý tưởng về phát triển sản phẩm hoặc có niềm tin để phát triển nó tới cùng\\ Hiện tại ta chưa có một **chuyên môn khác** ngoài việc dev để phát triển ý tưởng sản phẩm. Chuyên môn đó có thể là Chứng khoán, Trí tuệ nhân tạo...Một số lĩnh vực khác họ kg có kiến thức về CNTT nên việc phát triển sản phẩm dựa trên nền tảng đó sẽ ít người phát triển hơn\\ **Phải xác định được sản phẩm cần phát triển là gì**? Việc **tìm hiểu quá nhiều công nghệ không phải là điểm tốt vì chiếm nhiều thời gian của chúng ta**, tất cả công nghệ đều đạt mục đích cuối cùng là sản phẩm, đôi lúc sản phẩm ra đời kg phải focus quá nhiều về công nghệ mà tập trung vào nhu cầu thực tế mà tạo ra sản phẩm có ích cho người dùng. Đôi lúc công nghệ ta nghiên cứu chẳng có ứng dụng thực tế ở VN thì công nghệ đó chỉ là vô ích, trong khi đó biết bao nhiêu công ty ở VN vẫn làm những công việc bình thường, không phải tiêu tốn quá nhiều thời gian vào công nghệ, họ chỉ tiêu tốn thời gian trên sản phẩm thực tế mà mang lại lợi nhuận thiết thực cho họ. Vì vậy chi phí họ bỏ ra đạt lại hiệu quả lợi nhuận cho sản phẩm họ đang kinh doanh chứ không phải bỏ ra chi phí nghiên cứu lại không sử dụng những thành quả nghiên cứu đó\\ Tất cả những yếu tố trên đều phụ thuộc vào điểm yếu duy nhất là **không nhìn ra được luồng tiền**, chính vì chưa có kinh nghiệm trong kinh doanh, chưa có kinh nghiệm vận hành thực tế nên không nhìn ra được luồng tiền này\\ Việc phát triển sản phẩm **không cần phải làm nhiều thứ mà có thể làm 1 phần nào đó nhưng mang lại lợi ích thực sự cho luồng tiền của mình**, chẳng hạn ta có thể làm công cụ trading tự động khi giá chứng khoán đạt giá mục tiêu ==== Đầu tư ==== refer: http://www.gocnhinalan.com/bai-tieng-anh/nhung-bai-hoc-lam-giau.html Tất cả ý tưởng đều đạt cho mục đích là dùng tiền để tạo nên tài sản cho mình, đồng tiền này khi được sử dụng sẽ tự tạo ra lợi nhuận và không ảnh hưởng đến thời gian của ta === Người giàu không làm việc để kiếm tiền, họ bắt tiền làm việc cho họ === Luôn suy nghĩ, quan sát để tìm ra những cơ hội làm ra tiền vốn luôn hiện hữu chung quanh chúng ta. Tuy vậy, nhiều người nghèo không nhìn thấy những cơ hội này bởi vì họ đang bận rộn và quan tâm đến việc kiếm tiền, và sự đảm bảo trong công việc. === Tại sao người giàu phải học về tài chính === Nhiều bài học thực tiễn cho chúng ta thấy rằng việc chúng ta kiếm được bao nhiêu tiền không quan trọng bằng chúng ta giữ được bao nhiêu tiền và làm cho nó sinh sôi nảy nở: * Quy tắc thứ nhất về tài chính của người giàu là chỉ mua tài sản chứ không mua tiêu sản * Người giàu hầu như không có thu nhập từ lương. Thay vào đó, họ có nguồn thu nhập từ các tài sản mà họ đã đầu tư: lợi nhuận từ kinh doanh, tiền cho thuê, cổ tức, trái tức, tiền lãi từ việc bán lại tài sản. === Người giàu quan tâm đến việc kinh doanh của chính mình. === **Nhiều người nhầm lẫn giữa nghề nghiệp chuyên môn và việc kinh doanh**. Ray Kroc – chủ chuỗi nhà hàng McDonald’s – đã phân biệt rất rõ: bán nhượng quyền kinh doanh hamburger chỉ là công việc chuyên môn của ông, còn việc kinh doanh của ông chính là bất động sản. Những địa điểm được ông chọn để mở cửa hàng McDonald’s luôn là những chỗ “đắc địa” và có giá tăng lên theo thời gian. **Người nghèo và trung lưu thật ra là đang làm công việc chuyên môn**, chứ không phải làm kinh doanh. Thật sự thì họ đang làm chuyên môn cho công việc kinh doanh của những ông chủ, và góp phần làm cho ông chủ giàu lên. === Nên thuê hay mua mặt bằng kinh doanh và cách định giá === Kiến thức cơ bản về mặt bằng thuê và mặt bằng mua: - Vốn đầu tư ban đầu: * Mặt bằng thuê ở chợ: chiếm một khoản tiền đầu tư ban đầu khi sang mặt bằng, bao gồm một phần **tiền đóng thế chân**, một phần tiền khác là **tiền bù thêm cho chủ sạp** dựa vào giá trị tiềm năng mua bán của chợ. Mặt bằng thuê ở chợ không khác gì việc thuê mặt tiền, chỉ khác là có tiền thế chân nhiều hơn tiền thế chân ở mặt tiền * Mặt bàng thuê ở mặt tiền: Cũng có tiền thế chân giống như ở chợ nhưng chiếm tỉ trọng thấp so với chợ, và **kg có phần tiền bù thêm cho người đang thuê mặt bằng khi sang** * Mặt bằng mua: Việc mua mặt bằng chiếm lượng tiền mặt khá lớn khi đầu tư, cần phải cân nhắc kỹ khi mua mặt bằng - Định giá mặt bằng: Để định giá mặt bằng, ta cần quy tất cả mặt bằng về **mức tiền tiêu phí hàng tháng**/m2 * **Mặt bằng thuê ở chợ**: Giả sử mặt bằng ở chợ khi sang là 60tr, và chi phí đóng hàng tháng là 700k. * Hiện tại 60tr nếu bỏ ngân hàng sẽ được tiền lãi là 60tr*0.5% = 300k một tháng, vì vậy xem như phí thuê mặt bằng ở chợ là 700k+300k = 1tr * Và mặt bằng ở chợ có diện tích 1.7*3.2 = 6m2, xem như phí thuê hàng tháng là 1tr/6 = **160k/m2** * Mặt bằng thuê ở mặt tiền đường: Giả sử mặt đường thuê 4tr/m2 cho mặt tiền 4mx10m = 40m2, xem như chi phí cho thuê của mặt tiền là 4tr/40m2 = **100k/m2** * Mặt bằng mua: Giả sử mua mặt bằng mua khoảng 1tỉ với diện tích 40m2(và với diện tích 4x20=80m2 là 2 tỉ) * 1 tỉ nếu bỏ ngân hàng thì một tháng kiếm được 1tỉx0.5% = 5tr với mức lãi suất hiện tại là 0.5%/tháng * Và với mức diện tích 40m2, thì mỗi tháng xem như mặt bằng này được định giá là 5tr/40m2 = **125k/m2** Vậy nên lựa chọn thuê mặt bằng chợ, mặt tiền hay là mua mặt bằng? Việc lựa chọn này cần phải cân nhắc rõ ràng và phân tích lợi thế của mỗi loại: - Về việc thuê hay mua mặt bằng? * Việc thuê mặt bằng có thể linh động trong việc tìm kiếm mặt bằng mới khi việc kinh doanh kg thuận lợi * Việc thuê mặt bằng được xem như là một khoản vay mượn người chủ mặt bằng và trả lãi hàng tháng cho họ, vì thế có thể làm giảm đi vốn đầu tư ban đầu * Việc thuê mặt bằng bị hạn chế khi chủ nhà đòi lại mặt bằng đang làm ăn thuận lợi hoặc tăng giá mặt bằng - Mặt bằng chợ và mặt tiền: * Mặt bằng chợ kg thể tận dụng được việc mua bán vào buổi tối so với mặt tiền * Mặt bằng chợ cũng là cho thuê nhưng nhà đầu tư phải mất một số vốn đầu tư ban đầu lớn hơn là thuê mặt tiền * So với một số khu không thuận lợi trong chợ, mặt tiền chắc chắn sẽ chiếm lợi thế nhiều hơn, khi mà hàng ngày đều có lượng người qua lại lớn hơn trong chợ * Mặt tiền có thể thuê được một số vị trí mà chủ nhà cho ở lại mặt tiền -> thuận lợi hơn là thuê mặt bằng chợ * Mặt bằng chợ tiết kiệm chi phí cho việc đầu tư nhỏ với kích thước nhỏ, nhưng nếu tính theo đơn vị m2, mặt bằng chợ có giá thuê trên m2 cao hơn mặt tiền ===== Khắc phục nhược điểm ===== Suy nghĩ quá nhiều cũng không tốt, chỉ cần chú ý đến một điểm là mọi sản phẩm đều có thể tiêu thụ được, tất cả đều tuân theo nguyên tắc marketing 4P. - **Mất quá nhiều thời gian tìm hiểu lý thuyết** của một vấn đề nhưng không action tức thời -> Vẫn còn tư tưởng nặng nề về lý thuyết: * Những kiến thức ta tìm hiểu là lý thuyết và không có thực hành -> Mất nhiều thời gian tìm hiểu và gây mệt mỏi trí não khi tìm hiểu nhiều lý thuyết * Có thể dự án mà ta cần làm không cần đến kiến thức mà ta tìm hiểu -> **Làm tới đâu tìm hiểu tới đó, chỉ cần tìm hiểu bản chất lý thuyết này có giải quyết được bài toán của ta là OK** - **Mất nhiều thời gian lựa chọn công nghệ**: * Mỗi công nghệ đều có ưu điểm và nhược điểm, việc tìm hiểu nhiều công nghệ gây lãng phí thời gian nghiên cứu -> **Nếu ta đã chuyên và rành một công nghệ nào đó thì nên action theo công nghệ đó để thực hiện tạo ra những sản phẩm của mình** * Việc chọn công nghệ nên đi theo hướng tìm kiếm** mỗi công nghệ có những opensource nào** -> Nếu có opensource về một sản phẩm phù hợp với mục đích của ta -> ta nên lựa chọn công nghệ đó để tìm hiểu và phát triển sản phẩm - Chưa tập trung phân tích ưu điểm, nhược điểm của một website hoặc sản phẩm của người khác - Chưa tính được chi phí và lợi nhuận mang lại cho một webíte khi chuẩn bị đầu tư - Chưa tận dụng được và tích hợp nhiều opensource khác nhau và biến nó thành sản phẩm của mình, chúng ta có các tiền đề có sẵn gồm: * opensource có sẵn * Nhu cầu của người dùng: cá nhân, tổ chức, công ty.... * Liệt kê được các sản phẩm đã có trên thị trường internet Việt Nam - **Kỹ năng quản lý thời gian kém**: * Ngồi vào máy tính mà không biết làm gì? Muốn làm cái này mà không thể làm được vì đang nghĩ đến cái khác? Hoặc đang ngồi làm cái này, nhưng đầu óc lại nghĩ đến cái khác chưa làm xong, hoặc phải hoàn thành sớm? -> Lên kế hoạch trong tuần của bạn: Bạn dành một số thời gian vào đầu tuần để lên kế hoạch làm việc cho mình, giúp tăng năng suất của bạn và cân đối các dự án dài hạn quan trọng với những công việc cấp bách hơn * Sử dụng trí nhớ của bạn để nhớ quá nhiều chi tiết dẫn đến bạn bị quá tải thông tin -> Khắc phục: Viết ra mọi thứ * **Mất nhiều thời gian trong những công việc không quan trọng** -> Khắc phục: Đừng Là người quá cầu toàn, bạn đừng nên dành thời gian nhiều hơn một vài phút để làm điều đó không quá quan trọng * **Mang tâm lý của người hùng khi ôm đồm tất cả mọi việc** và không chia việc cho người khác, vì vậy mất nhiều thời gian khi làm công việc của người khác -> Khắc phục:Đừng làm việc của người khác, học cách giao việc một cách hiệu quả, và dạy người khác làm thế nào để họ làm công việc của họ * **Hứa hẹn quá nhiều**, lúc đó bị quá tải vì có quá nhiều việc -> Khắc phục: Hãy học cách nói “không” với những yêu cầu có mức ưu tiên thấp, và bạn sẽ có nhiều thời gian để làm những việc quan trọng hơn. ===== Thuê người và cách quản lý ===== Tại sao phải thuê người khác làm việc cho mình? Và khi thuê người thì làm cách nào để quản lý họ? ==== Tại sao phải thuê người ==== Khi chúng ta phát triển một sản phẩm bất kỳ, nếu theo mô hình kinh tế hiện tại, để tạo ra sản phẩm chúng ta cần phải tuân thủ theo mô hình 4P(Product, People, Place, Promotion) -> Nếu tuân thủ theo mô hình này khối lượng công việc chúng ta sẽ nhiều -> Vì vậy phải có người tương ứng để làm công việc chuyên môn tương ứng: * Tăng tiến độ của công việc khi chúng ta chia đều task này cho mỗi người * Giảm chi phí và tăng hiệu quả công việc khi chúng ta dùng những người chuyên môn nhưng làm đúng công việc của họ. Chẳng hạn nếu ta làm việc Phân phối(place) thì không thể nào hiệu quả bằng người chuyên làm việc đó và phải mất nhiều thời gian tìm hiểu, trong khi đó cũng với thời gian ấy, ta làm phần Sản Phẩm(Product) sẽ mang lại giá trị cao hơn, và tốt hơn nữa ta biết chia việc đó ra thành nhiều công việc lặt vặt đòi hỏi chuyên môn thấp -> sẽ giảm chi phí con người * Từ 2 giả thiết trên, chúng ta có thể tăng tiến độ công việc và tạo ra sản phẩm chi phí thấp và hiệu quả cao -> Sản phẩm mang giá trị cạnh tranh nhất định trên thị trường, không chỉ về giá mà còn về chất lượng, và ta có thể tạo ra nhiều sản phẩm hơn nên sẽ mang giá trị thặng dư nhiều hơn * Còn nếu chúng ta vẫn không thay đổi lối tư duy cầu toàn, bản thân ta đều có thể học và làm được những công việc đó -> ta có thể làm được, nhưng nếu** quy đổi ra tiền về công sức bỏ ra thì sản phẩm của ta mang chi phí cao hơn nếu quy đổi ra tiền trên 1 giờ lao động**, và **vì không chia việc nên ta làm sản phẩm đó sẽ kéo dài thời gian hơn**, đó là một sự thật không thể chối cãi được ==== Cách quản lý và sử dụng người ==== Cách chia việc và dùng người là một cách hiệu quả nhất để mang lại sản phẩm giá trị trong kinh doanh, nó là một thủ thuật làm kinh tế để làm giảm chi phí và tăng chất lượng sản phẩm. Nhưng nếu đi vô chi tiết thì việc dùng người để đạt được giá trị lao động hiệu quả như vậy không phải việc dễ dàng nếu ta quản lý không tốt. Có 2 loại người mình dùng để làm việc cho mình: * Dịch vụ chuyên nghiệp làm việc cho mình: Chẳng hạn theo mô hình 4P, ta chỉ làm sản phẩm(Product), nhưng có những người khác làm việc khác cho mình trong khâu 3P còn lại là giá cả(Price), phân phối(place), quảng bá(Promotion). Trong trường hợp hợp tác lâu dài, ta có thể xem dịch vụ này là người chuyên cung cấp cho mình với giá sỉ, do đó giá thành khi làm việc với mình sẽ giảm hơn -> tạo ra giá trị thặng dư trong việc sử dụng dịch vụ khác. Với dịch vụ chuyên nghiệp này, có thể là cá nhân hoặc công ty làm việc cho mình, nếu mình tìm đúng nguồn, có thể tìm được dịch vụ làm việc hiệu quả và chuyên nghiệp * Người của mình chuyên làm việc cho mình: Việc thuê người để làm việc đó trừ khi công việc đó lặp đi lặp lại và đúng chuyên môn của người đó -> Xem như là người cung cấp hàng độc quyền cho mình với giá sỉ Đối với việc sử dụng dịch vụ hay người của mình đều phải có cơ chế quản lý hợp lý để công việc đạt được chất lượng hiệu quả nhất, đó là vấn đề kg hề đơn giản Đối với dịch vụ chuyên nghiệp làm việc cho mình: * Phải có cơ chế chiết khấu % so với giá làm dịch vụ đơn lẻ trên mạng * Phải có cơ chế bảo hành, bảo trì giống như là đổi trả hàng trong một khoản thời gian nhất định ===== Quản lý thời gian ===== " Thời gian là vàng" , không ai có thể níu giữ hoặc kéo dài quỹ thời gian của mình. Vì vậy, việc quản lý thời gian hiệu quả là vấn đề đáng lưu tâm của mỗi người. Nó đòi hỏi phải có sự cố gắng và kiên trì để bạn có thể làm chủ được thời gian của mình và hoàn thành tốt các mục tiêu đã đề ra. Không biết bạn có bao giờ gặp tình hình kiểu thế nầy: * Ngồi vào máy tính mà không biết làm gì ? * Muốn làm cái này mà không thể làm được vì đang nghĩ đến cái khác? * Hoặc đang ngồi làm cái này, nhưng đầu óc lại nghĩ đến cái khác chưa làm xong, hoặc phải hoàn thành sớm? Kết quả là 1 ngày bạn chả làm được cái gì cả, thậm chí có khi 1 tuần mà công việc vẫn không tiến triển được, rất nhiều dự định nhưng không hoành thành thật là chu đáo được -> Nguyên nhân chính của nó chính là do làm việc không có kế hoạch cụ thể, không biết cách sắp xếp thời gian trong ngày ==== 15 mẹo quản lý thời gian ==== Dưới đây là 15 mẹo quản lý thời gian thiết thực nhất giúp bạn có thể bắt đầu ngay từ bây giờ. - **Viết ra mọi thứ**: Lỗi phổ biến của quản lý thời gian đó là cố gắng sử dụng trí nhớ của bạn để nhớ quá nhiều chi tiết dẫn đến bạn bị quá tải thông tin. Phương pháp sử dụng danh sách việc cần làm để viết ra mọi thứ là một **cách rất tuyệt để kiếm soát các dự án và công việc của ban, khiến bản thân bạn sắp xếp có tổ chức hơn**. - **Sắp xếp thứ tự yêu tiên cho danh sách của bạn**: Sắp xếp thứ tự ưu tiên cho danh sách việc cần làm của bạn sẽ **giúp bạn tập trung và dành nhiều thời gian vào những việc thật sự khó khăn**. Đánh giá các công việc của bạn theo thứ tự, sử dụng hệ thống sắp xếp thứ tự theo ABCD được diễn giải trong các khóa học về quản lý thời gian. - **Lên kế hoạch trong tuần của bạn**: Bạn dành một số thời gian vào đầu tuần để lên kế hoạch làm việc cho mình. Dành ra chút ít thời gian để **lập kế hoạch sẽ giúp tăng năng suất của bạn và cân đối các dự án dài hạn quan trọng với những công việc cấp bách hơn**. Mọi thứ bạn cần là 15 đến 30 phút mỗi tuần để họp về kế hoạch làm việc của bạn. - Mang theo một quyển sổ nhỏ: Bạn không bao giờ biết khi nào thì bạn sẽ có những ý tưởng lớn hoặc sự thông thái sáng suốt. Vì vậy, bạn nên mang theo một quyển sổ nhỏ để khi đi tới đâu bạn cũng có thể ghi lại được suy nghĩ của mình. Nếu bạn để thật lâu mới viết ra suy nghĩ của mình, thì bạn có thể sẽ quên mất. Một cách khác đó là bạn sử dụng máy ghi kỹ thuật số. - **Hãy học cách nói “không “**: Do hứa hẹn quá nhiều, nhiều người bị quá tải vì có quá nhiều việc; họ nói “có” trong khi đáng lẽ ra họ phải nói “không”. Vì vậy, bạn **hãy học cách nói “không” với những yêu cầu có mức ưu tiên thấp, và bạn sẽ có nhiều thời gian để làm những việc quan trọng hơn**. - Suy nghĩ trước khi hành động: Bao nhiêu lần bạn nói “có” với một số việc, và sau đó bạn lại cảm thấy hối tiếc? Vì vậy trước khi hứa hẹn làm một công việc mới, bạn hãy ngừng lại để suy nghĩ một chút trước khi đưa ra câu trả lời của mình. Điều này sẽ tránh cho bạn khỏi bị làm quá nhiều việc. - Không ngừng nâng cao bản thân: Bạn nên dành thời gian trong kế hoạch làm việc của bạn để học những điều mới và phát triển khả năng cũng như tài năng bẩm sinh của bạn. Ví dụ, bạn có thể đăng ký một lớp học, tham gia một chương trình đào tạo, hoặc đọc một cuốn sách. Không ngừng nâng cao kiến thức và kỹ năng của bạn sẽ tăng khả năng tìm việc của bạn, giúp bạn nâng cao sự nghiệp, và là một hướng đi đáng tin cậy nhất để trở thành người độc lập về tài chính. - Hãy suy nghĩ về những gì bạn sẽ từ bỏ để làm những công việc hàng ngày của bạn: Sẽ là rất tốt nếu bạn thường xuyên đánh giá cách thức bạn sử dụng thời gian. Trong một số trường hợp, điều tốt nhất bạn có thể làm là ngừng làm một hoạt động nào đó không còn có ích cho bạn nữa, để dành thời gian làm những hoạt động khác có ích hơn. Bạn hãy cân nhắc những việc bạn có thể từ bỏ để có thể tiếp tục thực hiện những công việc hiện tại của bạn. - Sử dụng hệ thống quản lý thời gian: Sử dụng hệ thống quản lý thời gian có thể sẽ giúp bạn theo dõi mọi việc bạn cần làm, tổ chức và sắp xếp thứ tự công việc của bạn, phát triển những kế hoạch khả thi để hoàn thành nó. Một hệ thống hợp nhất sẽ giống như chất keo dính gắn chặt các phương pháp quản lý thời gian tốt nhất với nhau. - Nhận ra các thói quen xấu: Bạn nên lập ra danh sách các thói quen xấu tiêu tốn thời gian của bạn, phá hủy mục tiêu của bạn và hạn chế thành công của bạn. Sau khi lập xong danh sách, bạn hãy tập loại bỏ từng thói quen một và loại bỏ các thói quen một cách có hệ thống ra khỏi cuộc sống của bạn. Bạn hãy nhớ rằng cách tốt nhất để loại bỏ một thói quen xấu là thay thế nó bằng một thói quen tốt. - **Đừng làm việc của người khác**: Bạn có thói quen làm việc hộ người khác bởi vì bạn mang tâm lý của “người hùng” hay không? Nếu bạn làm như thế, bạn sẽ tốn rất nhiều thời gian của bạn. T**hay vào đó, bạn hãy tập trung vào những dự án và mục tiêu của chính bản thân bạn, học cách giao việc một cách hiệu quả, và dạy người khác làm thế nào để họ làm công việc của họ**. - Ghi nhật ký về mục tiêu của bạn: Thời gian làm việc nhằm mục đích lập và đánh giá các mục tiêu của bạn. Ban đầu, bạn hãy ghi ra mục tiêu của bạn, sau đó bạn viết quá trình thực hiện của bạn đối với từng mục tiêu. Nhìn lại nhật ký mục tiêu hàng tuần và đảm bảo bạn vẫn đang đi đúng hướng. Lưu giữ nhật ký trong máy tính của bạn không bao giờ là điều dễ dàng cả! - Đừng là người cầu toàn: Một vài công việc yêu cầu bạn phải cố gắng hết sức. Ví dụ, khi gửi một email ngắn tới đồng nghiệp, bạn đừng nên dành thời gian nhiều hơn một vài phút để làm điều đó. Bạn hãy học cách phân biệt giữa những công việc cần phải hoàn thành một cách xuất sắc với những công việc chỉ cần làm được mà thôi. - **Nhận biết những công việc “lấp chỗ trống”**: Khi bạn có danh sách những việc cần làm với rất nhiều việc quan trọng, bạn hãy thận trọng để **không bị rối trí bởi những công việc “lấp chỗ trống”. Những công việc đã được sắp xếp trong sổ hoặc trong giấy tờ của bạn có thể đợi tới khi bạn giải quyết những công việc có thứ tự ưu tiên cao nhất**. - Tránh không rơi vào “những cái bẫy hiệu quả”: Làm việc có hiệu quả không nhất thiết là bạn phải làm việc có năng suất. Bạn nên tránh những công việc mà bạn có thể làm một cách hiệu quả nhưng lại không cần phải làm gì hết. Chỉ bởi vì bạn đang bận và phải hoàn thành công việc không có nghĩa là thực thế bạn đang hoàn thành những việc quan trọng. Quản lý thời gian luôn là vấn đề muôn thuở của chúng ta, đặc biệt là những người trẻ, với rất nhiều sự lựa chọn, không chỉ công việc mà còn những lựa chọn khác trong cuộc sống như học tập, vui chơi và mở rộng giao lưu. Ai cũng nói phải nắm chắc kỹ thuật 80-20, ai cũng nói phải quản lý thời gian tốt hơn, nhưng nếu bạn còn căng thẳng, còn không yên tâm về việc sử dụng quỹ thời gian của mình, thì hãy nhìn lại ngay những việc mình đã, đang và sẽ làm. Bắt đầu để thay đổi ngay từ lúc này không phải là muộn, mà sẽ chỉ giúp bạn không phải hối tiếc vì đã bỏ lỡ thời gian mà thôi. Hi vọng bạn sẽ có những lời khuyên bổ ích từ bài viết này và chúc bạn thành công! ==== Sắp xếp thứ tự ưu tiên ==== Brian Tracy, bậc thầy về nghệ thuật quản lý thời gian, nói rằng **“chúng ta không bao giờ có đủ thời gian để làm mọi việc mình muốn, nhưng chúng ta luôn có đủ thời gian để làm những việc quan trọng nhất! Khả năng tập trung vào những việc quan trọng nhất, và hoàn thành những việc đó với kết quả tốt nhất chính là chìa khóa đem lại thành công.”** Vậy làm thế nào để có thể tập trung vào những việc quan trọng nhất? Và làm thế nào để chúng ta trở nên hiệu quả hơn? Hãy áp dụng nguyên tắc 80/20 mà Brian Tracy đã chia sẻ trong “Eat That Frog”. Nguyên tắc 80/20 trong việc chọn việc để làm của Brian Tracy: * **80% kết quả của bạn sẽ đến từ 20% công việc bạn làm**. Có nghĩa nếu bạn có danh sách 10 việc cần làm, chỉ 2 việc trong số đó đem lại cho bạn nhiều giá trị hơn toàn bộ 8 việc còn lại. **Brian Tracy so sánh 20% công việc đem lại giá trị cao nhất là những "con ếch" xấu xí nhất, khủng khiếp nhất. Khi nhìn nó, bạn sẽ cảm thấy ngán ngẩm và không hề muốn "thưởng thức"**.Thực tế là những công việc mà chúng ta thường né tránh vì phức tạp hay khó khăn chính là những việc quan trọng và giá trị nhất. Từ bây giờ, hãy tìm và "ăn" những "con ếch" xấu xí nhất nếu bạn muốn thành công. * **20% "con ếch" xấu xí nhất**: Trước hết, bạn cần xác định mục tiêu của mình trong một khoảng thời gian nhất định. Mục tiêu của hôm nay, tuần này, tháng này, năm này là gì? * “Trong hôm nay, tôi phải hoàn thành báo cáo doanh thu theo sản phẩm của tháng 10”. * “Mục tiêu của tôi là tăng thêm 5 khách hàng mới trong tháng này”. * Khi đã xác định rõ mục tiêu, bạn lập ra danh sách những việc mình cần làm trong ngày, tuần, tháng và năm. Trong danh sách này, hãy phân tích, chọn ra những việc giúp bạn đạt được mục tiêu và đánh thứ tự ưu tiên. Nhờ những thứ tự ưu tiên này, bạn sẽ biết đâu là 20% "con ếch" xấu nhất cần phải "ăn". Bạn cần phải rà soát danh sách những-việc-cần-làm thường xuyên để nhắc nhở mình những việc quan trọng và tập trung thực hiện cho đến khi hoàn thành. Bạn cần kiên nhẫn vì những việc quan trọng nhất, đem lại giá trị cao nhất là những việc khó khăn nhất. * Nhìn trước kết quả: Đa số chúng ta có thói quen bắt tay vào công việc mà không cân nhắc kỹ lưỡng. Việc gì đến trước làm trước. Việc dễ làm trước, việc khó làm sau. Đơn giản vì việc dễ thì dễ làm. Hơn nữa, với suy nghĩ, việc gì cũng cần phải làm, chúng ta dễ dàng rơi vào bẫy “bận rộn nhưng không hiệu quả”. * Nếu bạn là nhân viên kinh doanh, **việc gọi điện cho khách hàng A đang than phiền và cần hỗ trợ quan trọng hơn hay việc thảo một email chúc mừng sinh nhật khách hàng B? Dĩ nhiên viết email chúc mừng sinh nhật dễ hơn nhiều**. Nhưng trong thời điểm này, **nếu vấn đề của khách hàng A không được giải quyết, bạn có nguy cơ mất luôn khách hàng này, và hình ảnh thiếu chuyên nghiệp của bạn và công ty bạn trong mắt họ có khả năng lan tỏa đến hơn 40 khách hàng khác trong network của họ**. Hãy cân nhắc thật cẩn thận. * Khi cân nhắc cẩn thận kết quả/ hậu quả khi làm hay không làm một công việc nào đó, bạn sẽ biết công việc nào sẽ đem lại 80% giá trị cho mục tiêu mình đặt ra. Nhờ nhìn thấy được kết quả, bạn cũng sẽ biết những việc mình không cần làm. Khi tôi áp dụng nguyên tắc 80/20, lịch làm việc được sắp xếp khoa học hơn, rõ ràng hơn và hiệu quả hơn. Và tôi thấy mình "có thêm nhiều thời gian hơn" để có thể "ăn" nhiều "con ếch" xấu xí hơn, từ đó có thể hoàn thành những việc đem lại nhiều giá trị hơn. Khi bạn tạo ra nhiều giá trị, giá trị của chính bạn sẽ tăng lên. Luôn đặt ra cho mình câu hỏi **“Việc quan trọng nhất mình cần phải làm lúc này là gì?”** Tập trung vào việc đó cho đến khi hoàn thành. **Cân nhắc để thực hiện những việc đem lại nhiều giá trị và biết từ chối những công việc không mang lại giá trị**. Nếu thực hiện thường xuyên, bạn sẽ thấy những thay đổi tích cực. ===== Tasks list ===== Ưu tiên sản phẩm kiếm tiền trước với thời gian phát triển ngắn dựa vào resourses có sẵn, sản phẩm đánh vào thị trường ngách chưa ai phát triển hoặc phát triển chưa tốt - Phát triển game bài cho thị trường global - Phát triển Gekko tích hợp với binance - Update phần mềm thống kê tài chính - Tính ship tự động web shop.babies.vn - Hiển thị một số danh mục cơ bản trên trang chủ shop.babies.vn, chỉnh sửa template hiển thị danh mục và các danh mục con - Chạy chiến dịch quảng cáo một số sản phẩm cơ bản về shop.babies.vn - Phát triển site babies.vn Task khác: - Nghiên cứu phương thức tìm kiếm sản phẩm mới theo xu thế bán chạy tiềm năng - Up sản phẩm lên sàn tiki, phương thức FBA để đưa hàng nôi và hàng cồng kềnh ra Hà Nội