编译原理龙书答案完整性高第二章2.2ExercisesforSection2.22.2.1Considerthecontext-freegrammar:S->SS+|SS*|aShowhowthestringaa+a*canbegeneratedbythisgrammar.Constructaparsetreeforthisstring.Whatlanguagedoesthisgrammargenerate?Justifyyouranswer.answerS->SS*->SS+S*->aS+S*->aa+S*->aa+a*L={Postfixexpressionconsistingofdigits,plusandmultiplesigns}2.2.2Whatlanguageisgeneratedbythefollowinggrammars?Ineachcasejustifyyouranswer.S->0S1|01S->+SS|-SS|aS->S(S)S|εS->aSbS|bSaS|ε⧗S->a|S+S|SS|S*|(S)answerL={0n1n|n>=1}L={Prefixexpressionconsistingofplusandminussigns}L={Matchedbracketsofarbitraryarrangementandnesting,includesε}L={Stringhasthesameamountofaandb,includesε}?2.2.3WhichofthegrammarsinExercise2.2.2areambiguousanswerNoNoYesYesYes2.2.4Constructunambiguouscontext-freegrammarsforeachofthefollowinglanguages.Ineachcaseshowthatyourgrammariscorrect.Arithmeticexpressionsinpostfixnotation.Left-associativelistsofidentifiersseparatedbycommas.Right-associativelistsofidentifiersseparatedbycommas.Arithmeticexpressionsofintegersandidentifierswiththefourbinaryoperators+,-,*,/.answer1.E->EEop|num2.list->list,id|id3.list->id,list|id4.expr->expr+term|expr-term|termterm->term*factor|term/factor|factorfactor->id|num|(expr)5.expr->expr+term|expr-term|termterm->term*unary|term/unary|unaryunary->+factor|-factorfactor->id|num|(expr)2.2.5Showthatallbinarystringsgeneratedbythefollowinggrammarhavevaluesdivisibleby3.Hint.Useinductiononthenumberofnodesinaparsetree.num->11|1001|num0|numnumDoesthegrammargenerateallbinarystringswithvaluesdivisibleby3?answerproveanystringderivedfromthegrammarcanbeconsideredtobeasequenceconsistingof11,1001and0,andnotprefixedwith0.thesumofthisstringis:sum=Σn(21+20)*2n+Σm(23+20)*2m=Σn3*2n+Σm9*2mItisobviouslycandivisibleby3.No.Considerstring"10101",itisdivisibleby3,butcannotderivedfromthegrammar.Question:anygeneralprove?2.2.6Constructacontext-freegrammarforromannumerals.Note:wejustconsiderasubsetofromannumeralswhichislessthan4k.answerwikipedia:Roman_numeralsviawikipedia,wecancategorizethesinglenomannumeralsinto4groups:I,II,III|IV|V,VI,VII,VIII|IXthengettheproduction:digit->smallDigit|IV|VsmallDigit|IXsmallDigit->I|II|III|εandwecanfindasimplewaytomapromantoarabicnumerals.Forexample:XII=>X,II=>10+2=>12CXCIX=>C,XC,IX=>100+90+9=>199MDCCCLXXX=>M,DCCC,LXXX=>1000+800+80=>1880viatheuppertworules,wecanderivetheproduction:romanNum->thousandhundredtendigitthousand->M|MM|MMM|εhundred->smallHundred|CD|DsmallHundred|CMsmallHundred->C|CC|CCC|εten->smallTen|XL|LsmallTen|XCsmallTen->X|XX|XXX|εdigit->smallDigit|IV|VsmallDigit|IXsmallDigit->I|II|III|ε2.3ExercisesforSection2.32.3.1Constructasyntax-directedtranslationschemethattrans­latesarithmeticexpressionsfrominfixnotationintoprefixnotationinwhichanoperatorappearsbeforeitsoperands;e.g.,-xyistheprefixnotationforx-y.Giveannotatedparsetreesfortheinputs9-5+2and9-5*2.。
answerproductions:expr->expr+term|expr-term|termterm->term*factor|term/factor|factorfactor->digit|(expr)translationschemes:expr->{print("+")}expr+term|{print("-")}expr-term|termterm->{print("*")}term*factor|{print("/")}term/factor|factorfactor->digit{print(digit)}|(expr)2.3.2Constructasyntax-directedtranslationschemethattrans­latesarithmeticexpressionsfrompostfixnotationintoinfixnotation.Giveannotatedparsetreesfortheinputs95-2*and952*-.answerproductions:expr->exprexpr+|exprexpr-|exprexpr*|exprexpr/|digittranslationschemes:expr->expr{print("+")}expr+|expr{print("-")}expr-|{print("(")}expr{print(")*(")}expr{print(")")}*|{print("(")}expr{print(")/(")}expr{print(")")}/|digit{print(digit)}AnotherreferenceanswerE->{print("(")}E{print(op)}E{print(")"}}op|digit{print(digit)}2.3.3Constructasyntax-directedtranslationschemethattrans­latesintegersintoromannumeralsanswerassistantfunction:repeat(sign,times)//repeat('a',2)='aa'translationschemes:num->thousandhundredtendigit{num.roman=thousand.roman||hundred.roman||ten.roman||digit.roman;print(num.roman)}thousand->low{thousand.roman=repeat('M',low.v)}hundred->low{hundred.roman=repeat('C',low.v)}|4{hundred.roman='CD'}|high{hundred.roman='D'||repeat('X',high.v-5)}|9{hundred.roman='CM'}ten->low{ten.roman=repeat('X',low.v)}|4{ten.roman='XL'}|high{ten.roman='L'||repeat('X',high.v-5)}|9{ten.roman='XC'}digit->low{digit.roman=repeat('I',low.v)}|4{digit.roman='IV'}|high{digit.roman='V'||repeat('I',high.v-5)}|9{digit.roman='IX'}low->0{low.v=0}|1{low.v=1}|2{low.v=2}|3{low.v=3}high->5{high.v=5}|6{high.v=6}|7{high.v=7}|8{high.v=8}2.3.4Constructasyntax-directedtranslationschemethattrans­latesromannumeralsintointegers.answerproductions:romanNum->thousandhundredtendigitthousand->M|MM|MMM|εhundred->smallHundred|CD|DsmallHundred|CMsmallHundred->C|CC|CCC|εten->smallTen|XL|LsmallTen|XCsmallTen->X|XX|XXX|εdigit->smallDigit|IV|VsmallDigit|IXsmallDigit->I|II|III|εtranslationschemes:romanNum->thousandhundredtendigit{romanNum.v=thousand.v||hundred.v||ten.v||digit.v;print(romanNun.v)}thousand->M{thousand.v=1}|MM{thousand.v=2}|MMM{thousand.v=3}|ε{thousand.v=0}hundred->smallHundred{hundred.v=smallHundred.v}|CD{hundred.v=smallHundred.v}|DsmallHundred{hundred.v=5+smallHundred.v}|CM{hundred.v=9}smallHundred->C{smallHundred.v=1}|CC{smallHundred.v=2}|CCC{smallHundred.v=3}|ε{hundred.v=0}ten->smallTen{ten.v=smallTen.v}|XL{ten.v=4}|LsmallTen{ten.v=5+smallTen.v}|XC{ten.v=9}smallTen->X{smallTen.v=1}|XX{smallTen.v=2}|XXX{smallTen.v=3}|ε{smallTen.v=0}digit->smallDigit{digit.v=smallDigit.v}|IV{digit.v=4}|VsmallDigit{digit.v=5+smallDigit.v}|IX{digit.v=9}smallDigit->I{smallDigit.v=1}|II{smallDigit.v=2}|III{smallDigit.v=3}|ε{smallDigit.v=0}2.3.5Constructasyntax-directedtranslationschemethattrans­latespostfixarithmeticexpressionsintoequivalentprefixarithmeticexpressions.answerproduction:expr->exprexprop|digittranslationscheme:expr->{print(op)}exprexprop|digit{print(digit)}ExercisesforSection2.42.4.1Constructrecursive-descentparsers,startingwiththefollow­inggrammars:S->+SS|-SS|aS->S(S)S|εS->0S1|01Answer1)S->+SS|-SS|avoidS(){switch(lookahead){case"+":match("+");S();S();break;case"-":match("-");S();S();break;case"a":match("a");break;default:thrownewSyntaxException();}}voidmatch(Terminalt){if(lookahead=t){lookahead=nextTerminal();}else{thrownewSyntaxException()}}2)S->S(S)S|εvoidS(){if(lookahead=="("){S();match("(");S();match(")");S();}}3)S->0S1|01voidS(){switch(lookahead){case"0":match("0");S();match("1");break;case"1"://match(epsilon);break;default:thrownewSyntaxException();}}ExercisesforSection2.62.6.1ExtendthelexicalanalyzerinSection2.6.5toremovecom­ments,definedasfollows:Acommentbeginswith//andincludesallcharactersuntiltheendofthatline.Acommentbeginswith/*andincludesallcharactersthroughthenextoccurrenceofthecharactersequence*/.2.6.2ExtendthelexicalanalyzerinSection2.6.5torecognizetherelationaloperators.2.6.3ExtendthelexicalanalyzerinSection2.6.5torecognizefloat­ingpointnumberssuchas2.,3.14,and.5.AnswerSourcecode:commit8dd1a9aCodesnippet(src/lexer/Lexer.java):publicTokenscan()throwsIOException,SyntaxException{for(;;peek=(char)stream.read()){if(peek==''||peek=='\t'){continue;}elseif(peek=='\n'){line=line+1;}else{break;}}//handlecommentif(peek=='/'){peek=(char)stream.read();if(peek=='/'){//singlelinecommentfor(;;peek=(char)stream.read()){if(peek=='\n'){break;}}}elseif(peek=='*'){//blockcommentcharprevPeek='';for(;;prevPeek=peek,peek=(char)stream.read()){if(prevPeek=='*'&&peek=='/'){break;}}}else{thrownewSyntaxException();}}//handlerelationsignif("".indexOf(peek)>-1){StringBufferb=newStringBuffer();b.append(peek);peek=(char)stream.read();if(peek=='='){b.append(peek);}returnnewRel(b.toString());}//handlenumber,notypesensitiveif(Character.isDigit(peek)||peek=='.'){BooleanisDotExist=false;StringBufferb=newStringBuffer();do{if(peek=='.'){isDotExist=true;}b.append(peek);peek=(char)stream.read();}while(isDotExist==true?Character.isDigit(peek):Character.isDigit(peek)||peek=='.');returnnewNum(newFloat(b.toString()));}//handlewordif(Character.isLetter(peek)){StringBufferb=newStringBuffer();do{b.append(peek);peek=(char)stream.read();}while(Character.isLetterOrDigit(peek));Strings=b.toString();Wordw=words.get(s);if(w==null){w=newWord(Tag.ID,s);words.put(s,w);}returnw;}Tokent=newToken(peek);peek='';returnt;}ExercisesforSection2.82.8.1For-statementsinCandJavahavetheform:for(exprl;expr2;expr3)stmtThefirstexpressionisexecutedbeforetheloop;itistypicallyusedforinitializ­ingtheloopindex.Thesecondexpressionisatestmadebeforeeachiterationoftheloop;theloopisexitediftheexpressionbecomesO.Theloopitselfcanbethoughtofasthestatement{stmtexpr3;}.Thethirdexpressionisexecutedattheendofeachiteration;itistypicallyusedtoincrementtheloopindex.Themeaningofthefor-statementissimilartoexpr1;while(expr2){stmtexpr3;}DefineaclassForforfor-statements,similartoclassIfinFig.2.43.AnswerclassForextendsStmt{ExprE1;ExprE2;ExprE3;StmtS;publicFor(Exprexpr1,Exprexpr2,Exprexpr3,Stmtstmt){E1=expr1;E2=expr2;E3=expr3;S=stmt;}publicvoidgen(){E1.gen();Labelstart=newLable();Lalelend=newLable();emit("ifFalse"+E2.rvalue().toString()+"goto"+end);S.gen();E3.gen();emit("goto"+start);emit(end+":")}}2.8.2TheprogramminglanguageCdoesnothaveabooleantype.ShowhowaCcompilermighttranslateanif-statementintothree-addresscode.AnswerReplaceemit("isFalse"+E.rvalue().toString()+"goto"+after);withemit("ifNotEqual"+E.rvalue().toString()+"0goto"+after);oremit("isNotEqualZero"+E.rvalue().toString()+"goto"+after);
2025/11/27 8:37:48 658KB 龙书答案 完整性高
1
史上最全韩顺平毕业班视频------这里只有8月份,9,10,11月份在另外一个文件下。
传智播客PHP就业班视频课程列表8-111.html介绍html运行原理①8-112.html运行原理②html文件基本结构html元素和属性8-113.符号实体url说明超链接发送电邮8-114.图像表格实际应用-菜谱课堂练习-课程表8-115.无序列表有序列表框架8-121.浮动窗口表单及表单控件①8-122.表单及表单控件②8-123.多媒体页面标签汇总①地图映射18-124.多媒体页面标签汇总①地图映射28-125.多媒体页面标签汇总①地图映射38-126.多标签汇总②线包字效果测试题8-131.div+css开山篇8-132.初识css类选择器id选择器html选择器8-133.通配符选择器父子选择器8-134.选择器使用细节块元素?托心谠?盒子模型盒子模型经典应用①8-135.盒子模型经典应用②作业布置8-151.div+css作业评讲①8-152.div+css作业评讲②8-153.div+css作业评讲③8-154.浮动8-155.网站推荐定位8-156.仿sohu首页面布局可爱屋首页面8-161.动态网页技术介绍php基本介绍8-162.php快速入门bs和cs介绍8-163.web服务器介绍apache服务器安装8-164.apache服务器使用及配置①启动和停止端口配置8-165.apache服务器使用及配置②apache目录结构8-166.apache服务器使用及配置③apache虚拟目录8-171.apache服务器使用及配置④apache虚拟主机web访问时序图8-172.apache服务器使用及配置⑤作业点评提出apache和php整合的需求8-173.php开发环境的搭建和使用①appserv套件安装8-174.php开发环境的搭建和使用②自定义安装8-175.php开发环境的搭建和使用③安装并配置discuz论坛8-191.解答学生问题--一个ip绑定多个域名8-192.php运行过程时序图php书写规范8-193.php基本语法介绍php数据类型介绍8-194.整型细节说明8-195.布尔细节浮点数细节字符串细节算术运算符①8-196.算术运算符②比较运算符逻辑运算符8-201.三元运算符类型运算符运算符优先级8-202.顺序控制分支控制(ififelseswitch)程序流程图8-203.循环控制①(for)8-204.循环控制②(whiledowhile)打印金字塔案例8-205.打印金字塔案例评讲布置练习题8-221.break语句continue语句常量8-222.函数基本概念函数快速入门8-223.函数使用函数调用初步理解8-224.函数调用深入理解函数使用注意事项①8-225.函数使用注意事项②函数作业布8-231.函数再回顾自定义函数8-232.位运算①8-233.位运算②8-234.数组介绍数组的创建?榈谋槔?8-235.数组的引用数组使用细节①8-236.数组使用细节②数组运算符数组作业评讲①数组小结8-241.回顾8-242.选择排序插入排序快速排序8-243.选择排序插入排序快速排序8-244.顺序查找二分查找8-245.多维数组数组作业评讲②8-246.数组作业评讲③8-247.类与对象的基本概念8-261.成员属性如何创建对象8-262.对象在内存中存在形式函数传递对象方式8-263.函数传递基本数据类型和数组方式成员方法①8-264.成员方法②8-265.作业评讲8-27mysql18-27mysql28-281.mysql8-282.mysql8-283.mysql8-284.mysql8-285.mysql8-286.mysql8-301.mysql8-302.mysql8-303.mysql8-304.mysql8-305.mysql8-3118-312.外键、索引8-313.事务处理8-3148-3158-3169-101.回顾9-102.错误和异常处理介绍处理错误方式①-die9-103.处理错误方式②-错误处理器错误级别处理错误方式③-错误触发
2025/11/23 5:46:48 2KB 韩顺平 PHP 传智播客
1
数据录入过程、数据整合过程都可能会产生重复数据,直接删除是重复数据处理的主要方法。
pandas提供查看、处理重复数据的方法duplicated和drop_duplicates。
以如下数据为例:发现重复数据通过duplicated方法完成,如下所示,可以通过该方法查看重复的数据。
需要去重时,可drop_duplicates方法完成:drop_duplicates方法还可以按照某列去重,例如去除id列重复的所有记录:缺失值是数据清洗中比较常见的问题,缺失值一般由NA表示,在处理缺失值时要遵循一定的原则。
首先,需要根据业务理解处理缺失值,弄清楚缺失值产生的原因是故意缺失还是随机缺失,再通过一些业务经
1
【前言】工作或学习中可能需要实现基于VC读\写Excel文件的功能,本人最近也遇到了该问题。
中间虽经波折,但是最终还是找到了解决问题的办法。
在此跟大家分享,希望对跟我同样迷茫过的同学们有所帮助。
1、程序功能1)打开一个excel文件;2)显示到CListCtrl上;3)新建一个Excel文件。
以上均在对话框中实现。
2、平台VC++20103、实现方法常用的Excel打开方式有两种1)通过数据库打开;2)OLE方式打开。
由于方式1)操作繁琐,经常出现莫名的错误,这里选用方式2).4、准备步骤首先新建一个Dialog窗体程序,添加listcontrol和两个按钮1)将ExcelLib文件夹拷贝到程序目录下;
2)将Export2Excel.h,Export2Excel.cpp两个文件添加到项目;
3)包含头文件,#include"ExcelLib/Export2Excel.h"通过以上步骤在程序中引入了可以读取Excle文件的CExport2Excel类;
5、打开excel文件通过按钮点击打开voidCExcelTestDlg::OnBnClickedButtonOpenExcel(){//获取文件路径CFileDialog*lpszOpenFile;CStringszGetName;lpszOpenFile=newCFileDialog(TRUE,"","",OFN_FILEMUSTEXIST|OFN_HIDEREADONLY,"ExcelFile(*.xlsx;*.xls)|*.xls;*.xlsx",NULL);if(lpszOpenFile->DoModal()==IDOK){szGetName=lpszOpenFile->GetPathName();SetWindowText(szGetName);deletelpszOpenFile;}elsereturn;//打开文件//文件中包含多个sheet时,默认打开第一个sheetCExport2ExcelExcel_example;Excel_example.OpenExcel(szGetName);//获取sheet个数intiSheetNum=Excel_example.GetSheetsNumber();//获取已使用表格行列数intiRows=Excel_example.GetRowCount();intiCols=Excel_example.GetColCount();//获取单元格的内容CStringcs_temp=Excel_example.GetText(1,1);//AfxMessageBox(cs_temp);//Listcontrol上显示//获取工作表列名(第一行)CStringArraym_HeadName;m_HeadName.Add(_T("ID"));for(inti=1;iGetItemCount()>0){m_list.DeleteColumn(0);}//初始化ClistCtrl,加入列名InitList(m_list,m_HeadName);//填入内容//第一行是标题,所以从第2行开始CStringnum;intpos;for(introw=2;row<=iRows;row++){pos=m_list.GetItemCount();num.Format(_T("%d"),pos+1);m_list.InsertItem(pos,num);for(intcolum=1;colum<=iCols;colum++){//插入均从序号0开始m_list.SetItemText(pos,colum,Excel_e
2025/11/15 14:25:49 281KB VC++ Excel OLE VS2010
1
AWSCognito示例应用程序该示例应用程序显示了针对编写的一些基本功能。
涵盖以下功能;
用户注册用户登录登录后访问安全页面重设忘记的密码登出该应用程序是用PHP编写的。
我试图使代码尽可能简单,以便可以将其用作其他语言的示例。
此外,我还写了一篇博客文章,其中解释了如何。
在那里,您将找到有关如何实施AWSCognito的更多理论和背景。
入门步骤分为两个部分:使用正确的配置设置AWSCognito首先,我们将使用正确的配置设置一个新的AWSCognito用户池。
访问您的AWS控制台并转到AWSCognito服务。
单击“管理您的用户池”,然后单击“创建用户池”。
为您的池指定一个名称,然后单击“查看默认值”。
可选:编辑密码策略以删除一些要求。
如果您只是在测试,则使用简单的密码将使其更容易。
单击“编辑客户端”链接。
为您的应用程序指定一个名称,并确保禁用客户端密码并启用ADMIN_NO_SRP_AUTH选项。
点击“创建池”。
记下页面顶部的“池ID”,然后单击“应用程序”页面。
在这里,请注意App客户ID。
在.env
1
原子库首先,您应该做一些事情。
首先使用APlugin然后选择一个事件并转换UnturnedPlayer;第三,使用这样的功能;
玩家功能;
添加组逮捕者浏览器请求损害HasGroupHasPermission愈合踢杀最大技能释放(逮捕站)RemoveFromVehicle删除组SetMarker须藤传送lookPlayerlookBarricadelookStructure出血(获取/设置)损坏(获取/设置)经验(获取/设置)食物(获取/设置)上帝(获取/设置)重力(组)健康(获取)车载(获取)id(字符串)isAdmin(获取)jumpHeight(设置)标记(getPosition)名称(获取)位置(获取)radioFrequency(获取)
2025/11/11 0:27:18 15KB atomic unturned rocketmod facilitator
1
基于Jsp网络在线考试系统源码,Java。
本系统为基于JSP的网络在线考试系统,功能:1、注册(学生)注册信息包括登录帐号、姓名、性别、年龄、班级、任课老师。
2、参加考试(学生)从试卷列表中选择考试卷,考试卷由管理人员(一般由老师担*任)创建。
试卷信息包括试卷ID(生成规则后面在"试卷管理"用例中描述)、试卷科目、满分、时间、试卷有效期。
3、试卷管理:(管理人员)试卷主体信息维护(创建试卷、修改试卷相关信息、删除试卷),4、题库管理:(管理人员)题目信息维护(创建题目、修改题目、删除题目)。
jspjava
2025/11/1 12:18:52 5.2MB jsp java 网络在线考试 考试系统源码
1
笔者曾混迹过各种攻防演练活动,参与过防守方、攻击方,也算是大概了解了每一个队伍的任务~参加防守时印象尤为深刻,也跟一起防守的“战友”做过有趣的事情,例如:反打攻击队;
题外话说的有点多了,来说说为什么开发这样一个平台:作为一个防守方光看日志固然是枯燥无味的,偶尔来几次反向打击啥的,增添防守的乐趣~所以我想到了做这样一个系统,就是想在“空暇”时间能获取点“黑客攻击者”的“画像”。
本平台采用被动式的方式分析黑客攻击者画像,可扩展赋能蜜罐以及安全设备,将平台接口部署在蜜罐Web界面上即可,当攻击者访问所部署的Web界面即触发平台分析功能,对访问者进行分析,数据回传平台分析其网络身份、IP、IP定位:物理地址等信息。
AHRID信息展示平台支持接口授权的方式授权站点,已授权站点才可使用平台接口进行被动式的攻击者画像分析以及数据回传。
AHRID接口授权平台的分析功能采用模块化设计,可针对不同的分析功能新建不同的分析模块进而让平台的分析功能更加丰富完善(开源版本目前只支持JSONP探针模块)AHRID提交模块AHRID开源版使用授权使用登录进AHRID平台之后需要先添加接口授权:AHRID接口授权当添加完毕后,复制接口代码至蜜罐页面或需监测的页面中即可(建议复制到最后),这样就已经部署成功了,只需要等待攻击者触发数据回传功能,等待画像信息即可。
模块提交当已经发现一个JSONP劫持漏洞时,即可提交到AHRID平台上:JSONP劫持漏洞漏洞地址:http://my.website/dorabox/csrf/jsonp.php?callback=test要获取的信息:username模块提交说明:1.名字模块名字(建议使用英文)2.SRC存在JSONP劫持漏洞的URL地址3.回调参数值回调参数的值(参数=值)4.数据字段JSON字段(例如:{"username":"123"},要获取的是username即填写username;
例如:{"data":{"uid":"123"}},要获取的是uid即填写data.uid)5.信息展示地址一般填写无或者随意填写6.模块描述根据模块功能说明AHRID模块提交示例AHRID开源版设计概述当攻击者访问到部署了AHRID接口的页面,即触发JSONP探针获取攻击者已登录状态下的登录信息,回传登录信息+IP+UA,后端会对IP进行物理地址转换,最终将数据记录到数据库。
数据库结构表:Admin-列:id,username,password表:Hackinfo-列:hid,host,ip,user_agent,jsondata,creaye_time,times表:Plugins-列:pid,name,src,callback,columns,url,commit表:Apis-列:aid,hostIP地址转换依赖:GeoLite2-City.mmdbIP定位依赖:接口apis.map.qq.com、way.jd.com+取中心点依赖环境:Python2+Flask+Mysql所需网络环境:互联网(可出网)AHRID开源版搭建1.config.py配置文件修改需要配置的信息如下:USERNAME:Mysql用户名PASSWORD:Mysql用户密码HOST:Mysql主机地址PORT:Mysql端口SECRET_KEY:SESSION秘钥(建议16位以上随机英文字母+数字+特殊符号)TX_KEYS:腾讯接口KEYS(2个以上,参考:https://lbs.qq.com/webservice_v1/guide-ip.html)JCLOUD_KEY:京东云接口KEY(Github可白嫖)2.Mysql创建“ahrid”数据库3.执行如下代码pythonmanage.pydbinitpythonmanage.pydbmigrate4.启动服务:sudopythonapp.py默认端口为:80,可自行修改app.py文件如下代码部分server=pywsgi.WSGIServer(('0.0.0.0',80),app)
2025/10/29 11:37:37 57.82MB 威胁情报 黑产对抗 网络安全 信息安全
1
使用该模板需用“模板设置”插件做搭挡,它的下载地址:www.emlog.net/plugin/144,下载安装并启用后,再上传并启用当前模板,你会发现“设置”2个字,她是一切的开始……当前模板演示地址:www.ewceo.com/?demo=ewcms2_vip易玩印象CMS2【加强版】特点:1,在第1代基础上优化修改了诸多细节,应该是好看了许多(自我感脚);
2,配以“模板设置”插件让设置变得简单,一般情况下无需修改任何文件,让代码见鬼去吧;
3,可以设置LOGO类型并上传LOGO图片,头部文字内容显示三选一(站点副标题、最新微语、啥都木有)灵活实用;
4,可以设置模板主色、副色、背景色、强调色4种颜色,个性色彩无限制,比换肤还强大的节奏;
5,首页幻灯轮播图、图片列表均可指定分类,文字分类列表支持调取子分类,只需填上数字ID分类名、链接都搞定;
6,预设图片类型列表模板,它的名字是log_list_pic,在分类编辑模板项中填上即可;
7,广告内容、页脚链接均可轻松设置,能想到和做到的几乎都与“模板设置”插件搭上了;
8,文字很苍白,现实很丰满——勤看演示也许还会有惊喜……与许多开发者一样,偶一直在努力证明EMLOG的强大和无限可能性,这脚步貌似不会停止2014-9-2极小更新:2处针对低版本IE浏览器的兼容性修改;
(己买过该模板的朋友可以免费再次获取,盗版是不可以的)偶的Q号是77940140,也可以直接复制wpa.qq.com/msgrd?v=3&uin=77940140&site=qq&menu=yes到浏览器中打开临时会话
2025/10/28 7:23:07 122KB emlog模板
1
1、极好的用于WEB页面的选择日期、时间的javascript控件。
2、包含4个javascript函数,其中Calendar.js,CalendarSetup.js是必须的,视情况使用calendar-zh.js(中文)或calendar-en.js(英文)3、有8个不同的css文件,定义了不同的的页面风格4、有1个范例Calendar.html,已经在FireFox(3.0.6)、IE7、Opera9.63、Chorme2.0.156.1中测试通过。
5、在使用时注意定义相关HTML元素的ID,同时,Calendar.setup时一定是在页面最后加载
2025/10/26 22:27:42 29KB web javascript html 日历
1
共 734 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡