jenkins 詳細(xì)日志 你用python做過哪些好玩的事情?
你用python做過哪些好玩的事情?前段時(shí)間嘗試用Python做了一個(gè)二維碼,包括一個(gè)很酷的動(dòng)態(tài)二維碼,比較好玩。接下來我就來介紹一下如何實(shí)現(xiàn)。Python MyQR模塊支持自定義二維碼,可以生成普通
你用python做過哪些好玩的事情?
前段時(shí)間嘗試用Python做了一個(gè)二維碼,包括一個(gè)很酷的動(dòng)態(tài)二維碼,比較好玩。接下來我就來介紹一下如何實(shí)現(xiàn)。
Python MyQR模塊支持自定義二維碼,可以生成普通二維碼、藝術(shù)二維碼、動(dòng)態(tài)二維碼。
我們使用pip在Windows10 Python 3環(huán)境中安裝,如下所示:
pip安裝myqr
制作一個(gè)普通的二維碼,導(dǎo)入到myqr包下的模板MyQR中??梢允褂梅椒ㄔ趙ord參數(shù)中傳入U(xiǎn)RL連接,制作一個(gè)普通的二維碼。
我們將生成一個(gè)帶有默認(rèn)文件名的二維碼圖片 "。使用掃描生成的二維碼,我們會(huì)自動(dòng)跳轉(zhuǎn)到相應(yīng)的地址,如下圖。
制作藝術(shù)二維碼我們將colorizedTrue生成彩色二維碼,如果參數(shù)colorizedFalse,生成黑白二維碼,如下:
制作動(dòng)態(tài)二維碼如果原文件是. gif圖片,可以生成對應(yīng)的動(dòng)態(tài)二維碼。如果color
如何系統(tǒng)的學(xué)習(xí)JAVA?
java的整體生態(tài)和積累真的太大了。從1995年到現(xiàn)在20多年的積累,幾乎涉及了計(jì)算機(jī)軟硬件的方方面面。目前,我認(rèn)為主人 s精通是指jdk本身和一些必要的數(shù)據(jù)結(jié)構(gòu),以及通用框架和面向?qū)ο蟮幕舅枷搿?/p>
從11月初開始,我一直在學(xué)習(xí)java相關(guān)的知識。也有很多彎路。根據(jù)on《設(shè)計(jì)模式》、《代碼整潔之道》、《spring源碼解讀》和《Spring揭秘》等書。
3.了解和學(xué)習(xí)jdk類庫本身的應(yīng)用源代碼實(shí)現(xiàn)以及主流第三方框架的源代碼和架構(gòu)設(shè)計(jì)。
比如jdk本身的數(shù)據(jù)結(jié)構(gòu)是二叉樹、紅黑樹、treemap,還有不安全、同步阻塞隊(duì)列、call-futur《設(shè)計(jì)模式》、《代碼整潔之道》、《spring源碼解讀與設(shè)計(jì)詳析》、《Spring揭秘》等等,都可以在這個(gè)過程中得到理解。
4.了解jdk和jr《實(shí)戰(zhàn)java虛擬機(jī)》,他的解釋更切合實(shí)際。很好理解。
首先可以從jdk自帶的工具學(xué)習(xí)入手。
例如:日本聯(lián)合技術(shù)統(tǒng)計(jì)署、日本聯(lián)合分析計(jì)劃、日本聯(lián)合戰(zhàn)略計(jì)劃、日本聯(lián)合戰(zhàn)略計(jì)劃、HSDB......................................................................................................................................................當(dāng)然,作為初步的學(xué)習(xí),我們只需要了解幾個(gè)常用的命令,知道它們代表什么。畢竟第三方監(jiān)控工具,包括jdk本身,也提供了三個(gè)可視化的監(jiān)控。
其次,了解jvm的運(yùn)行和加載原理,了解類文件的結(jié)構(gòu)。
在這個(gè)過程中,我們可以使用之前會(huì)用到的監(jiān)控工具來了解jvm加載的基本原理??梢詤⒖糺vm標(biāo)準(zhǔn)的官方版本,學(xué)習(xí)理解類文件。在此基礎(chǔ)上,我們可以使用classpy等工具來方便我們直接讀取類文件。還可以嘗試支持類字節(jié)碼級別的單步調(diào)試工具。你甚至可以嘗試使用jvm匯編編碼工具。
接下來,了解jvm垃圾收集機(jī)制的發(fā)展歷史,以及各種主流垃圾收集器的工作原理。
這個(gè)過程其實(shí)很復(fù)雜。垃圾收集器有各種串行,并行,新聲代/換和老齡,還有回收警戒線,滿觸發(fā)條件,各種基本參數(shù)和很少用的超參數(shù),還有G1 H區(qū),ZGC等等。。。幸運(yùn)的是,GC不是官方j(luò)vm規(guī)范的一部分。
然后,做一些jvm的練習(xí)和實(shí)戰(zhàn)。
比如jvm常見故障排查和故障總結(jié)、性能調(diào)優(yōu)、熱加載、類字節(jié)碼的動(dòng)態(tài)操作、asm等。
最后,可以嘗試實(shí)現(xiàn)自己的jvm。(當(dāng)然這一步對于很多同學(xué)來說并不是必須的。)
這里我推薦幾本書,也是徹底理解jvm規(guī)范的學(xué)習(xí)路徑。最好自己實(shí)現(xiàn)垃圾收集器。
周小姐 《深入理解Java虛擬機(jī)》南部。
接下來是《深入嵌入式j(luò)ava虛擬機(jī)》和支持源代碼。這個(gè)cldc的jvm源代碼只有1M多。目前仍可在甲骨文官網(wǎng)下載。是一個(gè)非常精簡的jvm實(shí)現(xiàn)。
接下來可以看《自己動(dòng)手寫java 虛擬機(jī)》豹書,關(guān)注高級語言虛擬機(jī)的圈子。
當(dāng)然,關(guān)于垃圾收集的書很少,這里我推薦《《The Garbage Collection Cookbook》》,一本關(guān)于垃圾收集的經(jīng)典書籍。其實(shí)如果你對新的垃圾收集算法感興趣,可以去知乎搜索相關(guān)論文和GC算法的開源演示。
當(dāng)然,我的建議只是針對Java本身。
很想學(xué)java生態(tài)學(xué),軟件工程,計(jì)算機(jī)網(wǎng)絡(luò),大數(shù)據(jù)基礎(chǔ),mahuot,sparklib,分布式搜索架構(gòu),各種消息中間件,緩存中間件,數(shù)據(jù)庫,DNS/CDN。。。。。這些都是互聯(lián)網(wǎng)應(yīng)用,不可避免。
我只能建議我精通一般知識,精通研究方向和相關(guān)的生態(tài)學(xué)理解。
因?yàn)閱栴}是針對java本身的。我贏了。;其他具體方向不展開。描述了大致的技術(shù)方向,沒有其他答案詳細(xì)討論語法糖的水平。希望對主有幫助。
如有問題,歡迎關(guān)注回復(fù),與我探討。謝謝你。