1.å端å¼å常ç¨å好ç¨çå 个软件
2.xxjob有哪几种开发模式?
3.make 的源码执行过程与条件判断
4.合集系列1类似GitHub的10个代码托管网站推荐,你目前在使用哪一个?
å端å¼å常ç¨å好ç¨çå 个软件
æ£æè°â工欲åå ¶äºå¿ å å©å ¶å¨âï¼ä¸ååæ ¼çWebå端å¼åå·¥ç¨å¸èªç¶ä¼ç¨å°ä¸å°è½ä½¿å ¶å·¥ä½é«æçå·¥å ·ãä¸é¢ï¼å°±ç»å¤§å®¶å享Webå端å¦ä¹ éè¦äºè§£çå款HTML5å¼åå·¥å ·ã1ãLungo
Lungoæ¯ä¸æ¬¾åºäºHTML5çå¼åæ¡æ¶ï¼ä¸ä¸ºæ³è¦è®¾è®¡ãæ建åå ±äº«è·¨è®¾å¤åºç¨çå¼åè èåå¤ãæ¯æå¼æ¾çWebæ åï¼å¦HTML5ãCSS3åJavaScriptï¼æ¯æææºãçµè§ä»¥åæ¡é¢è®¾å¤ãæ¥æ强大çJavaScript APIï¼å¼åWebAPPåºç¨æå¾å¤ç§æ¹å¼ï¼èä¸æ¯ä¸å³çä¼åãLungoæä¾äºä¸ä¸ªå¼ºå¤§çAPIï¼è¿æ ·ä½ å¯ä»¥å®å ¨ææ§èªå·±çWebAPPåºç¨ç¨åºã
2ãAnimatron
Animatronæ¯ä¸æ¬¾ç®åèå强大çå¨çº¿å·¥å ·ï¼éè¿å®ï¼ä½ å¯ä»¥å建åºä»¤äººæå¹ççHTML5å¨ç»åäºå¨å 容ã使ç¨é常ç´è§çAnimatronç¼è¾å¨å»è®¾è®¡ååå¸å®ç¾ç移å¨äº§åï¼åæ¶ä¹å¯ä»¥å°å¤ææ¾ççµå½±åä¿¡æ¯å¾è¡¨çï¼ä»æ¡é¢æµè§å¨å°ç§»å¨è®¾å¤ï¼æ éç¼ç ï¼æè§å³æå¾ã
3ãDCloudHBuilder
DCloudHBuilderï¼åºäºHTML5å¼åå·¥å ·æ¯å½åæå¿«çHTMLå¼åå·¥å ·ï¼å¼ºå¤§ç代ç å©æå¸®ä½ å¿«éå®æå¼åï¼æå ¨çè¯æ³åºåæµè§å¨å ¼å®¹æ§æ°æ®è®©æµè§å¨ç¢çåä¸å头çï¼DCloud è¿æä¾äºç«¯æå æå¡ï¼å¯ä»¥è®©å¼åè ç´æ¥å¨äºç«¯çæ .ipa æ .apk å®è£ å ä¾é¨ç½²è°è¯ã
4ãmobl
mobl æ¯ä¸ä¸ªæ°çå¼æºçç¼ç¨è¯è¨ï¼ä¸»è¦ç¨äºå éææºåºç¨çå¼åï¼mobl å¯æ¹ä¾¿æ建ææº Web åºç¨ç¨åºï¼å æ¬ iOSãAndroid åå ¶ä»æ¯æ HTML5 ææ¯çææºãMobl使ç¨ä¸ç§ä¸JavaScripté常类似çèæ¬è¯è¨å®ç°äºéæç±»åçæ¨æè¯è¨ã该è¯è¨æ¥æ以ä¸é¡¶çº§ç»æï¼ å®ä½ï¼entitiesï¼ãç±»åï¼typesï¼ãå½æ°ï¼functionsï¼ãæ§ä»¶ï¼controlsï¼ãå±å¹ï¼screensï¼ãæ ·å¼ï¼styles ï¼å设å¤ï¼servicesï¼ãå®ä½æ¯å¨æ¬å°åå¨ä¸æä¹ åçæ°æ®å ç´ ï¼èç±»åæ¯ä¸ç§ä¾æ们使ç¨çä¸ç¨³å®çæ°æ®ãå½æ°ä¸é£äºå®ä¹å¨JavaScript以åè½å¤è°ç¨JavaScript代ç çè¯è¨ä¸çå½æ°ç±»ä¼¼çã
5ãInitializr
Initializr æ¯å¶ä½ HTML5 ç½ç«æ好çå ¥é¨è¾ å©å¼åå·¥å ·ï¼ä½ å¯ä»¥ä½¿ç¨æä¾çç¹è²æ¨¡æ¿å¿«éçæç½ç«ï¼ä¹å¯ä»¥èªå®ä¹ï¼Initializr ä¼ä¸ºä½ çæ代ç ç®æ´çå¯å®å¶çç½é¡µæ¨¡æ¿ã
6ãWebStorm
WebStormæ¯ä¸æ¬¾å¼ºå¤§çHTML5/JavaScriptWebå端å¼åå·¥å ·ï¼è¢«å¹¿å¤§JSå¼åè èªä¸ºâWebå端å¼åç¥å¨âã
WebStorm 8å ¨æ°ç¹æ§ä¸å æ¬å¯¹AngularJSçæ¯æï¼è½å¤é«æåç¡®å°æºè½æç¥Angularè¯æ³ãæ令ãWebStormè¿å®ç¾æ¯æSpy-jsï¼å并äºè¿æ¬¾JavaScriptè°è¯å©å¨ï¼å¤§å¤§æé«äºå¼åè 们çå·¥ä½æçã
7ãNotepad++
Notepad++ç¨åºåå¿ å¤çææ¬ç¼è¾å¨ï¼è½¯ä»¶å°å·§é«æï¼æ¯æç§ç¼ç¨è¯è¨ï¼éåC,源码C++ ,Java ,C#, XML, HTML, PHP,JS çï¼æ¨èåä½ä¸è½½ä½¿ç¨ãNotepad++ å¯å®ç¾å°å代微软çè®°äºæ¬ã
8ãDreamweaver
Dreamweaver æ¯ä¸ç顶级软件ååAdobeæ¨åºçä¸å¥æ¥æå¯è§åç¼è¾çé¢ï¼ç¨äºå¶ä½å¹¶ç¼è¾ç½ç«å移å¨åºç¨ç¨åºçç½é¡µè®¾è®¡è½¯ä»¶ãç±äºå®æ¯æ代ç ãæåã设计ãå®æ¶è§å¾çå¤ç§æ¹å¼æ¥åä½ãç¼ååä¿®æ¹ç½é¡µï¼å¯¹äºå级人åï¼ä½ å¯ä»¥æ éç¼åä»»ä½ä»£ç å°±è½å¿«éå建Web页é¢ãå ¶æçç代ç ç¼è¾å·¥å ·æ´éç¨äºWebå¼åé«çº§äººåçåä½ï¼
9ãEclipse
Eclipseçæ¬èº«åªæ¯ä¸ä¸ªæ¡æ¶å¹³å°ï¼ä½æ¯ä¼å¤æ件çæ¯æ使å¾Eclipseæ¥æå ¶ä»åè½ç¸å¯¹åºå®çIDE软件å¾é¾å ·æççµæ´»æ§ã许å¤è½¯ä»¶å¼åå以Eclipse为æ¡æ¶å¼åèªå·±çIDEãEclipseæåæ¯ç±IBMå ¬å¸å¼åçæ¿ä»£åä¸è½¯ä»¶Visual Age for Javaçä¸ä¸ä»£ideå¼åç¯å¢ï¼å¹´æè´¡ç®ç»å¼æºç¤¾åºï¼ç°å¨å®ç±éè¥å©è½¯ä»¶ä¾åºåèçEclipseåºéä¼ï¼Eclipse Foundationï¼ç®¡çã
ãDevExtreme
DevExtremeæ¯ä¸ä¸ºä½ ç移å¨ä¸çç²¾å¿åå¤çï¼ä¸ä¸ªè·¨å¹³å°å¼åçHTML5/JSæ¡æ¶ï¼å¯ä»¥æ建iOSãAndroidãTizenåWindows Phone 8åºç¨ç¨åºï¼æ¯Visual Studioå¼å人åå¼å跨平å°ç§»å¨äº§åçä¼éå·¥å ·ã
以ä¸å°±æ¯ä¸ºå¤§å®¶å享çå款HTML5å¼åå¿ å¤çå·¥å ·ï¼ç¸ä¿¡è¿äºå·¥å ·ä¸å®ä¼è®©ä½ å¸®ä½ å¨ä»äºWebå端å¼åè¿ç¨ä¸æé«æçï¼æå¼ä¸ææ°ç大é¨ã
xxjob有哪几种开发模式?
XXL-Job支持两种模式的任务开发,BEAN和GLUE。源码GLUE是源码在WebIDE上进行开发,源码维护在调度中心,源码支持Java、源码c 收取邮件源码Shell、源码Python、源码NodeJS、源码PHP、源码PowerShell。源码
BEAN模式开发更多的源码还是在业务系统中
BEAN模式有两种方式:类形式、方法形式。源码
其中类型是源码就是继承IJobHandler,实现其中任务方法,源码并注入到执行器容器内即可。
一个任务一个类,无需框架,直接用main函数调用即可。
make 的执行过程与条件判断
通过在 Terminal 中输入以下命令可以将本课程所涉及的所有源代码下载到Linux环境中,作为参照对比进行学习。
命令执行后 WebIDE 的工作区中将会出现一个名为make_example-master 的文件夹。
本章节的uboot源码编译步骤源代码位于/home/project/make_example-master/chapter3 目录下,请在 Terminal 中通过 cd 命令切换至该目录后再进行实验学习。
编写 makefile 文件内容如下:
在 makefile 文件中我们定义了两个变量vari_a 与 vari_b,同时我们在执行规则 all 时将他们的值打印输出,现在执行 make 命令,观察输出结果。
新增一个文件inc_a,在文件中声明一个变量 vari_b 值为 「vari b from inc_a」。 提供的源代码中已有此文件,内容如下:
修改 makefile 文件,在文件的最后一行通过 include 将 inc_a 包含到 makefile 中。
执行make 命令观察输出结果。
可以发现vari_b 的值被修改了。
我们知道make 是按照顺序一行行读入 makefile。 前面介绍make 的第一阶段是读入所有 makefile 文件,include导入的文件以及环境变量指定的文件。所以解析新修改的 makefile 时,inc_a 应该在第一阶段被解析完毕,所以 vari_b 变量就被 inc_a 修改掉了。
由此说明文件的处理顺序与include 指示符在 makefile 中的位置无关。
到目前为止,我们已经知道 makefile 中的指令都是 shell 指令,那么make 是手机 答题网站 源码怎样执行目标对应指令呢? 答案还是 shell。make 会调用 shell 去执行每一条指令。需要注意的是,即便在同一个目标下,每一条指令都是相互独立的。 也就是说 make 会分别调用 shell 去执行每一条指令,而非使用一个 shell 进程按顺序执行所有的命令。
使用cd 命令和 pwd 命令查看两条相邻的命令能否相互产生影响,由此来验证说法的正确性。 在提供的源文件代码中已经有 cd_test.mk 文件,内容如下:
从内容中我们可以知道all 规则是由三条命令构成的,其中 @pwd 表示打印当前绝对路径,但不要显示 pwd 命令,cd .. 表示回到上一层目录。 因此,若三条指令是在一个 shell 进程中顺序执行,那么命令的执行顺序是先打印当前目录的绝对路径,再返回上一层目录并打印上一层目录的绝对路径。若是三条指令是在三个不同的 shell 中执行的,则两次 @pwd 命令的执行结果将会是相同的。
现在执行下面的命令并观察输出结果。
Terminal 的输出结果如图:
说明三条命令是在三个不同的 shell 中执行的。
打印进程id确认指令会被不同的有声小说源码系统进程执行。 提供的源代码中已有用来测试的代码文件cmd_test.mk, 内容如下:
其中“$$$$”代表的是当前进程id。 所以cmd_test.mk的命令执行过程就是分别打印all目标下两条命令的进程id。 执行make -f cmd_test.mk进行测试:
可以看出两条命令输出的进程 id 是不同的
目标下的每一条命令都是通过不同的shell执行的。
有些状况下,用户希望能够使用cd 命令来控制命令执行时所在的路径,比如 cd 到某个目录下,编译其中的源代码,要实现该操作就必须在一行中写入多条指令。
先修改cd_test.mk文件,将三条指令都放在一行,并用“;”隔开。 请注意第三条“@pwd”的指令中,“@”符号要删掉,此符号只用于每一行的开头。 修改后的cd_test.mk内容如下:
执行以下命令:
Terminal 的输出结果如图所示:
说明这三条命令是在同一个进程中被执行的。
在同一行中书写多条指令是一件比较麻烦的事情,尤其是指令较长时,非常不方便阅读和修改。makefile 中可以使用反斜线“\”来将一行的内容分割成多行。 源文件中有一个multi_test.mk脚本,用于测试反斜线的程序源码被公开作用,内容如下:
此文件将一条指令分割成 3 行,其中第 1 行和第 2 行组成一条完整的指令,内容与第 3 行指令相似。两条指令的作用也是打印当前执行进程的 id 号。 使用make -f multi_test.mk 命令执行此文件。
Terminal 的输出结果如图:
可以看出执行效果与修改后的cmd_test.mk 文件执行效果一致,说明反斜杠的确能起到连接多行指令的作用。
makefile 中的条件判断语句条件判断语句的基本格式如下:
其中TEXT-IF-TRUE 可以为若干任何文本行,当条件为真时它被 make 作为需要执行的一部分。
makefile 中有else 分支的条件判断语句格式如下:
其中make 在条件为真时执行 TEXT-IF-TRUE,否则执行TEXT-IF-FALSE。
ifeq 用于判断条件是否相等,可以支持以下几种格式:
❗ 注意:ifeq/ifneq 等关键字后面一定要接一个空格,否则 make 会因为无法识别关键字而报错!
提供的代码文件中已有eq.mk 文件,内容如下:
依次执行下面的命令:
Terminal 输出结果如图:
ifneq 支持的格式与 ifeq 相同,同样提供的代码文件中已有 neq.mk 文件,内容如下:
neq.mk 中的条件判断语句使用了 ifneq ... else ... endif 结构。 当 a 不为空时,b 的值与 a 相同,否则 b 为默认值 null。
依次执行下面的make 命令,打印输出 b 在各种情况下的值:
Terminal 输出结果如图:
ifdef 语句的语法格式如下:
它只会判断变量是否有值,而不关心其值是否为空。
现在我们测试ifdef 的用法,以及要怎样理解变量值为空和变量未定义的差别。 提供的源代码文件中已有测试需要的代码文件def.mk,内容如下:
def.mk 文件中先声明了一个变量 a,但并未给其赋值,即变量 a 未定义。 变量 a 又被赋给了变量 b,由于 a 是未定义变量,因此 b 为空值。 make 执行此文件时分别打印变量 a、b、c、d 的值。
现在执行下面的make 命令,观察输出结果。
Terminal 的输出结果如图:
可见对make 来说,它认为 a 属于未定义变量,b 则属于已定义变量。
ifndef语句的格式与 ifeq 相同,逻辑上与 ifeq 相反。 提供的源代码中包含了测试需要用到的代码文件 ndef.mk 文件,它的内容与 def.mk 相似:
现在执行下面的make 命令并查看输出结果。
Terminal 中的输出结果如图所示:
本章学习了make 执行的两个阶段,目标指令的执行细节以及 makefile 中条件执行语句的编写。
合集系列1类似GitHub的个代码托管网站推荐,你目前在使用哪一个?
码云(gitee.com)是开源中国社区团队推出的基于Git的快速、免费、稳定的在线代码托管平台,为开发者提供云端软件开发协作平台,支持个人、团队与企业代码托管、项目管理与协作。
Coding.net是一个云端开发平台,提供Git/svn代码托管、代码质量分析、在线WebIDE、项目管理、开发协作与社会化讨论功能,支持多成员协作,深度集成代码仓库操作,提供公有云与企业私有云服务。
BitBucket提供Mercurial和Git版本控制,支持免费账户与商业计划,包含不限数量私人存储库(每个账户最多5个用户),提供付费计划以支持更多用户。公开仓库对编辑或读取内容人数无限制。
Springloops是版本控制软件,支持Git与SVN,适合个人与团队商业使用。
Gogs是类似Github的开源代码管理系统,支持二进制运行、Docker或Vagrant安装,适用于任何支持Go语言的平台。提供远程仓库管理、权限分配与团队管理功能。
GitLab是一个Ruby on Rails开发的开源应用程序,提供Git项目仓库管理,通过Web界面访问公开或私人项目。具备与GitHub类似功能,如源代码浏览、缺陷管理与注释,支持团队访问管理与版本历史查看,提供代码片段收集功能。
Microsoft Visual Studio(VS)是微软开发的完整工具集,包含IDE、UML工具与代码管理功能,支持多种平台,如Windows、Windows Mobile、Windows CE等。
Google Code(已关闭)是Google提供的代码托管平台,提供版本控制、问题跟踪、Wiki、下载托管等功能,支持svn、git协议,可搜索互联网上的开源代码。
SourceForge是开源软件开发者进行开发管理的集中场所,提供存储、协作与发布平台。
CodePlex(已关闭)是微软的开源工程网站,提供开源工程展示与管理功能。
此外,还有全栈软件项目管理工具(unfuddle.com)、公共的Git托管站点(repo.or.cz)、软件协作平台并支持代码托管(launchpad.net)、简洁Trac与代码托管(repositoryhosting.com/z...)、搭建自己的github(gitorious.org)、专为Mozilla应用程序与扩展提供免费项目托管(mozdev.org)。
还有Oracle JDeveloper、IntelliJ IDEA、Eclipse、Visual Studio、Delphi、NetBeans IDE、Xcode与GNU Emacs(vc.el)等IDE软件,支持集成版本控制。
更多信息可访问发现并共享来自网络的优质资源的网站。
永顺棋牌源码_2021棋牌源码
360影视 源码
街机麻将源码_街机麻将源码下载
免费源码 1_免费源码 黑马源码网
scrapy源码详解
gdebi的源码_gdb 源码