前言 从事软件开发工作好多年了,学的越深入越觉得自己无知,所以还是要对知识保持敬畏之心,活到老,学到老! 健身和代码一样都不能少,身体是革命的本钱,特别是我们这种高危工种,所以小伙伴们运动起来!有没有健身撸铁,体脂现在是多少呀?明年(2019/03/22)徐州的马拉松有没有报名呀!? 扯的有点远了,接下来我将抽三天时间手把手教你基于Delphi7+Access,同时搭配第三方控件RC.AlphaControl(第三方控件主要用于美化界面),完成通用管理系统架构的设计.骚年,想想是不是还有点小激动…
写在前面 众所周知,WinCC本身是可以利用C脚本或者VBS脚本来做语音报警,但是这种方式的本质是调用已存在的音频文件,想要实现实时播报报警信息是不行的,灵活性还不够,本文主要介绍基于C#/.NET开发报警插件,集成到WinCC中,实现更加灵活的语音报警功能. [公众号dotNet工控上位机:thinger_swj] 对于WinCC,我相信很多人都比较熟悉,WinCC自带报警控件,可以实现报警的监测及显示.在之前做的一个比较大的项目中,项目已经使用WinCC开发并调试完毕,但是客户提出系统有报警…
阅读这篇文章之前,建议先阅读和这篇文章关联的内容. [1]详细剖析分布式微服务架构下网络通信的底层实现原理(图解) [2][年薪60W的技巧]工作了5年,你真的理解Netty以及为什么要用吗?(深度干货) [3]深度解析Netty中的核心组件(图解+实例) [4]BAT面试必问细节:关于Netty中的ByteBuf详解 [5]通过大量实战案例分解Netty中是如何解决拆包黏包问题的? [6]基于Netty实现自定义消息通信协议(协议设计及解析应用实战) [7]全网最详细最齐全的序列化技术及深度解…
在开发过程中免不了创建实体类,字段少的表可以手动编写,但是字段多还用手动创建的话不免有些浪费时间,假如一张表有100多个字段,手写有些不现实. 这时我们会借助一些工具,如:动软代码生成器.各种ORM框架自带的代码生成器等等,都可以使用. 我们现在就基于SqlSugar(ORM框架)自己动手制造一个轮子,以SqlServer为例.我们先看一下成品效果, 使用流程: 配置好数据库链接,点击[链接数据库]获取指定服务器上的数据库名,点击数据库名,动态获取数据库下面的所有表, 点击数据表,如果生成过了的…
前言 文章抄袭在互联网中普遍存在,很多博主都收受其烦.近几年随着互联网的发展,抄袭等不道德行为在互联网上愈演愈烈,甚至复制.黏贴后发布标原创屡见不鲜,部分抄袭后的文章甚至标记了一些联系方式从而使读者获取源码等资料.这种恶劣的行为使人愤慨. 本文使用搜索引擎结果作为文章库,再与本地或互联网上数据做相似度对比,实现文章查重:由于查重的实现过程与一般情况下的微博情感分析实现流程相似,从而轻易的扩展出情感分析功能(下一篇将在此篇代码的基础上完成数据采集.清洗到情感分析的整个过程). 由于近期时间上并不充…
一.准备域名并完成解析 关于域名,我买的是阿里的一个1元/年的廉价域名,同时国内域名都需要备案,当时在这里耽搁了挺久的. 域名解析的话,在阿里云官方帮助文档里有.传送门:https://help.aliyun.com/document_detail/29716.html 二.申请微信个人订阅号 在微信公众号平台注册开发者账号 传送门:https://mp.weixin.qq.com/ 获取公众平台认证字段信息 AppID:登入平台,选择 开发-基本配置 Token:基本配置-服务器配置-修改配置…
初始化项目 npm init -y 先安装一波乱七八糟的依赖插件(需要具备一定的koa2知识,至于mongoDB自行百度安装教程),模板引擎我使用的是art-template(据说是性能最好的,而且是因为JQ时代的产物,念旧) npm i koa koa-router koa-bodyparser koa-static koa-views art-template koa-art-template mongoose -S 安装nodemon实时监听修改 npm i nodemon -D 新建ap…
一.Dubbo整合SpringBoot的方式(1) 1)直奔主题,方式一: pom.xml中引入dubbo-starter依赖,在application.properties配置属性,使用@Service[暴露服务]使用@Reference[引用服务],选取的是application.properties+部分注解的方式来完成. 2)创建ego_interface接口模块,被提供者和消费者所使用 此模块目录结构如下: 1.实体类UserAddress package com.sxt.domain…
从这一节开始我们来设计并完成一个自定义模块.我们先来确定一个独立的模块的所能定义的一些模块信息.以下信息只是我自己在开发过程中想到或用到的,希望有新的想法的或者有建议的跟贴回复. 一个独立模块包含以下信息: 1.模块的基本信息 模块ID号:一个数字的ID号,可以根据此ID号的顺序将相同分组的模块放在一块. 模块分组:模块分到哪个组里,比如说业务模块1.业务模块2.系统设置.系统管理等. 模块标识:系统中唯一的模块的标识,一般这个标识等同于数据库中的表名和java中的java Bean的名字.如合…
PHP常用函数总结 本文源文件(markdown): https://github.com/yanglr/AlgoSolutions/blob/master/PHP常用函数总结(160多个).md 数学函数 1.abs(): 求绝对值 $abs = abs(-4.2); //4.2 输入: 数字 输出: 绝对值数字 2.ceil(): 进一法取整 echo ceil(9.999); // 10 输出: 浮点数进一取整 3.floor(): 去尾法取整 echo floor(9.999); //…
Titanium快捷键: (注:Titanium属于eclipse系列的IDE) ctrl + shift + r 快速打开 ctrl + shift + e / ctrl + e 打开之前的文件 ctrl + h 查找关键字 ctrl + shift + f 代码整理格式化 ctrl + F6 / F7 切换窗口 Titanium代码整理:ctrl + shift + F…
我的博客:www.while0.com 开发调试 readelf-a 查看elf文件中的内容 hexdump -C 用16进制查看文件 objdump -d 反汇编目标文件 nm 查看目标文件或者可执行文件的符号表,同readelf -s ldd appname 查看可执行文件依赖的动态库. 系统信息查看 uname -a 查看系统内核版本等信息 file 文件名 查看文件类型 cat /proc/version 作用同上 free 查看系统内存使用情况 cat /proc/meminfo作用同…
设置用户粘贴板中的文本信息:window.clipboardData.setData('Text', location.href); 获取用户粘贴板中的文本信息: window.clipboardData.getData('Text'); 清空用户粘贴板中的文本信息: window.clipboardData.clearData('Text'); 禁止复制:在元素中添加oncopy事件,并return false即可: 禁止粘贴:在元素中添加onpaste事件中,return false即可:…
1.服务相关 (1).查看服务 C:\Windows\system32>net start 已经启动以下 Windows 服务: (2).启动服务 C:\Windows\system32>net start MpsSvc Windows Firewall 服务正在启动 . Windows Firewall 服务已经启动成功. (3).停止服务 C:\Windows\system32>net stop MpsSvc Windows Firewall 服务正在停止. Windows Fire…
庐山真面目之十一微服务架构手把手教你搭建基于Jenkins的企业级CI/CD环境 一.介绍 说起微服务架构来,有一个环节是少不了的,那就是CI/CD持续集成的环境.当然,搭建CI/CD环境的工具很多,但是有一个工具它却是出类拔萃,是搭建持续集成环境的首选,它就是Jenkins.在这里,有关Jenkins的具体内容我就不说了,网上有很多,我在这里只做很简单的介绍.Jenkins 自动化部署可以解决集成.测试.部署等重复性的工作,工具集成的效率明显高于人工操作:并且持续集成可以更早的获取代码变更的信…
本文原作者:“水晶虾饺”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.引言 好多小白初次接触即时通讯(比如:IM或者消息推送应用)时,总是不能理解Web短连接(就是最常见的HTTP通信了)跟长连接(主要指TCP.UDP协议实现的socket通信,当然HTML5里的Websocket协议也是长连接)的区别,导致写即时通讯这类系统代码时往往找不到最佳实践,搞的一脸蒙逼. 本篇我们先简单了解一下 TCP/IP,然后通过实现一个 echo 服务…
手把手教你写基于C++ Winsock的图片下载的网络爬虫 先来说一下主要的技术点: 1. 输入起始网址,使用ssacnf函数解析出主机号和路径(仅处理http协议网址) 2. 使用socket套接字连接服务器,,获取网页html代码(使用http协议的GET请求),然后使用正则表达式解析出图片url和其他的url. 3. 下载图片至创建的文件夹中,同时其他的url push进队列. 4. 为了使爬虫能够连续的工作,这里使用了BFS宽度优先搜索,也就是说一开始输入的网址作为起始网址,push进队…
动软实战攻略 手把手教你用动软 文档编号:20110421 版权所有 © 2004-2011 动软 在线帮助:http://help.maticsoft.com 目录   一.        产品介绍 二.        下载安装 三.        注册数据库连接 四.        查看数据库信息 五.        新建整个项目 六.        批量代码生成 七.        单表代码生成 八.        父子表代码生成(事务生成) 九.        代码生成规则设置 十.  …
什么是分布式版本控制系统?Git有哪些常用命令?什么是仓库?Git的操作区域包括哪些?Git有哪些常用对象(object)?git rebase和git merge的区别是什么?git reset,git revert和git checkout的区别是什么?git submodule和git subtree的区别又是什么?git push和git push -u的区别又是什么?.gitignore如何使用?Git跟GitHub有没有关系?如何推送自己代码到GitHub?怎么在Gitee建立Git…
前言 前面两篇文章介绍了在github上使用hexo搭建博客的基本环境和hexo相关参数设置等. 基于目前,博客基本上是可以完美运行了. 但是,有一点是不太好,就是源码同步问题,如果在不同的电脑上写文章会非常不方便. 是因为hexo使用的部署命令是把生成好的静态文件上传到仓库中的,所以,在其他电脑上同步下来的只是静态文件而已,不是源码. 到这里就会想到能不能这样:将源码同步到远程仓库后,可以实现自动生成部署呢? 答案是肯定的,可以通过Travis CI来实现. 那么,本文就介绍一下Travis…
前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. 配置文件说明 网站配置文件是在根目录下的**_config.yml文件,是yaml格式的. 所有的配置项后面的冒号(:)与值之间要有一个空格.** 官方配置文件说明 # Hexo Configuration ## Docs: https://hexo.io/docs/configuration.h…
前言 有朋友问了我关于博客系统搭建相关的问题,由于是做开发相关的工作,我给他推荐的是使用github的gh-pages服务搭建个人博客. 推荐理由: 免费:github提供gh-pages服务是免费的,有300MB空间: 开源:由于github开源的原因,有很多人参与其中,自然技术支持很好. 便捷:博客完全托管在github上,基本上不需要花时间去管理,博客使用Markdown语法,上手很容易. 需要了解的内容(能掌握更好): html+css+javascript git基本语法 markdo…
手把手教你ARC——iOS/Mac开发ARC入门和使用 Revolution of Objective-c 本文部分实例取自iOS 5 Toturail一书中关于ARC的教程和公开内容,仅用于技术交流和讨论.请不要将本文的部分或全部内容用于商用,谢谢合作. 欢迎转载本文,但是转载请注明本文出处:http://www.onevcat.com/2012/06/arc-hand-by-hand/ 本文适合人群:对iOS开发有一定基础,熟悉iOS开发中内存管理的Reference Counting机制,…
手把手教你玩转SOCKET模型之重叠I/O篇 “身为一个初学者,时常能体味到初学者入门的艰辛,所以总是想抽空作点什么来尽我所能的帮助那些需要帮助的人.我也希望大家能把自己的所学和他人一起分享,不要去鄙视别人索取时的贪婪,因为最应该被鄙视的是不肯付出时的吝啬.” ----- 题记  By PiggyXP(小猪) 前   言 其实我首先应该道歉,因为7月份的时候曾信誓旦旦的说要写一套关于SOCKET所有模型的入门文章以及配套代码,不过没想到后天竟然被美女所迷出去度假了,刚刚回来不久......-_-…
本篇文章主要是手把手教你搭建 ELK 实时日志分析平台,那么,ELK 到底是什么呢? ELK 是三个开源项目的首字母缩写,这三个项目分别是:Elasticsearch.Logstash 和 Kibana. Elasticsearch 是一个搜索和分析引擎. Logstash 是服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到诸如 Elasticsearch 等存储库中. Kibana 则可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化. El…
概述 性能优化一向是后端服务优化的重点,但是线上性能故障问题不是经常出现,或者受限于业务产品,根本就没办法出现性能问题,包括笔者自己遇到的性能问题也不多,所以为了提前储备知识,当出现问题的时候不会手忙脚乱,我们本篇文章来模拟下常见的几个Java性能故障,来学习怎么去分析和定位. 预备知识 既然是定位问题,肯定是需要借助工具,我们先了解下需要哪些工具可以帮忙定位问题. top命令 top命令使我们最常用的Linux命令之一,它可以实时的显示当前正在执行的进程的CPU使用率,内存使用率等系统信息.t…
摘要:DevUI 是一款面向企业中后台产品的开源前端解决方案,它倡导沉浸.灵活.至简的设计价值观,提倡设计者为真实的需求服务,为多数人的设计,拒绝哗众取宠.取悦眼球的设计.如果你正在开发 ToB 的工具类产品,DevUI 将是一个很不错的选择! DevUI是一支兼具设计视角和工程视角的团队,服务于华为云DevCloud平台和华为内部数个中后台系统,服务于设计师和前端工程师.官方网站:devui.designNg组件库:ng-devui(欢迎Star) 引言 作为前端开发者,随着公司业务的不断发展…
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 2.什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素.XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点.基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定的…
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 2.什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素. XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点.基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定…
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍定位倒数二个方法:By xpath.xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 2.什么是xpath? xpath 是XML Path的简称, 由于HTML文档本身就是一个标准的XML页面,所以我们可以使用Xpath 的用法来定位页面元素. XPath 是XML 和Path的缩写,主要用于xml文档中选择文档中节点.基于XML树状文档结构,XPath语言可以用在整棵树中寻找指定…