Giai đoạn thứ hai: Tham khảo

Màu nền
Font chữ
Font size
Chiều cao dòng

Giai đoạn thứ hai: Tham khảo

Thực hiện giai đoạn kéo dài 2~3 năm sau sẽ gặp phải bình cảnh thứ nhất, lúc này chúng ta phát hiện trên cơ bản tất cả phổ biến công năng Đều thực hiện, giống như không biết nên như thế nào đề thăng. Lúc này không cần tự mãn, phải biết cái này chỉ là bình cảnh thứ nhất, cần tăng lên chỗ còn rất nhiều. Mà đột phá bình cảnh này phương pháp tốt nhất chính là "Tham khảo " , nhìn nhiều một chút khai nguyên chương trình, tại nhìn người khác dấu hiệu bên trong học đến một chút lập trình tư tưởng hoặc trước đó chưa từng dùng qua hàm số chờ. Tại giai đoạn này, chúng ta cần nắm giữ một chút phân tích khai nguyên chương trình phương pháp.

Phân tích chương trình phương pháp

Tại "Tham khảo " Giai đoạn thời điểm, cần nắm giữ một chút phân tích khai nguyên chương trình phương pháp. Ta tổng kết mấy cái cho mọi người tham khảo.

Xem trước văn kiện hiểu rõ chương trình công năng

Rất nhiều người có thể quen thuộc cầm tới dấu hiệu liền bắt đầu nhìn, lúc này đối với chương trình chỉnh thể không có hiểu rõ chút nào là hết sức thống khổ. Đại não đối với toàn bộ chương trình cũng là xa lạ, rất dễ dàng phát động duyên não trở ngại cơ chế. Chúng ta muốn trước thuyết phục duyên não, trước tiên đại khái giải chương trình công năng, nếu có văn kiện mà nói xem trước văn kiện, dạng này trước biết công năng sau lại đi xem nguyên mã đối với đại não tới nói liền giảm bớt duyên não trở ngại, sẽ không như vậy xa lạ.

Có chút khai nguyên chương trình còn tại văn kiện bên trong nói chương trình lập trình tư tưởng, cơ cấu nguyên lý. Nếu như chúng ta không nhìn văn kiện chỉ mới nghĩ thông qua nhìn dấu hiệu nhìn ra lập trình tư tưởng là tương đối khó khăn, xem trước văn kiện hiểu rõ lập trình tư tưởng lại đi nhìn dấu hiệu liền tương đối dễ hiểu.

Mỗi loại ngôn ngữ lập trình đều có đem chú thích tạo ra văn kiện công cụ, tỉ như, PHP có phpdoc, Java có JavaDoc, iOS có AppleDoc. Đại gia cần hiểu rõ những công cụ này, có đôi khi mặc dù chương trình không có ổn định, nhưng chương trình chú thích phù hợp nhất định quy phạm, có thể dùng những công cụ này đem chú thích tạo ra một phần văn kiện.

Điểm tạm dừng điều chỉnh thử

Chương trình vận hành tốc độ là thật nhanh , mấy mili giây liền thi hành xong, căn bản thấy không rõ lắm quá trình thi hành, có hay không một loại phương pháp, có thể thả chậm chương trình vận hành quá trình, để chúng ta thấy rõ ràng chương trình thi hành mỗi một bước đâu? Như vậy thì thuận tiện chúng ta phân tích chương trình thi hành mỗi cái quá trình.

Điểm tạm dừng điều chỉnh thử liền có thể làm đến hiệu quả như vậy. Chương trình mỗi thi hành một nhóm dấu hiệu đều biết tạm dừng, đang biên tập khí bên trong cho thấy thi hành nghề này dấu hiệu lúc mỗi lượng biến đổi giá trị, điều động sạn chờ tin tức ( Như đồ 1-15), click bước kế tiếp cái nút, chương trình mới có thể thi hành tiếp theo đi dấu hiệu. Như vậy thì có thể từng bước từng bước phân tích chương trình.

Càng nhiều miễn phí sách điện tử thỉnh lùng tìm 「 Tuệ nhãn nhìn 」www.huiyankan.com

Đồ 1-15 NetBeans cùng xdebug kết hợp điều chỉnh thử

PHP làm điểm tạm dừng điều chỉnh thử cần xdebug mở rộng kết hợp một cái IDE Editor ( Như NetBeans, PhpStorm chờ Editor ). Khác ngôn ngữ lập trình cũng có tương ứng điểm tạm dừng điều chỉnh thử phương pháp, đại gia có thể tại công cụ tìm kiếm lùng tìm đối ứng công cụ tiến hành học tập.

Nội trí hàm số

Rất nhiều nội trí hàm số cũng có lợi cho phân tích chương trình dấu hiệu, ta lấy PHP làm thí dụ, liệt kê mấy cái dùng nội trí hàm số phân Tích chương trình dấu hiệu phương pháp.

1.

Dùng debug_backtrace nhìn điều động sạn

Điều động sạn có thể cho thấy chương trình điều động quá trình. Tỉ như, một cái chương trình trước tiên thi hành A hàm số, A hàm số bên trong lại Điều dụng B hàm số, B hàm số bên trong lại điều dụng C hàm số, như vậy C hàm số điều động sạn hiện ra chính là A→B→C thi hành trình tự. Tỷ như, thi hành phía dưới thí dụ mẫu dấu hiệu:


function b($arg){ c(); } function c(){ var_dump(debug_backtrace());

} a();

Chúng ta tại C hàm số bên trong, dùng debug_backtrace thu được điều động sạn cùng sử dụng var_dump thu phát. debug_backtrace hàm số trở về giá trị là một vài tổ, mấy tổ bên trong ghi chép mỗi một bước điều động tin tức, bao quát văn

Kiện, đi đếm, thi hành hàm số tên, hàm số truyền tham gia tham số. Cái này điều động sạn muốn từ dưới đi lên nhìn: Xem trước mấy tổ cái cuối cùng nguyên tố, nó là bước đầu tiên chương trình quá trình thi hành; Thứ hai đếm ngược cái nguyên tố vì bước thứ hai chương trình quá trình thi hành. Vận hành kết quả như sau:

array(3) { [0]=> array(4) {

["file"]=> string(27) "/Users/luofei/test/test.php" ["line"]=> int(6) ["function"]=> string(1) "c" ["args"]=> array(0) {

} }

[1]=> array(4) {

["file"]=> string(27) "/Users/luofei/test/test.php" ["line"]=> int(3) ["function"]=> string(1) "b" ["args"]=> array(1) {

[0]=> &string(5)

"hello" } }

[2]=> array(4) {

["file"]=> string(27) "/Users/luofei/test/test.php" ["line"]=> int(13) ["function"]=> string(1) "a" ["args"]=> array(0) {

} }

}

debug_backtrace thu được điều động sạn vô cùng kỹ càng, bao quát mỗi cái truyền tham gia giá trị đều hiện ra. Nhưng có đôi khi chúng ta không cần cặn kẽ như vậy, có thể sử dụng debug_print_backtrace hàm số đánh ra một cái đơn giản điều động sạn. Cái này hàm số chính mình có thu phát hành vi, không cần dùng var_dump đóng dấu. Đem phía trên thí dụ mẫu dấu hiệu

var_dump(debug_backtrace()) đổi thành debug_print_backtrace(), lại vận hành trình Tự, nhận được như sau kết quả:

#0 c() called at [/Users/luofei/test/test.php:6] #1 b(hello) called at [/Users/luofei/test/test.php:3] #2 a() called at [/Users/luofei/test/test.php:13]

Điều động sạn trợ giúp chúng ta nhanh chóng phân tích chương trình thi hành quá trình. Tỉ như, chúng ta đang phân tích một chút khai nguyên MVC khung Đỡ lúc, rất muốn biết hạch tâm dấu hiệu là chỗ nào điều động Controller , lúc này chúng ta liền có thể tại Controller có ích debug_backtrace đóng dấu ra điều động sạn đến phân tích, so một nhóm một nhóm mà tìm dấu hiệu nhanh rất nhiều.

2.

Dùng get_included_files nhìn tăng thêm cái nào văn kiện

Rất nhiều khai nguyên chương trình đều có một chút chỗ tương đồng, tỉ như bình thường đều có phối trí văn kiện, kho số liệu DB các loại. Như Quả chúng ta vừa cầm tới một cái xa lạ khai nguyên chương trình, nghĩ nhanh chóng tìm được nó phối trí văn kiện, có thể dùng get_included_files cho thấy chương trình tăng thêm cái nào văn kiện, tiếp đó căn cứ vào văn kiện tên có thể nhanh chóng tìm được phối trí văn kiện vị trí. Phối trí văn kiện văn kiện tên bình thường đều gọi "config" . Tỷ như, chúng ta đóng dấu ra

Càng nhiều miễn phí sách điện tử thỉnh lùng tìm 「 Tuệ nhãn nhìn 」www.huiyankan.com

ThinkPHP5 tăng thêm tất cả văn kiện, từ tài liệu này trong danh sách có thể phát hiện ThinkPHP5 hạng mục phối trí văn kiện địa chỉ hẳn là vì /thinkphp5/application/config.php.

array(20) { [0]=> string(20) "/thinkphp5/index.php"

[1]=> string(29) "/thinkphp5/thinkphp/start.php"

[2]=> string(28) "/thinkphp5/thinkphp/base.php" [3]=> string(44)

"/thinkphp5/thinkphp/library/think/loader.php" [4]=> string(43)

"/thinkphp5/thinkphp/library/think/error.php" [5]=> string(35)

"/thinkphp5/thinkphp/mode/common.php" [6]=> string(44)

"/thinkphp5/thinkphp/library/think/config.php" [7]=> string(34)

"/thinkphp5/thinkphp/convention.php" [8]=> string(41)

"/thinkphp5/thinkphp/library/think/app.php" [9]=> string(33)

"/thinkphp5/application/config.php" [10]=> string(35)

"/thinkphp5/application/database.php" [11]=> string(32)

"/thinkphp5/application/route.php" [12]=> string(41)

"/thinkphp5/thinkphp/library/think/log.php" [13]=> string(53)

"/thinkphp5/thinkphp/library/think/log/driver/file.php" [14]=>

string(43) "/thinkphp5/thinkphp/library/think/cache.php"

[15]=> string(55) "/thinkphp5/thinkphp/library/think/cache/driver/file.php" [16]=>

string(42) "/thinkphp5/thinkphp/library/think/lang.php" [17]=>

string(45) "/thinkphp5/thinkphp/library/think/session.php" [18]=> string(49) "/thinkphp5/application/index/controller/index.php"

[19]=> string(46) "/thinkphp5/thinkphp/library/think/response.php"

}

3.

Lượng biến đổi thu phát phương pháp

Thu phát lượng biến đổi lúc, echo hàm số sẽ có một vài vấn đề, echo điều chỉnh thử lúc nếu như lượng biến đổi là một cái chữ Không "空" phù xuyên, không nhìn thấy thu phát nội dung, thường xuyên sẽ tưởng lầm là chương trình không có thi hành đến điều chỉnh thử chỗ. Mặt khác, dùng echo hàm số nếu như muốn thu phát lượng biến đổi là đối tượng hoặc mấy tổ chỉ có thể đóng dấu ra lượng biến đổi loại hình, không biết lượng biến đổi nội bộ kết Cấu.

Dùng var_dump điều chỉnh thử liền sẽ không có những vấn đề này, nếu như là thu phát chữ Không "空" phù xuyên, var_dump cũng sẽ có biểu hiện: string(0)"", sẽ không để cho người nghĩ lầm chương trình không có thi hành. Thu phát mấy tổ hoặc đối tượng thời điểm, var_dump cũng có thể thu phát đối tượng kết cấu bên trong. Cho nên, đề nghị đại gia dùng var_dump điều chỉnh thử mà không cần

echo.

Có đôi khi không thể trực tiếp thu phát điều chỉnh thử tin tức. Tỉ như, tại tuyến bên trên hoàn cảnh điều chỉnh thử lúc, nếu như thu phát điều chỉnh thử tin

Hơi thở, chính thức sử dụng sản phẩm người sử dụng cũng có thể nhìn thấy. Lúc này ngươi có thể đem điều chỉnh thử tin tức viết lên ngày Chí Văn kiện bên trong.

Viết nhật ký văn kiện lúc đừng dùng bao trùm phương thức, chương trình thi hành rất nhiều lần nhưng chỉ có thể nhìn thấy một lần cuối cùng kết quả, sử dụng thêm vào phương thức có thể trông thấy mỗi một lần thi hành kết quả.PHP thiết trí viết văn kiện phương thức: file_put_contents thiết trí cái thứ ba tham số vì FILE_APPEND.

Nếu như nhập văn kiện là một cái đối tượng hoặc mấy tổ, chúng ta phải dùng var_export, đem lượng biến đổi dẫn xuất viết nữa vào ngày Chí Văn kiện, nếu không không cách nào trông thấy lượng biến đổi kết cấu bên trong. Phía dưới dấu hiệu biểu thị như thế nào đem một vài tổ lấy thêm vào phương thức nhập văn kiện.

$arr=[1,2,3,4];

file_put_contents('/tmp/log.txt',var_export($arr,true),true);

SocketLog

Giống nói ở trên không thể trực tiếp dùng var_dump thu phát điều chỉnh thử tin tức tình huống, trước đó cần viết nhật ký văn kiện tới điều chỉnh thử, có SocketLog so dùng nhật ký văn kiện dễ dàng hơn. Nó có thể đem điều chỉnh thử tin tức thời gian thực đóng dấu đến trình duyệt đài điều khiển, có thể đóng dấu ký tự xuyên, đối tượng, mấy tổ các loại lượng biến đổi loại hình, có thể linh hoạt định nghĩa đóng dấu ký tự chuỗi kiểu dáng, có thể đóng dấu điều động sạn, còn thuận tiện phân tích khai nguyên chương trình, có trợ giúp chúng ta lần thứ hai khai phát khai nguyên sinh Phẩm.

GitHub download địa chỉ: http://github.com/SocketLog, chúng ta theo quan phương văn kiện lắp đặt hảo SocketLog, tiếp đó vận hành quan phương ví dụ có thể trông thấy đơn giản hiệu quả.

Thí dụ mẫu dấu hiệu:

slog('msg','log');

// đồng dạng nhật ký

slog('msg','error'); // sai lầm nhật ký

slog('msg','info'); // tin tức nhật ký slog('msg','warn'); // cảnh cáo nhật ký slog('msg','trace');// đưa vào nhật ký đồng thời sẽ đánh ra điều động sạn

slog('msg','alert');//

Càng nhiều miễn phí sách điện tử thỉnh lùng tìm 「 Tuệ nhãn nhìn 」www.huiyankan.com

Đem nhật ký lấy alert phương thức bắn ra slog('msg','log','color:red;font- size:20px;');// tự định nghĩa nhật ký kiểu dáng, cái thứ ba tham số vì css kiểu dáng

Dùng trình duyệt kiểm tra hiệu quả như sau:

Như đồ 1-16, chúng ta cũng không có đem điều chỉnh thử tin tức đóng dấu đến website , mà là đóng dấu đến Chrome trình duyệt đài điều khiển bên trong, còn có thể thu phát không đồng dạng thức nhật ký. Chúng ta yêu cầu mở ra Chrome trình duyệt máy kiểm soát mới có thể trông thấy nhật ký, Window phía dưới có thể theo F12 mở ra, Mac như trên lúc đè xuống " +alt+i" Có thể mở ra đài điều khiển.

Đồ 1-16 SocketLog đóng dấu nhật ký hiệu quả

SocketLog điều chỉnh thử nguyên lý là cái gì đây? Như đồ 1-17 chỉ ra.

Đồ 1-17 SocketLog vận hành nguyên lý

Làm PHP chương trình không cách nào trực tiếp đem điều chỉnh thử tin tức thu phát đến trình duyệt lúc, chúng ta mượn nhờ WebSocket xây dựng một cái WebSocket phục vụ, PHP đem nhật ký truyền tống cho WebSocket, WebSocket lại đem nhật ký gửi đi cho Chrome trình duyệt. Cho nên muốn sử dụng SocketLog, cần khởi động WebSocket server, đồng thời trình duyệt cần lắp đặt một cái tiếp thu nhật ký plug-in.

Chúng ta còn có thể đem chương trình thi hành tất cả SQL câu nói in ra, từ đó có trợ giúp phân tích khai nguyên chương trình. Ta Lấy OneThink chương trình làm thí dụ vì mọi người làm chứng minh.

Như đồ 1-18 chỉ ra, chúng ta dùng SocketLog đánh ra OneThink SQL câu nói sau, phỏng vấn mỗi cái giao diện lúc đều có thể biết cái này giao diện thi hành cái nào SQL câu nói, hơn nữa ấn mở mỗi đầu SQL câu nói có thể cho thấy thi hành SQL câu nói điều động sạn. Cái này khiến chúng ta rất thuận tiện tìm được thứ mình muốn dấu hiệu. Giả thiết chúng ta đang làm OneThink lần thứ hai khai phát, nghĩ tại chính mình mới tăng thêm chương trình bên trong cũng đọc đến OneThink văn chương, đọc đến văn chương loại thao tác này chắc chắn OneThink đã phong thành hàm số , chúng ta làm sao có thể nhanh chóng tìm được cái này hàm số đâu? Như trên đồ chỉ ra, chỉ cần phỏng vấn một chút văn chương tường tình trang, tiếp đó nhìn đầu nào SQL câu nói giống như là tại đọc đến văn chương.

Càng nhiều miễn phí sách điện tử thỉnh lùng tìm 「 Tuệ nhãn nhìn 」www.huiyankan.com

Đồ 1-18 Dùng SocketLog phân tích OneThink chương trình

SELECT 'id','parse','content','template', 'bookmark' FROM 'onethink _document_article' WHERE ('id'=1) LIMIT 1,

Đầu này SQL rất như là tại đọc đến văn chương, chúng ta ấn mở đầu này SQL câu nói điều động sạn, chẳng mấy chốc sẽ phát hiện DocummentModel: : detail phương pháp chính là chúng ta muốn tìm dấu hiệu, cái này so với một nhóm một nhóm mà đi tìm dấu hiệu nhanh hơn.

Rất nhiều khai nguyên chương trình đều đối kho số liệu thao tác làm đóng gói, đồng dạng gọi là Db loại. Chương trình đối số liệu kho tiến hành thao Làm đều phải điều động cái này loại, chúng ta chỉ cần tìm được cái này Db loại, tăng thêm SocketLog điều chỉnh thử, đem SQL đóng dấu ra Tới, liền có thể đạt đến bên trên đồ biểu hiện hiệu quả. Lấy OneThink làm thí dụ, cần sửa chữa ThinkPHP/Library/Think/Db.class.php văn kiện debug phương pháp tăng thêm dấu hiệu slog($this->queryStr, $this->_linkID);debug phương pháp là mỗi số lần dữ liệu thao tác đều

Sẽ thi hành phương pháp, $this->queryStr chính là lần này kho số liệu thao tác SQL câu nói, slog thứ hai cái tham số $this->_linkID truyền đi là kho số liệu đối tượng, làm thứ hai cái tham số số lượng dữ liệu đối tượng lúc, SocketLog sẽ đối với SQL ngôn ngữ tính năng tiến hành phân tích đồng thời đánh ra điều động sạn.

SocketLog là ta trước đó phát hiện điều chỉnh thử API hết sức phiền toái lúc sở khai phát công cụ, lập trình viên vốn chính là có tính sáng tạo , không cần chịu đựng chính mình cảm thấy phiền phức chỗ, ngươi có thể tự mình khai phát công cụ giải quyết vấn đề, mình làm đến tự động hoá.SocketLog vì đoàn đội chúng ta mang đến rất nhiều tiện lợi, đoàn đội chúng ta bây giờ nếu như không có SocketLog đều nhanh cảm giác không thể làm việc .

SocketLog còn có thể làm WeChat điều chỉnh thử, như đồ 1-19 chỉ ra.

Đồ 1-19 Dùng SoketLog điều chỉnh thử WeChat

Chúng ta tại khai phát WeChat tài khoản công chúng thời điểm, tiếp lời phạm sai lầm lúc trên WeChat mặt chỉ có thể nhắc nhở "Nên tài khoản công chúng tạm thời không cách nào cung cấp phục vụ, mời chờ một chút thử lại " , lại cũng không biết phạm sai lầm nguyên nhân, cái này cho khai phát mang đến rất nhiều phiền phức. Mà

Càng nhiều miễn phí sách điện tử thỉnh lùng tìm 「 Tuệ nhãn nhìn 」www.huiyankan.com

Chúng ta đem WeChat API phối hợp SocketLog sau, có thể đem điều chỉnh thử tin tức cùng chương trình báo sai đóng dấu đến trình duyệt đài điều khiển bên trên. Như trên đồ chỉ ra, chúng ta rất nhanh liền biết API phạm sai lầm là bởi vì chương trình báo sai Call to undefined function... Điều dụng một cái không tồn tại hàm số. Muốn làm WeChat điều chỉnh thử, SocketLog cần thiết trí force_client_id cái này phối trí hạng, từ đó đem điều chỉnh thử tin tức đánh tới chỉ định trình duyệt, cụ thể như thế nào sử dụng đại gia có thể lại tham khảo một chút quan phương văn kiện.

Chỉnh lý tư duy

Chúng ta đang làm khai nguyên chương trình phân tích lúc, sẽ nhìn đại lượng dấu hiệu, nếu như chỉ dựa vào trí nhớ nhớ sẽ rất mệt mỏi, càng nhớ càng loạn. Như thế nào đem trong đầu lo lắng suy nghĩ một lần? Lúc này có thể dùng tư duy đạo đồ công cụ XMind. Đồ 1-20 chính là dùng XMind sửa sang lại ThinkPHP5 thi hành quá trình.

Đồ 1-20 Dùng XMind chỉnh lý ThinkPHP thi hành quá trình

XMind mỗi một cái chi nhánh cũng có thể kéo lấy, chúng ta trước tiên đem tạp nhạp nội dung hết thảy liệt đến XMind bên trên, sau đó lại kéo lấy tiến hành phân loại, từ đó làm rõ suy nghĩ.

Mặt khác, tại chỉnh lý chương trình loại cùng loại ở giữa quan hệ lúc, có thể vẽ UML đồ hình, như đồ 1-21 chỉ ra.

Đồ 1-21 Dùng UML đồ hình phân tích loại cùng loại quan hệ

UML đồ hình có thể tỏ vẻ ra là loại cùng loại là kế thừa, tổ hợp vẫn là tụ hợp các quan hệ, có thể sử dụng staruml chờ phần mềm đến vẽ UML đồ hình. Nếu như trước ngươi đối với UML không hiểu rõ, ta đề nghị ngươi ở trên mạng tìm càng nhiều tài liệu tương quan tới học tập một chút.

Lợi dụng khai nguyên chương trình nhanh chóng khai phát

Hiện nay thời đại Internet, cần chính là nhanh chóng hưởng ứng năng lực cùng sản phẩm năng lực, mà phần lớn sản phẩm bản khối cùng công năng, người khác đã thiết kế xong, thậm chí đã khai nguyên, cho nên chúng ta đang tiến hành một ít sản phẩm khai phát lúc, không cần quá nhiều trùng lặp tạo bánh xe, hẳn là lợi dụng khai nguyên sản phẩm tiến hành nhanh chóng khai phát. Cái này cũng là một hạng trọng yếu năng lực, cũng đúng là chúng ta bên trên một tiết chỗ nói tới "Tham khảo " Năng lực. Bản tiết tiêu đề sớm nhất gọi 《 Học tập cái nào khai nguyên chương trình 》, kỳ thực khai nguyên chương trình bản thân cũng sẽ quá hạn, người viết hành nghề hơn mười năm này tới đủ loại chương trình lên lên xuống xuống, cho nên đem tiêu đề điều chỉnh trở thành 《 Lợi dụng khai nguyên chương trình nhanh chóng khai phát 》, tương đối phù hợp hơn chúng ta "Dạy người lấy cá, không bằng dạy người lấy cá " Tinh thần. Càng thêm trùng hợp là, có một cái gần nhất phát sinh ví dụ sống sờ sờ, bản tiết liền dùng cái này lệ bày ra miêu tả, hi vọng có thể đối với mọi người giảng hoà sử dụng khai nguyên phần mềm có chỗ dẫn dắt.

2016 năm 4 nguyệt 3 ngày, lập trình viên giới lớn V——caoz( Tào Chính là internet lĩnh vực nổi danh cơ cấu sư, 4399 CTO) tài khoản công chúng phát một thiên văn chương 《 Từ giá trị hồ đàm luận lực chấp hành 》, nói tới bốn điểm, điểm thứ nhất là tán thưởng Zhihu Lực chấp hành, trong khoảng thời gian ngắn khai phá ra giá trị hồ sản phẩm; Điểm thứ hai là thảo luận nhân viên kỹ thuật cảnh giới, cao nhất

Càng nhiều miễn phí sách điện tử thỉnh lùng tìm 「 Tuệ nhãn nhìn 」www.huiyankan.com

Cảnh giới là trọng kiếm không mũi; Điểm thứ ba nói tới một cái có liên quan mã hai chiều theo dõi sáng ý; Điểm thứ tư nói tới có rất nhiều ý tưởng nhỏ nhu cầu, cần hợp tác cùng thi hành. Người viết lúc đó thu đến thiên văn chương này thời điểm, là buổi tối 11 điểm tả hữu, tại trên xe lửa vừa vặn tương đối nhàm chán, thấy được điểm thứ ba có liên quan mã hai chiều theo dõi sáng ý, cho nên dùng di động 4G làm

Điểm nóng, bắt đầu nếm thử lên làm cái chương trình này tới. Người viết phía trước tiếp xúc qua tại trên trang bìa tạo ra mã hai chiều, nhưng cũng không có đặc biệt nhiều tương quan khai phát kinh nghiệm, nhưng mà bởi vì có căn cơ nhất định, cho nên cũng không có cho rằng đây là phi thường khó khăn Chuyện, cho rằng một buổi tối hẳn là có thể giải quyết vấn đề này, mặc dù caoz nói là trong vòng hai ngày thực hiện nguyên hình.

Đầu tiên miêu tả một chút nhu cầu, phía dưới nhu cầu trích từ 《 Từ giá trị hồ đàm luận lực chấp hành 》 nguyên văn: Mã hai chiều chuyển đổi theo dõi công cụ

Làm ngươi thu được một cái mã hai chiều hoặc trực tiếp một cái kết nối, ngươi có thể đến cái bình đài này ( Website hoặc tài khoản công chúng ), tạo ra một cái mới mã hai chiều, cái này mới mã hai chiều bao gồm một cái nhảy chuyển trang, tiếp đó bình định lại hướng đến nguyên thủy mục tiêu kết nối, đối với mở rộng hiệu quả tới nói, chính là tăng lên một lần nhảy chuyển quá trình.

Mà nhảy chuyển trang, kỳ thực cũng chính là một cái máy theo dõi, cái gì dấu hiệu đều không cần viết, chính là thi hành một cái nhảy chuyển thao tác liền có thể. Tiếp đó ghi chép một đầu nhật ký.

Phân tích chương trình ở phía sau đài thông qua đối với nhật ký đọc đến cùng xử lý, nhận được cái quảng cáo này click số lần cùng click người sử dụng cấu thành, tỉ như người sử dụng click thời gian cấu thành, người sử dụng khu vực cấu thành, người sử dụng hỗ trợ khách hàng cấu thành, tiếp đó làm từ truyền thông đăng lục phía sau đài thời điểm, có thể nhìn thấy cái này bảng báo cáo.

Chính là như thế một vật, nhưng mà muốn siêu cấp nhẹ giản, dùng tốt. Nếu có người có thể làm ra tới, chỉ cần bảo đảm ngươi nhảy chuyển trang là an toàn, ta thì nguyện ý dùng .

Như vậy, vấn đề tới, dạng này một vật, khai phát chu kỳ cùng khai phát thành vốn phải là bao nhiêu đâu? Cá nhân ta cho rằng, nếu như chỉ là Web phiên bản đơn giản nguyên hình 2 thiên túc rồi. Mã hai chiều phân biệt cùng sinh thành dấu hiệu, ngươi đi sưu GitHub đều có, Google có cùng hưởng quá cao chất lượng dấu hiệu, điều chỉnh thử thông làm một cái điều động giao diện liền có thể. Hậu trường thống kê nếu như không làm phức tạp mà nói kỳ thực vô cùng đơn giản kết cấu liền có thể hoàn thành. Hơn nữa phân tích của ngươi chương trình là dị bước xử lý , cơ bản đều không cần lo lắng phụ tải vấn đề. Thậm chí dạng này phân tích chương trình cũng có rất nhiều khai nguyên phần mềm có thể đem ra dùng.

Nếu có một chút lực chấp hành rất mạnh, rất nguyện ý đơn thương độc mã làm một chút tiểu công cụ, đẻ non phẩm đồng hài, có thể thử xem. Nếu như ngươi có thể tại trong hai ngày xong thành vật như vậy đồng thời tuyên bố ra ngoài, có thể cân nhắc tới tìm ta hợp tác. Phương thức hợp tác cũng có thể đàm luận, nếu như ngươi tin tưởng ta, chúng ta có thể xâm nhập hợp tác, ta có rất nhiều sinh

Phẩm ý nghĩ, thiếu gấp lực chấp hành rơi xuống đất.

Ta đem cái này kết nối phỏng vấn thống kê nhu cầu phá giải trở thành hai cái công năng: ① Người sử dụng đưa vào một cái kết nối, tạo ra một cái mang thống kê chức năng kết nối mã hai chiều, người khác quét hình cái này mã hai chiều, thống kê hệ thống có thể giám sát đến liên tiếp phỏng vấn số lần;② Người sử dụng upload một cái mã hai chiều, thống kê hệ thống phân tích cái này mã hai chiều chứa URL, tiếp đó tạo ra một cái Mới mang thống kê chức năng kết nối mã hai chiều, người khác quét hình cái này mã hai chiều, thống kê hệ thống có thể giám sát đến liên tiếp phỏng vấn số lần.

Tại hai cái này nhu cầu bên trong, đều cần chế tác một cái ghi chép nhật ký cùng mang nhảy chuyển chức năng chương trình, tỉ như địa chỉ là http://qrcode.app.ucai.cn/index.php?m=Home&c=Index&a=redirect cái chương trình này, tiếp thu một cái URL xem như tham số, tỉ như vì http://mp.weixin.qq.com, tại chương trình vận hành lúc ghi chép nhật ký, đồng thời nhảy chuyển tới URL tham số chỗ địa chỉ. Tại thứ nhất nhu cầu bên trong, tỉ như người sử dụng đề giao URL tức Là http://mp.weixin.qq.com, lấy được mã hai chiều chính là http://qrcode.app.ucai.cn/index.php? m=Home&c=Index&a=redirect&url=http://mp.weixin.qq.com cái này liên tiếp mã hai chiều.

Thứ hai cái nhu cầu, là người sử dụng upload một cái mã hai chiều, cái này mã hai chiều có thể là nơi khác đã sinh thành hai chiều Mã, tiếp đó phân tích ra mã hai chiều địa chỉ, tỉ như là http://mp.weixin.qq.com, tiếp đó đem http://qrcode.app.ucai.cn/index.php? m=Home&c=Index&a=redirect&url=http://mp.weixin.qq.com tạo ra mới mã hai chiều trở về cho người sử dụng.

Phân tích xong nhu cầu, tiếp đó liền phân tích kỹ thuật thực hiện. Thứ nhất nhu cầu tại đưa ra bưng, một cái bình thường URL đưa ra khung Là được rồi, mã hai chiều tại server bưng tạo ra hình ảnh, để người sử dụng download liền có thể. Thứ hai cái nhu cầu đề cập tới mã hai chiều phân tích, phân tích ra URL, sau đó lại tạo ra hình ảnh, cung cấp cho người sử dụng download.

Cụ thể thực hiện lúc, lựa chọn như sau cơ bản hệ thống cùng kho. Server bưng sử dụng ThinkPHP khai phát hệ thống, tại giao diện phía trước sử dụng Bootstrap khai phát hệ thống. Tại server bưng phân tích cùng tạo ra mã hai chiều, đi qua thí nghiệm, cuối cùng chọn https://github.com/rsky/qrcode cùng https://github.com/glassechidna/zxing-cpp. Cái trước dùng tạo ra mã hai chiều, cái sau dùng phân tích mã hai chiều. Bởi vì thỏa mãn nguyên hình dùng liền có thể, cho nên vô luận là phân tích vẫn là tạo ra mã hai chiều, đều sử dụng hai cái này kho sinh thành mệnh lệnh hành trình tự tới thực hiện. Tỉ như zxing chương trình, có thể giải tích như đồ 1-22 chỉ ra đồ

Phiến.

Càng nhiều miễn phí sách điện tử thỉnh lùng tìm 「 Tuệ nhãn nhìn 」www.huiyankan.com

Nhận được địa chỉ:

Đồ 1-22 Muốn phân tích mã hai chiều

http://www.kaistart.com//project/detail/id/2F2A1F549F3B630FE050840A thao tác quá trình như đồ 1-23 chỉ ra:

Đồ 1-23 zxing phân tích mã hai chiều mệnh lệnh

Mà qrcode bên trong qr chương trình có thể thông qua mệnh lệnh /usr/bin/qr-x3-v10-fBMP-o$destbmp$url nhận được BMP cách thức mã hai chiều, muốn nghĩ được đến jpg cách thức, sử dụng convert mệnh lệnh chuyển đổi liền có thể.

Phía trên bức tranh này, tại thống kê trong hệ thống, có thể sinh thành như đồ 1-24 chỉ ra trương này mới mã hai chiều.

Đồ 1-24 Sinh thành mã hai chiều

Cái này mới mã hai chiều, người sử dụng quét mã sau đó, liền có thể nhận được thống kê nhật ký, như đồ 1-25 chỉ ra.

Đồ 1-25 Người sử dụng phỏng vấn nhật ký

Như vậy cái chương trình này độ khó như thế nào đây? Ta chỉ sử dụng tổng cộng 100 còn lại đi dấu hiệu, còn bao gồm PHP cùng HTML dấu hiệu, cuối cùng tại rạng sáng 3: 15 phân tả hữu liền thực hiện, trước sau tổng cộng 4 cái tiếng đồng hồ hơn, vẫn là tại trên xe lửa tín hiệu không quá ổn định trong hoàn cảnh. Đại gia có thể thông qua http://qrcode.app.ucai.cn tới thể nghiệm.

Chương trình dấu hiệu như sau:

(1)

Upload giao diện dấu hiệu:

Càng nhiều miễn phí sách điện tử thỉnh lùng tìm 「 Tuệ nhãn nhìn 」www.huiyankan.com









Kết nối



Hoặc văn kiện


value=" Vì mã hai chiều tăng thêm thống kê kết nối "/>



(2)PHP chương trình dấu hiệu:class IndexController extends Controller {public function index() {$this->uploader(); }public function uploader() {$this->display("uploader"); } public function genQRCode($url) {$url = "http://".$_SERVER['HTTP_HOST']."/".U('Home/Index/redirect',array('$destbmp =SITE_PATH. "/data/" .time() .rand(10000000, 99999999). ".bmp"; $destjpg =str_replace(".bmp",".jpg",$destbmp); $basebmp= basename($destbmp); $basejpg =basename($destjpg); echo '

';

$cmd = "/usr/bin/qr -x3 -v10 -fBMP -o $destbmp '".$url."'"; system($cmd); if(is_file("/usr/bin/convert")) {

$cmd = "/usr/bin/convert $destbmp $destjpg"; system($cmd); echo '
href="'."/data/$basejpg".'"> Mới mã hai chiều văn kiện (JPG)





/>';

echo ' Mới mã hai chiều văn kiện (BMP)
'; } else

{

echo ' Mới mã hai chiều văn kiện



/>'; } echo ''; }

public function upload() { error_reporting(E_ALL);

ini_set("display_errors", 1); if(isset($_REQUEST['url'])

&& $_REQUEST['url'])

{ $url =

$_REQUEST['url']; $this->genQRCode($url);

return; } if (empty($_FILES) || empty($_FILES['qrcode'])

|| empty($_FILES['qrcode']['tmp_name']) ) { $this->error(" Mời lên truyền muốn tăng thêm thống kê liên tiếp mã hai chiều ");

exit; } $ext = pathinfo($_FILES['qrcode'] ['name'])['extension']; $filename = SITE_PATH . "/upload/" . time()

. rand(10000000, 99999999) . "." . $ext;

move_uploaded_file($_FILES['qrcode']['tmp_name'], $filename); $url

= '/usr/bin/zxing $filename'; if (stripos($url, "http") !== false)

{ $this->genQRCode($url); } else { $this->error(" Ngươi upload mã hai chiều giống như cách thức không chính xác, nhất định phải là địa chỉ Internet mã hai chiều a "); exit();

}

}

public function redirect() { $url = $_REQUEST['url']; header("Location:

$url"); exit; } }

Như thế nào, vô cùng đơn giản a! Tại trên xe lửa tín hiệu tình huống không ổn định phía dưới, dùng 4 giờ thực hiện một cái mã hai chiều theo dõi thống kê chương trình, cái này cần nhờ vào cái gì đâu? Nhờ vào hướng khai nguyên lĩnh vực tham khảo năng lực.

Từ nơi này ví dụ bên trong, chúng ta có thể tổng kết ra phía dưới mấy điểm.

(1)

Tại internet sản phẩm nghiên cứu phát minh bên trong, nhanh chóng làm ra sản phẩm cùng nguyên hình so thi hành Software Engineering cùng đem sản phẩm chế tạo hoàn mỹ tương đối càng quan trọng, bởi vì không có thượng tuyến phía trước, hết thảy rèn luyện cũng là trống rỗng.

(2)

Từ khai nguyên dấu hiệu bên trong, chúng ta không chỉ có học tập đến dấu hiệu khai thác năng lực cùng kỹ xảo, còn nhanh hơn sử dụng khai nguyên phần mềm làm việc cho ta, không cần quá nhiều trùng lặp tạo bánh xe.

(3)

Bản lệ cứ việc chỉ là một cái dự án nhỏ, nhưng mà tiếng Anh, phía trước khai phát, sau bưng khai phát, C hạng mục biên Dịch, Nginx phối trí năng lực đều được ứng dụng cùng phát huy.

(4)

Đối với một cái hạng mục tiến hành tài nguyên chỉnh hợp, cần chính là năng lực tổng hợp, tỉ như bản hạng mục bên trong, đại bộ phận lúc

Càng nhiều miễn phí sách điện tử thỉnh lùng tìm 「 Tuệ nhãn nhìn 」www.huiyankan.com

Ở giữa không phải tiêu vào viết dấu hiệu bên trên, mà là tiêu vào tại GitHub bên trên lùng tìm thích hợp hạng mục đồng thời download biên dịch, ước định khâu bên trên. Cứ việc phía trên thoải mái mà chỉ ra 2 cái kho, nhưng cũng là chưa từng phía dưới 5 cái khai nguyên trong kho lựa chọn đồng thời xác định đi ra ngoài.

Bản tiết không giống với phía trước chương tiết lý luận luận thuật, mà là từ một cái ví dụ thực tế xuất phát, tiến hành phân tích, hi vọng có thể đối với đại gia có chỗ dẫn dắt.



Bạn đang đọc truyện trên: Truyen2U.Pro

#học