1.ä»ä¹å«EMQ
2.å¦ä½å®ç°djangootp
3.wxErlang发展历程
ä»ä¹å«EMQ
EMQæ¯åºäºé«å¹¶åçErlang/OTPè¯è¨å¹³å°è®¾è®¡ï¼æ¯æç¾ä¸çº§è¿æ¥ååå¸å¼é群ï¼åå¸è®¢é 模å¼çå¼æºMQTTæ¶æ¯æå¡å¨å®æ´æ¯æMQTT V3.1/V3.1.1åè®®è§èï¼æ©å±æ¯æWebSocketãStompãCoAPãMQTT-SNæç§æTCPåè®®
å®å ¨å¼æ¾æºç
åºäºApache Version 2.0å¼æºåè®®
ç¾ä¸çº§å¹¶åè¿æ¥
åèç¹ä¸å¹¶åMQTTè¿æ¥å³°å¼è´è½½
å®æ´MQTTåè®®æ¯æ
MQTT V3.1.1åè®®è§èQoS0/1/2æ¶æ¯æ¯æ
ç®ä¾¿å®è£ é¨ç½²
跨平å°é¨ç½²å¨LinuxãFreeBSDãMac OS XæWindowsæå¡å¨
åå¸å¼é群ææ¡¥æ¥
åèç¹è´è½½åè¡¡æå¤èç¹åå¸å¼é群
æ©å±æ¨¡åä¸æ件
LDAP, MySQL, PostgreSQL, Redis, MongoDBæ©å±æ件éæ
EMQ! ç»åç»åç»åï¼
å¦ä½å®ç°djangootp
导读ï¼ä»å¤©é¦å¸CTOç¬è®°æ¥ç»åä½åäº«å ³äºå¦ä½å®ç°djangootpçç¸å ³å 容ï¼å¦æè½ç¢°å·§è§£å³ä½ ç°å¨é¢ä¸´çé®é¢ï¼å«å¿äºå ³æ³¨æ¬ç«ï¼ç°å¨å¼å§å§ï¼pythonââDjango项ç®å¼åï¼é 置项ç®/static/è·¯å¾ï¼è°ç¨cssãimgãjsçéææ件å¨Django项ç®å¼åä¸ï¼ä¸è½åæ£å¸¸webå¼åä¸æ ·éè¿'imgs/bg.jpg'访é®æ¬å°éææ件ï¼éè¦åä¸äºé ç½®ï¼æè½å®ç°éææ件ç访é®ã
ä¸ãé¦å å¨é¡¹ç®æ ¹è·¯å¾ä¸æ°å»ºä¸ä¸ªstaticæ件夹ï¼ç¶åå¨staticæ件夹ä¸å¯ä»¥æ°å»ºç¸åºçcssãimgsãjsçæ件夹ï¼ç¨äºåæ¾cssãimgãjsçéææ件ã
äºã项ç®é ç½®
1ãæå¼settings.py,å¨åºé¨æ·»å ï¼
2ãæå¼urls.pyï¼å¨urlpatternsä¸æ·»å ï¼(注æï¼å¦æä½ å¨blogç®å½ä¸ä¹å»ºç«äºurls.pyï¼é£ä¹å°±å¾å¨blog/urls.pyä¸åä¿®æ¹ãå«å¿äºimportsettings)ï¼
ï¼ä¸è¿æç»è¿å®æµï¼ä¸å è¿ä¸ä¸ªï¼ä¹å¯ä»¥å®æéææ件ç访é®ï¼
3ãå¨html模æ¿æä¸é¢æ·»å ï¼
ç¶åå¨éè¦çå°æ¹æç §è¿ä¸ªæ ¼å¼è¿è¡è°ç¨ï¼å¦ï¼
æåéæ°è¿è¡é¡¹ç®ï¼imgçæ¬å°éææ件就å¯ä»¥è¢«djangoæ¾å°äºï¼è¿æ¶æ¨¡æ¿å¯¹åºç页é¢å°±å¯ä»¥æ¾ç¤ºä½¿ç¨imgçæ件äºã
djangoå®ç°å®æ¶æ¶æ¯æ¨éæä»ä¹å¥½çæ¹æ¡djangoå®ç°å®æ¶æ¶æ¯æ¨éï¼æ°æ®åºæ°æ®ä¸æååå°±å®æ¶ååºå¨é¡µé¢ä¸ç¨ä½ç³»ç»å®æ¶çæ§ãå¨ä¸ä¸ªHTTP访é®å¨æéï¼å¦æè¦æ§è¡ä¸ä¸ªé¿æ¶é´ä»»å¡ï¼ä¸ºäºé¿å æµè§å¨çå¾ ï¼åå°å¿ 须使ç¨å¼æ¥å¨ä½ã
ä¸æ¤åæ¶ä¹è¦æ»¡è¶³å®æ¶éæ±ï¼ç¨æ·æ交äºä»»å¡åå¯ä»¥éæ¶å»è®¿é®ä»»å¡è¯¦æ 页é¢ï¼å¨è¿éç¨æ·è½å¤å®æ¶å°çå°ä»»å¡çæ§è¡è¿åº¦ãé对å¼æ¥ä»»å¡å¤çï¼ä½¿ç¨äºCeleryæä»»å¡æ¾å°åå°æ§è¡ã
Celeryæ¯ä¸ä¸ªåºäºpythonå¼åçåå¸å¼å¼æ¥æ¶æ¯ä»»å¡éåï¼éè¿å®å¯ä»¥è½»æ¾çå®ç°ä»»å¡çå¼æ¥å¤çï¼å ³äºå®ç使ç¨æ¹æ³ãç½æä¹å¾RDS设计ãä¹ææå°ãCeleryå¨å¤çä¸ä¸ªä»»å¡çæ¶åï¼ä¼æè¿ä¸ªä»»å¡çè¿åº¦è®°å½å¨æ°æ®åºä¸ã
æ¶æ¯æ¨éç´æ¥æ¾ä¸ä¸çå¹³å°ï¼ä¾å¦æå ãæ·±å³å¸å讯åè°·ä¿¡æ¯ææ¯æéå ¬å¸ï¼æå AuroraMobileï¼çº³æ¯è¾¾å è¡ç¥¨ä»£ç ï¼JGï¼æç«äºå¹´ï¼æ¯ä¸å½é¢å çå¼åè æå¡æä¾åï¼ä¸æ³¨äºä¸ºå¼åè æä¾ç¨³å®é«æçæ¶æ¯æ¨éãä¸é®è®¤è¯ä»¥åæµéåç°çæå¡ï¼å©åå¼åè çè¿è¥ãå¢é¿ä¸åç°ã
djangoçå¼æ¥è¯·æ±éé»å¡æ¯æä¹å®ç°ç
ä½ åºè¯¥æ¯ä½¿ç¨äºDjangoèªå·±çå¼åæå¡å¨è·çä¾åï¼å¨Djangoå ³äºmanage.pyçææ¡£ä¸åéï¼
--nothreading
Thedevelopmentserverismultithreadedbydefault.Usethe--nothreadingoptiontodisabletheuseofthreadinginthedevelopmentserver.
ä¹å°±æ¯è¯´ï¼é»è®¤æ åµä¸ä½ 使ç¨./manage.pyrunserverä¼å¼å¯å¤ä¸ªçº¿ç¨å¯¹HTTP请æ±è¿è¡ä¼ºæï¼æ以第äºä¸ªè¯·æ±è¿æ¥æ¶è½ç¶ç¬¬ä¸ä¸ªè¯·æ±ä»å¨sleepï¼ä½å·²ç»æ°å¼äºä¸ä¸ªçº¿ç¨è¿è¡ååºå¤çï¼çèµ·æ¥åæ¯âéé»å¡âçå·¥ä½æ¨¡å¼ï¼å ¶å®è´¨æ¯å¤çº¿ç¨èéå线ç¨ï¼æ³ç¦ç¨è¿ä¸è¡ä¸ºä¹å·²ç»ç»åºäºçæ¡ï¼å ä¸--nothreadingåæ°ï¼./manage.pyrunserver--nothreadingå³å¯ã
å¦ä½ç¨djangoå¼åä¸ä¸ªç®æ个人Blog-Python设计并å®ç°ä¸ä¸ªåºäºPythonç个人å客系ç»,éè¦å®æå¦ä¸åè½
å®æ个人å客系ç»ç设计åå¼å
ç¨æ·å¯ä»¥éè¿ä¸ªäººå客系ç»ï¼åå¸ææ°çæ¥å¿
è¿ç¨æå¦ä¸ä¸ç论åå®è·µï¼åæ解å³éå°çé®é¢ä»¥æé«èªå·±çå¨æãæèå解å³é®é¢çè½å
主è¦æ¨¡åå¦ä¸
æç« ç®¡ç模åï¼ä¸»è¦åè½æ¯ç®¡çåç³»ç»ç®¡çåç»å ¥åï¼æµè§æ¥çæç« ï¼å é¤ä¸å¥½çæç« çåè½
æ ç¾ç®¡ç模åï¼ä¸»è¦åè½æ¯ç®¡çåç³»ç»ç®¡çåç»å ¥åï¼æµè§æ¥çç¸åï¼å é¤ç¸åçåè½
æç« ãæ ç¾æµè§æ¨¡åï¼ä¸»è¦åè½æ¯æ¸¸å®¢è¿å ¥ç³»ç»åãå¯ä»¥æµè§æç« å表ï¼å¯ä»¥ææ ç¾æ¥çæç«
è¯è®ºç³»ç»æ¨¡å,游客å¯ä»¥å表æ¥çå«äººçè¯è®º
å®è£ ä¸ä½¿ç¨
项ç®éç¨Djangoæ¡æ¶è¿è¡å¼å,Djangoæ¯ä¸ä¸ªç¨äºå¿«éwebå¼åçä¼å¼æ¹æ¡(å ä¹æ²¡æä¹ä¸),è·åæºç åå¯ä»¥æç §å¦ä¸æ¹å¼æ¥è¿è¡ä»£ç
æ°å»ºmysqlæ°æ®åº,å°æ°æ®åºsqlæä»¶å¯¼å ¥
ä¿®æ¹æºç å ä¸çcsworkblog/settings.pyæ件,å°DATABASESè¿ä¸ªåééçå 容æ¹ä¸ä¸,è¿ä¸ªå°±æ¯ä½ æ¬å°çæ°æ®åºurlåç¨æ·åå¯ç ,å ¶ä¸NAMEä¸ºä½ çdatabaseå称
è¿å ¥æºç å ,æå¼cmd,è¿è¡å½ä»¤pythonmanager.pyrunserverå°±è½å¯å¨æå¡,端å£ä¸º
为åå°ç®¡ççé¢,管çåç¨æ·åå¯ç 为admin,å¯ä»¥è¿è¡æç« ç®¡çæ ç¾ç®¡çè¯è®ºç®¡ç
çé¢è¿æ¯æ¯è¾å¥½çç,项ç®æªå¾æºç ä¸è½½å°åcs-work.com/p/?
[django]å¨windowsä¸æ建Djangoçèæç¯å¢æ们å¨windowsçç¯å¢ä¸å»å¼åä¸ä¸ªç½ç«çæ¶åï¼Pythonä¸çDjangoæ¯ä¸ä¸ªæ¯è¾å¼ºå¤§çæ¡æ¶ãç¶åæ们æ¢æ³è®©ä»æ¥æç¬ç«çå¼åç¯å¢ï¼åä¸å½±åå ¨å±çPythonç¯å¢ï¼è¿æ³é²æ¢ç³»ç»ä¸åºç°å 管çæ··ä¹±çæ¬å²çªãè¿ä¸ªæ¶åå°±è¦éè¿å建ä¸ä¸ªèæç¯å¢æ¥å®ç°ã
é¦å ä½ ççµèä¸å¿ é¡»æPythonç解éå¨ï¼å¨ç»ç«¯è¡å¯ä»¥å®è£ ä¸ä¸ªèæç¯å¢æä¾èµçåºã
å®è£ 好ä¹åæ们就å¯ä»¥å»å建ä¸ä¸ªæ°çèæç¯å¢äºï¼
æ°å»ºå¥½ä¹åãæä¹ä¼å¨ç»ç«¯ä¸çå°ç´æ¥è¿å ¥å°èæç¯å¢ä¸äºï¼
å¨å¾çä¸æ们å¯ä»¥çå°å·²ç»è¿å ¥å°testvir2çèæç¯å¢ä¸ã
æ¤æ¶æ们ç项ç®åå¨çä½ç½®å¨C:\Users\gongyan\Envs\ä¸å°±å¯çå°
éåºæ们çèæç¯å¢çå½ä»¤ä¸ºï¼
使ç¨workonæ¥æ¥çæ们å½åæå 个èæç¯å¢ã
æ³è¦è¿å ¥é£ä¸ªèæç¯å¢çè¯å°±å¯ä»¥éè¿workonçå½ä»¤æ¥å®ç°ã
以ä¸å°±æ¯ææçèæç¯å¢çç©æ³ã
djangoçæ¶æ设计Djangoæ¯ä¸ä¸ªåºäºMVCæé çæ¡æ¶ãä½æ¯å¨Djangoä¸ï¼æ§å¶å¨æ¥åç¨æ·è¾å ¥çé¨åç±æ¡æ¶èªè¡å¤çï¼æ以Djangoéæ´å ³æ³¨çæ¯æ¨¡åï¼Modelï¼ã模æ¿(Template)åè§å¾ï¼Viewsï¼ï¼ç§°ä¸ºMTV模å¼ãå®ä»¬åèªçèè´£å¦ä¸ï¼å±æ¬¡è责模åï¼Modelï¼ï¼å³æ°æ®ååå±å¤çä¸æ°æ®ç¸å ³çææäºå¡ï¼å¦ä½ååãå¦ä½éªè¯æææ§ãå å«åªäºè¡ä¸ºä»¥åæ°æ®ä¹é´çå ³ç³»çã模æ¿(Template)ï¼å³è¡¨ç°å±å¤çä¸è¡¨ç°ç¸å ³çå³å®ï¼å¦ä½å¨é¡µé¢æå ¶ä»ç±»åææ¡£ä¸è¿è¡æ¾ç¤ºãè§å¾ï¼Viewï¼ï¼å³ä¸å¡é»è¾å±åå模ååè°åæ°å½æ¨¡æ¿çç¸å ³é»è¾ã模åä¸æ¨¡æ¿ä¹é´çæ¡¥æ¢ãä»ä»¥ä¸è¡¨è¿°å¯ä»¥çåºDjangoè§å¾ä¸å¤çç¨æ·è¾å ¥ï¼èä» ä» å³å®è¦å±ç°åªäºæ°æ®ç»ç¨æ·ï¼èDjango模æ¿ä» ä» å³å®å¦ä½å±ç°Djangoè§å¾æå®çæ°æ®ãæè 说,Djangoå°MVCä¸çè§å¾è¿ä¸æ¥å解为Djangoè§å¾åDjango模æ¿ä¸¤ä¸ªé¨åï¼åå«å³å®âå±ç°åªäºæ°æ®âåâå¦ä½å±ç°âï¼ä½¿å¾Djangoç模æ¿å¯ä»¥æ ¹æ®éè¦éæ¶æ¿æ¢ï¼èä¸ä» ä» éå¶äºå ç½®ç模æ¿ã
è³äºMVCæ§å¶å¨é¨åï¼ç±Djangoæ¡æ¶çURLconfæ¥å®ç°ãURLconfæºå¶æ¯ä½¿ç¨æ£å表达å¼å¹é URLï¼ç¶åè°ç¨åéçPythonå½æ°ãURLconf对äºURLçè§å没æä»»ä½éå¶ï¼ä½ å®å ¨å¯ä»¥è®¾è®¡æä»»æçURLé£æ ¼ï¼ä¸ç®¡æ¯ä¼ ç»çï¼RESTfulçï¼æè æ¯å¦ç±»çãæ¡æ¶ææ§å¶å±ç»å°è£ äºï¼æ éä¸æ°æ®äº¤äºè¿å±é½æ¯æ°æ®åºè¡¨ç读,å,å é¤,æ´æ°çæä½.å¨åç¨åºçæ¶åï¼åªè¦è°ç¨ç¸åºçæ¹æ³å°±è¡äºï¼æè§å¾æ¹ä¾¿ãç¨åºåææ§å¶å±ä¸è¥¿äº¤ç»Djangoèªå¨å®æäºãåªéè¦ç¼åé常å°ç代ç å®æå¾å¤çäºæ ãæ以ï¼å®æ¯MVCæ¡æ¶èèçé®é¢è¦æ·±ä¸æ¥ï¼å 为æ们ç¨åºå大é½å¨åæ§å¶å±çç¨åºãç°å¨è¿ä¸ªå·¥ä½äº¤ç»äºæ¡æ¶ï¼ä» éåå¾å°çè°ç¨ä»£ç ï¼å¤§å¤§æé«äºå·¥ä½æçã
ç»è¯ï¼ä»¥ä¸å°±æ¯é¦å¸CTOç¬è®°ä¸ºå¤§å®¶æ´ççå ³äºå¦ä½å®ç°djangootpçå ¨é¨å 容äºï¼æè°¢æ¨è±æ¶é´é 读æ¬ç«å 容ï¼å¸æ对æ¨ææ帮å©ï¼æ´å¤å ³äºå¦ä½å®ç°djangootpçç¸å ³å 容å«å¿äºå¨æ¬ç«è¿è¡æ¥æ¾åã
wxErlang发展历程
年4月3日,wxErlang被正式整合到标准的Erlang/OTP分布中,意味着后续的更新将主要通过补丁进行,而不是baic源码怎么写这个网站。下载页面将只提供与Erlang/OTP补丁同步的更新。虽然仍然建议获取最新的源代码,但可能需要对代码进行重构以适应新的版本。
在年9月日,wxErlang新增了多项功能,如wx_object接口实现,支持gen_server回调API的std complex源码销毁对象,clientData controlWithItems功能,改进的错误处理,以及多个控件类的增强,如wxStaticLine, wxArtProvider, wxClipboard等。测试目录也得到了重做,补码化为源码文档Makefile被RichardC修复,同时修复了wxBitmap和wxCursor的分析警告。演示和例子的警告也得到了修正,内部事件处理和回调功能不再依赖wxWidgets的僵局。
向后兼容性方面,debian安装源码代码生成器进行了更改,未来对枚举和定义的处理将更加稳定,但可能需要用户重新编译代码。HarryH添加了wxMenuItem的GetBitmap和SetBitmap功能,以及一个名为menu.erl的llv源码分析样本开始。
年5月日,主页由新的Wiki主办,类和错误修复中包含了一些不兼容的变化,如调试演示应用的添加,wxListBox, wxComboBox等控件的新功能,笔记本类的引入,以及添加了CtrlWithItems功能和CalendarCtrl类等。
同年4月4日,新类别和更多bug修复发布,连接和事件API的API进行了改写,使其与旧版本不兼容。年2月6日,发布了包含bug修复和测试改进的新beta版本,特别关注了打印接口的测试。