技术栈后端:thinkphp5.1前端:layui数据库:mysql依赖composerphp5.6mysql5.5步骤安装php依赖包composerinstall配置数据库,配置链接数据库名以及用户名密码/config/database.php创建数据库字符编码:utf8—UTF-8Unicode导入数据库脚本,脚本地位extend/database伪静态配置nginxlocation/{indexindex.htmindex.htmlindex.php;#访问路径的文件不存在则重写URL转交给ThinkPHP处理if(!-e$request_filename){rewrite^/(.*)$/index.php?s=$1last;break;}}apache项目自带apache静态化无需配置启动项目添加public为web根目录若为apache服务器则默认伪静态,nginx可自行配置伪静态
2019/2/25 5:16:20 43.59MB 源码
1
欢迎下载研华科技主题白皮书:【深度剖析】研华多核异构ARM核心板之机器视觉应用案例[摘要]TISitara系列AM5718/5728是采用ARM+DSP多核异构架构,可以实现图像采集、算法处理、显示、控制等功能,具有实时控制、低功耗、多标准工业控制网络互联、工业人机界面的优化、2D/3D图形处理、1080HD的高清视频应用、工业控制设备的小型化等特点。
广泛应用在机器视觉、工业通讯、汽车多媒体、医疗影像、工厂自动化、工业物联网等领域。
https://www.eefocus.com/resource/advantech/index.p...很早以前用过网络收音机,N年前了,都忘记了当初用的是什么软件了,当时只是觉得整天听MP3听腻了,想回到过去,听听广播,尽管有时候会插播广告,比较烦人,不过有笑话听,挺逗人的。
那个网络收音机的软件用了没多久,就不再用了,软件用的不爽是一方面,为了听广播而开着电脑实在是大炮打蚊子,还不如花二十块钱买个真的半导体收音机。
今天无意间看到一个,基于ARM的网络收音机,跟半导体收音机一样,装在小盒子里,可以收听通过互联网传来的广播,比电脑省电,而且因为是网络版的,突破了地域限制,收听国外的广播一样清晰。
感兴味的同学自己做一个,收听VOA,练英语听力,那才叫音质,才叫舒服。
这个收音机的原理图并不复杂,想学点东西的同学可以自制。
ARMCortex-M3网络收音机系统设计框图:说明:系统利用TPS2375实现以太网供电(PoE),跟USB供电一样,不需要额外的变压器。
CPU则是Cortex-M3内核的LM3S6950,解码器则是VS1053,都是常见的集成电路。
系统还支持SD卡,搞不好将来做成“网络录音机”,离线播放录下来的广播,也是说不定的事儿。
固件代码方面,因为是“网络”收音机吗,毋庸置疑,需要TCP、IP协议,至于收听广播部分的协议,这里用到的是SHOUTcast协议,是由Nullsoft开发的,一种免费的声音流技术,用于网路广播。
附件内容提供了ARMCortex-M3网络收音机全部的原理图、PCB制版图、以及固件代码。
ARMCortex-M3网络收音机电路参数(英文)介绍:Open-SourceHardwareMicrocontroller:LM3S6950ARMCortex-M3fromLuminaryMicro/TIAudioCodec:VS1053fromVLSIDisplay:S65LCDwith176x132pixeland16bitcolormicroSDSocketRotaryEncoderIRReceiver(RC5)PoE(PoweroverEthernet)Open-SourceSoftwarePlayShoutcast/IcecastandRTSPStreamsPlayaudiofilesfromthememorycardAlarmClock
1
源码简介:发货100-虚拟商品自动发货系统是一套功能强大的虚拟商品自动发货系统/文章付费阅读系统,无需人工值守,客户在线购买即可自动完成买卖。
支持缺货提醒/快捷登录/回收站/免登录购买等多种功能。
【模板说明】试用版自带一套模板(响应式)【安装步骤】将文件上传至空间目录,运行“http://域名/install”进入安装页面,按照提示安装完成即可【环境支持】PHP环境/200M或以上空间大小/开启父路径/设置index.php为默认首页/目录写入权限需要开启【数据库】MySQL【目录支持】支持根目录/子目录安装虚拟商品自动发货系统功能特点:自动发货付费阅读免登录后台VIP会员系统积分转换系统缺货提醒快捷登录(QQ/微信)在线支付(支付宝/微信)一键更新自适应浏览器支持APP及各端小程序全站搜索切换模板
2020/7/16 11:47:43 15.06MB php
1
目标:采用Socket和多线程技术,实现一个javaWeb服务器,加深对HTTP的认识。
新建java项目webServer新建java文件WebServer.javaProcessor.java  一、HTTP协议的作用原理  WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页。
WWW的工作基于客户机/服务器计算模型,由Web浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信。
HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无形态的、面向对象的协议。
HTTP协议的作用原理包括四个步骤:  (1)连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。
  (2)请求:Web浏览器通过socket向Web服务器提交请求。
HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。
GET命令的格式为:  GET路径/文件名HTTP/1.0  文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。
  (3)应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。
Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。
  例:假设客户机与www.mycompany.com:8080/mydir/index.html建立了连接,就会发送GET命令:GET/mydir/index.htmlHTTP/1.0。
主机名为www.mycompany.com的Web服务器从它的文档空间中搜索子目录mydir的文件index.html。
如果找到该文件,Web服务器把该文件内容传送给相应的Web浏览器。
  为了告知Web浏览器传送内容的类型,Web服务器首先传送一些HTTP头信息,然后传送具体内容(即HTTP体信息),HTTP头信息和HTTP体信息之间用一个空行分开。
常用的HTTP头信息有:  ①HTTP1.0200OK  这是Web服务器应答的第一行,列出服务器正在运行的HTTP版本号和应答代码。
代码“200OK”表示请求完成。
  ②MIME_Version:1.0  它指示MIME类型的版本。
  ③content_type:类型  这个头信息非常重要,它指示HTTP体信息的MIME类型。
如:content_type:text/html指示传送的数据是HTML文档。
  ④content_length:长度值  它指示HTTP体信息的长度(字节)。
  (4)关闭连接:当应答结束后,Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web服务器建立连接。
  二、Java实现Web服务器功能的程序设计  根据上述HTTP协议的作用原理,实现GET请求的Web服务器程序的方法如下:  (1)创建ServerSocket类对象,监听端口8080。
这是为了区别于HTTP的标准TCP/IP端口80而取的;
  (2)等待、接受客户机连接到端口8080,得到与客户机连接的socket;
  (3)创建与socket字相关联的输入流instream和输出流outstream;
  (4)从与socket关联的输入流instream中读取一行客户机提交的请求信息,请求信息的格式为:GET路径/文件名HTTP/1.0  (5)从请求信息中获取请求类型。
如果请求类型是GET,则从请求信息中获取所访问的HTML文件名。
没有HTML文件名时,则以index.html作为文件名;
  (6)如果HTML文件存在,则打开HTML文件,把HTTP头信息和HTML文件内容通过socket传回给Web浏览器,然后关闭文件。
否则发送错误信息给Web浏览器;
  (7)关闭与相应Web浏览器连接的socket字。
2017/3/13 16:21:20 37KB Web服务器 java实现
1
3.0.9独立可运营版,看到很多人都分享,但是版本都是之前的并且版本不是最新的,本人花大价钱买来的,目前这款版本最新的就是这款了,可以正常搭建运营,有不懂的在下方询问,无联系方式!什么是WiFi分销小程序?答:让你的WIFI来挣钱,分销WIFI项目全国可做;用户到商家扫码链接Wi-Fi,就可以得到流量主分成,商家Wi-Fi本身是免费的,用户也不需要花钱,这时候商家还能赚钱。
安装源码到根目录1、网站运行目录public2、PHP7.2,开通SSL3、导入数据库文件数据库.sql4、修改数据库文件里application/database.php的数据库信息5、登入用户名:admin密码:123456前端教程1:微信开发者工具打开前端源码,选择你对应的小程序appid2:修改目录下common/vendor.js文件name:"你的wifi小程序名称",siteroot:"https://你本人的域名/index.php?s=/api",uniacid:"10001"//平台ID(在后台看)};3:开发前在
2019/1/5 7:52:08 149.81MB 源码
1
LeetCodecpp最新中文题解.pdfLeetCodecpp最新中文题解.pdfLeetCodecpp最新中文题解.pdf目录3.4Addbinary615.1.5BinaryTreeLevelOr-3.5LongestPalindromicSubstring.62dertraversalil3.6RegularExpressionMatching665.1.6BinaryTreeZigzag3.7WildcardMatching67LevelOrdertraversal.963.8LongestCommonPrefix5.1.7RecoverBinarySearch3.9ValidNumber70Tree983.10Integertoroman725.1.8SameTree3.11RomantoInteger735.1.9SymmetricTree1003.12CountandSay745.1.10BalancedBinaryTree..1023.13Anagrams755.1.11FlattenBinaryTreeto3.14SimplifyPath76LinkedList1033.15LengthofLastWord775.1.12PopulatingNextRightPointersineachnodeii105第4章栈和队列7952二叉树的构建10641栈795.2.1ConstructBinaryTree4ValidParentheses79fromPreorderandIn4.1.2LongestvalidParenorderTraversa106theses805.2.2ConstructBinaryTree4.1.3LargestRectangleinfromInorderandposHistogram82torderTraversal1074.1.4Evaluatereversepol-53二叉查找树108ishnotation845.3.1UniqueBinarySearch4.2队列85Trees.1085.3.2UniqueBinarySearch第5章树86Treesli.1105.1二叉树的遍历865.3.3ValidateBinarySearch5.1.1BinaryTreePreorderTreeTraversal865.3.4ConvertSortedarrayto5.1.2BinaryTreeInorderBinarySearchTree...112Traversal885.3.5ConvertSortedListto5.1.3BinaryTreePostorderBinarySearchTree113Traversal9054二叉树的递归.1145.1.4BinaryTreeLevelOr5.4.1MinimumDepthofBidertraversal)2narylree115目录5.4.2MaximumDepthofBi8.3.,2重新实现nextpermunaryTree116tation1425.4.3PathSum11783.3递归.1435.44PathSumil1188.4PermutationsII1445.4.5BinaryTreeMaximum8.4.1nextpermutation...144PathSuum11984.2重新实现nextpermu5.4.6PopulatingNextRighttation144Pointersineachnode120843递归1445.4.7SumRoottoLeafnum8.5Combinations146bers2185.1递归1468.5.2迭代147第6章排序1238.6LetterCombinationsofaphone6.1MergeSortedArray123umber1476.2MergeTwoSortedLists12486.1递归1486.3MergekSortedLists124862迭代96.4InsertionSortList125第9章广度优先搜索1506.5Sortlist1269.1WordLadder1506.6FirstMissingPositive1279.2WordLadderil1546.7SortColors1289.3Surroundedregions162第7章查找94小结16413194.l适用场景1647.1Searchforarange131942思考的步骤7.2SearchInsertPosition.13294.3代码模板1657.3Searcha2DMatrix133第10章深度优先搜索173第8章暴力枚举法13510.1PalindromePartitioning1738.1Subsets13510.2UniquePaths1768.1.1递归1350.2.1深搜1768.1.2迭代.1371022备忘录法.1768.2Subsetsil13810.23动规177821递归13810.24数学公式1788.2.2迭代.14110.3UniquePathsIl1798.3Permutations14210.3.1备忘录法1798.3.1nextpermutation14210.3.2动规.180目录10.4N-Queens1813.4Maximalrectangle21310.5N-QueensII18413.5BestTimetoBuyandSellStock10.6Restoreipaddresses186.21410.7CombinationSum18813.6InterleavingString21510.8CombinationSumIl18913.7ScrambleString21710.9GenerateParentheses.19013.8MinimumPathSum.22210.10Sudokusolver19213.9EditDistance22410.11WordSearch.19313.10DecodeWays.22610.12小结19513.11Distinctsub22710.12.1适用场景19513.12WordBreak22810.122思考的步骤1951313WordBreakil2300.12.3代码模板197第14章图23210.12.4深搜与回溯法的区別.19714.1CloneGraph23210.12.5深搜与递归的区别..197第15章细节实现题235第11章分治法19915.1ReverseInteger2351.1Pow(x,n)19915.2PalindromeNumber.23611.2Sqrt(x)20015.3InsertInterval237第12章贪心法20115.4MergeIntervals23812.1Jumpgame20115.5MinimumWindowSubstring23912.2JumpgameII15.6MultiplyStrings24112.3BestTimetobuyandSellstock20415.7SubstringwithConcatenation12.4BestTimetobuyandsellstockl205ofallwords24412.5LongestSubstringWithoutre15.8Pascal,sTriangle245peatingCharacters20615.9PascalsTriangleIl24612.6ContainerwithMostWater..20715.10SpiralMatrix24715.11SpiralmatrixII248第13章动态规划20915.12ZigZagConversion25013.1Triangle20915.13DivideTwoIntegers25113.2MaximumSubarray15.14TextJustification25313.3PalindromePartitioningII1215.15MaxPointsonaline255目录第1章编程技巧在判断两个浮点数a和b是否相等时,不要用a==b,应该判断二者之差的绝对值fabs(a-b)是否小于某个阈值,例如1e-9。
判断一个整数是否是为奇数,用x%2!=0,不要用x%2=1,因为ⅹ可能是负用char的值作为数组下标(例如,统计字符串中每个字符岀现的次数),要考虑到char可能是负数。
有的人考虑到了,先强制转型为unsignedint再用作下标,这仍然是错的。
正确的做法是,先强制转型为unsignedchar,再用作下标。
这涉及C十整型提升的规则,就不详述了。
以下是关于STL使用技巧的,很多条款来自《EffectiveSTL》这本书。
vector和string优先于动态分配的数组首先,在功能上,由于vector能够保证连续内存,因此一旦分配了后,它的功能跟原始数组相当;其次,如果用new,意味着你要确保后面进行孓delete,一旦忘记了,就会出现BUG,且这样需要都写一行delete,代码不够短再次,声明多维数组的话,只能一个一个new,例如int**ary=newint*[row_num];for(inti=0:i<rownum;++1)ary[i]newint[col_num]用vector的话一行代码搞定vector<vector<int>>ary(row_num,vector<int>(col_num,0))使用reserve来避免不必要的重新分配第2章线性表这类题目考察线性表的操作,例如,数组,单链表,双向链表等。
2数组2.1.1RemoveDuplicatesfromSortedarray描述Givenasortedarray,removetheduplicatesinplacesuchthateachelementappearonlyonceandreturnthenewlengthDonotallocateextraspaceforanotherarray,youmustdothisinplacewithconstantmemoryForexample,GiveninputarrayA=[1,1,2Yourfunctionshouldreturnlength=2,andaisnow[1,2]分析无代码1/LeetCode,RemoveDuplicatesfromSortedArray//时间复杂度0(n),空间复杂度0(1)classSolutiontublicintremoveDuplicates(vector<int>&nums)tif(numsemptyo)return0;intindex=ofor(inti=1:inumssize:1++iif(nums[index]!nums[i])nums[++index]=nums[i]returnindex12.1数组代码2//LeetCode,RemoveDuplicatesfromSortedArray/使用STL,时间复杂度0(n),空间复杂度0(1)classSolutionipublicintremoveDuplicates(vector<int>&nums)treturndistance(numsbegin(),unique(numsbegin(),numsend())代码3/LeetCode,RemoveDuplicatesfromSortedArray/使用STL,时间复杂度0(n),空间复杂度0(1)lassSolutionfublicintremoveDuplicates(vector<int>&nums)treturndistance(numsbegin(,removeDuplicates(numsbegin(,numsend(),numsbegintemplate<typenameInIt,typenameoutit>OutItremoveDuplicates(InItfirst,InItlast,OutItoutput)thile(firstlast)i*output++=*firstfirstupper_bound(first,last,*firstreturnoutput相关题目RemoveDuplicatesfromSortedArrayI,见§2.1.22.1.2RemoveDuplicatesfromSortedArrayII描述Followupfor"RemoveDuplicates"Whatifduplicatesareallowedatmosttwice?Forexample,Givensortedarraya=[1,1,1,2,2,3]Yourfunctionshouldreturnlength=5,andAisnow[1,1,2,2,3分析加一个变量记录一下元素出现的次数即可。
这题因为是已经排序的数组,所以一个变量即可解决。
如果是没有排序的数组,则需要引入一个hashmap来记录出现次数。
4第2章线性表代码1//LeetCode,RemoveDuplicatesfromSortedArrayII//时间复杂度0(n),空间复杂度0(1)//qauthorhex108(https://github.com/hex108)classSolutiontublicintremoveDuplicates(vector<int>&nums)tif(numssize(<=2)returnnumssizeintindex=2for(inti=2:inumssize(:i++)ff(nums[i]!numslindex-2]nums[index++]=nums[i]returnindex;代码2下面是一个更简洁的版本。
上面的代码略长,不过扩展性好一些,例如将occur<2改为occur3,就变成了允许重复最多3次。
//LeetCode,RemoveDuplicatesfromSortedArrayII7/@author虞航仲(http://weibo.com/u/1666779725)//时间复杂度0(n),空间复杂度0(1)lassSolutionfpublicintremoveDuplicates(vector<int>&nums)tconstintn=numssizeintindex=0:for(inti=0:i<n;++i)if(i>0&&i<n-1&nums[i]=nums[i-1]&nums[i]=nums[i1])continue;nums[index++]=nums[i]returnindex;相关题目RemoveDuplicatesfromSortedArray,见§2.1.1
2019/5/20 21:34:34 866KB why
1
开源官网:http://www.pyminer.com/index.html希望更多地人能参加到国产开源软件中去。
为什么要做这个项目?目的是什么?在当今,Python已然成为数据分析方面的优势语言,无论在国内还是国际,都是炙手可热。
但是新手学习Python往往会遇到诸如“学Python有什么用处”等等问题,较难将Python用在平日的工作和生活中。
同时,Python的环境配置较为困难,若初学者为零基础,那么开始Python的学习往往需要数小时才能搞定第一行代码的成功运行。
因而,PyMiner采用了“低代码、图形化”的思想,在界面上集成了科学计算的常用功能,相当于用图形化的方式来编写Python代码。
比如,点击“矩阵乘法”按钮,选择两个矩阵变量,就可以获得矩阵相乘的结果,无需编写任何代码。
同时,PyMiner也会在控制台显示出被执行的代码,只要将这段代码复制到你的脚本中,就能方便的运行你的程序。
我们还有更高的目标,就是壮大国产化工业软件队伍。
但我们目前只想脚踏实地,踏踏实实的服务于每一位Python使用者。
2020年6月6日开始,哈工大等中国高校被禁用MATLAB。
2016/8/7 8:34:46 47.58MB 国产MATLAB 开源 python+pyside
1
优化mysql数据库的方法:建立Index索引,少用select语句,开启查询缓存,选择适合的存储引擎,避免在where子句中使用or来连接以及避免大数据量返回等。
对于一个以数据为中心的应用,数据库的好坏直接影响到程序的功能,因此数据库功能至关重要。
所以mysql数据库的优化操作大家都要有所了解,本文就主要总结了mysql数据库中常见的优化方法
2019/4/10 18:18:23 4KB mysql优化 mysql
1
路由算法代码/*参数说明:_netArray:routNum*routNum的矩阵,网络的拓扑信息_valArray:routNum*routNum的矩阵,网络的耗散信息result:routNum*2的矩阵,路由表-返回_routNum:路由器数量index:源路由器号*/
1
程序测试最低环境:MyEclipse8.5以上+Tomcat6.0+JDK5.0+Sqlserver2000以上版本都支持程序功能:(1)用户类别:登录系统的身份定为二种,一是管理员(企业领导),二是员工,只有被授权的用户才可以使用本系统的资源。
(2)权限管理:系统需要经过有效的身份验证可以登录。
用户的身份不同,使用的系统资源也不同。
员工可以进行修改自己的密码,同时还可以查看系统公告,货品的出、入库操作;
管理员(领导)可添加员工信息、查询修改管理员信息、部门管理、类别管理、出入库的操作,以及出库日志的查看,可以对系统发布公告等信息,可控制整个系统的登录功能(控制系统)的登录,拥有整个系统的全部使用权限。
(3)系统管理:企业领导可以操作员工能否能使用本系统。
(4)员工管理:企业领导可以对本系统的员工信息进行添加、查询的功能。
(5)公告管理:企业领导对本系统中的公告信息进行添加、查询的功能。
(6)类别管理:企业领导可以对本系统中的货品类别信息进行管理,进行查询与添加的功能操作。
(7)货品入库:企业领导可以对本系统的入库货品信息进行添加、查询管理的功能。
(8)货品出库:企业领导可以对本系统的出库货品信息进行添加、查询管理的功能。
(9)出库日志:企业领导可以对本系统的出库货品日志信息进行查询管理的功能。
运行步骤:1解压压缩包到任意目录2启动MyEclipse开发软件导入web网站工程导入后可以看到工程名是ck3打开sqlserver2000企业管理器附加数据库文件4建立odbc数据源数据源名称是ck指向附加好的数据库5发布网站到tomcat服务器启动tomcat打开首页开始登陆执行登陆地址:http://localhost:8080/ck/index.html管理员(领导)用户名:2222  密码:2用户用户名:1111  密码:1
2017/7/26 6:23:24 756KB 毕业设计
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡