Crackme-009

Crackme009 的逆向分析1.程序观察 009 和 008 相比,多出来了一个输入 Name 的输入框。 分别输入 name 和 key,可以看到错误提示: 2.简单查壳 可以看到,程序没有壳,和 008 一样还是使用 VB 编写的。 3.程序分析使用 OD 载入程序,搜索字符串 双击跟进程序,向上查找,和 008 一样 可以看到有一个比较的函数,一个 test 语句加一个跳转指令,还有正确提示的字符串。 我们在比较函数处下断点,运行程序,程序断在了断点处。继续运行程序,可以看到 比较函数运行完,EAX 寄存器的值为 0 我们将 EAX 寄存器的值修改为 1,运行程序 可以看到,程序出现正确提示,可以推测该比较函数就是关键点。再次运行到该函数,查看参数。 在这里有一个关于 VB 的知识点,不知道的话这个程序很难分析出来。VB 的变量都类似于一个结构体。变量的前 8 个字节,存放的是该变量的数据类型信息。第 9 个字节开始存放的是该变量的真正地址。也就是说“首地址+8”才是该变量的真正地址。 分别查看两个参数 第一个参数 第二个参数 可以看出来,第一个参数是我们输入的 key。经过测试,发现第二个参数就是正确的 key。 那么这个 key 是哪里来的呢?我们向上找。 发现了一个循环 这个循环其实很简单: 首先计算出我们输入的 name 的长度name 的长度就是循环的次数依次取 name 的字符:第一次取第一个字符,第二次取第二个字符将字符转化为 ascii 码然后相加循环结束,程序又对循环得到的值进行了加工 程序先把得到的值,和 0x499602D2 进行相乘然后依次使用"-"替换掉了计算结果的第4位和第9位,最后得到的值就是真正的 Key。 ...

September 9, 2019 · 1 min · jiezi

windows10文件资源管理器打开时显示此电脑

⭐ 我的网站: www.mengyingjie.com ⭐ windows7、windows打开资源管理器时显示“我的电脑”,而到windows10之后打开资源管理时显示为“快速启动”,要想打开资源管理器显示我的电脑,需要设置才可以。方法/步骤 1.第一步,打开文件资源管理器: 2.第二步,文件资源管理器下的导航栏上点击"查看" ==> "选项"进入设置: 3.在选项卡的最上面有一个下拉列表选择“此电脑”,windows10文件资源管理器打开时就显示此电脑 遇到此类问题,但看了文章还是未解决,评论或加 QQ:781378815

September 9, 2019 · 1 min · jiezi

Crackme-008

Crackme008 的逆向分析1.观察程序 只有一个输入 Key 的输入框。 输入 123,点击 OK。 结果出现了奇怪的报错。上面的报错看不出来是啥意思。 于是使用百度翻译,结果发现居然是德语。 2.查壳使用 PEiD 载入。可以看出是使用 VB 编写的程序,没有壳。 3.分析程序使用 OD 载入程序。 搜索字符串,发现了报错的字符串,双击进入。 向上查找,发现了一个 cmp 和 je 语句。再 cmp 语句上面,还有一个 StrCmp 函数。 在 StrCmp 函数处下断点,输入 123,点击 OK。 程序断在了断点处。 可以看出 StrCmp 函数有两个参数 其中有一个是我们输入的 key,难道另一个就是正确的 key? 我们先执行该条指令,可以看到返回值不为 0 我们修改 EAX 的值为 0,让程序继续运行。 果然成功了。 接下来我们输入疑似为正确 key 的字符串,运行程序。 果然是正确的 key。 这个程序是一星的,所以很简单。

September 8, 2019 · 1 min · jiezi

解决windows10下总是很快进入睡眠问题

⭐ 个人网站⭐在用win10的过程中总是过几分钟不操作电脑,就自动黑屏睡眠了。下面讲解一下如何解决这个问题: 第一步:win +r 输入regedit.exe 运行注册表管理器 第二步:定位到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\238C9FA8-0AAD-41ED-83F4-97BE242C8F20\7bc4a2f9-d8fc-4469-b07b-33eb785aaca0第三步:修改attributes的值为2 初始值是1 将其修改为2 第四步:进入高级电源设置,在睡眠选项中会出现“无人参与系统睡眠超时”, 将默认的2分钟修改成你想要的时间,我是改成了5分钟和10分钟 1.控制面板找到电源选项 2.点击更改计划设置 3.更改高级电源设置 4.点击睡眠选项项目的 无人参与系统睡眠超时,设置你想要的时间。 到这里我们就成功解决了win10 下总是过几分钟就黑屏睡眠的问题。 遇到此类问题,但看了文章还是未解决,评论或加 QQ:781378815

September 8, 2019 · 1 min · jiezi

DOORS80的安装和基本使用skycto-JEEditor需求管理工具

DOORS是业界公认的全球使用范围最广的需求管理工具,DOORS/ERS为需求管理提供全面的解决方案,它提供三种编辑需求的环境:基于文档或表格的数据库环境(DOORS)、基于Internet的Web环境(DOORSnet)、基于MS Word的环境(DOORSrequireIT)。这样提供的好处是可以使得团队中的每个成员都可以实时的了解其他成员对需求的操作,并作出反映,使得从管理者,到系统分析员,到系统/软件工程师,到最终用户的工作可以协调一致。在我司项目名录匹配系统就使用了该软件。 client的安装1.双击client_setup.exe,出现安装引导界面 2.安装位置选择默认位置 3.license信息选择默认(稍后提供license信息) 4.设置端口号、主机 5.接下来点击next安装,勾选创建快捷方式,点击finish安装完成 server的安装1.双击server_setup.exe出现安装引导界面 2.点击next,同意安装协议,出现以下界面 3.选择Typical安装模式,点击next 4.填写端口号、数据存放目录,点击next,开始安装 5.点击finish,安装完成 设置用户1.运行桌面快捷方式首次启动会出现一下画面,意思就是说接下来的步骤需要设定一个密码,确定即可 2.设置密码 3.创建用户 将word文档导入DOORS1.DOORS安装成功后Word里面会出现以下功能 2.点击后出现以下窗口 3.点击Export后将在DOORS里面新增一个模块 如果模块存在会提醒你是否直接在后面追加内容 DOORS导出项目和模块1.导出(选择要导出的项目/模块-》点击file-》选择Archive) 2.选择文件导出位置(注:文件名称不允许有中文) DOORS插入图片1.选中某一object,右键选择properties 2.直接截图复制到Object Text里面 3.点击ok后可以看到复制的图片

September 7, 2019 · 1 min · jiezi

win10安装详细安装教程一skycto-JEEditor

工具:一个8G及以上的空U盘,一台windows系统的电脑1. 进入微软官网下载最新win10安装工具网址:https://www.microsoft.com/zh-... 2. 插上空U盘,然后双击打开微软官方安装工具,然后如图所示一步一步往下走 3. 选择为另一台电脑创建安装介质,然后手动选择要做的系统版本。如果版本直接选择windows10。则表示不做选择下载并写入所有win10的零售版本到安装介质中,然后在电脑上安装系统的时候,会再提示让你选择安装哪个版本。 4. 选择介质为U盘并选择你要作为启动盘刻入的U盘点下一步,工具就开始自动下载并刻录win10了。 5. 等U盘刻录完毕后,取出U盘插入到你要装系统的电脑上,然后开机。桌面级主板默认情况下开机会有一个短时间的主板LOGO,下方会提示主板的相应操作按键,按照提示选择启动菜单,以我的技嘉主板为例子,启动菜单时F12,其他主板同样在这个界面选择BOOT MENU的相应按钮进入启动菜单。 进入启动菜单选择以UEFI的方式启动你的U盘 然后就进入了win10安装界面 选择“我没有产品密钥” 然后选择你要安装的系统版本 如果是新电脑是没有以下选择的,旧电脑如果原本电脑上有操作系统会出现以下选项,如果要安装系统请务必选择自定义安装,不要选择系统升级 选择硬盘进行分区(新建),然后选择你要安装到哪个分区点击下一步,然后等待系统安装完成即可。 注意事项:(一).旧电脑或者已经在legacy下装有系统的电脑在最后一步的时候可能会提示该系统无法安装在此电脑上,这是由于硬盘分区表对不上的原因,解决办法主要有以下三种:1、在此界面删除要安装的硬盘上的所有分区,然后再新建分区或者直接选择硬盘点下一步,此时win10的安装程序会自动帮你转换分区表成GPT。2、如果硬盘里有重要的资料不能删除的时候,可以在最初启动菜单的地方选择以非UEFI的方式启动,这样也能安装在旧分区表的硬盘下。3、如果硬盘里有重要资料不能删除分区的情况下,本人推荐下载一个windowsPE系统进入里面用diskgenius或者其他分区工具对硬盘的分区表进行转换,转成GPT(GUID)。 (二).此方式是通过在微软官网下载官方的安装工具制作启动盘,只能下载微软官方最发布的镜像文件,从某个版本开始(忘了是哪个版本了),微软官方将零售版win10系统的镜像文件和VL版win10系统的镜像文件分开了,该渠道下载的镜像文件为零售版镜像文件,也就是说必须要联网服务器认证,KMS基本上是无法激活的,所以个人激活的最好办法就是某宝上去买一个15元左右的可无限重装的win10激活码,那么问题来了,如果有团体需求或者使用者并不打算去购买联网激活码怎么办呢?请参考下期win10安装详细教程二,通过在MSDN I TELL YOU上下载VL版的win10原版镜像刻入U盘进行安装。 skycto JEEditor

September 7, 2019 · 1 min · jiezi

一个故事讲完进程线程和协程操作系统基础知识

转自:码农翻身(微信号:coderising) 很久以前,有两个程序,暂且称他们旺财和小强吧。 旺财和小强这两个程序都很长,每个都有十几万行。 他们两个的人生价值就是到CPU上去运行,把运行结果告诉人类。 CPU是稀缺资源,只有一个,他们俩必须排着队,轮流使用。 旺财从头到尾执行完了,让出CPU, 让小强从头儿去执行。 人类把这种处理方式叫做批处理。 进程长久以来,两人相安无事。 后来CPU的速度越来越快, 远远超过了内存,硬盘的速度。 人类想到,这批处理系统的效率有点低啊,你看当小强需要从硬盘上读取数据的时候,CPU也一直在等待,这是多大的浪费啊!这时候完全可以让旺财来运行一下嘛! 当然得保存好小强的执行现场:具体执行到那一行程序指令了, 函数调用到什么层次了,每个函数调用都有什么样的参数,CPU寄存器中的值… 等等一系列东西。 如果不把小强的执行现场给保存下来,等到小强的数据从银盘读完了,就没法回到中断处来继续执行了。 这个执行现场,再加上小强的代码,就是一个执行中的程序,被称为进程 。 旺财和小强在运行的时候,也被改造成了进程。 人类还规定:进程不能长时间占据CPU, 只能在CPU上执行一小会儿,然后马上切换到别的进程去执行。 旺财和小强不以为意:不就是执行一会儿,歇一会儿,然后继续执行嘛! 但是他们不知道的是,由于CPU运行速度超快,旺财和小强虽然在不断地切换运行,在人类那缓慢的世界里看来,旺财和小强好像是同时在执行一样。 这就是并发。 多年以后,他们俩才真正地实现了并行: 在一个豪华电脑中,每人都被分配了一个CPU , 真正地同时执行, 这是后话了。 线程这时候旺财在管理系统已经有了界面,还能访问网络,每当它联网的时候(这也是个非常非常耗时的操作),就得把CPU让给小强。 即使旺财再次被调度执行,由于网络数据还没有返回,他必须等待,什么事情都做不了,在人类看来,界面根本无法操作,旺财不响应了! 气得人类经常把旺财kill掉。 旺财心里苦,他很纳闷小强怎么就没有问题,小强不是要读写硬盘吗? 那也是很慢的操作啊。 小强说:“你傻啊,内部只有一个执行的流程,一遇到耗时的操作就得等待,你看看我,内部搞了两个执行流程(线程),一个用来读写硬盘(T1),另外一个处理界面(T2)。我和操作系统商量好了,如果T1在读写硬盘, 就可以调度我的T2来执行,这样界面至少还可以操作。 ” 旺财觉得很有意思,也采用了类似办法。 于是,一个进程中至少有一个执行的流程(主线程),也可以开启新的执行流程(线程)。 线程变成了最小的调度单位。 协程这一天,旺财被一个叫做生产者和消费者的问题折腾地死去活来,两个线程,一个线程向队列中放数据,另外一个从队列中取数据,处理起两个线程的协作就显得很麻烦,不但需要加锁,还得做好线程的通知和等待。 正在感慨多线程编程之难的时候, 旺财震惊地发现,小强用了一个极为简单的办法把生产者,消费者问题给解决了。 这个方法的代码如下: # 生产者def producer(c): #其他代码 while True: value = ...生成数据... c.send(value)# 消费者def consumer(): #其他代码 while True: value = yield print(value)c = consumer()producer(c)“这…这怎么执行啊,那个yield是怎么回事?” 旺财表示不解。 ...

September 7, 2019 · 1 min · jiezi

pscp实现linux与Windows之间传输文件遇到的问题

错误:Fatal error:received unexcepted EOF from server上传下载查看都显示该错误!!!! 解决:只需要在pscp命令后加入 -scp 就可以了

August 20, 2019 · 1 min · jiezi

远程桌面不锁定对方屏幕

远程桌面不锁定对方屏幕iis7远程控制: 1、IIS7远程桌面管理中文最新版是一款专业的远程桌面管理工具,更新了原09网络远程桌面管理,较之以前的版本,操作更加便捷,能够同时远程多台服务器,多台服务器间自由切换,完全无压力。IIS7远程桌面管理能够保存编辑删除你的远程服务器信息。 2、IIS7远程桌面管理拥有直观的界面为所有类型的用户设计,易于部署和在企业环境中使用,一键导入服务器信息。 3、IIS7远程桌面管理其他特点: a.拥有分组功能,各个分组下的服务器一览无余。 b.导入文本格式选择,完全杜绝编码错误的发生。 c.单个服务器手动添加,新增服务器轻松搞定。 d.支持特征搜索,一步定位含有特征的服务器。 e.到期功能提醒,不必因到期未续费而烦恼。 f.优化再次导入功能,导入服务器信息一键生效。windows 2003 是服务器系统,本身允许多个远程连接,因为不是互动的所以不会影响服务器当前登录账户,但是在任务管理器的用户中可以看到,有人远程连接XP是客户端系统,并且是单用户远程连接,因此有远程桌面连接的情况下,会锁定!

August 20, 2019 · 1 min · jiezi

win7远程桌面不锁屏怎么操作

win7远程桌面不锁屏怎么操作?iis7远程控制: 1、IIS7远程桌面管理中文最新版是一款专业的远程桌面管理工具,更新了原09网络远程桌面管理,较之以前的版本,操作更加便捷,能够同时远程多台服务器,多台服务器间自由切换,完全无压力。IIS7远程桌面管理能够保存编辑删除你的远程服务器信息。 2、IIS7远程桌面管理拥有直观的界面为所有类型的用户设计,易于部署和在企业环境中使用,一键导入服务器信息。 3、IIS7远程桌面管理其他特点: a.拥有分组功能,各个分组下的服务器一览无余。 b.导入文本格式选择,完全杜绝编码错误的发生。 c.单个服务器手动添加,新增服务器轻松搞定。 d.支持特征搜索,一步定位含有特征的服务器。 e.到期功能提醒,不必因到期未续费而烦恼。 f.优化再次导入功能,导入服务器信息一键生效。用Windows自带的远程设置起来太复杂了,我们这些菜鸟搞不明白;有一个远程软件叫协通XT800,它可以在对方锁屏的状态下都可以远程的,只要勾选设置以系统服务的方式运行就可以了,到这里去下载:http://www.xt800.cn/download首先打开桌面“计算机”图标,右键属性打开计算机属性菜单打开计算机属性(控制面板----系统和安全---系统选项)找到左侧的“远程设置”功能出现的“系统属性”菜单中,找到“远程‘选项卡,其中下方的“远程桌面”选项,选择其中一个(注意 远程协助和远程桌面是不同的功能哈)选择允许其他计算机远程到此电脑之后,点击“选择用户”---添加一个可以远程到本计算机的用户(建议选择管理员用户,这样远程操作进去权限比较多)添加好之后,再次点击打开“选择用户”可以查看当前添加到“远程桌面组”的用户成员(删除的话,同样选择其中的用户,点击下方的删除即可)远程桌面下方有2个选项“允许允许任意版本远程桌面的计算机连接(较不安全)”选择这项,可以让低版本的windows如 windowsXP windows2000也可以连接这台电脑如果远程桌面开启失败,到服务控制台里面去找到“remote desktop services”依赖的几个服务,是不是被禁用了。都开启一下开启远程桌面之后,如果需要远程可以通过windows自带的远程桌面连接工具。 开始运行-输入 mstsc 或者到开始菜单---附件通信里面去打开 远程桌面工具。

August 20, 2019 · 1 min · jiezi

远程桌面不锁定屏幕

远程桌面不锁定屏幕iis7远程控制: 1、IIS7远程桌面管理中文最新版是一款专业的远程桌面管理工具,更新了原09网络远程桌面管理,较之以前的版本,操作更加便捷,能够同时远程多台服务器,多台服务器间自由切换,完全无压力。IIS7远程桌面管理能够保存编辑删除你的远程服务器信息。 2、IIS7远程桌面管理拥有直观的界面为所有类型的用户设计,易于部署和在企业环境中使用,一键导入服务器信息。 3、IIS7远程桌面管理其他特点: a.拥有分组功能,各个分组下的服务器一览无余。 b.导入文本格式选择,完全杜绝编码错误的发生。 c.单个服务器手动添加,新增服务器轻松搞定。 d.支持特征搜索,一步定位含有特征的服务器。 e.到期功能提醒,不必因到期未续费而烦恼。 f.优化再次导入功能,导入服务器信息一键生效。用Windows自带的远程设置起来太复杂了,我们这些菜鸟搞不明白;有一个远程软件叫协通XT800,它可以在对方锁屏的状态下都可以远程的,只要勾选设置以系统服务的方式运行就可以了,到这里去下载:http://www.xt800.cn/download首先打开桌面“计算机”图标,右键属性打开计算机属性菜单打开计算机属性(控制面板----系统和安全---系统选项)找到左侧的“远程设置”功能出现的“系统属性”菜单中,找到“远程‘选项卡,其中下方的“远程桌面”选项,选择其中一个(注意 远程协助和远程桌面是不同的功能哈)选择允许其他计算机远程到此电脑之后,点击“选择用户”---添加一个可以远程到本计算机的用户(建议选择管理员用户,这样远程操作进去权限比较多)添加好之后,再次点击打开“选择用户”可以查看当前添加到“远程桌面组”的用户成员(删除的话,同样选择其中的用户,点击下方的删除即可)远程桌面下方有2个选项“允许允许任意版本远程桌面的计算机连接(较不安全)”选择这项,可以让低版本的windows如 windowsXP windows2000也可以连接这台电脑如果远程桌面开启失败,到服务控制台里面去找到“remote desktop services”依赖的几个服务,是不是被禁用了。都开启一下开启远程桌面之后,如果需要远程可以通过windows自带的远程桌面连接工具。 开始运行-输入 mstsc 或者到开始菜单---附件通信里面去打开 远程桌面工具。

August 20, 2019 · 1 min · jiezi

服务器远程桌面集中管理平台

服务器远程桌面集中管理平台时代在发展,所以办公模式也在不断的更新。越来越多的人都会用到远程桌面连接工具了,今天就来给大家介绍一下IIS7远程桌面管理,让大家在工作学习中更加的方便。 1、IIS7远程桌面管理中文最新版是一款专业的远程桌面管理工具,更新了原09网络远程桌面管理,较之以前的版本,操作更加便捷,能够同时远程多台服务器,多台服务器间自由切换,完全无压力。IIS7远程桌面管理能够保存编辑删除你的远程服务器信息。 2、IIS7远程桌面管理拥有直观的界面为所有类型的用户设计,易于部署和在企业环境中使用,一键导入服务器信息。 3、IIS7远程桌面管理其他特点:a.拥有分组功能,各个分组下的服务器一览无余b.导入文本格式选择,完全杜绝编码错误的发生c.单个服务器手动添加,新增服务器轻松搞定d.支持特征搜索,一步定位含有特征的服务器e.到期功能提醒,不必因到期未续费而烦恼。f.优化再次导入功能,导入服务器信息一键生效

August 17, 2019 · 1 min · jiezi

远程桌面会议

远程桌面会议iis7远程控制: 1、IIS7远程桌面管理中文最新版是一款专业的远程桌面管理工具,更新了原09网络远程桌面管理,较之以前的版本,操作更加便捷,能够同时远程多台服务器,多台服务器间自由切换,完全无压力。IIS7远程桌面管理能够保存编辑删除你的远程服务器信息。 2、IIS7远程桌面管理拥有直观的界面为所有类型的用户设计,易于部署和在企业环境中使用,一键导入服务器信息。 3、IIS7远程桌面管理其他特点: a.拥有分组功能,各个分组下的服务器一览无余。 b.导入文本格式选择,完全杜绝编码错误的发生。 c.单个服务器手动添加,新增服务器轻松搞定。 d.支持特征搜索,一步定位含有特征的服务器。 e.到期功能提醒,不必因到期未续费而烦恼。 f.优化再次导入功能,导入服务器信息一键生效。1) 远程计算机上的远程连接可能没有启用。2) 已超出远程计算机上的连接最大数。3) 建立连接时出现了一个网络错误解决办法:进入注册表编辑器窗口,展开“HKEY_L0CAL_MA CHINE SYSTEMCurrentControlSetServicesTermService Parame ters”,找到名为“Cer tificate”的子键,将它删除,重新启动XP 系统或Windows 2000 Server 服务器,系统就会重新生成“Certificate”子键,这样客户端就能正常连接到终端服务器了。在终端服务器出现无法连接的问题后,我们首先要判断这是不是网络故障引起的,检测远程客户端和XP 系统(Windows 2000 Server 服务器)是否能够正常连接到网络; 然后就要检查终端服务器的加密级别是否设置过高。排除上述原因后,就有可能是“Certificate”键损坏了。

August 17, 2019 · 1 min · jiezi

微软远程桌面汉化版

微软远程桌面汉化版iis7远程控制: 1、IIS7远程桌面管理中文最新版是一款专业的远程桌面管理工具,更新了原09网络远程桌面管理,较之以前的版本,操作更加便捷,能够同时远程多台服务器,多台服务器间自由切换,完全无压力。IIS7远程桌面管理能够保存编辑删除你的远程服务器信息。 2、IIS7远程桌面管理拥有直观的界面为所有类型的用户设计,易于部署和在企业环境中使用,一键导入服务器信息。 3、IIS7远程桌面管理其他特点: a.拥有分组功能,各个分组下的服务器一览无余。 b.导入文本格式选择,完全杜绝编码错误的发生。 c.单个服务器手动添加,新增服务器轻松搞定。 d.支持特征搜索,一步定位含有特征的服务器。 e.到期功能提醒,不必因到期未续费而烦恼。 f.优化再次导入功能,导入服务器信息一键生效。相关介绍:Microsoft Remote Desktop实话讲来的晚了一些,微软的rdp基本都是标配了,控制电脑很方便的说。Windows 系统原本均自带了「远程桌面」的功能,你不需要额外安装软件即可实现控制其他 Windows 电脑或者作为被控端使用。现在使用微软官方的 Microsoft Remote Desktop 这款应用,即便在 Android、iOS、Mac系统下都能远程连接并控制 Windows 系统的桌面了,同样,你PC电脑上并不需额外安装软件。现在微软远程桌面有了安卓和 iPhone 版本,赖在客厅沙发或者出门在外都能远程控制房间里的电脑完成任何的操作了!这对于很多人,特别是懒人来说都非常有用!在工作方面,虽然手机远程连接电脑进行办公,操作并不算很轻松,但毕竟在应急的时候也还是非常有用的。

August 17, 2019 · 1 min · jiezi

远程桌面技术

远程桌面技术iis7远程控制: 1、IIS7远程桌面管理中文最新版是一款专业的远程桌面管理工具,更新了原09网络远程桌面管理,较之以前的版本,操作更加便捷,能够同时远程多台服务器,多台服务器间自由切换,完全无压力。IIS7远程桌面管理能够保存编辑删除你的远程服务器信息。 2、IIS7远程桌面管理拥有直观的界面为所有类型的用户设计,易于部署和在企业环境中使用,一键导入服务器信息。 3、IIS7远程桌面管理其他特点: a.拥有分组功能,各个分组下的服务器一览无余。 b.导入文本格式选择,完全杜绝编码错误的发生。 c.单个服务器手动添加,新增服务器轻松搞定。 d.支持特征搜索,一步定位含有特征的服务器。 e.到期功能提醒,不必因到期未续费而烦恼。 f.优化再次导入功能,导入服务器信息一键生效。当某台计算机开启了远程桌面连接功能后我们就可以在网络的另一端控制这台计算机了,通过远程桌面功能我们可以实时的操作这台计算机,在上面安装软件,运行程序,所有的一切都好像是直接在该计算机上操作一样。这就是远程桌面的最大功能,通过该功能网络管理员可以在家中安全的控制单位的服务器,而且由于该功能是系统内置的所以比其他第三方远程控制工具使用更方便更灵活。

August 17, 2019 · 1 min · jiezi

远程桌面怎么加端口号

远程桌面怎么加端口号?iis7远程控制: 1、IIS7远程桌面管理中文最新版是一款专业的远程桌面管理工具,更新了原09网络远程桌面管理,较之以前的版本,操作更加便捷,能够同时远程多台服务器,多台服务器间自由切换,完全无压力。IIS7远程桌面管理能够保存编辑删除你的远程服务器信息。 2、IIS7远程桌面管理拥有直观的界面为所有类型的用户设计,易于部署和在企业环境中使用,一键导入服务器信息。 3、IIS7远程桌面管理其他特点: a.拥有分组功能,各个分组下的服务器一览无余。 b.导入文本格式选择,完全杜绝编码错误的发生。 c.单个服务器手动添加,新增服务器轻松搞定。 d.支持特征搜索,一步定位含有特征的服务器。 e.到期功能提醒,不必因到期未续费而烦恼。 f.优化再次导入功能,导入服务器信息一键生效。在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的端口,如ADSL Modem、集线器、交换机、路由器上用 于连接其他网络设备的接口,如RJ-45端口、SC端口等等。逻辑端口是指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,这就是端口号。

August 17, 2019 · 1 min · jiezi

远程桌面的默认端口在哪里看

默认的远程连接端口是3389这个端口容易被利用侵入你的计算机,所以最好不要打开,平时常见的开启远程桌面也就是开启了这个端口。常见危险,比如种植木马病毒。iis7远程控制: 一款电脑远程监控的工具,IIS7远程桌面管理是一款专业的远程桌面连接软件,无需安装。操作简单方便。完美的界面设计、强大的监控功能、稳定的系统平台,满足了用户实现远程桌面连接的需求。 1、分组功能。 2、导入文本格式选择,杜绝编码错误的发生。 3、单个服务器手动添加。 4、支持特征搜索。 5、到期功能提醒。 6、导入服务器信息一键生效。 7、程序自动更新。扩展资料:远程桌面连接组件是从Windows 2000 Server开始由微软公司提供的,在WINDOWS 2000 SERVER中它不是默认安装的。该组件一经推出受到了很多用户的拥护和喜好,所以在WINDOWS XP和2003中微软公司将该组件的启用方法进行了改革,通过简单的勾选就可以完成在XP和2003下远程桌面连接功能的开启。

August 8, 2019 · 1 min · jiezi

微软远程桌面99汉化版

iis7远程控制: 一款电脑远程监控的工具,IIS7远程桌面管理是一款专业的远程桌面连接软件,无需安装。操作简单方便。完美的界面设计、强大的监控功能、稳定的系统平台,满足了用户实现远程桌面连接的需求。 1、分组功能。 2、导入文本格式选择,杜绝编码错误的发生。 3、单个服务器手动添加。 4、支持特征搜索。 5、到期功能提醒。 6、导入服务器信息一键生效。 7、程序自动更新。 软件标签: remotedesktop 桌面控制app。 remote desktop汉化版是一款非常好用的远程桌面控制app,支持在手机上对电脑进行远程的控制和调节,非常的方便,欢迎有需要的朋友到绿色资源网下载使用! 官方介绍: 通过您的Android设备安全地访问自己的计算机。在您的Android设备上,打开该应用,然后点按任意一台已连网的计算机即可建立连接。 remote desktop中文版特色。 1.控制电脑(触屏模拟鼠标/虚拟键盘)。 2.即便在 Android、iOS、Mac系统下都能远程连接并控制 Windows 系统的桌面了,同样,你PC电脑上并不需额外安装软件。 3.现在微软远程桌面有了安卓和 iPhone 版本,赖在客厅沙发或者出门在外都能远程控制房间里的电脑完成任何的操作了!这对于很多人,特别是懒人来说都非常有用!在工作方面,虽然手机远程连接电脑进行办公,操作并不算很轻松,但毕竟在应急的时候也还是非常有用的。

August 8, 2019 · 1 min · jiezi

OPC-Client和OPC-Server容易出现通讯故障原因是什么

OPC Server是一套利用微软的COM/DCOM技术实现工业自动化资料获取的架构。OPC Server提供OPC接口,它将与之相连的物理设备(PLC)的信息值通过接口返回到客户端应用程序。也就是说,客户端通过这些接口,可以获得与OPC Server连接的物理设备的信息。 OPC Client通过端接OPC Server 提供的接口,可以取得与 OPC Server 相连的硬件装置的信息,而无须了解这些硬件装置的细节信息。 但是,相信很多人都被OPC Client与OPC Server之间的通讯弄得头疼不已吧,通过几次远程协助后,总结了OPC Client和OPC Server在Windows上运行方式的恩怨,希望对大家有所帮助。 目前市场上的OPC Client和OPC Server软件在Windows上的运行方式主要有两种:Windows 桌面程序和Windows NT服务。由于OPC CLient和OPC Server不是同一个厂家的软件,又由于软件的多样性,导致使用时出现这些现象: 1、OPC CLient连接目标OPC Server时无法连接,但在OPC Server计算机上明明看见OPC Server进程已经启动。 2、OPC CLient连接目标OPC Server时,虽然能连接,也能看见测点,但无法获取到数据。 多次现场测验后发现,这些问题是OPC Client和OPC Server软件在Windows上的运行方式不同导致的。也就是说,OPC CLient运行Windows NT服务方式,而OPC Server运行桌面程序方式。但是当OPC CLient是Windows 桌面程序方式,OPC Server是Windows NT服务时,基本不会出现上述现象。这是为什么呢? 原因是这样的: OPC Client和OPC Server都是基于DCOM的应用,其特点是OPC Server无需先运行或启动,等待OPC CLient请求时,操作系统会直接将OPC Server拽起来。这种可以随用随启的机制,非常实用。 但这种机制处理不好,会导致一些问题。当OPC CLient是Windows NT服务时,OPC Server被拽起来后,是运行在System这个系统账户下面的。相对于Windows的桌面用户来说,是另外一个隔离开的空间。因此当桌面运行类型的OPC Server被Windows NT服务方式的OPC CLient拽起来后,被运行在System这个系统账户的空间。而如果这个OPC Server程序又做了全局唯一进程运行的限制或与数据库只允许一个TCP连接时,上述的两种现象基本就会出现。这就是大家经常会遇到的OPC通讯故障现象。 如果让自己开发的OPC程序兼容性更好呢? 1、当开发OPC CLient程序时,最好使用Windows桌面程序方式,这种方式可兼容OPC Server程序运行在Windows桌面程序方式和Windows NT服务方式。 2、当开发OPC Server程序时,最好使用Windows NT服务方式,这种方式可兼容OPC Client程序运行在Windows桌面程序方式和Windows NT服务方式。 ...

August 8, 2019 · 1 min · jiezi

搭建本地kmS服务器激活windows-office

准备 1.windows 或 linux 主机或需拟机一台 (假如ip 192.168.1.1)2.在主机安装 python 环境3.git clone https://github.com/SystemRage/py-kms.git运行kms服务器 1.在准备中的服务器上进入clone 或下载的py-kmy目录2.确认准备的kms服务器ip和需要激活的机器是否在一个网段或者通过ip能够互通 (假如ip 192.168.1.2)3.执行 python pykms_Server.py [IPADDRESS] [PORT] 启动kms server(python 没有加入环境变量的需要补全python的执行路径 默认IPADDRESS为“0.0.0.0”(所有接口),默认PORT为“1688”。)4.在client 执行 telnet 192.168.1.1 1688 看是否能连通 (此非必需)5.在 微软查找对应的kms密钥 https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj612867(v=ws.11)激活 1.管理员在 192.168.1.2 打开cmd 2. slmgr /upk 卸载原密钥 3. slmgr /ipk 密钥 (安装上面第五步查到的对应密钥)4. slmgr /skms 192.168.1.1:1688 (连接上面启动的kms server)5. slmgr /ato (激活)6. slmgr /xpr (显示激活时间 为180天以后到期 ,到期时 运行一下kms server 然后执行 激活里面的4,5,6 部份又可以继续180天 )

August 7, 2019 · 1 min · jiezi

桌面远程管理卡是怎么回事

远程桌面很卡的原因是:网速问题。 远程的实质,就是把控制方的指令传输到受控方的系统中去执行。所以,远程指令的传输,受到控制方的上传网速和受控方的下载网速双重影响,其中有一方的网速问题都会影响到指令的传输速度。 当指令的传输到对方电脑执行,人的大脑感觉到延时的情况时,这时就觉得卡了。 当然,控制方指令的生成与受控方指令的执行,也受到电脑配置的影响,不过,这只是微不足道的。 iis7远程控制: 一款电脑远程监控的工具,IIS7远程桌面管理是一款专业的远程桌面连接软件,无需安装。操作简单方便。完美的界面设计、强大的监控功能、稳定的系统平台,满足了用户实现远程桌面连接的需求。 1、分组功能。 2、导入文本格式选择,杜绝编码错误的发生。 3、单个服务器手动添加。 4、支持特征搜索。 5、到期功能提醒。 6、导入服务器信息一键生效。 7、程序自动更新。

August 7, 2019 · 1 min · jiezi

Windows-10-Build-18950镜像开放下载

如果你想要在PC上纯净安装Windows 10 20H1分支的最新预览版,那么你今天可以从微软官网下载于上周发布的Build 18950的ISO镜像了。本次版本更新除了一些常规BUG修复之外,主要对日语输入法和Snip and Sketch应用进行了优化。 部分Windows Insider成员在升级至Build 18950之后,可以访问自Build 18945预览版上线的新Cortana Beta应用程序。 如果您是开发人员,Microsoft今天还发布了Windows 10 SDK Preview build 18950,可以从Microsoft Windows Insider网站的开发人员区域下载。您可以在完整的博客文章中了解有关工具更新和重大更改的更多信息。 新闻来源:cnBeta.com

August 7, 2019 · 1 min · jiezi

npm的scripts在Windows下无法并行或串行执行多命令的解决

我用MacOS开发,这个npm的scripts是可以很好的执行并行或者串行的脚本的,比如我们来看下我这个在MacOS下的正常执行的scripts代码段: "scripts": { "dev": "webpack --watch --config webpack.dev.js & npm run s", "build": "webpack --config webpack.prod.js", "prod": "webpack --config webpack.prod.js & npm run s", "lint": "eslint --ext ./src/*.js", "lintfix": "eslint --fix ./src/*.js", "sa": "nodemon ./servers/51la/server.js", "sb": "nodemon ./servers/jump/server.js", "sc": "nodemon ./server.js", "s": "npm run sa & npm run sb & npm run sc" },这里我执行npm run dev可以并行处理webpack --watch --config webpack.dev.js和npm run s,而执行后面的这个名领的时候又可以触发执行npm run sa & npm run sb & npm run sc,然后再次触发对应的三个命令。我暂时不关心他多层调用的问题。 ...

July 15, 2019 · 1 min · jiezi

工具资源系列之给-windows-虚拟机装个-mac

众说周知,Mac 很好但也很贵,对一般大众而言,漂亮简洁高颜值,对软件开发者而言,方便省心有点贵. 好到什么程度?内置大量常用的开发工具,省去了初学者安装配置环境的麻烦,版本控制工具 svn 默认已安装,web 服务器 apache 默认已安装,编程开发环境 php 默认已安装等等,例子很多就不一一列举了.除此之外,Mac 系统不同于 Windows 系统,Mac 系统是一种类 Unix 操作系统,命令行工具很好用,相当于提前熟悉 Linux 语法了,这一点是 Windows 望尘莫及的. 贵到什么程度?随随便便的普通版七八千,如果再稍微挑挑拣拣,起码一两万! 如果预算不够但又想体验一下 Mac 电脑,该怎么办? 答案很简单,直线去去线下苹果体验店啊! 哈哈,我是开玩笑的,言归正传,买不起真实的苹果笔记本也没关系,我们可以像安装普通软件那样,安装一个苹果笔记本! 下面我们将介绍一种方法,让你能够在 Windows 电脑上安装一个苹果笔记本,用起来和真的一样,只不过你我都心知肚明,那并不是真实的机器! 知识扫盲虚拟机是相对于真实的物理机而言的概念,是在我们当前正在使用的计算机基础上,通过软件或硬件的方式创造的新的计算机.VMware 是常用的虚拟机软件之一,物理机安装好 VMware 软件就可以利用该软件虚拟出任意计算机即虚拟机.VMware 支持 Windows ,Mac 和 Linux 等常见操作系统,是名副其实的跨平台软件. 镜像 是一种特殊格式的文件,文件后缀名一般是 .iso ,但也要例外,比如本文安装的 macOS Mojave 10.14 18A391 Lazy Installer(MD5-CDD5EDA714D8BCC8E799F8272556CF3B).cdr 的后缀名却是 .cdr ,镜像文件就是创建虚拟机的必要程序,有了它 VMware 软件才能创建出虚拟机.总的来说,VMware 软件加载 xxos.iso 镜像文件创建出 xxos 虚拟机. 所以,阅读教程前请务必准备好 VMware 虚拟机以及相应的镜像文件. ...

July 13, 2019 · 2 min · jiezi

快速理解TCPIP三次握手与四次挥手

TCP/IP三次握手TCP建立连接为什么是三次握手,而不是两次或四次?TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6。顺便说一句,原则上任何数据传输都无法确保绝对可靠,三次握手只是确保可靠的基本需要。 对应为客户端与服务器之间的通信:于是有了以下对话:我:1+1等于几?她:2,2+2等于几?我:4 首先两个人约定协议1.感觉网络情况不对的时候,任何一方都可以发起询问2.任何情况下,若发起询问后5秒还没收到回复,则认为网络不通3.网络不通的情况下等1min路由器之后再发起询问 对于我而言,发起 “1+1等于几”的询问后 若5s内没有收到回复,则认为网络不通若收到回复,则我确认①我能听到她的消息 ②她能听到我的消息,然后回复她的问题的答案对于她而言,当感觉网络情况不对的时候 若没有收到我的询问,则她发起询问若收到“1+1等于几”,则她确认 ①她可以听到我的消息,然后回复我的问题的答案和她的问题“2,2+2等于几”若5s内没有收到我的回复“4”,则她确认 ②我听不见她的消息若5s内收到了我的回复“4”,则她确认 ②我可以听见她的消息这样,如果上面的对话得以完成,就证明双方都可以确认自己可以听到对方的声音,对方也可以听到自己的声音! 这个解释足够简单了吧!接下来我们看四次挥手。 TCP/IP四次挥手三次握手耳熟能详,四次挥手估计就..所谓四次挥手(Four-Way Wavehand)即终止TCP连接,就是指断开一个TCP连接时,需要客户端和服务端总共发送4个包以确认连接的断开。在socket编程中,这一过程由客户端或服务端任一方执行close来触发,整个流程如下图所示: 服务端在LISTEN状态下,收到建立连接请求的SYN报文后,把ACK和SYN放在一个报文里发送给客户端。而关闭连接时,当收到对方的FIN报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方也未必全部数据都发送给对方了,所以己方可以立即close,也可以发送一些数据给对方后,再发送FIN报文给对方来表示同意现在关闭连接,因此,己方ACK和FIN一般都会分开发送。简单点说,当被动方收到主动方的FIN报文通知时,它仅仅表示主动方没有数据再发送给被动方了。但未必被动方所有的数据都完整的发送给了主动方,所以被动方不会马上关闭SOCKET,它可能还需要发送一些数据给主动方后,再发送FIN报文给主动方,告诉主动方同意关闭连接,所以这里的ACK报文和FIN报文多数情况下都是分开发送的。

July 11, 2019 · 1 min · jiezi

让办公管理如影随形的移动OA系统

移动改变了人类的生活模式,而移动OA系统引领掌上办公,让企业管理畅通无阻、如影随形。4G网络和智能移动的清新以及超想象力汇入枯燥无趣的PC时代,一度加快了移动OA系统的成长步伐。移动OA系统彻底改变传统的桌面办公模式,让你随时随地掌上办公。 各大OA厂商敏锐把握移动互联大好时机,重新定位,全面启动移动OA研发计划。现在就以天生创想的移动OA系统为例,解析一下移动OA系统是如何提高企业管理水平的。 1、不只是迁徙传统OA 天生创想的移动OA办公系统将移动通信元素与协同办公系统有机结合,配备了常用日常办公功能30多项,包括流程审批、公文管理、集团审批、任务、日志、计划、会议、消息、通知公告等。 从产品特性上看,移动OA系统更具有随时随地办公的管理理念。天生创想移动OA系统支持Windows、Linux操作系统,并结合移动设备的特色,如:移动流程审批,可进行对报批、费用、合同、采购、行政等流程审批的发起与处理,实现无纸化流程管控。工作流程轨迹清晰可查,流程反馈随时通知。 事实上,天生创想的移动OA办公系统并不是传统OA办公系统的衍生物,也不是手机的附属品,而是与智能手机深度融合的,专为移动办公创造的新系统。 2、让管理更进一竿 移动OA系统的核心意旨就是在时间和空间上解放员工,快速提升企业集团管理水平,提高企业核心竞争力,合理规划利用时间,把空间消耗成本降到最低,充分发挥员工的主观能动性。 天生创想的移动OA办公系统在新一代智能移动OA软件领域开辟了一道新路线,同时也将人们从桌面办公的方式解放出来,拓展了办公空间,使员工处理公务时不再受到时间和地点的限制,既提高了办公效率,又减少了办公成本。 站在客户角度考量客户所需,提升企业集团竞争力、执行力,是各大OA厂商需要努力的方向。眼下移动互联深入人心,相信在各大OA厂商的协作努力下,将来的移动OA系统必定能帮助企业管理更进一竿。 天生创想OA软件!专业oa办公软件开源服务提供商,采用php+mysql开源语言,一直致力于应用管理软件基层研发,现己推出企业、集团、saas等应用平台!而且,天生创想oa企业运营管理平台还能通过增减功能模块,让购买系统的价格进行调整,来满足不同企业的办公需求。

July 10, 2019 · 1 min · jiezi

Java-实现与-Word-风格相似的菜单

最后一次更新于 2019/07/09 菜单效果演示图Microsoft Word 本程序菜单 简单的菜单布局设计这个项目是人机交互设计课程的一个小作业。不过该作业的要求是不需要编写任何代码的。但为了体现我们小组的设计和分组理念,我还是决定编写一个菜单小程序,该程序有灵活的布局,是微软的 Word 编辑器和 IntelliJ IDEA 编辑器布局的综合。 我们小组需要处理的所有功能已经预先被分类成如下几种名称: 功能分组原理功能性根据 功能相似的应该放在一起 的原则来布局所属的按钮。 例如,空白文本,加粗文本,斜体文本和下划线文本。时序性根据 功能的分组可以反应执行的顺序 的原则来布局所属的按钮。 例如,先复制后粘贴。使用频率根据 使用频率相似的功能应该放在一起 的原则来布局所属的按钮。通常常用操作都会在工具栏里使用户能直接点击。 例如,保存和打印。菜单设计原理费茨法则按钮的面积越大越好。而用户的鼠标指针和按钮之间的距离越小越好。因为这意味着用户实现功能的时间变少。 人类是会犯错误的设计过程中要尽量避免误导用户。比如说,如果先使用户看到“保存为”功能而不是“保存”功能的话很可能使用户误认为“保存为”即是“保存”功能。 人类的失误设计过程中要尽量避免用户意外点中不相关的功能。比如说,用户可能误点中“删除”而不是“粘贴”如果这两个功能紧挨在一起的话。 Java 编程实现从各类文本编辑器和以上原理的灵感激发下,我决定做出灵活布局的菜单。常见的操作会用工具栏来实现,它们被包裹在子菜单中。子菜单 可以利用 JToolBar 实现,当用户点击其他的子菜单时当前显示的子菜单应从 JFrame 移除。举个例子 public void menuSelected(MenuEvent e) { if(toolbar != null) { toolbar.setVisible(false); frame.remove(toolbar); } if(viewbar == null) { viewbar = new JToolBar(); JMenuBar menuBar = new JMenuBar(); // 页面。 ImageIcon pageIcon = new ImageIcon("src/images/page.png"); JMenu page = new JMenu("View Page"); page.setIcon(pageIcon); menuBar.add(page); // 页面所在位置。 ImageIcon posIcon = new ImageIcon("src/images/position.png"); JMenu position = new JMenu("Position"); position.setIcon(posIcon); menuBar.add(position); // 显示文档。 ImageIcon docIcon = new ImageIcon("src/images/documents.png"); JMenu document= new JMenu("Alternative Document"); document.setIcon(docIcon); menuBar.add(document); viewbar.add(menuBar); } frame.add(viewbar, BorderLayout.PAGE_START); viewbar.setVisible(true); frame.setVisible(true);}对于快捷键的实现而言,我们需要调用 setAccelerator() 函数来设置快捷键。比方说, ...

July 9, 2019 · 1 min · jiezi

windows-server-apache-80端口启动失败

一台测试服务器,版本是windows server 2012,环境是apache+mysql+php,在上周五还运行的好好的,过了个周末,周一来了以后apache死活启动不了,查看apache错误日志也没有看出什么来;这时候想起了windows 还有个系统日志,然后经过排查,发现是一个pid为4的进程占用了80端口,问了度娘,度娘说这是windows系统内核进程,还给了我解决方法,我想应该是windows server系统更新的时候干的好事,下面是方法步骤: 1、打开注册表:regedit2、找到:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesHTTP3、在右边找到Start这一项,将其改为04、重启系统,System进程不会占用80端口重启之后,再启动Apache就可以了。 链接:https://www.chinaz.com/web/20... 来源:站长之家 记一下,免得下次忘了

July 8, 2019 · 1 min · jiezi

如何将任务栏图标放在居中

1.在任务栏右击点击去掉选勾“Lock the taskbar”锁定任务栏。 2.再右击点击“Toolbars”工具栏,再点击“New toolbar...”新建工具栏。 3.点击“New folder”新建文件夹,选中“New folder”,最后“Select Folder”选择文件夹。 4.点击后,任务栏右边出现一个“New Folder”,同时发现两边有两个竖平行线。如果没有两个竖平行线,就是没取消选勾掉“Lock the taskbar”锁定任务栏。 5.把鼠标滑到右边的竖平行线区域,会看到左右箭头的图标,移动到最左边。你会发现原来左边的图标搬到右边了。 6.任务栏右边图标手动调整移动竖平行线到任务栏居中。 7.左边任务栏空白处右击点击“Show Text” and “Show title”显示文本和显示标题取消选勾掉。 8.最后点击“Lock the taskbar”锁定任务栏ok。

July 7, 2019 · 1 min · jiezi

Windows下WSL2的常规设置

工欲善其事,必先利其器升级Windows10到1903并下载Windows Terminal分享下我的配置 profiles.json 设置WSL为版本2。 添加右键打开,注册表写入更改下面的名字哦 Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\Bash]@="Bash here"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\Bash\command]@="C:\\Users\\[your-name]\\AppData\\Local\\Microsoft\\WindowsApps\\Microsoft.WindowsTerminal_8wekyb3d8bbwe\\wt.exe"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\Bash]@="Bash here"[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\Bash\command]@="C:\\Users\\[your-name]\\AppData\\Local\\Microsoft\\WindowsApps\\Microsoft.WindowsTerminal_8wekyb3d8bbwe\\wt.exe" 在添加~/.bashrc中添加 export windows_host=`ipconfig.exe | grep -n4 WSL | tail -n 1 | awk -F":" '{ print $2 }' | sed 's/^[ \r\n\t]*//;s/[ \r\n\t]*$//'`export ALL_PROXY=socks5://$windows_host:1080export HTTP_PROXY=$ALL_PROXYexport http_proxy=$ALL_PROXYexport HTTPS_PROXY=$ALL_PROXYexport https_proxy=$ALL_PROXYif [ "`git config --global --get proxy.https`" != "socks5://$windows_host:1080" ]; then git config --global proxy.https socks5://$windows_host:1080fi#重写cd# cd C:\\ 自动切换到 /mnt/cfunction cd() { command cd `wslpath "$1"`} 这样,最好的Linux发行版Windows 10就配置好了 ????

July 6, 2019 · 1 min · jiezi

启动热键

1.启动热键(重装系统的准备)

July 5, 2019 · 1 min · jiezi

保存ActiveX-控件和插件默认设置

July 4, 2019 · 0 min · jiezi

在Windows下搭建React-Native-Android开发环境搭建项目

说明:Windows下搭建React Native Android开发环境和基本的React Native项目搭建环境变量添加控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 新建项目搭建调试方式采用真机调试,如需使用 Android 模拟器参考文档 https://reactnative.cn/docs/g...一、环境搭建1.安装的java jdkJava JDK官网安装就是下一步下一步下一步 1.1修改环境变量,新增JAVA_HOME的系统环境变量,值为C:\Program Files (x86)\Java\jdk1.8.0_112,也就是安装JDK的根目录 1.2修改系统环境变量Path,在Path之后新增%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 1.3新建系统环境变量CLASSPATH,值为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 1.4保存所有的系统环境变量,同时退出系统环境变量配置窗口,然后运行cmd命令行工具,输入javac,如果能出现javac的命令选项,就表示配置成功! 2安装Node.js环境node.js中文网安装就是下一步下一步下一步 2.1注意:需要安装最新的长期稳定版本,不要实验版本;安装完毕之后的node.js会自动配置到全局系统环境变量中安装完毕后,可以输入node -v查看node版本号; 3.安装C++环境3.1大多数情况下操作系统自带C++环境,不需要手动安装C++环境;如果运行报错,则需要手动安装visual studio中的C++环境; 4.安装Git环境(一个可选的操作)Git官网 4.1Git安装完毕后,会自动配置到系统环境变量中;可以通过运行git --version来检查是否正确安装和配置了Git的环境变量; 5.安装Python环境这里选择2.7版本python官网 5.1注意:安装Python时候,只能安装2.×的版本,注意勾选安装界面上的Add Python to path,这样才能自动将Python安装到系统环境变量中; 5.2安装完毕之后,注意应该以管理员身份在命令行中运行python,检查是否成功安装了python。 6.配置安卓环境Android Studio下载安装就是下一步下一步 6.1安装完成点击"Configure",然后点击"SDK Manager" 6.2在 SDK Manager 中选择"SDK Platforms"选项卡,然后在右下角勾选"Show Package Details"。展开Android 6 勾选图中标注的2选项,展开Android 9 (Pie)勾选图中标注的3选项 6.3在 SDK Manager 中选择"SDK Tools"选项卡,勾选图中标注的1的选项 6.4在 SDK Manager 中选择"SDK Tools"选项卡,然后在右下角勾选"Show Package Details",选中图2所需包勾选完成点击安装 ...

July 3, 2019 · 1 min · jiezi

弹出USB大容量存储设备-时出问题

如何解决弹出USB大容量存储设备 时出问题?在U盘里或移动硬盘里运行修改过,拷贝过,为了保证存在文件及文件夹,必须“安全删除硬件并弹出媒体”后,才可以离开接口。不管有否改动U盘或移动硬盘里东西,还是最好“安全删除硬件并弹出媒体”。不仅麻烦,而且好习惯。 操作系统:Windows 10 1.一般情况下,关闭应用软件,再安全删除。1-1.弹出对话框。 1-2.这台电脑右击弹出,点击“管理”。 1-3.左侧:系统工具-自定义视图-管理事件-点击“Kernel-PnP”-进程ID为10996。看不出在什么应用软件运行。就看“详细信息”。 1-4.点击“详细信息”,看下路径名,看到“notepad.exe”,就知道记事本没关闭,所以无法安全删除。先保存关闭记事本,然后再安全删除。 2.还有另一种情况,全部应用软件关闭了,还是无法安全删除。就看进程ID为多少,就按照进程ID为多少结束进程任务。2-1.任务栏右击弹出,点击“任务管理器”。 2-2.弹出“任务管理器”,点击“详细信息”。 2-3.在“名称”后面空白处,右击弹出找到“PID”。 2-4.进程ID号找到“10996”,右击点击“结束任务”,最后安全删除就OK。

July 3, 2019 · 1 min · jiezi

网络是怎么连接的个人笔记

July 2, 2019 · 0 min · jiezi

打印机共享设置步骤收集故障解决

启用文件和打印机共享设置(打印机为主)1.主电脑开启这台打印机1.右击弹出,点击“打印机属性”。 2.点击“共享”标签,点击“更改共享选项”。 3.选勾“共享这台打印机”,然后“确定”。 这是第一步,先把自己的打印机启用共享。接下来第二步见4-2。 2.更改高级共享设置1.网络和Internet设置 2.网络和共享中心 3.更改高级共享设置 4.专用 5.来宾或公用(当前配置文件) 6.所有网络 第二步到这里,下面4-3是第三步,这第三步不是必须的,主要看别人的系统多少位关系到支不支持,一般情况都是64位。如果自己是32位,需要装上64位,为其它电脑打印;如果自己是64位,其它电脑有32位,就装32位,为32位电脑打印。 3.考虑到其它电脑有32位系统(x86)1.其他驱动程序 2.选勾x64或x86。x64是64位,x86是32位。 3.安装打印驱动程序 4.找到x86打印驱动,打开OK。 主电脑这三步,启用共享打印机设置基本完成。最后一步就是4-4。副电脑及其它电脑连接主电脑共享打印机,不能保证成功,因为每台电脑都不一样,系统更新频率多会发现不是所自己设置配置,还有默认设置,还原设置,还有动过注册表编辑器等等,有可能没成功。所以我写这篇文章是刚重装系统后,才安装打印机驱动,启用共享设置配置,同时写这篇文章来的,还结合问百度高手总结出来的。 4.副电脑及其它电脑连接打印机主电脑启用打印机共享了,x64和x86打印驱动都有了,最后副电脑或其它电脑怎么连接主电脑的打印机,怎么做就看下面有几种方法。 4-1.用 Win+R 运行输入\\计算机名(推荐)1.“这台电脑”右击弹出,点击“属性”。 2.看下自己“计算机名”。 3.运行输入\\计算机名,弹出窗口。 4.右击弹出,点击“连接”,OK。 5.测试打印机。 4-2.用 Win+R 运行输入\\IP地址步骤和上面4-4-1一样,我不一一贴图了。1.先运行cmd,输入ipconfig /all。看自己连接有线网络或无线网络的IP地址。2.然后运行输入\\IP地址,弹出窗口。3.右击弹出,点击连接,OK。要是连不上,试试上面推荐的\\计算机方法,还是不行的话,这种情况我碰过,但想不起来,没做笔记。 4-3.添加打印机,(打印服务器)。 教程看百度网盘链接:链接:https://pan.baidu.com/s/1FfNk... 提取码:j1mg 4-4.连接弹出登录界面有时输入账户和密码,有时输入WiFi名和密码(这个我第一次看到,不知和系统版本有关?) 点击连接后,会弹出登录界面,我一般碰到登录界面都是Guest,之前设置好密码。 有一次用\\IP地址输入后,连接失败,换用\\计算机名输入后,连接上去了。所以输入这两个都要试试,因为Windows 10系统,有的人用脱机登录,有的人用微软邮箱登录。特别是微软邮箱登录的问题稍微复杂点一些(比如系统版本有关,家庭版本无加入域功能,连接不上。)微软邮箱问题还是系统版本无功能支持问题?再说我电脑不多,vmware试试也没意义,不值得,对我而言。 5.故障连不上5-1.重启打印机服务 右击弹出,点击“重新启动”。 6.收集无法解决故障1.打印机型号:SCX-4650_4x21S。复印好使,USB连接不好使,试过另两台(对面台式电脑和我本本)还是连接不上!换过USB方口打印机线,还是不好使。所以打印机驱动和USB方口打印机线排除,剩下可能是打印机硬件上的问题。

July 2, 2019 · 1 min · jiezi

将python打包为exe可执行文件Pyinstaller工具

python是脚本语言,如果你在开发机器上执行当然会很方便,可是如果你帮他人写了个脚本,想在他人机器上运行,可能会遇到点困难。 为了让脚本在他人机器上顺利执行,你首先要帮他安装python解释器,如果你import了一些库比如pandas,那这个也需要安装,甚至相关的依赖也需要安装。这个时间成本显然是很大的,这部分工作也很枯燥,甚至会影响工作积极性,因此花一点时间,学会如何将python脚本打包为.exe文件,无需再安装各种开发环境和依赖库,是一件一劳永逸的事情。 现在,主流的工具有Pyinstaller、cz_Freeze、py2exe,本文只介绍Pyinstaller的使用。 准备工作开发环境和工具: python 3.7Pyinstaller 3.4windows 10Pyinstaller可以支持Python 2.7 和3.4—3.7。*要打包的文件myscript.py源码:import pandas as pddf = pd.read_excel('D:/account.xls')result = dr.dropna()result.to_excel('D:/result.xls')该源码包含pandas, xlrd, xlwt等库在windows上安装Pyinstaller根据Pyinstaller官方表述,在windows上安装Pyinstaller需要先安装pywin32 或 pypiwin32, 否则待会儿转换时,会提示无法找到win32com模块的错误,虽然报错缺win32com,但你要清楚缺的其实是pywin32 或 pypiwin32。先用下面pip命令查看自己是否已安装该模块:pip list如果没有找到,在pywin32下载地址下载对应版本的pywin32,或者直接用下面命令安装pypiwin32:pip install pypiwin32最后安装Pyinstaller:pip install pyinstaller开始打包可以使用下面命令打包pyinstaller myscript.py该命令执行后, pyinstaller会分析myscript.py文件,并且在脚本script.py所在文件夹中: 生成myscripy.spec创建文件夹build在build文件夹中生成日志文件和运行所需文件创建dist文件夹在dist文件夹中创建可执行文件夹myscript,在myscript文件夹中,就可以找到myscript.exe可执行文件上面命令生成了很多依赖文件,如果想打包为独立单一的.exe文件,使用-F参数pyinstaller -F myscript.py默认生成的执行文件执行时,会弹出一个命令行的窗口,如果不需要弹出,可以再加个-w参数pyinstaller -F -w myscript.py遇到的问题打包过程中难免会遇到问题,一般都会遇到缺少模块的问题,比如,在对myscript.py打包时会报错ModuleNotFoundError,缺少xlrd, xlwt等模块,一般来说可以按照下面三个步骤进行解决: Pyinstalled会从本地的环境路径下找需要的模块,例如python的包都放在site-packages目录下,因此,Pyinstalled可以直接从该目录下获取需要的模块。如果本地也缺少该模块,先通过pip命令安装。例如:pip install xlrdpip install xlwt如果你需要的模块不在site-packages,而在你指定的目录下,那打包时你可以通过-P DIR参数指定,其中DIR为你需要的模块路径:pyinstaller -F -w -p DIR myscript.py-p命令允许指定多个模块路径,可以用:分隔,或者多次使用这个参数,像这样:pyinstaller -p DIR1:DIR2:DIR3 myscript.py或pyinstaller -p DIR1 -p DIR2 -p DIR3 myscripy.py有时候并不是找不到模块,而是代码中有些模块是隐含导入的,这样的话就需要指出这些模块,才能正确的打包,可以在命令行打包时使用参数--hidden-import MODULENAME指定模块名,或者可以在打包后生成的myscript.spec文件中修改,该文件中有个参数hiddenimports=[] 配置为: hiddenimports=['cython','sklearn','sklearn.ensemble','sklearn.tree._utils','scipy._lib.messagestream'] 然后再运行以下命令 pyinstaller myscript.spec到此本片文章结束。 如果遇到什么问题,欢迎大家和我交流。如有不对之处,还望指正。 ...

July 1, 2019 · 1 min · jiezi

C-三个Timer

在C#中存在3种常用的 Timer : System.Windows.Forms.TimerSystem.Timers.TimerSystem.Threading.Timer零、System.Windows.Forms.Timer这个 Timer 是单线程的,也就是说只要它运行,其他线程就要等着。 这个 Timer 有如下特点: 完全基于UI线程,定时器触发时,操作系统把定时器消息插入线程消息队列中,调用线程执行一个消息泵提取消息,然后发送到回调方法Tick中;使用 Start 和 Stop 启动和停止 Timer;UI操作过长会导致 Tick 丢失;可以使用委托Hook Tick事件;精确度不高;通过将 Enabled 设置为 True,使 Timer 自动运行从上面的第一个特点可以得知,该 Timer 会造成 WinForm UI 假死,因此如果需要定时处理大量计算或者大量IO操作的任务,不建议使用该 Timer ,接下来我们看一个例子体会一下在IO操作的情况下出现的假死情况: 我们在Form中放入两个Button 一个Lable和一个Timer private void Button_Click(object sender, EventArgs e){ timer.Interval = 1000; timer.Tick += Timer_Tick; timer.Start();}private void Timer_Tick(object sender, EventArgs e){ for (int i = 0; i < 10000; i++) { File.AppendAllText(Directory.GetCurrentDirectory()+"test.txt", i.ToString()); this.label_output.Text = "当前操作:插入数字" + i; }}我们单击计算按钮,我们会发现WinForm出现了假死(无法移动窗口、按钮无法点击等) ...

July 1, 2019 · 2 min · jiezi

Entity-Framework-一对多关系映射

EF中关系映射也是一个很关键的内容,关系映射和属性映射一样,也是在 OnModelCreating 中配置映射。EF中的关系映射有如下三种: One-to-Many Relationship(一对多)Many-to-Many Relationship(多对多)One-to-One Relationship(一对一)我们今天先讲解 One-to-Many Relationship(一对一关系) 零、创建所需类所有实体类公用的抽象基类public abstract class Base{ public int Id { get; set; } public DateTime CreateTime { get; set; } public DateTime ModifiedTime { get; set; }}客户类和订单类public class Customer : Base{ public string Name { get; set; } public string Email { get; set; } public virtual ICollection<Order> Orders { get; set; }}public class Order : Base{ public byte Quanatity { get; set; } public int Price { get; set; } public int CoustomerId { get; set; } public virtual Customer Customer { get; set; }}一、One-to-Many Relationship创建Map映射类在编写代码之前,我们先分析一下客户和订单的关系。一个客户可以有多个订单,但一个订单只能属于一个客户,所以我们用到了EF中的 HasRequired,一个客户又存在多个订单,因此也使用到了 WithMany ,同时 Order 表中有 CustomerId 作为外键,因此我们用到了 HasForeignKey 。根据我们的分析,编写代码如下: ...

July 1, 2019 · 2 min · jiezi

控制反转依赖注入简明教程

在面向对象中IOC是一个重要的设计思想。这篇文章将带领大家快速掌握控制反转和依赖注入。 注:代码基于c#零、IocIoc 英文是 Inversion of Control,中文是控制反转。所谓控制反转,就是A类中有对B类方法的调用,我们调用之前一般都会先new,这样就增加了类和类之间的耦合度。为了降低耦合度,将A类对B类的的控制权交给Ioc容器,让双方都依赖Ioc容器。 一、DIDI 的英文是 Dependency Injection,中文是依赖注入。依赖注入是实现Ioc的一种方式,也是常用的方式。依赖注入的方式主要有三种:构造函数注入、接口注入 和 属性注入。(因为这篇文章知识一个简单的入门,因此我们不讲解这三种注入)我们来通过一个例子,来看一下依赖注入的好处: 故事:小吴是一个公司的CEO,每天都需要司机开车送他上下班,开始他只有一个司机,每次司机生病,他就只能自己开车上下班。因此小吴设立了一个司机部门,部门中有多名司机,由司机部门给小吴指派司机。 分析:从上面的故事可以分析得出,刚开始小吴是依赖者,司机是被依赖者,小吴依赖于小刚。后来通过增加司机部门这个Ioc容器,小吴和小刚之间的关系变为了,小吴依赖于司机部门。 我们通过代码看一下(这里使用到了 .NET 依赖注入容器 AutoFac): static void Main(string[] args){ //接小吴 IContainer driverCont = DriverDepartment(); //司机部门分配一个司机给CEO小吴 CE0_Wu wu = driverCont.Resolve<CE0_Wu>(); wu.Car(); Console.Read();}/// <summary>/// 司机部门/// </summary>/// <returns></returns>private static IContainer DriverDepartment(){ ContainerBuilder builder = new ContainerBuilder(); builder.RegisterType<CE0_Wu>(); builder.RegisterType<Driver>().As<IDriver>(); return builder.Build();}}/// <summary>/// 抽象以来/// </summary>public class Driver : IDriver{/// <summary>/// 开车/// </summary>public void Drive(){ Console.WriteLine("开车送老板");}}public interface IDriver{void Drive();}/// <summary>/// 小吴/// </summary>public class CE0_Wu{private IDriver driver;public CE0_Wu(IDriver driver){ this.driver = driver;}public void Car(){ driver.Drive();}}

July 1, 2019 · 1 min · jiezi

python在windows下文件路径的解决方案

在windows下编程,我们经常会遇到路径相关的问题,下面解释下原因,并给出python的解决方案。 为什么windows的路径在编程时经常会出问题?windows访问文件默认用\做为路径的分隔符,而\可以作为转义字符。例如,\t,\a表示一个字符,此时\是转义字符,而\m表示两个字符。 可以用代码验证: >>>len('\t')>>>1>>>len('\a')>>>1>>>len('\a')>>>2好,了解这个后,我们看下windows路径,如果路径中后面刚好是能转义字符,那代码就会识别为转义字符,这就导致路径解析错误。例如"c:\test\t.txt",刚好有'\t',这就被解析为转义字符,路径就会错误。而如果路径为"c:\money\m.xls",这样的话路径就不会解析错误。 可是,我们总不能为此去修改文件名吧,当然有别的办法,下面介绍下解决方案。 如何解决python在windows下的路径问题?【推荐】不要使用\,直接使用/,而且/在windows和linux下都适用。'C:/mydir'用双斜线\\'C:\\mydir'使用raw string的标记rr'C:\mydir'【推荐】使用os.path模块函数,可以根据操作系统选择正确的路径符os.path.join('C:', dir1, dir2, myfile)使用最新的pathlib模块pathlib.Path(mydir, myfile)或者 pathlib.Path(mydir) / myfile参考:https://stackoverflow.com/que...

June 29, 2019 · 1 min · jiezi

dell-win10家庭版安装deepin双系统

最近发现一款比较好看的Linux桌面操作系统,叫做deepin,花了两天时间终于安装好了。安装过程中遇见不少问题,经过很多次尝试才成功。特别写下本篇文章,供要安装deepin的朋友参考。首先在deepin的官网上下载镜像文件,大概2个多G,下载完后可以先在虚拟机里面体验一下,看符不符合自己的要求(不喜欢的话可以直接pass了)。如果决定要安装deepin,也千万别放弃把自己原本的操作系统,因为deepin还不是很稳定,所以最好的选择是装双系统。在此说明,我的电脑是dell的,Windows10家庭版,如果您的电脑和我在某些配置上(例如BIOS)存在不同,请仔细进行对比。在Windows上使用磁盘管理,从硬盘中分出一块区域,我分出了50G,用来作为deepin的系统盘(实际上Linux系统并不是很占用空间,我分配50G是为了可以以后在里面直接装软件)。一定记住:分出来的区域不需要分配盘符,也不需要格式化使用deepin提供的工具将u盘制作成启动盘,过程很简单,只需要三步。关闭Windows的快速启动(自行百度),然后重启电脑,进入BIOS,不同的电脑会按不同的按键进入,我的电脑是按F2进入BIOS。进入BIOS后找到Boot,然后先关闭安全启动(secure boot选择为disable),然后选择U盘启动。其他类型的电脑在此处可能可以直接选择从U盘启动,但是dell电脑不行,dell电脑需要F10保存并重启,然后按F12到Boot Option中,选择UEFI中的USB启动。从U盘启动后,会进入grub引导界面(有install deepin这样的界面),通过上方向键和下方向键选中install deepin但是不要回车,按e进入系统选项,找到 splash quiet ,在后面加上一句:=! acpi="windows 2009",然后F10保存启动安装。安装的时候,记住要选择自己刚刚分出来的那个分区作为系统盘安装,看准了,不然你原来Windows中那一块分区中的内容就全部丢失了。安装完deepin后,启动时仍然需要在grub引导界面按e配置第四步的那一句话,才能正常启动deepin。这样会很麻烦,我们可以在启动deepin后修改引导文件,这个文件是/etc/default/grub,这是一个只读文件,你需要使用root用户设置该文件可写,然后将第四步的这一句话加到后面,保存文件,在终端执行“update-grub”,即可 重新启动deepin系统,看能否不配置系统选项而直接进入。如果不行的话,还是得在grub引导界面按e然后加上第四步中的那一句话。

June 28, 2019 · 1 min · jiezi

为何专注于流媒体领域PPIO-技术揭秘续篇

在各种音视频应用充斥着市场的时候,毫无疑问,流媒体领域将会非常适合区块链技术进行场景落地。在上一篇文章中,我们主要讨论了 PPIO 的 PCDN 架构,接下来将介绍 PPIO 的中 P2SP 的下载逻辑和 IaaS 层的流量计数。 下载逻辑 上图为 PPIO 的 CDN 和 P2SP 的传输架构图。这里将会重点讲解 PPIO 中 P2SP 的下载逻辑,它主要分三个部分,Buffer 管理,下载状态机,和下载算法。接下来会对这三部分一一解释。 Buffer 管理 Buffer 管理,即理解为本地设备管理着资源情况,从而决定需要下载的 Piece 的优先级。Buffer 管理也是和实际应用场景是相关的,对于流媒体来说,存在一个视频播放位置,播放位置附近的内容就是紧急内容,该内容则会被优先下载。 #1 普通文件下载的 Buffer 管理逻辑 文件下载的 Buffer 管理相对简单,因为没有具体的播放位置,即内容在紧急程度上没有区别。下载算法将采用稀缺优先的逻辑,优先下载网络中稀缺的 Piece。Piece 越稀缺,其下载的优先级也就越高。如下图: 在示意图中,我们假设所有 Peer 都是一样的,而因为 CDN 节点的存在,实际情况则会复杂得多。CDN 可以被认为比较优质的,但是它不适合请求分散的碎片数据,更适合下载一段连续的数据。之所以将稀缺性作为普通文件的 Buffer 管理的指标,是为了增加 P2P 网络的资源健康度,并且让数据尽快在 P2P 网络中传播。 #2 流媒体的 Buffer 管理逻辑 和普通文件下载不同的是,流媒体下载存在具体播放位置,为了保证视频的观看体验,越接近播放位置的数据将会优先进行下载。 设计 PPIO 的时候,我们根据视频播放位置,在流媒体下载的过程中,将其分为多个区间,越靠近播放位置的区间,下载优先级越高。 已过区间:视频播放位置之前的数据,无需进行下载。 紧急区间:需要立即播放的数据,在此区间的数据将采用极端下载策略,旨在以最快的速度获取数据。Piece 越靠近播放位置,下载优先级越高。这种策略更加依赖于 CDN 和超级节点,尽管有重复下载的风险,该区间将同时进行 P2P 下载,即在第一时间从多个 Peer 下载数据。 ...

June 28, 2019 · 2 min · jiezi

网易云信Duilib开发实践和Windows应用界面开发框架源码开源介绍

序言 Duilib介绍Duilib是windows平台下的一款轻量级directUI开源库(遵循BSD协议),完全免费,可用于商业软件开发,只需在软件包里附上协议文件即可。Duilib可以简单方便地实现大多数界面需求,包括换肤、换色,透明等功能,支持多种图片格式,使用XML可以方便地定制窗口,能较好地做到UI和逻辑相分离,尽量减少在代码里创建UI控件。目前,Duilib库已经渐趋稳定,目前在国内有较为广泛的使用,网络上也有很多的使用教程。 网易云信Duilib介绍Duilib是在研发易信PC版时被引入,历经六七年的研发过程,相对于原版Duilib,网易云信Duilib修复了一些问题和不足,包括但不限于控件种类不丰富、不支持动画、不支持半透明异形窗体、对多线程支持不好等,目前,网易云信Duilib配合比较高效的引擎库Base解决多线程问题,可以做出功能更强更稳定的客户端界面。 网易云信Duilib特色多国语言支持通用样式支持DPI 缩放支持GIF 动画支持CEF 控件支持(CEF 2623 支持 XP)触控设备支持(Surface、Wacom)抽象渲染接口(为其他渲染引擎提供支持) 源码使用克隆项目到你的磁盘中git clone https://github.com/netease-im...进入 NIM_Duilib_Framework/samples 目录,使用 Visual Studio 2013 Update 5 以上版本 IDE 打开 samples.sln。 工程目录结构bin输出目录docs 文档libs 静态库samples 示例Demo程序third_party 第三方库toolkits ─ base 基础类库 ─ duilib 核心代码 ─ shared 工具类库 ─ ui_components 组件库 模块介绍Bin:输出目录,各个示例程序输出目录,包含预设的皮肤和语言文件以及 CEF 依赖。Docs:文档,duilib 接口的说明文档。Libs:静态库,静态库编译后的输出目录,包含预设的一些 CEF 组件静态库。Samples:示例Demo程序。Third_party:第三方库,目前仅有 cef_control 有依赖。Base:基础类库,提供了基本框架Messageloops,闭包,基本函数库(file、network等),基本类库(time,线程,定时器等),基本工具库(log,加解密)等。Duilib:duilib 核心代码,依赖 base 但不依赖 shared。Shared:工具共享库,对base库,第三方库做的简单的封装,如命令行解析、日志、路径处理,供其他模块使用。ui_components:组件库,基于 duilib 封装的常用组件库如 msgbox、toast、cef_control 等。 控件介绍容器容器可作为容器控件的介质,包含常用的水平布局和垂直布局等容器。在一个程序界面开始设计前首先要考虑整个界面的布局,这就要用到容器。不同的容器有不同的布局样式,以下为支持的容器类型,可根据自己需要选择进行布局。Box 自由布局容器HBox 水平布局容器VBox 垂直布局容器TabBox 多标签布局容器TileBox 格子布局容器ScrollableBox 带有滚动条的布局容器ChildBox 子布局容器列表此目录下包含一些列表容器,方便管理同类型的多份数据,以下列举了可用的列表容器。Combo 下拉列表ListBox 普通列表TreeView 属性列表VirtualListBox 虚拟列表控件控件包含了所有可用的独立控件,如按钮、文本、进度条等,提供用户输入或输出内容提供使用者查看。以下列举了所有可用的控件列表。Window 用于容纳所有控件的窗口,这里暂时放到控件分类中Control 所有控件的基类,包含了控件的基本属性和接口Button 按钮控件CheckBox 复选框Option 单选框Label 文本Progress 进度条Slider 滑动条RichEdit 富文本ScrollBar 滚动条CefControl CEF 控件盒子盒子通常用于容纳一组不同的控件但由整个盒子统一响应用户触发的事件。不同于普通的容器或普通的控件,它们具有容器的基本布局功能,也具备控件的事件响应机制。一般用于列表中显示一个子项,或者树形列表中显示一个节点,但这些子项和节点可能包含丰富的图标和文字描述并要求可以响应用户触发的事件。在这种场景下就会使用到这些盒子了,以下为支持的盒子模型:ListContainerElement 常用于列表中显示一个子项TreeNode 常用于树形列表中显示一个子节点Other 一些其他的盒子模型工具DPI Manager DPI 管理Muilt Language 多语言管理Shadow 阴影管理Window Base 窗口基础帮助类 ...

June 26, 2019 · 1 min · jiezi

windows-server-2008-系统策略禁止安装-python-解决方法

网上几乎所有方法都没解决问题,还是一个英文得哥们解决方案有效:

June 26, 2019 · 1 min · jiezi

使用IDEA创建一个SpringMVC的项目

写在前面:参照《spring实战》实现 1. 使用idea创建项目 这里使用gradle构建项目依赖 使用自己本地的gradle环境 2. 构建完成项目之后修改gradle的配置文件(使用阿里库) 3. 引入springmvc的相关依赖 版本配置文件,这个信息都在上面的依赖中使用到了 4. 这里我们使用纯Java配置 a. 创建WebInitializer类用于替代web.xml的功能 b. WebConfig.java配置springmvc的相关参数 c. RootConfig.java配置spring的相关参数 d. 创建一个控制器HomeController e. 在下面的目录里面创建home.jsp 5. 使用tomcat启动项目,访问

June 26, 2019 · 1 min · jiezi

百度都找不到的资源被这5个资源网站搜到了

每次遇到什么不会的东西,第一时间想到的就是--上百度!实际上我们在百度上也只会翻看前面两页,相信没有多少人会一直翻看后面的内容。这样直接导致我们搜索的内容很有局限性。 实际上我们可以在别的搜索引擎网站进行搜索,这些资源百度都不一定搜索出来! 1.傻逼吧 该网站是一款不可多得的资源搜索网站,精准高效的为你提供各类bt资源搜索,包括电影、音乐、图书、软件、教程、图片、综艺等内容,想看什么搜搜就知道! 2.巴哈姆特动画疯 该网站是一款动画类的网站,喜欢看动漫的朋友们只需要打开网站就能免费观看了,而且网站每天都有更新,资源异常丰富,非常好用! 3.万千合集站 如果大家需要查询论文,文档搜索,该网站都能统统满足你!不仅能搜索你想要的论文,重点是还能免费下载下来,妥妥的5颗星网站! 4.红袖添香 喜欢看小说的朋友过来凑个热闹,该网站提供了各种小说,包括言情、古侠、灵异、青春小说,网站全场免费畅读,喜欢的小伙伴们赶紧收藏了! 5.屌丝青年 听名字还以为是这个网站很“屌丝”,其实这个网站的资源却不“屌丝”,相反网站资源很实在,可以搜索教程、视频、软件、电视剧等各类精品资源,你用了就知道! 怎么样,今天小编介绍的资源搜索网站你们有收藏吗?还没收藏的赶紧收藏下来!

June 24, 2019 · 1 min · jiezi

智东西公开课-虹软带你读懂人脸识别商用那些事第二期

继虹软与智东西合作的第一期线上公开课《人脸识别技术的商业落地及挑战》结束后,好评如潮,偌大一个直播间涌入了超过7000名听众,各类提问与留言也达到600余条(遗憾错过第一期?扫描文末图片二维码即可重温),堪称智东西公开课迄今为止最热一期。 6月25日,人脸识别商用线上公开课第二期即将开启。 与第一期徐科老师从人脸识别的应用领域、基本原理到商业化落地的关键节点进行系统讲解不同,第二期课程侧重实战,由虹软开放平台技术总监潘海波老师带来,主题为《如何从0到1快速搭建人脸识别应用》。 人脸识别应用架构的基本组成、不同技术方案选型、基于虹软人脸识别SDK的应用开发攻略……潘海波老师会将研发过程中的一手经验娓娓道来,佐以“Windows多人脸门禁识别系统开发”与“莫高窟景区人脸检票方案”两大应用案例,让广大开发者快速掌握实战关键。 潘海波老师负责虹软视觉开放平台的AI开放平台架构与技术落地,从事智能安防与互联网技术架构多年,具有丰富的一线研发经验,对人工智能、云计算、大数据等技术应用有深厚积累,堪称业内人脸识别商用的顶级专家。 技术公开课一直是虹软视觉开放平台服务开发者的重要途径之一。此前,虹软在深圳、成都、杭州等地举办了多场公开课,通过线下沙龙、线上直播授课等形式,近距离为开发者解决实际问题。 此次与智东西联合推出的“虹软人脸识别技术公开课”,虹软的技术专家们将在线为开发者们答疑解惑,所有困扰已久的问题都有可能被老师现场翻牌,欢迎大家踊跃提问,提前扫码订阅占座。

June 24, 2019 · 1 min · jiezi

能用一台电脑打败世界的男人

阿基米德可以用一根杠杆翘起整个地球,用的是杠杆原理; 米特尼克能够用一台电脑击败整个世界,用的是黑客技术。 是的,这就是我今天要说的主人公:凯文·米特尼克。 他出生在洛杉矶一个中下层的家庭,小时候因为父母离异一系列的原因,但是孤僻敏感。 可谁都没想到的是,就是这样一个成绩一般又不起眼的男孩成为了让整个世界都震惊的黑客。 美国80年达初,正是转向数字化的一年,还是青少年的米特尼克就利用遥控的方式控制了数字中央控制台的转换器,从而入侵了电话公司的电脑,让他得到了随意拨打免费电话和随意监听别人通话的权限。 1983年的一天,米特尼克无意中发现大学里的一台电脑可以擅自进入ARPA网(互联网的前身),米特尼克再一次出手了,这次他瞄准的是——美国五角大楼! 米特尼克成功入侵,不过也被五角大楼发现了踪迹,最后判处米特尼克6个月的监禁。当米特尼克刑满释放后行事作风越发高调,在网络上更是无人能挡,骇入软件公司非法窃取软件,骇入电脑研究机构的实验室乱改数据,当然还有那个倒霉的电话公司依然被米特尼克无时无刻的骚扰着。 1988年他再次被执法当局逮捕,他被指控从网络上盗取了价值100万美元的软件,并造成了400万美元损失。 这次,他甚至不允许被保释。心有余悸的警察认为,他只要拥有键盘就会对网络构成威胁,最后米特尼克被判处一年徒刑。 一年之后,他又马上施展绝技,成功地侵入了几家世界知名高科技公司的电脑系统。根据这些公司的报案资料,联邦调查局推算它们的损失共达3亿美元。 当警方准备再度将之逮捕时,米特尼克突然从住所消失,过起了逃亡的地下生活。 也许美国警方知道了强中自有强中手的道理,对于米特尼克这种神级黑客还得需要与之匹配的网络安全专家来解决,他们请来了当时被称为“美国最出色的电脑安全专家”的日裔美籍计算机专家下村勉。 在1995年的2月份,下村勉通过米特尼克一个小小的失误寻到了一丝线索,凭着这条线索,警方让米特尼克再次登上法庭。在法庭上,带着手铐的米特尼克转向第一次见面并出庭作证的下村勉,由衷地说:“你好啊下村,我钦佩你的技术”。 2000年1月21日,美国法庭宣布米特尼克假释出狱。从此之后米特尼克改邪归正,从做互联网杂志编辑开始,向人们科普和传播网络安全知识。 现在的米特尼克是一位世界顶级的网络安全咨询师,出版过《反欺骗的艺术》、《反入侵的艺术》、《线上幽灵:世界头号黑客米特尼克自传》等。一代黑客变成了著名的网络安全专家续写着他的传奇。

June 24, 2019 · 1 min · jiezi

怎么用视频转换器把mp4转换成mp3

现今各大企业对版权越来越重视,很多播放器的版权越来越少,但是当遇到自己喜欢的背景音乐或者MV时有没有想拷贝到自己手机或者电脑的冲动呢?但是当你发现mp4是视频格式,mp3是音频格式时有没有为如何把mp4转换成mp3而感到烦恼呢? 现在就教大家怎么用迅捷视频转换器把mp4转换成mp3格式。 一、把自己的mp4文件或者文件夹添加到迅捷视频转换器中。添加的方法有很多种,可以点击“添加文件”“添加文件夹”或者以拖拽的方式把文件或文件夹添加到软件中。 二、把输出格式设置为“音频”中的“mp3”格式,除此之外还可以设置多种品质的输出格式,当然了,迅捷视频转换器还支持很多种类型的输出方式,详情以软件为准。 三、选择好输出文件的类型和格式并且设置输出路径然后“点击转换”或者“全部转换”按钮进行格式转换。 四、点击完转换按钮稍等片刻迅捷视频转换器就会自动把原本是mp4视频格式的文件转换成mp3音频格式的文件。然后在软件中点击“打开”按钮或者直接在输出路径里打开转换后的mp3文件就可以进行播放了。 但是如果遇到想要转换的是电视剧里的背景音乐的话怎么办呢?当然了,可以利用迅捷视频转换器里的“视频分割”功能提取部分视频然后进行文件转换。 接下来小编教大家如何使用迅捷视频转换器的“分割功能”。选择“视频分割”-->点击“编辑分割”-->选择需要分割的时间段(开始时间和结束时间)-->点击“添加到列表”-->点击“确定”。 在操作完以上步骤后点击“分割”或者“全部分割”就可以将把需要的段落从原本的mp4文件中提取出来了。 迅捷视频转换器可以轻易地把视频中的部分视频提取出来然后把提取出来的mp4视频文件转换成mp3音频文件。还有小伙伴在为怎么把mp4转换成mp3而烦恼吗?那就用以上方法解决你的烦恼吧。

June 21, 2019 · 1 min · jiezi

使用winsw部署Windows服务

仓库地址: https://github.com/kohsuke/winsw 下载地址: https://github.com/kohsuke/wi...安装说明https://github.com/kohsuke/wi... 下载winsw程序,选择对应版本。(WinSW.NET2.exe 或 WinSW.NET4.exe)安装.NET Framework。将WinSW.exe复制到自定义的目录,并重命名为test.exe同目录下创建test.xml。特别注意,xml和exe必须同名使用test.exe install安装服务。使用test.exe uninstall卸载服务。示例,配置springboot的服务<configuration> <id>lance</id> <name>lance(winsw)</name> <description>java</description> <executable>java</executable> <arguments>-server -Xms400m -Xmx400m -Xmn100m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=128m -Xverify:none -XX:+DisableExplicitGC -Djava.awt.headless=true -jar "lance-1.2.0.jar"</arguments> <log mode="reset"/></configuration>命令说明E:\service>test.exe /?A wrapper binary that can be used to host executables as Windows servicesUsage: winsw [/redirect file] <command> [<args>] Missing arguments trigger the service modeAvailable commands:- 'install' - install the service to Windows Service Controller- 'uninstall' - uninstall the service- 'start' - start the service (must be installed before)- 'stop' - stop the service- 'restart' - restart the service- 'restart!' - self-restart (can be called from child processes)- 'status' - check the current status of the service- 'test' - check if the service can be started and then stopped- 'testwait' - starts the service and waits until a key is pressed then stops the service- 'version' - print the version info- 'help' - print the help info (aliases: -h,--help,-?,/?)Extra options:- '/redirect' - redirect the wrapper's STDOUT and STDERR to the specified fileWinSW 2.2.0.0More info: https://github.com/kohsuke/winswBug tracker: https://github.com/kohsuke/winsw/issues配置说明https://github.com/kohsuke/wi... ...

June 19, 2019 · 3 min · jiezi

淼瀛正式推出MoAir-物体识别SDK-小白用手机即可完成机器学习

从20世纪60年代,由MIT的计算机教授组织了第一个面向本科生的Summer Project,经历了20世纪50年代初到90年代,尝试用创建三维模型方法去做物体识别;又走过了20世纪90年代,只从图像本身考虑的appearance based techniques,即图片的抽象描述;直到2000年之后,物体识别领域终于有了飞跃式的发展。 中小企业开发者痛点 市场积极讯号成鲜明对比 随着人工智能、大数据和深度学习等等技术的不断发展,物体识别技术在各行业中的应用也越来越频繁,越来越重要。 譬如,工件的自动检测与识别、产品质量的自动检测、食品的自动分类、智能车的自主导航与辅助驾驶、关键地域的保安监视等等。涵盖机器人视觉理解、新零售、智能家居等等多个领域,进一步为企业提高了生产效率,节省了时间、资金成本。 然而,随着应用领域的广泛,对于中小企业开发者而言,物体识别技术的痛点也应运而生。 首先,成本投入过高。如,若构建计算机视觉系统,必须由大量人工参与,增加了投入成本之余,模型精度的效果往往也是差强人意。 其次,必须专业人士参与。由于建模流程繁琐,非专业人员所不能及,且需要的时间过长,拖延了业务落地,无形中又加大了成本。 与此同时,市场也传来了积极的讯号。 公开数据显示,KBV Research发布“全球图像识别市场(2016-2022)”报告表示,截至2022年,全球物体识别(商品识别、车辆识别等)将达到94.5亿美元,年复合平均增长率在20.3%左右。 而在国内,重磅数据也在“中国图像识别市场(2016-2022)”报告中认为,截至2022年,国内图像识别市场规模预计达11.6亿美元左右。年复合平均增长率在18.1%左右。占全球市场平均为11.6%左右。 一面是亟待解决的痛点,一面是庞大的市场需求。可以说,冰与火的交集将中小企业开发者裹挟在内,望叹莫及。 而正当各中小企业开发者一筹莫展时,行业新秀淼瀛的浮出水面,在完美契合了市场发展之余,更是成为了中小企业开发者的“及时雨”。 全球首个“实用化”MoAir物体识别技术问世 作为一家专注于人工智能以及物体识别,成立仅不足三年的科技公司,淼瀛凭借强大的研发团队,成功研发出“实用化”的MoAir物体识别SDK。 据了解,MoAir物体识别是专为中小企业开发者打造的可轻松实现对物体精准识别的SDK开发包,使开发者能够更加灵活、便捷、准确性地实现对物体的识别及反馈,即时便可为人们呈现出一个虚拟与现实高度融合的效果。 功能上,MoAir物体识别SDK的四大特点可助力开发者高效化地完成机器学习和物体识别。 一、全自动化建模流程,全程无需人工干预跨平台,开发者可以在iOS/Andriod,Linux,Javascript Browser等等平台进行。依托强大的研发团队,数以百次的试验,淼瀛成功解决了各种兼容性等问题,排除了开发者的后顾之忧。 在建模过程中,结合AI独家算法,MoAir物体识别SDK采用了全自动匹配最优算法,使整个过程彻底实现了最优化算法匹配。并且,产品本身自动决定神经网络各层的权重,实现了全自动学习、无需人工干预,直接为中小企业开发者降低了建模成本,即使是非专业人士也可搭建专业的AI模型,轻松实现机器学习和物体识别。 二、纯GUI操作,学习快速且稳定 全程可视化操作,从素材采集、数据标注、训练建模,到识别验证,可视化的操作界面让工作更加便捷易用。同时,MoAir通过神经网络层数的最优化,达到了精度和速度的最佳平衡点,在对图像全体进行识别时,有效降低了背景的误识别率。且在训练过程中,速度快速稳定,200个分类的训练在30分钟之内即可完成。 三、CMS后台,更便捷、灵活 MoAir CMS(Content Management System),专门为开发者提供便利的后台管理,可以随时管理、查看或者建立自己的素材、标签、模型、展示效果等内容。 四、丰富的输出效果展示,超出人们的想象力 在MoAir中,识别端的输出效果有无限可能性,文本、图片、网页、音视频、动画……等等,完全超出了人们的想象力,想要的效果都可以通过简单操作与模型进行绑定,最终呈现给用户。 由此可以看到,MoAir物体识别算法以自动决定神经网络各层的权重,全自动学习,无需人工干预,不但极大的降低了业务落地门槛、导入成本,用户还可以进行跨平台的物体识别应用开发,速度快且稳定,以及MoAir所有的学习建模操作均可在App或Web上通过可视化界面完成。其在彻底打破了行业痛点之余,更是进一步为企业节省了成本等等优势的存在,也正是该产品还未发布便受到业界争相关注的原因所在。 当然,更令人为之赞叹的是MoAir物体识别的多场景覆盖,譬如在智慧餐饮、新零售、智能家居、无人支付、机器人视觉理解及物流追踪等场景之下,实用化早已得到了验证,令业务落地更为便捷。不得不说,这一具备高效、全能、低门槛、低导入成本等特征的MoAir物体识别技术的诞生,也召示着淼瀛致力于“AI and AR for Everyone”的新时代已然开启。而伴随着MoAir物体识别SDK的正式问世,淼瀛也成功走进业界视野之中。 行业新秀淼瀛登场 将物体识别进行到底 如何将人工智能技术、物体识别技术更好地惠及企业和中小企业开发者,解决他们的燃眉之急,不仅是整个行业的目标所在,同样也是淼瀛的宗旨。 据了解,淼瀛(上海)信息技术公司成立于2016年底,致力于把自主研发的MoAir物体识别技术,应用于新零售、机器人和AI教育等领域。 自公司成立以来,淼瀛就专门建立了由数十位业界人工智能顶尖人士、图像识别、物体识别学者等组成的研发团队,秉承着不懈创新的精神,团队过硬的研发能力,在东京和上海设立了研发中心,通过对行业技术短板的不断创新攻克,弥补了行业研发力量的不足。 其中,值得一提的是,作为公司创始人兼CEO的何书勉,不但拥有日本京都大学信息学博士学位,还曾先后师从上林弥彦教授和田中克己教授,担任日本最大的电商平台乐天集团执行官、首席科学家等,尤其是2015年在日本创立首个地产大数据平台富士太郎再到回国创业以来,可以说,丰富的经验加之过硬的学术实力和创新精神,使得有着企业家与科学家双重身份的何教授,以对技术商业化落地的出色能力,在国际上更是享有较高的声誉和影响力。 正是如此,淼瀛也吸引着国际上市公司的争相合作。据悉,目前公司合作客户涉及海内外,包括日本、国内等等众多上市公司。 可以看到的是,随着人工智能,物体识别技术的进一步发展,伴随着淼瀛MoAir物体识别SDK的正式问世,其在推动国内乃至全球的行业发展,或将直接影响着各行业业务加快落地之时,对于中小企业无疑是最大的“放心剂”,召示着我国物体识别技术在国际崭露头角之时,也召示着我国又一颗行业科技新星冉冉升起。 正如一位业内人士所说,“人工智能时代,谁抢占第一梯队谁就是赢家。显然,市场蓬勃之时,淼瀛赶上了好机会。确切地说,是给中小企业开发者带来了先机。”

June 18, 2019 · 1 min · jiezi

Windows-上的工具清单

Windows 上的工具清单但弄雕虫之技,尘芥草莽,于泥泞自勉……Windows 上的工具清单 开发 MS VSCode:前端标准 IDEGoogle Chrome:最好的浏览器IDEA:最好的 Java IDECmder:Windows 上模拟 Linux 终端Git:Git 版本控制系统MobaXterm:非常强大的远程连接工具HeidiSQL:SQL 客户端freeFTPd:免费的 FTP/SFTP 服务端日常 Win + R:快速启动SSR:正常上网必须MacType:字体美化FDM:免费的多线程下载器Bandizip:压缩/解压缩Ditto:剪切板增强imageview:图片浏览Everything:文件快速搜索Snipaste:截图/贴图PicGo:图床上传ScreenToGif:录制 GIF 动态图QuickLook:文件管理器预览增强MS Office:文档管理Google 文档:在线文档管理Calibre:电子书管理Steam:国外的游戏平台Mozilla FireFox:抱有期待的浏览器AIMP:本地音乐播放器PotPlayer:视频播放器Bitcomet:BT 客户端Dism++:Windows 的一个集中式的系统管理工具TreeSizeFree:以树状视图查看文件夹renamer:文件/文件夹重命名waifu2x-caffe:图片清晰化Bandicam:视频录制LockHunter:解除文件占用rufus:USB 启动盘制作工具国内流氓 QQ:国内不得不用的流氓 IMBaiduNetdisk:国内一家独大的网盘客户端有道词典:国内算是很好用的词典了名词解释 便携版开源部分开源跨平台免费吾辈的博客原文: https://blog.rxliuli.com/p/c4...开发MS VSCode:前端标准 IDE[便携版], [开源], [跨平台], [免费] 具体可以参考:官网, GitHub, GitBook 中文介绍MS VSCode 是微软出品的一个跨平台,基于 Web 的,免费的开源文本编辑器。目前已经使用了半年多了,对其的了解也更加深入。就目前看来,VSCode 应该是前端生态最好的 IDE 了。即便是 Webstorm,也没有 VSCode 的插件多,而且由于 VSCode 的插件可以用 js/ts 编写,而 Webstorm 的插件则必须使用 Java,这确实是一个很大的代沟 -- 编写插件的人和使用插件的人不是同一类。 主要优点: 开箱即用:基本上下载完就能开始使用了,不需要太多自定义的配置多语言支持:这是很多文本编辑器/IDE 都没有做到的,例如上面吾辈最喜欢的 IDEA 到目前为止仍然只支持英文,但吾辈仍然觉得本土化之后才能对萌新更加友好(门槛低,学习曲线平缓)插件丰富:目前吾辈使用 VSCode 主要用于前端,编辑 Markdown 文章,一些系统/程序的配置文件等,安装了插件之后使用对各种功能的支持还算不错。缺点: ...

June 18, 2019 · 4 min · jiezi

Entity-Framework-小知识四

在EF中并没有提供包含索引和过滤索引的创建方法,那么我们就么发创建了吗?答案是否定的,我们可以通过迁移类进行创建包含索引和过滤索引。首先我们通过 Add-Migration 命令创建一个空的迁移类,然后在 Up方法中输入如下代码: Sql($"CREATE NONCLUSTERED INDEX [{IndexName}] ON [dbo].[User]([Name] INCLUDE ([IdNumber]))");在 Down 方法中输入如下代码: DropIndex("dbo.User","IndexName")

June 18, 2019 · 1 min · jiezi

Entity-Framework-索引

Entity Framwework 6 设置和使用索引,是一个比较 egg 疼的事情,为什么这么说呢?因为Entity Framwework 6的不同版本有不同的设置和使用方法,按照版本来划分,有三种方法: EF6 方法EF6.1.x方法EF6.2.x方法EF6EF6中设置索引比较麻烦,我们需要先进行code first 迁移,然后在迁移类中的 Up 方法中输入如下代码: //创建索引且值唯一CreateIndex("dbo.User","Name",unique:true);//创建复合索引,索引名称为 **NameAndIdNumber**CreateIndex("dbo.User",new []{"Name","IdNumber"},name:"NameAndIdNumber");在 Down 方法中输入如下代码: DropIndex("dbo.User","Name");DropIndex("dbo.User",new []{"Name","IdNumber"});注:EF6中通过迁移类创建的索引无法重命名EF6.1.x该版本定义索引的方法如下: public virtual void OnModelCreating(DbModelBuilder modelBuilder){ modelBuilder.Entity<User>().Property(p => p.Name).HasColumnAnnotation("Index", new IndexAnnotation(new IndexAttribute() { IsUnique=true }));}上面这段代码的意思是,给User表创建一个唯一索引Name。同样上面的代码也可以单独定义在一个类中: public class UserMap : EntityTypeConfiguration<User>{ public UserMap() { Property(p => p.Name).HasColumnAnnotation("Index", new IndexAnnotation(new IndexAttribute() { IsUnique=true })); }}我们前面知道在EF6中创建的索引无法重命名,那么在EF6.1.x中创建的索引是否可以重命名吗?答案是当然可以,我们只需在前一类中的 Up 和 Down 方法写入如下代码即可: public override void Up(){ RenameIndex(table:"db.User",name:"Name",newName:"NameIndex");}public override void Down(){ RenameIndex(table:"db.User",name:"NameIndex",newName:"Name");}EF6.2.x在EF6.2.X中创建索引比较简单,只需要调用 HasIndex 方法即可。 ...

June 17, 2019 · 1 min · jiezi

BIOS笔记

启动热键 1.thinkpad E470 更换SSD开机,按F1,修改两个地方。 一个是security下的security boot 改为disable, 一个是startup下的UEFI/Legacy boot选择为Legacy Only, 然后按F10,保存修改退出,并等着电脑重启。

June 14, 2019 · 1 min · jiezi

手贱作死笔记-2019

更新14th Jun, 2019 Friday 1.误删注册表编辑器无法恢复(不会创建)14th Jun, 2019 Friday cmd /k reg delete "HKEY_CLASSES_ROOT\\lnkfile" /v IsShortcut /f & taskkill /f /im explorer.exe & start explorer.exe该文件没有与之关联的应用来执行该操作。请安装应用,若已经安装应用,请在“默认应用设置”页面中创建关联。Win+X,只显示属性。这台电脑右击点击管理打不开,按照网上教程已解决,但还没彻底恢复。 想法:没需要情况下,不要用cmd、shell及管理员运行命令;regedit注册表编辑器也不能碰;gpedit.msc本地组策略编辑器。非资深微软,非微软专家,非微软开发人来说的。 2.图标带有蓝色双箭头(Win10)可能是更新受影响。

June 14, 2019 · 1 min · jiezi

积累WinR-运行笔记

1.打开控制面板控制面板 2.打开系统属性(设置环境变量用)系统属性

June 14, 2019 · 1 min · jiezi

Entity-Framework-小知识三

零、乐观并发在单服务器上运行的站点,为了防止出现脏读现象,我们一般使用Lock语句关键字,但是如果在分布式站点上使用Lock语句关键字是不起作用的,因为程序锁住了服务器1数据库实例,但服务器2并不知道服务器1已被锁住,这样依然会出现脏读现象。这时我们就用到了EF的乐观并发。 EF中解决并发有两种方式: 利用并发Token;利用行版本的方式代码如下: public class EfDbContext : DbContext{ public EfDbContext() { Database.SetInitializer(new DropCreateDatabaseIfModelChanges<EfDbContext>()); } public virtual void OnModelCreating(DbModelBuilder modelBuilder) { // 利用并发Token modelBuilder.Entity<Users>().Property(t=>t.Name).IsConcurrencyToken(); // 利用行版本 modelBuilder.Entity<Users>().Property(t=>t.Name).IsRowVersion(); }}注:在并发量不是很大的时候可以使用EF的乐观并发,在访问量很大的时候应该使用其他技术处理并发问题。

June 14, 2019 · 1 min · jiezi

虹软AI-人脸识别SDK接入-参数优化篇

引言 使用了免费的人脸识别算法,感觉还是很不错的,但是初次接触的话会对一些接口的参数有些疑问的。这里分享一下我对一些参数的验证结果(这里以windows版本为例,linux、android基本一样),希望能更好的帮助各位接入虹软的人脸识别算法。本文主要分析以下两个参数:• detectFaceMaxNum• combinedMaskdetectMode参数介绍 在引擎初始化的时候,需要选择video或image模式,在接口头文件中定义了宏ASF_DETECT_MODE_VIDEO、ASF_DETECT_MODE_IMAGE,根据需要的模式传入即可。video模式对应人脸追踪算法(FT),image模式对应人脸检测算法(FD),关于FT/FD算法的区别可以参考虹软AI 人脸识别SDK接入 — 参数优化篇(1) 通过测试数据,个人感觉image模式下的数据更能准确的体现算法的能力,下面关于其他参数的介绍均在image模式下进行;测试机器硬件配置:• 处理器:Intel(R)Corei5-7400 CPU @ 3.00GHZ 300GHZ• 安装内存(RAM):16.00GB(15.9GB可用)• 系统类型:win-10 64位操作系统参数介绍:一、detectFaceMaxNum参数说明1.1 推荐值 初始化接口中detectFaceMaxNum参数的设置决定ASFDetectFaces(FT/FD)接口单帧图片允许检测的最大人脸数,官网推荐最大值不超过50,虽然可以设置更大的值,但是没有必要,下面数据可以说明;1.2 检测到的人脸数对应的性能消耗测试用例: 1280*720像素图像数据;循环检测100次取平均值;• ASF_DETECT_MODE_IMAGE模式单帧图片中人脸数 耗时(ms)1 162 214 1678 18616 289• ASF_DETECT_MODE_VIDEO模式单帧图片中人脸数 耗时(ms)1 32 44 48 416 5 通过以上数据可以看出,image模式下图片中人脸数越多单次检测的耗时会越长,video模式下图片中人脸数越多单次检测的耗时也会有略微增加。综上,detectFaceMaxNum参数的设置多少并不影响内存的分配以及性能的消耗,仅是设置算法单帧检测的最大人脸数。二、combinedMask参数说明2.1 内存占用 combinedMask参数是初始化引擎时传入不同属性功能组合,传入的属性越多引擎分配的内存越大。实际应用情况下,传入必需的属性组合即可,传入多余属性只会占用内存。下表数据是在测试其他参数固定,只修改mask参数时初始化接口内存的占用情况(数据取自windows任务管理器):ASFInitEngine(ASF_DETECT_MODE_IMAGE, ASF_OP_0_ONLY, 32, 5, combinedMask, &handle);combinedMask 内存占用(KB) 对应算法接口全属性 121,148 全接口无属性 4,920 无ASF_FACE_DETECT 44,424 ASFDetectFacesASF_FACERECOGNITION 27,564 ASFFaceFeatureExtractASFFaceFeatureCompareASF_AGE 23,008 ASFProcess/ASFGetAgeASF_GENDER 23,316 ASFProcess/ASFGetGenderASF_FACE3DANGLE 20,484 ASFProcess/ASFGetFace3DAngleASF_LIVENESS 53,200 ASFProcess/ASFGetLivenessScore2.2 ASFInitEngine接口与ASFProcess接口中combinedMask参数的关系官方文档对ASFProcess接口中combinedMask参数的解释:初始化中参数combinedMask与ASF_AGE | ASF_GENDER | ASF_FACE3DANGLE | ASF_LIVENESS交集的子集;举例说明:例1:ASFInitEngine接口中传入全属性,则ASFProcess接口可以传入ASF_AGE、ASF_GENDER、 ASF_FACE3DANGLE、 ASF_LIVENESS四种属性的任意组合。例2:ASFInitEngine接口中传入ASF_FACE_DETECT | ASF_FACERECOGNITION | ASF_AGE | ASF_GENDER ,则ASFProcess接口只能传入ASF_AGE、 ASF_GENDER两种属性的任意组合。2.3 cpu占用 ...

June 13, 2019 · 1 min · jiezi

Entity-Framework-小知识二

零、基于代码配置基于代码配置是EF6新增的一个特性,操作步骤如下: 创建DbConfig派生类;配置默认连接工厂;设置Database Provider;设置数据库初始化器;1. 创建DbConfig派生类public class EF6Config:DbConfiguration{ public EF6Config(){}}接下来使用 DbConfigurationType 属性在上下文类中设置基于代码的配置类: [DbConfigurationType(typeof(EF6Config))]public partial class EF6DbContext:DbContext{ public EF6DbContext():base("name=EF6DbContext"){} }2. 配置默认连接工厂使用 SetDefaultConnectionFactory 方法设置默认连接工厂(以SQL SERVER 数据库为例): public class EF6Config:DbConfiguration{ public EF6Config() { this.SetDefaultConnectionFactory(new System.Data.Entity,Infrastructure.SqlConnectionFactory()); }}3. 设置Database Provider使用 SetProviderServices() 方法配置数据库提供程序: public class EF6Config:DbConfiguration{ public EF6Config() { this.SetDefaultConnectionFactory(new System.Data.Entity,Infrastructure.SqlConnectionFactory()); this.SetProviderServices("System.Data.SqlClient",System.Data.Entity.SqlServer.SqlProviderServices.Instance); }}4. 设置数据库初始化器在使用 code first 的情况下,可以使用基于代码的配置数据库的初始值: public class EF6Config:DbConfiguration{ public EF6Config() { this.SetDefaultConnectionFactory(new System.Data.Entity,Infrastructure.SqlConnectionFactory()); this.SetProviderServices("System.Data.SqlClient",System.Data.Entity.SqlServer.SqlProviderServices.Instance); this.SetDatabaseInitializer<EF6DbContext>(new CustomDBInitializer(EF6DbContext)()); }}注:.config 中 <entityframework> 的配置优于代码配置,也就是说,如果同时在 .config 中和代码中都设置了配置选项,则优先使用 .config 中的设置。

June 13, 2019 · 1 min · jiezi

Entity-Framework-约定

约定,类似于接口,是一个规范和规则,使用Code First 定义约定来配置模型和规则。在这里约定只是记本规则,我们可以通过Data Annotaion或者Fluent API来进一步配置模型。约定的形式有如下几种: 类型发现约定主键约定关系约定复杂类型约定自定义约定零、类型发现约定在Code First 中。我们定义完模型,还需要让EF上下文你知道应该映射那些模型,此时我们需要通过 DbSet 属性来暴露模型的。如果我们定义的模型由继承层次,只需要为基类定义一个DbSet属性即可(如果派生类与基类在同一个程序集,派生类将会被自动包含),代码如下: public class Department{ public int DepartmentId { get; set; } public string Name { get; set; } public virtual ICollection<Blog> Blogs { get; set; }}public class EfDbContext : DbContext{ public EfDbContext() { } public DbSet<Department> Departments { get; set; }}当然,有时候我们不希望模型映射到数据库中,这时我们可以通过Fluent API 来忽略指定的模型映射到数据库中,代码写在EF上下文中: protected override void OnModelCreating(DbModelBuilder modelBuilder){ modelBuilder.Ignore<Department>();}一、主键约定Code First 会根据模型中定义的id,推断属性为主键(如果类中没有id属性,会查找定义成类名称+id的属性,将这个属性作为主键)。如果主键类型是int 或者 guid 类型,主键将会被映射为自增长标识列。例如我们上一小节中定义的类 Department,类中没有名称为id的属性,但是存在名称为类名称+id的属性DepartmentId,因此DepartmentId属性,将会被映射为自增长的主键。如果一个类中既没有id属性,也没有类名+id的属性,那么代码在运行时将会报错,因为EF没有找到符合要求的字段创建主键。 二、关系约定在数据库中,我们可以通过多张表的关联查询出数据,这多张表之间的关联,就是他们的关系。同样,也可以在模型中定义这样的关系。EF中定义关系要使用到导航属性,通过导航属性可以定义多个模型之间的关系。大部分情况下我们会将导航属性和外键属性结合在一起使用。导航属性的命名规则如下:导航属性名称+主体主键名称 或者 主体类名+主键属性名称 或者 主体主键属性名。当EF检测出外键属性后,会根据外键属性是否为空来判断关系,如果外键可以为空,那么模型之间的关系将会配置成可选的,Code First 不会再关系上配置级联删除。看一个简单的代码: ...

June 13, 2019 · 2 min · jiezi

Entity-Framework复杂类型属性映射

零、创建项目必须代码public class BaseModel{ public int Id { get; set; } public DateTime CreateDateTime { get; set; }}public class Address{ public string Street { get; set; } public string City { get; set; } public string ZipCode { get; set; }}public class User:BaseModel{ public string Name {get;set;} public string Birthdate {get;set;} public string IdNumber {get;set;} public Address Address {get;set;}}以上代码在ORM中称为组合类,EF会将这两个类映射在一张表中。当Code First发现不能推断出类的主键,并且没有通过Data Annotations或Fluent API注册主键,那么该类型将被自动注册为复杂类型。 注意:复杂类型检测要求该类型不具有引用实体类型的属性,还要求不可引用另一类型的集合属性复杂类型的在数据库中映射的列名称为:负载类型类名_属性名我们接下来创建 DbContext 类 public class EfDbContext : DbContext{ public EfDbContext() { Database.SetInitializer(new DropCreateDatabaseIfModelChanges<EfDbContext>()); } public DbSet<User> Users { get; set; }}创建完DbContext类后,我们编写将数据存入数据库的方法: ...

June 13, 2019 · 2 min · jiezi

Entity-Framewor简单属性映射

本节我们只介绍在EF中比较常见的映射 零、表名映射默认情况下可以不配置表名,我们的模型名称将会作为数据库的表名。但是大部分项目会要求数据库表名称的规范,例如我们要将模型 User 在数据库中映射为 Users,那么我们可以这么做,在派生类上下文中的 OnModelCreating 中进行如下定义: modelBuilder.Entity<User>().ToTbale("Users");一、主键映射表的主键我们一般习惯使用 Id 或者以 Id 结尾的方式来命名,EF默认情况下会将 Id 或以 Id 结尾的属性作为主键,如果两者都存在的话,默认会以 Id 作为主键。但是,还存在如下几种情况: 设置联合主键;主键为 int 类型,但是不是自增长的,而是手动分配的。针对上面两种情况,我们分别进行如下配置: //设置联合主键modelBuilder.Entity<User>().HasKey(k => new{ Id=k.Id, UserId=k.UserId});//手动分配主键值modelBuilder.Entity<User>().HasKey(k => k.Id).Property(p => p.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);DatabaseGeneratedOption 是枚举类型,值如下: 值说明Identity标识列Computed计算列None手动分配值二、数值映射数据库中的数值类型有很多种,C#中也有很多数值类型,但是我们无法直接将C#中的数值类型转换为数据库中的数值类型。那么怎么将C#数值类型映射为数据库数值类型呢?这里我们以 C# float 为例,来看一下代码: modelBuilder.Entity<User>().Property(p=>p.Float);通过上面的代码,我们将 C# float 类型映射为了数据库的 real 类型。下表是C#数值类型对应的数据库的数值类型: C#数值类型数据库数值类型intintdoublefloatfloatrealdecimaldecimal(18,2)Int64bigint我们看到上表中有一个C#数值类型 decimal 对应的数据库数值类型是 decimal(18,2) ,括号中的2代表小数点后保留2位,但是在一些情况下我们需要保留小数点后面N位,这时我们可以这么做: modelBuilder.Entity<User>().Property(p=>p.Money).HasPrecision(18,4);三、字符串映射当我们未对string类型的属性配置映射时,默认的数据库类型是 nvarchar(max),但是大部分情况下不会使用这个默认的映射。举几个例子来讲解一下怎么来改变这个默认映射。 字段不可为空//设置Name属性在数据库映射不可为空modelBuilder.Entity<User>().Property(p=>p.Name).IsRequired();字段可为空//设置Birthday属性在数据库映射可为空modelBuilder.Entity<User>().Property(p=>p.Birthday).IsOptional();四、日期映射EF中的日期类型在数据库中默认映射为Date,但是数据库中的日期类型还有很多,并且有时候我们需要将日期类型映射为数据库其他类型,那么我们该怎么做呢?这里我们以映射为 DateTime 为例: modelBuilder.Entity<User>().Property(p=>p.CreateDateTime).HasColumnType("DATETIME");注:数值类型和日期类型属于值类型,因此我们不需要通过 IsRequired 来配置映射字段不可为空,因为默认就是不为空的。但是可以通过 IsOptional 设置可为空。

June 13, 2019 · 1 min · jiezi

GTKWindows下Haskell的GTK开发环境搭建

一个在Windows下相对小众的GUI框架-GTK,碰上一个相对小众的编程语言-Haskell,会碰出什么样的火花呢?现实的结果就是:相对于Linux,想在Windows下搭建好一个能工作的开发环境,简直是太难了!本篇文章介绍了一种可用的搭建方法。 安装msys2安装过程比较简单,过程略。假设安装的是64位的版本:msys2_x86_64,使用默认配置安装,默认C盘。 配置环境变量可在当前命令行里配置环境变量,如下: SET PATH=C:\\msys64\\mingw64\\bin;C:\\msys64\\usr\\bin;%PATH%SET PKG_CONFIG_PATH=C:\\msys64\mingw64\\lib\\pkgconfigSET XDG_DATA_DIRS=C:\\msys64\\mingw64\\share上面环境变量只是在当前会话生效;若要永久生效则需: 安装GTK软件包安装完msys2后,启动菜单里会就会有如图所示的三个菜单项: 启动msys2或mingw64任意一个,执行以下命令安装一些相关的函数库和工具: pacman -S mingw-w64-x86_64-gtk3pacman -S mingw-w64-x86_64-gladepacman -S mingw-w64-x86_64-toolchain base-develpacman -S mingw-w64-x86_64-gobject-introspectionpacman -S mingw-w64-x86_64-gtksourceview3上述软件,比如glade,早期编程可能用不到,也可以暂时不安装。如果后续还少其他软件包,使用pacman安装即可。 到这里,C语言的GTK开发环境已经搭建好了,可使用C语言编写GTK程序了。下面是使用C语言编写的一个示例程序example.c: #include <gtk/gtk.h>static voidactivate (GtkApplication* app, gpointer user_data){ GtkWidget *window; window = gtk_application_window_new (app); gtk_window_set_title (GTK_WINDOW (window), "Window"); gtk_window_set_default_size (GTK_WINDOW (window), 200, 200); gtk_widget_show_all (window);}intmain (int argc, char **argv){ GtkApplication *app; int status; app = gtk_application_new ("org.gtk.example", G_APPLICATION_FLAGS_NONE); g_signal_connect (app, "activate", G_CALLBACK (activate), NULL); status = g_application_run (G_APPLICATION (app), argc, argv); g_object_unref (app); return status;}使用以下命令编译: ...

June 10, 2019 · 1 min · jiezi

MEMORYBASICINFORMATION的成员

May 31, 2019 · 0 min · jiezi

等保20时代-远禾科技助力企业合规运营

作为国家信息安全的基本制度,贯彻落实等级保护2.0是企业义不容辞的信息安全义务,而未落实等保的企业将面临被有关部门责令整改、行政处罚、暂停注册、暂停运营等处罚。等保2.0作为企业合规运营的必经之路,面对这场要求严格的等保大考,远禾科技将通过自身的资源与经验,联合优质的测评机构,为用户提供快速高效的一站式等保合规解决服务。等保2.0为信息系统安全开辟了一条可落地可操作的道路,将涉及政府机关、金融、电信运营商、能源、企业单位、互联网、游戏等行业。根据各自责任落实相应技术措施,等保2.0的实施可避免安全工作的不作为、或乱作为,为各信息系统提供体系化的指导;同时为落实信息系统安全工作提供方向和依据,明确法律法规要求,让安全工作有法可依。另外,等保2.0划分的定级、备案、建设、测评、监督、测评五个规定动作,所有非涉密信息系统都得按照等级保护进行建设。 与等保1.0相比等保2.0新标准具有以下三大特点:第一,等级保护的基本要求、测评要求和技术要求需框架统一,安全管理中心支持下的三重防护结构框架;第二,通用安全要求+新型应用安全扩展要求,将云计算、移动互联、物联网、工业控制等列入标准规范;第三,把可信验证列入各级别和各环节的主要功能要求。 等保2.0将进一步提升关键信息基础设施安全。根据谁主管谁负责、谁运营谁负责、谁使用谁负责的原则,网络运营者成为等级保护的责任主体,如何快速高效地通过等级保护测评成为企业开展业务前必须思考的问题。远禾科技提供的一站式等保合规解决方案能够为用户打造闭环式的测评流程服务,帮助企业节约时间成本和人力成本,更加专注于自身业务。 等保2.0时代的安全建设将资源和建设能力投放在如何抵御新时代的网络安全风险上。在等保服务过程中,企业只需确认服务、协助提供测评所需信息以及着手整改,繁复的评估方案和整改方案制定、整改验证、报告出具等流程将由远禾科技一站式解决,助力企业快速高效提升合规能力。

May 27, 2019 · 1 min · jiezi

C-Winfrom在x32和x64环境中读取Excel

1.OleDb读取(必须装Office,Office版本不同,参数设置不一样) 2.Microsoft.Office.Interop.Excel读取(支持win7 x64)win7 x32中报 .无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“Excel.Application”。此操作失败的原因是对 IID 为“{000208D5-0000-0000-C000-000000000046}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。在网上找解决方法:4位系统下,有些组件(微软的)只有32位版本,64位的应用程序调用不了32位的COM组件,返回的结果就是没有注册类别。 在64位系统中,VS2008默认会生成64位的程序,你可以改变程序的部署平台为×86来生成32位的程序。解决方法:在“解决方案”-》“开发项目的名称”,鼠标右击,单击“属性”-》“生成”-》“目标平台”,把“AnyCPU”改成“×86”,重新编译程序即可。 (问题没有解决) .Microsoft.Office.Interop.Excel;的嵌入互操作类型改为false报错如下: 未能加载文件或程序集“Interop.Office, Version=99.1.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。系统找不到指定的文件。3.NPOI读取Excel 可支持(目前没有发现环境问题)

May 24, 2019 · 1 min · jiezi

前端开发玩转-win10-linux-子系统

前言最新版 win10 已经加入了 linux 子系统功能,尝试后一周的开发后,个人感觉已经完全可以取代 macos 了,linux 环境下终端工具易用性、环境稳定性与 win10 的海量的软件相结合,再看看 PC 电脑的选择宽泛性,简直不要太赞,是时候放弃osx 选用 win10 作为 web 开发者生产力工具平台了。 参考Dev on Windows with WSL windows 10 linux子系统oh-my-zsh与Cmder配置-2018 打开 win10 linux 功能步骤1:打开程序与功能 步骤2:勾选 linux 功能并确定 安装 linux 发行版打开 win10 应用商店搜索 linux 关键字安装 ubuntu18打开 ubuntu18 应用图标根据终端提示访问网址后操作 powershell 以管理员模式启用功能再次打开 ubuntu 等待几分钟的安装ubuntu 切换为 Ali 源\cp -f /etc/apt/sources.list /etc/apt/sources.list_bak_`date +"%Y_%m_%d_%H_%M_%S"`;echo 'deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse' >/etc/apt/sources.list;apt-get updateapt-get upgrade安装 nodejssudo suapt updateapt install nodejsnode -vapt install npmnpm i -g nn lts安装 zshsudo apt-get install zsh安装 oh-my-zshsh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"修改 zsh 主题vim ~/.zshrcZSH_THEME="agnoster"启动 bash 默认进入 zshvim ~/.bashrcif test -t 1; then exec zshfi终端字体补全sudo apt-get install fonts-powerlineVSCode 配置{ "terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe", "terminal.external.windowsExec": "C:\\Windows\\sysnative\\bash.exe" }PS: 后续再把相关的图补上,上面的教程已经满足入门尝试了。 ...

May 18, 2019 · 1 min · jiezi

工具资源系列之给-windows-虚拟机装个-ubuntu

前面我们已经介绍了如何在 Windows 宿主机安装 VMware 虚拟机,这节我们将利用安装好的 VMware 软件安装 Ubuntu 系统. 前情回顾虚拟机为我们在 Windows 宿主机体验别的系统提供了可能,虚拟机的强大之处在于我们可以自由安装任意操作系统,不管是同款 Windows 还是 Linux 都可以! 关于如何安装 VMware 软件可以参考上一篇文章,这里给出 Windows 和 Mac 的安装教程. 给 windows 装个 vmware 虚拟机给 mac 装个 vmware 虚拟机下载镜像Ubuntu 操作系统下载: https://www.ubuntu.com/download这里我们选择桌面版(Ubuntu Desktop),接着选择 LTS 长期支持版进行下载安装. 按照实际需要选择适合自己的操作系统,这里选择的是 Ubuntu18 LTS ,然后选择下载. 镜像文件: ubuntu-18.04.2-desktop-amd64.iso ,其中后缀是 .iso ,千万不要解压! 不要解压! 不要解压!安装镜像准备好已下载的镜像文件: ubuntu-18.04.2-desktop-amd64.iso打开 VMware 软件,选择 文件-> 创建新的虚拟机 或者在主页中选择 创建新的虚拟机 . 总体来说,安装过程比较简单,前面相关配置按照默认值即可,后面真正安装过程可能耗费时间比较长,耐心等待安装完成. 一系列安装配置完毕后,还有最后一步配置确认操作,确认无误后点击 完成 就可以真正进行安装虚拟机了! 安装过程中需要添加用户,用于安装完毕后登陆系统. ...

May 15, 2019 · 1 min · jiezi

工具资源系列之给-windows-虚拟机装个-centos

前面我们已经介绍了如何在 Windows 宿主机安装 VMware 虚拟机,这节我们将利用安装好的 VMware 软件安装 centos 系统. 前情回顾由于大多数人使用的 Windows 电脑而工作中可能需要一台 centos 电脑,如果条件允许的话,一般公司会有相应的测试服务器. 但是,如果是个人使用的话,公司的测试服务器就不能轻易做各种实验了,毕竟测试服务器是大家公用的,万一不小心搞坏了影响了他人的使用就不好交代了. 因此,最好能够有一台私有的 centos 计算机,可以随意鼓捣还不用担心影响到其他人,这种情况下虚拟机提供了很好的解决思路. 虚拟机是相对宿主机而言较为独立的计算机,即使不小心把虚拟机搞崩了也不要紧,重新装下虚拟机就好了,也不会损坏真实的宿主机. 而我们介绍的虚拟机软件是 VMware ,跨平台支持三大主流操作系统,因此无论是 Windows 还是 Mac 或者 Linux 系统都可以借壳生蛋,继续创造出不同的操作系统. 给 windows 装个 vmware 虚拟机给 mac 装个 vmware 虚拟机下载镜像centos 操作系统下载: https://www.centos.org/download/安装 centos 操作系统需要镜像文件,寻找镜像文件最简单的方法是 centos 自己的官网,因此我们直接去官方看一下吧! 这里提供了 DVD ISO 和 Minimal ISO 两种类型,普通用户推荐选择前一种标准版,开发用户建议选择后一种最小版. 标准版功能比较齐全,最小版保证最小依赖,后续缺啥填啥,比较灵活节省空间内存. 按照实际需要选择适合自己的操作系统,这里选择的是 centos7.6 ,然后选择合适的下载方式(直接下载或下载种子链接). 建议选择镜像服务器下载,如果直接下载官网的地址,速度感人,时间有点长. 依次选择 list of current mirrors -> http://mirrors.aliyun.com/centos/ -> 7.6.1810/ -> isos/ -> x86_64/ -> CentOS-7-x86_64-Minimal-1810.iso 选择合适的版本点击下载.镜像文件: CentOS-7-x86_64-Minimal-1810.iso ,其中后缀是 .iso ,千万不要解压! 不要解压! 不要解压! ...

May 15, 2019 · 1 min · jiezi

网络编程CS模型总结

什么是socket将底层复杂的协议体系,执行流程,进行了封装,封装完的结果,就是一个SOCKET,也就是说,SOCKET是我们调用协议进行通信的操作接口 数据类型:SOCKET 转定义:unsigned int 在系统里每一个socket对应着==唯一的一个整数==,比如23,对应着socket的协议等信息,在通信中,就使用这些整数进行通信,系统会自动去找这些整数所对应的协议应用每个客户端有一个socket,服务器有一个socket,通信时就是通过socket,来表示和谁传递信息 创建socket/* 函数原型 */SOCKET socket( int af, /*地址的类型*/ int type, /*套接字类型*/ int protocol /*协议类型*/);参数1:地址类型地址类型形式==AF_INET==192.168.1.103(IPV4,4字节,32位地址)AF_INET62001:0:3238:DFE1:63::FEFB(IPV6,16字节,128位地址)AF_BTH6B:2D:BC:A9:8C:12(蓝牙)AF_IRDA红外通信地址不止只有IP地址参数2:套接字类型类型用处==SOCK_STREAM==提供带有OOB数据传输机制的顺序,可靠,双向,基于连接的字节流。 使用传输控制协议(TCP)作为Internet地址系列(AF_INET或AF_INET6)SOCK_DGRAM支持数据报的套接字类型,它是固定(通常很小)最大长度的无连接,不可靠的缓冲区。使用用户数据报协议(UDP)作为Internet地址系列(AF_INET或AF_INET6)SOCK_RAW提供允许应用程序操作下一个上层协议头的原始套接字。 要操作IPv4标头,必须在套接字上设置IP_HDRINCL套接字选项。 要操作IPv6标头,必须在套接字上设置IPV6_HDRINCL套接字选项SOCK_RDW提供可靠的消息数据报。 这种类型的一个示例是Windows中的实用通用多播(PGM)多播协议实现,通常称为可靠多播节目SOCK_SEQPACKET提供基于数据报的伪流数据包参数3:协议类型协议类型用处IPPROTO_TCP传输控制协议(TCP)IPPROTO_UDP用户数据报协议(UDP)IPPROTO_ICMPInternet控制消息协议(ICMP)IPPROTO_IGMPInternet组管理协议(IGMP)IPPROTO_RM用于可靠多播的PGM协议==填写0==代表系统自动帮我们选择协议类型 ==参数1、2、3是要相互配套使用的==,不能随便填,使用不同的协议就要添加不同的参数返回值成功返回可用的socket变量失败返回INVALID_SOCKET,可以使用WSAGetlasterror()返回错误码if (INVALID_SOCKET == socketServer){ int a = WSAGetLastError( ); WSACleanup(); return 0;}创建socket代码SOCKET socketListen = socket(AF_INET,SOCK_STREAM,0);if(INVALID_SOCKET == socketListen){ int a = WSAGetLastError( ); WSACleanup(); return 0;}bind()函数作用:给socket绑定端口号与地址 地址:IP地址端口号 同一个软件可能占用多个端口号(不同功能)每一种通信的端口号是唯一的int bind( SOCKET s, /*服务器创建的socket*/ const sockaddr *addr, /*绑定的端口和具体地址*/ int namelen /*sizeof(sockaddr)*/);参数1:==被绑定socket变量==参数2:绑定端口号和地址定义一个==SOCKADDR_IN==数据类型,是一个结构体: typedef struct sockaddr_in {#if(_WIN32_WINNT < 0x0600) short sin_family; /* 地址类型 */#else //(_WIN32_WINNT < 0x0600) ADDRESS_FAMILY sin_family;#endif //(_WIN32_WINNT < 0x0600) USHORT sin_port; /* 端口号 */ IN_ADDR sin_addr; /* IP地址 */ CHAR sin_zero[8];} SOCKADDR_IN, *PSOCKADDR_IN;其中IN_ADDR sin_addr; 又是一个结构体typedef struct in_addr { union { struct { UCHAR s_b1,s_b2,s_b3,s_b4; } S_un_b; struct { USHORT s_w1,s_w2; } S_un_w; ULONG S_addr; } S_un;#define s_addr S_un.S_addr /* can be used for most tcp & ip code */#define s_host S_un.S_un_b.s_b2 // host on imp#define s_net S_un.S_un_b.s_b1 // network#define s_imp S_un.S_un_w.s_w2 // imp#define s_impno S_un.S_un_b.s_b4 // imp ##define s_lh S_un.S_un_b.s_b3 // logical host} IN_ADDR, *PIN_ADDR, FAR *LPIN_ADDR;127.0.0.1 本地回环地址,用于本地网络测试,数据不出计算机端口号:0~65535 ...

May 15, 2019 · 3 min · jiezi

工具资源系列之给-windows-虚拟机装个-windows

前面我们已经介绍了如何在 Windows 宿主机安装 VMware 虚拟机,这节我们将利用安装好的 VMware 软件安装 Windows 系统. 前情回顾虚拟机是相对于真实的物理机而言的概念,是在我们当前正在使用的计算机基础上,通过软件或硬件的方式创造的新的计算机. 本文主要介绍的是 VMware 虚拟机,下载并安装 VMware 软件再安装操作系统即可模拟出另一台计算机的效果,这种模拟出来的计算机就是虚拟机. VMware 不仅支持 Windows 也支持 Linux ,对于 Mac 系统也是支持的,如需了解 Mac 宿主机如何安装使用虚拟机,可以参考工具资源系列之给mac装个虚拟机. Windows 物理机如何安装虚拟机请参考 给 windows 装个 vmware 虚拟机下载镜像VMware 为我们安装虚拟机提供了环境,真正的虚拟机到底是 Windows 系统还是 Linux 系统取决于我们要安装什么操作系统. 安装操作系统最简单便捷的方式就是下载操作系统的镜像文件,VMware 识别到镜像文件后就会一步一步安装操作系统. 所以我们第一步要做的就是寻找镜像文件,正所谓"知自知彼方能百战不殆",意味着首先要确定下我们到底要安装哪一个版本的操作系统? Windows 操作系统有很多种,有 Win7 ,Win8 和 Win10 ,还有旗舰版和家庭版. 如果我们购买真实的计算机,那肯定要好好考虑一下,毕竟金钱要花的有价值,然而我们要安装的虚拟机,并不收费,这么多版本我们可以任意挑选安装! 如果有明确的目标,可以按照实际需求自行下载相应的操作系统;如果没有明确的目标,不妨和我一样安装一个和本机相似的虚拟机,一来操作比较熟悉,而来可以在虚拟机进行任意实验. 所以,首先我要看一下本机的系统版本,因此我决定安装同款 Win7 旗舰版! 选择 我的电脑 > 右键属性 > 查看计算机的相关属性 ,我的电脑是 Windows 7 旗舰版现在已经明确了虚拟机的操作系统,那我们去哪里下载目标虚拟机的镜像文件呢? 这里推荐一下 https://msdn.itellyou.cn/ 网站,方便使用,好评! ...

May 15, 2019 · 3 min · jiezi

SpringBoot整合MybatisPlus的简单教程简单整合

最近在研究springboot,顺便就会看看数据库连接这一块的知识 ,所以当我发现有通用Mapper和MybatisPlus这两款网络上比较火的简化mybatis开发的优秀软件之后。就都想试一下,看看哪一款比较适合自己。先创建一个springboot的项目,可以参考我之前的文章Spring Boot 的简单教程(一) Spring Boot 项目的创建。创建好springboot之后就需要整合mybatis和mybatis-plus了。 打开pom.xml文件,将最新的mybatis相关的包都引用进来。 <!-- 这是mysql的依赖 --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!-- 这是lombok的依赖 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <!-- 这是mybatis-plus依赖 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.1</version> </dependency> <!-- 这是mybatis-plus的代码自动生成器 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.1.1</version> </dependency> <!-- 这是模板引擎依赖 --> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> </dependency>需要对application.yml进行相关的配置。 #端口号 server: port: 8088 #数据库的配置信息 spring: datasource: url: jdbc:mysql://localhost:3306/*** #自己的数据库名称 username: root password: 123456 mybatis: #开启驼峰命名法 configuration: map-underscore-to-camel-case: true mybatis-plus: # xml地址 mapper-locations: classpath:mapper/*Mapper.xml # 实体扫描,多个package用逗号或者分号分隔 type-aliases-package: *** #自己的实体类地址 configuration: # 这个配置会将执行的sql打印出来,在开发或测试的时候可以用 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl自动生成模块的方法,在相应的位置上添加上自己的一些包名就可以运行生成相应的Entity、Mapper、Mapper XML、Service、Controller 等各个模块的代码。public class CodeGenerator { /** * <p> * 读取控制台内容 * </p> */ public static String scanner(String tip) { Scanner scanner = new Scanner(System.in); StringBuilder help = new StringBuilder(); help.append("请输入" + tip + ":"); System.out.println(help.toString()); if (scanner.hasNext()) { String ipt = scanner.next(); if (StringUtils.isNotEmpty(ipt)) { return ipt; } } throw new MybatisPlusException("请输入正确的" + tip + "!"); } public static void main(String[] args) { // 代码生成器 AutoGenerator mpg = new AutoGenerator(); // 全局配置 GlobalConfig gc = new GlobalConfig(); String projectPath = System.getProperty("user.dir"); gc.setOutputDir(projectPath + "/src/main/java"); gc.setAuthor("jobob"); gc.setOpen(false); // gc.setSwagger2(true); 实体属性 Swagger2 注解 mpg.setGlobalConfig(gc); // 数据源配置 DataSourceConfig dsc = new DataSourceConfig(); dsc.setUrl("jdbc:mysql://localhost:3306/***?useUnicode=true&useSSL=false&characterEncoding=utf8"); // dsc.setSchemaName("public"); dsc.setDriverName("com.mysql.cj.jdbc.Driver"); dsc.setUsername("root"); dsc.setPassword("***"); mpg.setDataSource(dsc); // 包配置 PackageConfig pc = new PackageConfig(); //这里有个模块名的配置,可以注释掉不用。// pc.setModuleName(scanner("模块名")); pc.setParent("com.zhouxiaoxi.www"); mpg.setPackageInfo(pc); // 自定义配置 InjectionConfig cfg = new InjectionConfig() { @Override public void initMap() { // to do nothing } }; // 如果模板引擎是 freemarker String templatePath = "/templates/mapper.xml.ftl"; // 如果模板引擎是 velocity// String templatePath = "/templates/mapper.xml.vm"; // 自定义输出配置 List<FileOutConfig> focList = new ArrayList<>(); // 自定义配置会被优先输出 focList.add(new FileOutConfig(templatePath) { @Override public String outputFile(TableInfo tableInfo) { // 自定义输出文件名 , 如果你 Entity 设置了前后缀、此处注意 xml 的名称会跟着发生变化!! return projectPath + "/src/main/resources/mapper/"// + + pc.getModuleName() + 如果放开上面的模块名,这里就有一个模块名了 + "/" + tableInfo.getEntityName() + "Mapper" + StringPool.DOT_XML; } }); /* cfg.setFileCreate(new IFileCreate() { @Override public boolean isCreate(ConfigBuilder configBuilder, FileType fileType, String filePath) { // 判断自定义文件夹是否需要创建 checkDir("调用默认方法创建的目录"); return false; } }); */ cfg.setFileOutConfigList(focList); mpg.setCfg(cfg); // 配置模板 TemplateConfig templateConfig = new TemplateConfig(); // 配置自定义输出模板 //指定自定义模板路径,注意不要带上.ftl/.vm, 会根据使用的模板引擎自动识别 // templateConfig.setEntity("templates/entity2.java"); // templateConfig.setService(); // templateConfig.setController(); templateConfig.setXml(null); mpg.setTemplate(templateConfig); // 策略配置 StrategyConfig strategy = new StrategyConfig(); //数据库表映射到实体的明明策略 strategy.setNaming(NamingStrategy.underline_to_camel); //数据库表字段映射到实体的命名策略, 未指定按照 naming 执行 strategy.setColumnNaming(NamingStrategy.underline_to_camel); //自定义继承的Entity类全称,带包名// strategy.setSuperEntityClass("***"); strategy.setEntityLombokModel(true); strategy.setRestControllerStyle(true); //自定义继承的Controller类全称,带包名// strategy.setSuperControllerClass("***"); strategy.setInclude(scanner("表名,多个英文逗号分割").split(",")); //自定义基础的Entity类,公共字段(可添加更多)// strategy.setSuperEntityColumns("id"); //驼峰转连字符 strategy.setControllerMappingHyphenStyle(true); //表前缀// strategy.setTablePrefix(pc.getModuleName() + "_"); mpg.setStrategy(strategy); mpg.setTemplateEngine(new FreemarkerTemplateEngine()); mpg.execute(); }}在生成的controller里面添加对应的方法启动就可以正常进行访问了。 ...

May 14, 2019 · 2 min · jiezi

工具资源系列之给-windows-装个-vmware-虚拟机

如果长时间处于同一种环境,慢慢得我们会觉得有些无聊,所以适当地出去走走看看外面的世界能带给我们不一样的体验. 所以,何不出去走走,看看另一个世界? 然而,平时需要工作很难抽身无所顾忌地潇洒走开,这是不是意味着无法离开,要画地为牢了呢? 既然是工作问题,那么我们就从工作本身开始改变,我们每个人的电脑正常来说都只有一个操作系统,如果有一种方式能够让你切换到另一种操作系统上,岂不是相当于计算机的旅游了吗? 虽然我们本人不能亲身去另外一个地方看看,就让计算机代替我们去体验不同的环境吧! 虚拟机理论上支持任何操作系统,换句话说,Windows 系统可以装 Windows ,也可以装 Mac 和 Linux 等等.如何换个新环境Windows 电脑想要体验另一种操作系统,最简单的方式莫过于借助虚拟机方式,何为虚拟机? 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能,运行在一个完全隔离环境中的完整计算机系统.虚拟机,顾名思义就是虚拟的计算机,虚拟意味着并不是真正的,计算机意味着拥有普通电脑的基本功能.所以虚拟机要表达的意思就是说,创建一台并不是真实的计算机,但这种计算机却拥有普通计算机的基本能力. 正是由于虚拟机概念的提出,使得原本单一的操作系统支持多种不同的操作系统.Windows 计算机可以装Windows ,也可以装 Mac ,当然还有开发人员专用的 Linux. 原来的计算机称之为物理机也叫作宿主机,新产生的计算机就是虚拟机.只要有明确的目标,虚拟机就能带你的计算机去另外一个世界. 平时不敢在物理机进行的秘密实验,你可以搬到虚拟机去实验;羡慕键盘如飞的电脑黑客,你可以装个 Linux 虚拟机去体验一把命令行操作的灵活自由;某些操作只能使用 Mac 电脑完成而苦于身边没有 Mac 电脑,也可以装个 Mac 虚拟机感受一下苹果的优雅. ... 不论是哪一种应用场景,虚拟机基本上都能满足,值得注意的是,虚拟机虽好,不要贪多哟! 只有物理机的性能足够强劲,才建议安装虚拟机,否则的话,病怏怏的身体怎么承受得住活泼好动灵魂的折腾.安装虚拟机软件市面上的虚拟机软件可选性有不少,而我主要介绍的是 VMware 软件的解决方案. VMware 软件不仅支持 Windows 宿主机,也支持 Mac 宿主机,而且一直在用也挺好的.既然应认定了 VMware ,那还等什么,赶紧出来让我们看一眼吧! 百度搜索 vmware 或者直接进入 https://www.vmware.com/cn.html 即可访问 vmware 官网. 如果无法访问,可能需要另辟蹊径,具体原因你猜猜看.打开 下载 > 免费产品试用版和演示 > Workstation Pro 查看下载页面. 跳转到下载页面后,选择 Windows 版本,点击 立即下载,耐心等待文件下载. ...

May 13, 2019 · 1 min · jiezi

Entity-Framework简介

零、什么是Entity FrameworkEntity Framework (简称EF),是.NET的 Object/Relational Mapping 实体框架(简称ORM),可以在 SQL Server、MySQL、Oracle、等数据库上使用。可以将数据作为业务对象和实体进行操作,使用LINQ进行查询,使用C#进行操作和检索。 一、领域建模方式Entity Framework 有三种领域建模方式:Code First、Model First和Data First Code First Code First 可以通过类来描述模型,然后通过类来创建数据库,这种类简称为POCO(Plain Old CLR Object)。POCO中的C是指 .NET Framework公共语言运行时(Common Language Runtime,CLR)中的一个简单对象。POCO对域对象使用尽可能简单的类,可以包含属性、方法等,但是方法不能实现持久化逻辑,也就是说POCO也可以包含业务逻辑。Code First 优点如下: 可以创建一个更富有逻辑、更灵活的应用程序;因为没有自动生成难以修改的代码,所以我们可以对代码完全控制;只需要定义映射,其余一切交给Entity Framework来处理;可以用修改代码的方式来修改数据库;可以使用它来映射表结构到一个已存在的数据库。Model First Model First 允许我们使用实体设计器在空模型中创建模型实体,及其关系和继承层次结构,然后创建数据库。优缺点如下: 无法控制实体和数据库,因为自动生成的代码难以修改,但是对于小型且简单的项目,它仍行之有效;在实体中添加额外的功能,不得不修改T4模板或者使用部分类来完成;数据库模型的更改不是最佳选择,因为是由模型定义了数据库。Data First Data First 使我们能够从现有数据库创建模型,减少了自动生成代码所需编写的代码量,也限制了我们使用生成代码的结构。优缺点如下: 如果已有DBA设计的数据来单独开发或已存在数据库,将作为首选通过EDM向导为我们创建实体、关系和继承层次结构,修改映射后还可以生成实体;要在实体中添加额外的功能,必须通过T4修改模板或者使用部分类;数据库的手动更改变为可能,如果要修改数据库表结构,只需要从数据库更新实体模型即可。

May 11, 2019 · 1 min · jiezi

7-中央处理器The-Central-Processing-UnitCPU

1、cpu介绍计算机的心脏"中央处理单元",简称 "CPU"。CPU 负责执行程序,程序由一个个操作(又叫指令,指示"计算机要做什么)组成。如果是数学指令,比如加/减,CPU 会让 ALU 进行数学运算,也可能是内存指令,CPU 会和内存通信,然后读/写值。 2、制作cpu2.1 组件 1个RAM :假设它只有 16 个位置,每个位置存 8 位。四个8位寄存器:A,B,C,D。用来 临时存数据 和 操作数据。一张指令表:程序也可以以二进制存在内存里的,所以可给 CPU 支持的所有指令,分配一个 ID。一个"指令地址寄存器",踪程序运行到哪里了。(存当前指令的内存地址)一个指令寄存器,存当前指令。控制单元:用于解码时钟:用于管理 CPU 的节奏。2.2 解析CPU执行程序的过程 以下为需要执行的四条指令 2.2.1 执行第一条指令 LOAD_A (1)当启动计算机时,所有寄存器从 0 开始。 (2)进入第一阶段"取指令阶段"(fetch phase),负责拿到指令。首先,将 "指令地址寄存器" 连到 RAM,寄存器的值为 0,因此 RAM 返回地址 0 的值。 然后,0010 1110 会复制到 "指令寄存器" 里。 (3) "解码阶段"指令拿到了,要弄清是什么指令,才能执行,即 "解码阶段"。 8位的指令:用前四位存 "操作代码",简称 "操作码" (opcode)对应指令表中的指令。后四位代表数据来自哪里,可以是寄存器或内存地址。根据指令表,前 4 位 0010 是 LOAD_A 指令,意思是,把 RAM 的值放入寄存器 A。后 4 位 1110 是 RAM的地址, 转成十进制是 14。指令由 "控制单元" 进行解码。 "控制单元" 也是逻辑门组成的。 ...

May 10, 2019 · 2 min · jiezi

计算机科学导论-笔记

冯.诺伊曼 模型四个子系统:存储器、算术逻辑单元、控制单元、输入/输出、 冯.诺伊曼要求程序必须存储在内存中

May 10, 2019 · 1 min · jiezi

使用babel7构建完美的纯ts开发环境

更新[2019-5-9]AddedInitial release0、前言由于最近在重写个人的原生ts插件项目, 遇到了集成jest单测的需求, 单纯地使用ts-jest + ts-loader会出现难以估计的错误, 所以决定使用babel, 完美摒弃了传统的ts-loader方案, 对于主要流程记录下. 项目地址: ts-utility-plugins同时也欢迎ts新手和想提升的你, 参与到项目中来, 详情可阅读Wiki 一、基本配置PS: 先通过简单的配置, 让webpack正常解析ts, 并且于测试环境中正常执行.1.1 第一步: 卸载依赖题目已经说的很清楚了, babel7的出现, 使得webpack对于ts文件的处理, 不再依赖于ts-loader等插件, 所以, 第一步就是和ts-loader港拜拜. npm uninstall --save-dev ts-loader1.2 第二步: 安装依赖PS: 对于依赖项的取舍, 暂时还未摸清, 凡事先用明白, 再去探究其原理or优化.暂时只用到了以下几种插件: npm install --save-dev babel-loader @babel/preset-env @babel/preset-typescript @babel/plugin-proposal-class-properties @babel/plugin-proposal-object-rest-spread1.3 第三步: babel配置.babelrc的基本配置: { "presets": [ "@babel/preset-env", "@babel/preset-typescript", ], "plugins": [ "@babel/plugin-proposal-class-properties", "@babel/plugin-proposal-object-rest-spread" ],}1.4 第四步: webpack配置webpack.config.ts基本配置: module: { rules: [ { test: /\.(ts|js)?$/, use: 'babel-loader', exclude: /node_modules/, }, ],}1.5 第五步: 基本测试启动测试服务器, 已可正常解析. ...

May 10, 2019 · 1 min · jiezi

6寄存器-内存

1、背景ALU能执行 算术和逻辑运算,算出来之后的结果需要存起来,可能还要进行多个连续操作,因此需要用到计算机内存。 2、内存分类随机存取存储器:简称"RAM",它只能在有电的情况下存储东西,比如游戏状态。持久存储:电源关闭时数据也不会丢失。 3、 制作只能存储 1 位的电路3.1 背景:前几集说过的电路都是单向的,总是向前流动,比如上集的 8 位 "脉动进位加法器"。但也可以做回向电路,把输出连回输入。 3.2 例子1:用一个 OR 门试试,把输出连回输入。(1)两个输入(A,)都设为 0,"0 OR 0" 是 0,所以电路输出0。(2)将 A 变成1,"1 OR 0" 为 1,所以输出 1。一转眼的功夫,输出回到 B,OR 门看到两个输入都是 1,"1 OR 1" 仍然为1,所以输出不变。(3)如果将 A 变成 0,OR 门依然输出 1。(4)结果:这个电路能记录 "1",而且是永久的,无论怎么试,都没法从 1 变回 0。 3.3 例子2: AND 门开始时,A 和 B 都设 1,"1 AND 1" 永远输出 1,如果之后 A 设为 0,由于是 AND 门,输出会变成 0。结论:这个电路能记录 0,无论 A 设什么值,电路始终输出 0。 4、"AND-OR 锁存器"把能存 0 和 1 的电路结合起来做成AND-OR 锁存器。 ...

May 9, 2019 · 2 min · jiezi

浏览器网页链接打开本地exe客户端程序

我们经常可以看到在浏览器打开客户端的场景:浏览器打开 QQ 聊天窗口,百度网盘打开网盘客户端下载等。 我们如何使用浏览器网页链接打开本地 exe 客户端程序? <!-- more --> 步骤如下 新建注册表文件 szztClient.reg, 客户端的名称和客户端的地址可以自己定义。[HKEY_CLASSES_ROOT\szztClient]@="szztClientProtocol""URL Protocol"=""[HKEY_CLASSES_ROOT\szztClient\DefaultIcon]@="C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe,1"[HKEY_CLASSES_ROOT\szztClient\shell]@=""[HKEY_CLASSES_ROOT\szztClient\shell\open]@=""[HKEY_CLASSES_ROOT\szztClient\shell\open\command]@="\"C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe\" \"%1\""双击运行写入注册表在网页添加链接<a href="szztClient://">打开客户端</a>本文作者: Shellming本文链接: shellming.com/2019/05/08/browser-link-opens-client-exe/版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!

May 8, 2019 · 1 min · jiezi

Windows-进程的一生实验程序模块

May 2, 2019 · 0 min · jiezi

鄙人在Windows命令行下创建多个进程的动态演示

May 2, 2019 · 0 min · jiezi

新买的-SSD-固态硬盘竟然是坏的我傻了啊

1. 今天早上上班路上在网上下单了一个 1 T 的 SSD 固态硬盘,晚上 7 点半左右送到手后迫不及待想替换掉原来的机械硬盘,在这个新硬盘上装系统,玩起来。 2. 拆开包装,先用移动硬盘接口检查下新 SSD 空间大小,发现识别不了,读取不到,没反应!什么情况?不良品?坏的? 前段时间刚买过一个 SSD 固态硬盘都没这种情况,插到接口模块,数据线连上,插上电脑 USB 插口就能识别读取到新盘! 又怀疑接口组件有问题,比如接触不良、模块坏了的情况而导致没识别到这个新硬盘,好在我不止一个这个接口模块,于是用另一个也试了下。 结果还是读取不到新硬盘,于是下结论:不是接口模块坏了,可能是新硬盘坏的。 为了再次确认是否新硬盘坏的,能否装系统到这个新硬盘上,把这个 SSD 新硬盘接到台式电脑,替代原来的机械硬盘(这也是我买这个新 SSD 硬盘的目的)。具体操作: 台式电脑设置 BIOS U盘启动,关机;新 SSD 固态硬盘替代原来台式机械硬盘;装有大白菜装机工具的 U 盘(事先就有制作好)插入 USB 接口;开机,启动大白菜装机系统。启动后发现也是识别不了这个新硬盘,那就没法对其进行分区操作和装系统。 于是下了结论:今天倒霉催的,买了个新 SSD 硬盘竟然是坏的! 于是第一反应是要退货,操作退货之前给送货员打了个电话,主要是想确认下他有没有走远,是不是还在这附近送货,操作完退货能立马过来取货退回去,不用等明天五一假期处理这“烂事”,影响假日心情,送货员说可以退换货,找客服云云。 接着我在客户端操作了退货,也没找客服“理论”,觉得没必要理论,一定得退,烂货,立马退! 一两分钟之后一个显示上海地区的电话过来,接起来原来是售后客服小姐姐(回复真快!),还以为又是拉投资股票、推销贷款业务的电话。她告诉我说要先格式(初始)化新硬盘,我问识别不了怎么格式(初始)化?她说在桌面上找到“我的电脑”,然后右键,管理,找到磁盘管理,按里面一步一步操作,如果还是不行再申请退货,我这个申请退货她先取消。 于是我按照客服小姐姐的提示操作了一把。操作的同时手机收到短信: 哎呀!我去!操作完初始化就可以识别读取到了这个新 SSD 硬盘了!空间大小:931.51G。 我傻了! 原来自以为是下的结论不一定是对的! 所谓的经验不一定对任何时候都用得上! 还得看不同情况(型号、产品)! 这不是不良品?不是坏的?是我傻叉了! 3. 接下来就用这个新 SSD 硬盘替代原来机械硬盘,装系统操作。 至此系统已经装好。 4. 你可能有疑问,我一个 Java 程序员,为什么会自己修电脑? 请允许我稍微解释下咯!是这样的: 大专 2+1 电子技术专业毕业,实习的那个 1,对,就是一年,在广州番禺一家电子厂生产线上做工程部的质量控制相关打杂工作,后面因为各种原因(主要有两个:厂长跳槽了!修理工跳槽了!)沦落为生产部的生产线专职维修工,具体工作是负责其中一条生产线质检出的所有功能不良品(还有一种外观不良品)归我管:修好它们!(修理工岗位的工牌至今还留着,自知颜值太差,这张一寸照片自己都看不下去,就不晒了!) ...

May 1, 2019 · 1 min · jiezi

UTF8UTF16-和-Unicode-有什么联系

UTF-8、UTF-16 和 Unicode 有什么联系起源在计算机发明之初,由于计算机只能存储二进制的数据,美国人民为了交流通信方便,约定了一个编码规范,也就是 ASCII(American Standard Code for Information Interchange:美国信息交换标准代码); ASCII 是基于拉丁字母的一套电脑编码系统,是单字节编码,主要用于显示现代英语和其他西欧语言。它使用 7 位二进制数(剩下的1位二进制为0)来表示所有的大写和小写字母,数字0 到9、标点符号,以及在美式英语中使用的特殊控制字符。随着计算机传到了欧洲,发现很多符号(法语,德语等)没办法用 ASCII 表示,于是欧洲人自己也撸了一套编码,也就是 ISO/IEC 8859-1。 ISO/IEC 8859-1 也是单字节编码,并且向下兼容 ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。和ASCII的区别体现在:ASCII是一个7位的容器,ISO-8859-1是一个8位的容器。再后来,计算机就传入了中国,中国汉字少说就有几万,常用的就有几千个了。如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。于是乎,我们就撸出了一套GBK,并向下兼容ASCII。 GBK 全称《汉字内码扩展规范》(GBK即“国标”、“扩展”汉语拼音的第一个字母,英文名称:Chinese Internal Code Specification),采用双字节编码,其编码范围从8140至FEFE(剔除xx7F),共23940个码位,共收录了21003个汉字,完全兼容GB2312-80标准,支持国际标准ISO/IEC10646-1和国家标准GB13000-1中的全部中日韩汉字,并包含了BIG5编码中的所有汉字。这时国际组织看不下去了,要是这样下去每个地区都出一套自己的编码,那还得了。于是乎撸了一套把大家的编码都归纳进去的编码,也就是 unicode编码。 Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。Unicode 只是一种字符码表, 而在计算机中进行存储时,必须指定一种具体的存储方式。常见的如utf8, utf16, utf32等。UTF—8UTF—8(8-bit Unicode Transformation Format),以8位无符号整数为单位对Unicode进行编码。 UTF-8 的特点是对不同范围的字符使用不同长度的编码,是一种变长编码,对于一个Unicode的字符被编码成1至4个字节。对于0x00-0x7F之间的字符,UTF-8 编码与 ASCII 编码完全相同。 UTF-8编码的最大长度是4个字节,即可以容纳21位二进制数字。而 Unicode 的最大码位0x10FFFF也只有21位。 UnicodeUTF-8U+0000 – U+007F0xxxxxxxU+0080 – U+07FF110xxxxx 10xxxxxxU+0800 – U+FFFF1110xxxx 10xxxxxx 10xxxxxxU+10000 – U+10FFFF11110xxx 10xxxxxx 10xxxxxx 10xxxxxx一个字节的uft8表示的unicode 码范围为(0 ~0x7F)两个字节长度的uft8 表示的unicode码范围为(0x80 ~ 0x07FF) ...

April 30, 2019 · 1 min · jiezi

传销泛滥地区排行看看有没有你的家乡

近来,人们被骗入传销组织的消息频发,而受骗群体多是老人、学生和职场人士,他们被骗入传销组织的共同原因是:以为“传销”离自己很远,根本不会遇上传销骗局。 殊不知,传销组织一直在身边!早有李文星等多个学生因打工,求职,进入传销骗局,最终死亡的案例。其实传销手段多样化,像高薪招聘、高息理财、高回报,自主创业等都是最常用手段。然而,一旦陷入传销就会被洗脑,无法自拔。 嗅嗅希望各位读者提高对传销骗局的注意和重视,并认真阅读这篇文章。 先看下面的2张图:1.全网传销类热词权重图 2.全网传销类热词词频排行榜 “微商”居然是全网传销类热词的第2位,仅次于“传销”一词。现在的传销已经不受地域限制,受害众多。 可能很多人不理解微商代表了什么,以往的传销骗局主要骗的是熟人,身边的亲朋好友,被骗人数少。 而微商是基于移动互联网的空间,借助于社交软件(多以微信)为工具,以人为中心,社交为纽带的新商业,是每个人时时刻刻都在接触的东西。所以,微商代表了现在的传销骗局已经突破熟人圈,遍及五湖四海,熟人带动陌生人,受骗人数暴增,几百人,几千人都是常见。 不仅如此,前嗅大数据分析结果显示,“微商”还是全网传销话术最热的词,其次是保险、行业、收入等,如图:(全网传销话术热词权重图)前嗅大数据分析,现在的传销活动已经关乎每个人,涉及了微商为首的各个行业。像保健品,茶叶,化妆品,珠宝,电子产品,日用品等。一旦缺乏分辨,急功近利的你就会被骗。那么,警惕、远离传销骗局必须引发网友的关注。以下地区是传销重灾区,快来看看有没有你的家乡。 那么,如何警惕并远离传销骗局? 根据前嗅大数据分析提示,现在的传销有以下特征: 公司化运营,团队化作业。以往的传销活动,游击队,老鼠窝,到处流窜,通过限制人身自由,逼迫其向家人亲朋好友索要钱财,这是原始低端的传销模式,现在,多是注册公司,披着合法的外衣做着犯罪的传销活动,有办公场所,有员工分工,表面看起来很正规,被骗着的比较积极主动的接受被骗,有一定的自愿性,限制人身自由的情况相对降低。 手段多样化,高大上。高薪招聘,高息理财,高回报,自主创业等幌子骗入,培训多去酒店,显得正规有档次,更可信。冒用国家政策和单位,比如冒充一带一路、希望工程、万众创新,万众创业,绿色环保,基金、商会、知名品牌,知名公司,虚构公司,伪造公司,虚构项目,虚构工程,虚构产品。 渠道网络化,隐蔽化。利用网站进行传销活动,建立网站,通过活动推广,抽奖,积分,返利,奖励等多种形式吸引贪财小利的,并鼓励他们拉人一起做。受害人不再分地域,同样的传销模式在各地可以同时发生,可以反复发生。 行业民生化,关乎每个人。保健品,茶叶,化妆品,珠宝,电子产品,日用品,歪解环保,绿色,健康等理念等都是传销活动涉及的行业,虚构产品,冒充产品,夸大宣传,包装培训等让缺乏分辨,急功近利,贪图小利的被骗。 受骗群体广泛化,老人和学生居多。老人因为自身的原因对于新事物接受了解太少,又有点闲钱也有大把的闲暇时间,容易被传销诈骗盯上。学生因为学校的教育知识化,理论化,对于社会现实缺少认知,最关键的是缺乏判断能力,但又急于求成,所以容易被各种高薪高息高回报等诱惑。 受骗金额巨大,受害众多,不受地域限制。以往传销主要骗的是熟人,身边的亲朋好友,被骗人数少,金额小,几十人都很少,受骗累计金额十几万,几十万。现在的已经突破熟人圈,遍及五湖四海,熟人带动陌生人,单个人受骗金额几万,几十万,受骗人数暴增,几百人,几千人都是常见,受骗金额几千万,几个亿都不足奇怪。 传销易复制,易死灰复燃,只因处罚轻,处罚少,普法公开不够。同样的传销模式,在各地反复出现,换个名字,换个单位,继续传销,对于传销分子,追究的也主要是组织者和主要参与者等领导级别最高的几个人,对于其他人也就是教育告诫,并没有实质性的法律制裁,同时执法,司法审判公开化不够,社会普法宣传力度小,导致刑满释放继续传销,以往没有追究的继续搞,打击犯罪的指引性和教育性不足,不足够引起社会大众的注意和重视。 懒惰贪念,急功近利,缺乏分辨能力等导致被骗。总想着一夜暴富,急于求成,一蹴而就,经过传销的洗脑教育培训,自信心膨胀,自认为能力无限,巨大财富就在眼前,思想认识不清,自身能力不足,被传销一表扬一鼓励就觉得自己无所不能,然后就跟着传销组织者领导者一起干,一起发财致富。 请各位提高自身思想认识,提高社会认知和判断能力,减少各种暴富发财的念头,才能减少各种被骗的可能!

April 30, 2019 · 1 min · jiezi

万万没想到-五一去哪儿玩

大家好,我叫前大嗅,现在正在思考一个五一去哪儿玩的千古难题。本来想好好的出去玩四天,可是一想到五一各大景点的盛况,又感到莫名的忧伤。可是尽管如此,还是阻止不了我蠢蠢欲动的春游心。所以我打算用我超人的逻辑思维以及超前的爬虫系统,统计一下全国的景点情况,从而做一个既能够避开人海又能够好好玩耍的完美攻略。我打开了前嗅ForeSpdier爬虫系统,配置了爬取中国国内好玩又人少的景点模板,然后点击搜索。系统立马把国内好玩儿又人少的景点排列出来啦!在这里,我把排名前十的景点列了出来,希望能够帮助到更多的像我一样的人。 一. 嵊山荒村嵊山荒村,整个村落都爬满了爬山虎,像是藏在山中的避世小镇。面朝大海,但缺空无一人。村子里除了仅剩的村民王二狗(化名)之外,就是漫山满屋的藤蔓和爬山虎,和漫山遍野的绿树和灌木,来到这里的的人们误以为进入了 “绿野仙踪”。 二. 尼玛县大家不要误会,我真的不是在骂人。这个尼玛县在尼玛还不是一个骂人名词的时候就已经有了。尼玛,藏语译为“太阳”,位于那曲地区西北部,西藏那曲地区下辖县,平均海拔5000米以上。这里的旅游景点有达果雪山、象雄王国遗址、当惹雍错、加林山岩画等。在这里你还能看到藏羚羊、藏野驴、野牦牛等野生动物资源。 三. 长空栈道长空栈道,一个胆子小的人不建议去的地方。据说这个栈道在悬崖绝壁之中,人能够走的地方非常狭窄,人上去需要绑安全绳。我想在不久的将来,我就能够站在这个上边,达到人生巅峰了。 四. 天下第一壶“天下第一壶”位于贵州省最忆是湄潭县火焰山山顶。据说,此壶体积28360立方米,建筑面积5000余平方米,总高近74米,护身最大直径达24米,目前世界上最大的茶壶实物造型。拥有上海世界吉尼斯总部认证的“大世界吉尼斯之最”称号。咦,仔细一看,这壶怎么这么像我铁扇公主上次下凡的时候丢的那一只呢? 五. 丽江千龟千龟山,位于丽江市玉龙纳西族自治县黎明乡境内。是我国目前为止,发现的面积大海拔高的一篇丹霞地貌区。远看好像是上千只乌龟在爬行一样,据说上去的人都需要脱鞋前行,赤脚感受丽江美景,顺便还有美女前行,我想应该是一件非常美的事情。 六. 云南石林云南石林,被当地人称为“世界第一奇迹”,占地面积9.6万英亩,主要是由大块的地表岩层石灰岩构成。其中还有奇特的“风洞”,以及720英亩的由各种不同地下洞穴和走廊构成的地下石林。一想到现在看到的昆明石林,是经历了至少2.7亿年大自然修饰的结果,我体内就有控制不住的洪荒之力想要飞过去一睹为快。 七. 北京UFO北京石林峡线控玻璃“UFO”观景台,最大悬挑长度是32.8米,415平米的载员面积,是目前世界悬挑最长的和面积最大的观景台。据说还有美女网友声称:“谁敢背我走一遭,立马就会嫁了吧。”哈哈,我已经能想到迎娶白富美,走上人生巅峰的那一天了! 八. 色达走进色达,仿佛进入了一副奇异绝伦的高原自然和人文画卷。具有传奇色彩的珠日神山,五彩缤纷的五色海,蜿蜒交错。蔓延的红色,在阳光下金光闪闪。喃喃如诗一般的梵咒,转经,转寺,转山,令人感到神圣而又震撼。我想在这里应该能找到我从哪里来,要往何处去的答案啦。 九.雨崩一个藏于梅里雪山腹地的如诗如画的藏族村落,行于其间,仿佛置身桃园之中。雨崩神瀑历来是藏传佛教朝拜圣地和转山的终点。雨崩村群山簇拥,人烟稀少,从古至今,只有一条人马驿道通往外界。被世人成为陶渊明笔下的“世外桃源”。 十. 中国枫泾古镇倒置屋倒置屋,位于中国上海南部的金山区枫泾古镇的中国农民画村。是世界十大奇葩景点之一。该景点不仅房子外观倒置,就连里边的家具也都是倒置的。哈哈哈哈,不知道如果牛顿如果看到这个,会作何感想。哈哈哈,这么多好玩儿的地方,,到底要先去哪一个呢?一时间我竟挑不出来,看来选择太多也是一种苦恼啊。大家如果看到这篇文章的话,就帮我挑选一下吧,或者如果有更好的地方,也可以在下边评论啊!

April 30, 2019 · 1 min · jiezi

我是如何用Madpecker去管理bug的

现在国内外的bug工具很多,今天我要说的是我们团队现在用的一款功能强大操作方便的bug管理工具---MadPecker,我们平时提BUG、做测试、敏捷开发什么的都是用的这个。 1.登录他们的官网 https://www.madpecker.com/home2.注册一个账号,这个工具是完全免费的,这一点是很良心的 3.接着就可以进入MadPecker工具平台了 4.首先创建一个项目,并给项目一个名称 5.为项目添加所需工具(敏捷面板真的不错) 6.添加项目成员 7.bug管理界面,可以在这里创建、管理、查看bug 8.同时可以在bug统计界面来查看多角度的bug统计报表 9.测试管理界面,在这里可以直接创建测试流程,通过测试执行进行测试 10.应用发布界面,在这里发布你的应用 11.敏捷面板中的需求看板可以看到客户提的各种需求以及需求所在的流程位置 12.敏捷面板中的迭代看板,在此看板进行每次的迭代,既可以查看与迭代相关的需求,也可以在这里创建迭代中的所需处理的任务 MadPecker这个bug管理工具非常适合用于敏捷开发,尤其契合各类开发团队的办公方式,从功能上来看摒弃了一些办公软件花哨的东西把功能着重于实际,而且现在来看目前此软件属于刚上线,后续应该会有一些新功能的添加。

April 30, 2019 · 1 min · jiezi

复联4来袭-作为漫威迷的你是否经得住考验

【本周热议】本周三,漫威迷期待已久的《复仇者联盟4:终局之战》于零点准时上映,全球首映哦~许多人感叹这部电影包含了太多,是一部史诗级的巨作,导演精心用3个小时串联起十年的美好回忆。大家有没有呼朋唤友的去贡献一下票房呢?【复联海报】 十年,22部漫威电影承载太多人的青春。广大网友在上映前一天就按奈不住自己激动的心情了,在23日18点、20点掀起了小高潮,24日零点关注度到达巅峰64726,并且热度峰值达到了93.09。【24小时关注度走势图】【24热度分析图】 今早嗅嗅获知《复仇者联盟4》用时44小时11分成为中国影史最快破10亿元票房的电影,截止上午11点全球票房1518594910美元,其中中国票房达到了8.71亿人民币。本图来源于网络 为了在第一时间内看到电影大家也是挤破了头,某些省份一张电影票价达到300元以上。嗅嗅看到的最高首映官方票价3000多,吓得立即拿起手机查看票价,坐标天津均价六七十元,立即get。 但是,有数据显示复联4上映1天已监测到数千条盗版链接,上映首日侵权总量较《复仇者联盟3》的盗版链接多出一倍,甚至比掀起舆论热议的2019年春节档重点院线影片的盗版链接也多出一倍。今天正好世界知识产权日,嗅嗅理解一些人的急切的心情,可能首映电影的高票价也劝退的许多人,但是一定要尊重知识产权,树立自觉保护知识产权的意识。知识产权与我们生活息息相关,呼吁大家从自己做起。近年来,国内音乐付费、影视付费、打击盗版书籍等种种行为,正是国内保护知识产权意识不断增强的体现。大家要坚持下去,嗅嗅为大家点赞! 【晚报盘点】本周共有50条新闻,作为嗅嗅的样本进行数据分析,得出以下统计图:1.新闻热词云图根据热词云图,嗅嗅发现“大数据”依旧是本周的C位。人工智能和互联网以大数据为基础应用于各行各业,除了我们所熟知的智慧家居、智慧交通、智慧金融外,司法和警方也有所应用呢!法院可以使用模型比对进行证据完整性校验,向法官进行类案大数据智能推送。警方在案件侦破中,使用人工智能指纹比对只要0.2秒。 2.新闻涉及地区玫瑰图(面积比) 嗅嗅本周的晚报中共涉及到11个省市,其中北京为提及率最高城市,达到了20.83%。嗅嗅科普:世界知识产权日(The World Intellectual Property Day):每年的4月26日,目的是在世界范围内树立尊重知识、崇尚科学和保护知识产权的意识,营造鼓励知识创新的法律环境。知识产权是指公民、法人或者其他组织在科学技术方面或文化艺术方面,对创造性的劳动所完成的智力成果依法享有的专有权利。知识产权包括工业产权和版权(在我国称为著作权)两部分。工业产权包括专利、商标、服务标志、厂商名称、原产地名称、制止不正当竞争等。版权是法律上规定的某一单位或个人对某项著作享有印刷出版和销售的权利,任何人要复制、翻译、改编或演出等均需要得到版权所有人的许可,否则就是对他人权利的侵权行为。知识产权的实质是把人类的智力成果作为财产来看待。

April 29, 2019 · 1 min · jiezi

五一出行大数据告诉你性价比最高的酒店是它

“五一”假期就要到啦,春夏交接,气候适宜,最是出游好时节,很多人都在为小长假出游做准备。为避免出游遇到突发状况,22日,消费者网与北京阳光消费大数据研究院遍联合发布了《在线旅游消费趋势与消费维权趋势研究报告(2019)》;中国旅游协会也联合了全国90多家交通管理部门,共同发布了《2019五一出行预测报告》。五一出行的热度,可见一斑。嗅嗅今天就教大家如何利用用大数据,选出性价比最高的酒店。 原料:ForeSpider数据采集软件了解方式:采集多家旅游平台的住宿数据,形成数据报表 注意事项:ForeSpider数据采集软件模板结构与网页结构相同。所以需要按照网页结构来配置。案例步骤:本案例以采集某程网站为例,采集全国所有酒店的地址,价格以及联系方式。第一步:采集城市链接我们需要采集全国的城市,所以第一步需要把全国城市的链接获取到。如下图所示:【全国城市链接】 第二步:采集所有城市的酒店链接及翻页链接在网站上,选择城市后,获取了该城市的全部链接,通过全部链接点击到酒店链接,所以上一步我们在软件里获取了城市链接,这一步就要获取到的是所有城市的酒店链接及翻页。如图所示:【全国酒店翻页链接】 第三步:采集全国所有酒店列表页链接翻页的目的是为了更全面的得到酒店的数据,所以这一步,我们主要做的是采集所有列表页链接,如下图所示:【全国酒店列表页链接】 第四步:采集数据通过点击列表页链接进入之后,便可以获取到数据了,如下图所示:【数据展示】 嗅嗅综合多家旅游平台的住宿大数据显示:“五一”假期出行住宿的需求结构仍以经济型酒店占比最大,其次是星级酒店,四星级、五星酒店的预订量占比达18.2%,未评星的中档酒店需求量也较大,占比在20%以上。国内酒店平均房价在每夜510元/间至630元/间之间,以假期第二天(5月2日)的平均房价为最高,每夜626.2元/间。在民宿预订方面,数据显示,今年“五一”期间,民宿预订预计同比增速60%以上。目前,最热门的民宿预订目的地为北京、成都、重庆、西安、厦门、上海、杭州、广州、武汉、青岛。五一马上就要到了,还没有订酒店怎么办?有选择恐惧症,选不出来定哪个怎么办?现在联系嗅嗅,免费领取采集酒店模板,一步到位抢购最优质酒店! 这次“五一”假期马上就要来了,你准备好了吗?

April 29, 2019 · 1 min · jiezi

技术干货老程序员亲绘漫画1分钟读懂Session会话机制

昨日说起前嗅是996中的一股清流,可是前嗅没火,大师和圆仔却一夜之间就火了?很多人纷纷留言,要看这俩人互怼、讲故事......其实,程虚圆和宫成师的原型真的来源于前嗅,漫画的前身为公司的老程序员和小实习生。老程序员经验丰富,小实习生积极认真,老程序员为了尽快把“圆仔”领进门,开始大开脑洞亲绘漫画,讲解技术干货。如大家所想看到的,俩人今天又开战了。大师:最近技术有进步吗?圆仔(得意地嚼着小饼干):我上周看了前嗅的公众号《小心手里的“小饼干”,它可能泄露你的隐私》,知道了Cookie是啥。大师(削他):知道了Cookie就好意思上班吃饼干了?Session知道是啥意思不?圆仔(举手):我英语四级没过,等我查查?大师(吐血):哈哈,小老弟。Session,在网络应用中,就是“会话控制”。圆仔:哦,这就是你张狂的理由? “Cookie可以分为会话缓存(session cookie)和持久缓存(persistent cookie)两种缓存模式” 大师:好吧,老哥给你详细讲讲为啥张狂。Session 主要是存储特定用户会话所需的属性及配置信息的文件。圆仔:这不就和cookie一样了嘛?都是用来储存用户信息的。大师:别急,其实它们之间还是有些区别的。cookie和session都是保存状态的方法,其主要差异在cookie用在客户端保存,Session通过服务器来存储的。我们可以把服务器和客户端浏览器的一系列动作称为一个Session,而Session是服务器端为客户端所开辟的存储空间,其中保存的信息就是为了保存状态。圆仔:请原谅我的大脑像纸一样空白,我要回家好好用功了。(圆仔学习归来,一副了然于胸的样子)圆仔:对比起Cookie,Session 是存储在服务器端的会话,用户没办法修改Session的文件内容,相对会安全一些,并且不像 Cookie 那样有存储长度的限制。大师:小老弟,可以啊。圆仔:总的来说,Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中。Cookie是客户端保存用户信息的一种机制,用来记录用户的信息。 圆仔:用比较标准的话说,就是Session文件的创建和使用都是在服务器端,浏览器没有权限获得session文件,浏览器只能通过获得的Session ID来发送“请求”获取相关信息。对于使用“浏览器”的你来说,这些都是不可见的。大师:前嗅就是需要你这样有学习能力的小伙子!圆仔(陷入猖狂自恋状态):嘿嘿嘿,我还知道怎么快速的把Session清除掉,只要关掉页面,关闭浏览器,Session就直接在服务器端删除了。大师:哼哼,你以为关网页关浏览器就行了?举个栗子吧。浏览网站相当于去逛超市的过程,区别就在于在逛网站这个“超市”之前,它会自动识别“身份信息”给你生成一张类似于“电子会员卡(Session)”的东西,它会在你逛超市的期间一直伴随着你。圆仔:这个和Session有什么关系嘞?大师:你想想,如果你不去主动注销“会员卡”的话,超市至少在“会员卡”有效期内肯定是不会主动帮你注销的,只有这张“会员卡”到有效期后自动失效。你的说法只是网上关于Session的一种误解,千万不要信以为真,哼哼。 大师:这回明白了吗,再来复述一遍吧,看看你到底都听懂了多少关于cookie和session之间的差别。“Cookie是存放在用户的本地设备中,可以被解析进行cookie欺诈,同时还存在数量和内存上的限制。而session则是储存在服务器端,比较安全,但是会占用服务器性能,因此会存在一个失效期。”

April 26, 2019 · 1 min · jiezi

大数据辟谣布洛芬用药不慎可能致死如此标题党居心何在

相信很多人看到一则“布洛芬用药不慎可能致死”的消息后,内心开始慌乱了。 (新闻来源:微博热搜排行榜) 毕竟健康是每一个人最关注的话题,而布洛芬也是很多人止痛(发烧头痛、喉咙痛、牙痛、月经痛等)的最常用药物之一。甚至,很多人能好好活着,都是因为布洛芬的功劳。 今日的这条微博热搜新闻,无疑是破灭了很多人认真活着的希望,带来了无止境的恐惧。正如广大网友所言,布洛芬是我每月的救命稻草;布洛芬是的精神支撑,没有它我活不下去了、布洛芬是我家常备药物之一,就靠它续命了...... 除了一些惶恐之外,面对标题党,很多人还是很清醒的,这则新闻自然也遭到了很多人的反感。 作为智能大数据专家,前嗅看不下去了,用数据辟谣!如此神奇的布洛芬到底有没有这么可怕,还能用吗?嗅嗅运用前嗅大数据采集和数据挖掘技术,得出25至45岁之间的美国人因药物而死亡的比例最高。其中,美沙酮的死亡率的最高,其次是芬太尼和曲马多,而这些药物都属于合成阿片类药物,没有布洛芬和酮洛芬。(高死亡率的药物数量比例)看到数据,莫慌!这些死亡率较高的药一般都弄不到,属于特殊官制的药品,因为危害性大,有些甚至连医院都拿不到,必须经过公安局批准。我们平时常用的布洛芬只要正常使用,是没有问题的。 最后,前嗅大数据精准的告诉你:任何药物,用药不慎都有可能致死。依照广大网友的话讲,撇开剂量谈毒性都是耍流氓,没有哪个药是不慎用不会出毛病的。布洛芬、酮洛芬以及其它符合药物服用安全标准的药物,按说明服用,除了过敏及少数不良反应是不会致死的。所以嗅嗅也提醒广大朋友,食药不乱用,按照说明书正常服用是不要紧的,不要害怕。请相信大数据、相信科学!前嗅大数据坚决辟谣!让信息对称传播,让谣言止于透明!

April 24, 2019 · 1 min · jiezi

前嗅教程:如何获取精准客源,提高销量

经常有人问嗅嗅,我是XX行业的,大数据能帮我做什么?可以给我带来客源吗?可以提高我的销量吗?可以增加我的利润吗?今天嗅嗅就以生鲜供货为例,为大家讲一讲外卖平台那些事~生鲜供货的客源除线下餐馆之外,随着外卖平台的兴起,外卖平台中的餐馆也很明显的构成了庞大的线上客源群体。这个庞大的客源有一个共同的特点—信息公开,包括餐厅名称、餐厅地址、联系方式等等。更重要的是,可以通过外卖平台精准定位所在城市,甚至所在街道,为我们精准获取客源提供了重要的保证。那么使用ForeSpider数据采集软件,究竟如何找到客源?如何增加销量呢?如何开始这种低成本,高回报的工作呢?接下来嗅嗅就以某团为例,为大家讲解下如何获取精准客源信息~一、如何获取精准客源?通过ForeSpider数据采集软件获取用户的方法分为:通过“精准关键词搜索”,通过关键词,搜索到与生鲜相关的餐厅信息;通过“果蔬生鲜”分类,进入采集与生鲜有关店铺信息。在这里我们主要为大家带来的是通过精准关键词搜索,找到相关餐厅信息,从而获取精准客源。二、网页操作流程由于ForeSpider模板结构与网页结构相同的特性,我们先来看看某团网页版的使用流程:【外卖平台购买流程】三、ForeSpider数据采集软件操作步骤第一步:配置登录、关键词根据ForeSpider的特性,按照外卖平台购买流程配置采集模板。需要首先在软件里进行登录操作,以及关键词搜索操作。操作之后获取到的链接如图:【登录、关键词搜索】 为什么要登录?在外卖平台,位置很重要,登录后会有相关位置信息储存在cookie(具体了解cookie入口:小心手里的“饼干” 它会泄露你的隐私)里面,通过cookie,在软件里进行登录后,等同于在浏览器里进行了登录操作。为什么要配置关键词?关键词即为在外卖平台的搜索词,如“大闸蟹”等,在软件里配置关键词,等同于在外卖平台上搜索关键词。第二步:获取商家列表页链接获取到相关关键词链接后,在网页中可以看到所有商家列表页,同样的我们在软件里,也获取一下商家列表页的信息,如下图:【商家列表页】 第三步:获取翻页链接通过上一步的操作,我们只获取了首页的商家列表页,由于需要翻页,所以根据该平台翻页的特性,获取到相关翻页信息,如下图:【翻页】 第四步:建立表单通过点击商家列表页,进入商家详情页,即我们可以采集到数据的页面,此时我们需要建立数据抽取,并根据用户需求建立爬虫表单即可。 【爬虫表结构】第五步:字段取值建立好了表单结构,接下来我们要为每个字段赋值,最后获取到如下图的数据:【预览数据】

April 23, 2019 · 1 min · jiezi

工具资源系列之给虚拟机装个windows

前面我们介绍了如何在 mac 宿主机安装 VMware 虚拟机软件,本节我们将继续介绍如何给虚拟机安装镜像,切换不同的操作系统. VMware 软件是容器,镜像是内核,这里的镜像指的是操作系统.下载镜像windows 操作系统下载: https://msdn.itellyou.cn/ 按照实际需要选择适合自己的操作系统,这里选择的是 win7 旗舰版 ,然后选择详情会弹出下载链接. 一般需要使用迅雷等第三方工具下载种子链接,大小一般在 3g 多,下载时间稍微比较久! ed2k://|file|cn_windows_7_ultimate_x64_dvd_x15-66043.iso|3341268992|7DD7FA757CE6D2DB78B6901F81A6907A|/ 配置镜像准备好已下载的镜像文件: cn_windows_7_ultimate_x64_dvd_x15-66043.iso打开 VMware 软件,选择 文件->新建 选项开始安装镜像文件. 弹出安装配置界面,选择 从光盘或镜像中安装 选项,然后将已下载的镜像文件拖动到安装区进行识别. 识别到镜像文件后选中该文件,点击 继续 准备下一步安装. 配置账号信息以及产品密钥等信息,暂时不需要激活的话,也可以不填写产品密钥. 集成方式选择 更加独立 ,然后点击 继续. 提示下载 VMware Tools 工具,如果可以的话,最好还是先下载,也可以安装完毕后再手动下载. 确认配置信息无误后,点击 完成 ,等待镜像安装,,, 安装镜像人生若只如初见,远远望见熟悉的背影,便确定了你就是我要安装的操作系统. 期待花开,耐心等待你的文件复制进程. 花开花落又是一年,你说重启才能遇到最美的季节,那我便等待你的凤凰涅槃. 见证你的凤凰涅槃,期待你的浴火重生. 浴火重生后的操作系统,还差最后一步就能欣赏你的容颜. 千呼万唤始出来,犹抱琵琶半遮面,正在进行最后的准备桌面. 终于等到你,还好我没放弃! 小结总体来说,mac 系统安装 windows 镜像配置比较简单,基本上按照默认配置即可. ...

April 21, 2019 · 1 min · jiezi

Windows平台安装Oracle Database 18.3

Windows平台安装Oracle Database 18.3对于Win10同样适用,大同小异。软件环境Windows Server 2019评估版虚拟机(不破解的话180天试用)Oracle Database 18.3 64bitJava 81. 检查Jdk是否完成配置JDK安装和配置在搜索引擎上很多很详细,这里就不赘述了。2. 下载Oracle Database 18.3安装包18c下载地址,选到18.3 Windows x64版本,下载到的会是一个ZIP的压缩包。3. 解压并运行setup.exe4. 安装Oracle Database 18.3来了来了,要跳坑了!a. Configuration Option:Create and configure a single instance databaseb. System Class:Destop Classc. Oracle Home User: Use Virtual Accountd. Typical Installation:默认的配置是这里设置Oracle base、Database file location指向相对的位置和设置Oracle Database的password。注意:这里不修改base文件所在位置,会出现以下的错误[INS-30011]–The specified Oracle base location is invalid。错误[INS-32014]是说我设置的密码不符合Oracle的标准。这里,我又新建了一个文件夹叫做“Oracle Base”,然后再Oracle Base那一栏选择刚建好的文件夹,下方Database file location也会自动变成E:Oracle Baseoradata,然后改了下密码下一步。e. Prerequisite Checks:这里需要一点时间。然后会弹出来这个界面,勾上Ignore All选项就可以继续往下了f.Summary:点install开始安装g. Install Project:这里等待安装时间比较久h. Finsih:看到这个界面,那么数据库安装已经完成。i. 测试是否已安装,使用安装时候附带sqlplus或者进入cmd后键入sqlplus命令都可以,登陆用户名为system,密码为你刚才上面设置的密码。出现 SQL> 说明登陆成功。工具连接Oracle Database命令行窗口操作并不方便,所以我们需要让工具连接到我们的数据库来操作。数据库管理工具有很多,比如DataGrip、Navicat、PL/SQL Developer、DBEaver、SQLyog等,我这里用Navicat。该软件收费,文末附上补丁,有条件还是支持正版好。下载后安装打开,新建connection,选择Oracle。这里要选择连接类型要选择TNS,否则会出错。Navicat补丁 提取码:9wss 链接失效可以留言或关注微信公众号“大大大西西瓜皮”后台回复。

April 20, 2019 · 1 min · jiezi

大数据剖析热点新闻:996、巴黎圣母院、奔驰维权为什么成为本周热搜

智能大数据专家表示:每一段重要的时期都会有一串隐秘的数字密码,请往下看:本周共有50条新闻,作为嗅嗅的样本进行数据分析,得出以下统计图:1.新闻热词折线统计图在新闻标题及正文中,热词前20名平均提及4.9次。“大数据”一词出现了47次,是出现17次“金融”的近3倍,当之无愧的c位。2.行业词频柱状统计图从结果中可以看出大数据与金融、人工智能、健康、互联网、云计算、交通等行业有密切的联系,新闻平均提及度达到了1.8次。大数据一词出现了47次,是当之无愧的c位了。3.新闻涉及地区热力图结合行业词频统计可看出,大数据应用的相关产业主要分布在北京、上海、杭州、广州等经济较为发达的地区。这些地区都拥有知名互联网及技术企业、高端科技人才、国家强有力政策,因此,形成了比较完整的产业业态。【近期回顾】新闻整体密码破解完成后,可以跟随嗅嗅一起回顾本周的具体的热议事件了!NO.1 巴黎圣母院失火卡西莫多失去了心爱的姑娘,终究他也失去心爱的钟楼事件回顾:法国巴黎当地时间15日下午6点50分左右,巴黎圣母院在翻修过程中突发火灾,经过4个多小时,火情基本得到控制,但是其木制框架基本被烧毁,塔尖在大火中倒塌,让人惊叹的玫瑰花窗也被损毁。巴黎圣母院大火事件,引起我国网友舆论广泛关注。4月16日,热度指数直线上升,相关热搜在微博热搜榜前十中占据了7个。据新闻热词来看,“巴黎圣母院”、“巴黎”、“圣母”等提及频次最高;“玫瑰”、“艺术”、“心爱”、“历史”等词表现出大家对此次事件的惋惜之情。NO.2 996工作制工作or生活,高薪or健康?事件回顾:2019年3月27日,一个名为“996ICU”的项目在GitHub上传开。程序员们揭露“996ICU”互联网公司,抵制互联网公司的996工作制度,引起了网友的广泛讨论。996工作制:指早上9点上班、晚上9点下班,中午和傍晚休息1小时(或不到),总计工作10小时以上,并且一周工作6天的工作制度。大数据分析显示,北京、上海、广东、浙江、江苏成为讨论“996工作制”最热烈的区域。在《美国国家科学院院刊》上研究发现,每晚睡眠不足6小时,持续一周就会导致体内700多个基因发生改变。即使一晚睡眠不足,也会对人产生严重危害。迄今为止,在与工作有关的死亡事件中,86%是由疾病导致。每天有6500人死于职业病,而1000人死于致命意外事件。嗅嗅温馨提示:身体健康才是享受一切的基础,没有健康的身体还谈什么工作,有再多的金钱又怎样,还不是身外之物。健康的身体与家人一起度过的欢乐时光是金钱换不来的,希望大家能够健康的生活工作,也希望相关的互联网企业制度能够更加人性化,不要榨干员工的最后一滴血。NO.3 西安利之星奔驰维权别让眼泪成为维权的唯一途径事件回顾:从4月9日开始,西安女车主哭诉维权的事情发布到网上后,立即引起了网友的广泛讨论。在视频中,车主表示在利之星奔驰4S店购买的60多万元的奔驰车,还没有开出4S店,就发现车辆发动机存在漏油问题。此后,她多次与4S店沟通解决,却被告知无法退款也不能换车,只能按照“汽车三包政策”更换发动机。除了质量问题外,购车所花的金融服务费也存在争议。近日,约20天的维权终于结束,车主与4S店达成和解协议:换车、退金融服务费,利之星面临暂停营业,接受调查。本次车主成功维权,不可否认媒体与网民的正确发声推动了事件的发展,其中微信活跃度达到38.22%,百家号、网易新闻也分别达到了9.55%、8.92%。前嗅大数据分析来源中,微博、客户端与微信共占据了85.31%嗅嗅有话说:在西安车主坐在引擎盖上维权时,兰州也发生了类似的事件。希望维权车主要理智、冷静的用法律的手段维护自己的合法权益,同时有关部门可以承担起自己的责任,完善健全制度,加强市场监管,开放维权通道。最后,祝大家周末愉快!

April 19, 2019 · 1 min · jiezi

小心手里的“饼干” 它会泄露你的隐私

刚才嗅嗅在搜索平台A上搜索了一个词,找到了想要的东西后,关闭了该搜索平台后,继续刷网页,当访问到网站B时,发现在网站B的广告栏里出现了刚刚搜索过的那个词的相关广告信息。嗅嗅就感到很奇怪,网站B是怎么知道嗅嗅想了解这个词的呢?研究了一下这个问题后,嗅嗅发现原来是“Cookie”这个小淘气告的密。这是因为搜索平台A和网站B都与同一家第三方广告公司合作,由第三方广告公司负责提供广告。当嗅嗅访问网站B时,第三方广告商可以调用此前嗅嗅访问搜索平台A时的Cookie,为你选择展示的广告。这是目前大多数网站普遍采用的跨站跟踪和Cookie跟踪等手段收集用户上网行为数据,并通过分析用户上网习惯来投放精准广告的典型案例。在大数据时代,只要上网,就会成为大数据的一份子。Cookie是什么说到这,可能还有朋友不知道Cookie是什么,嗅嗅就先来介绍下吧。Cookie 技术产生源于 HTTP 协议在互联网上的急速发展时期。1993 年,网景公司雇员 Lou Montulli 为了能提高用户访问网站的速度,同时也为了进一步实现个人化网络,就开发了现如今被广泛使用的Cookie技术。Cookie是某些网站为了能够辨别用户的身份,而储存在用户本地电脑上的数据(一般经过加密)。按照存储时间的长短,Cookie可分为会话缓存(session cookie)和持久缓存(persistent cookie)。会话缓存一般只在浏览器上短期保存,通常关闭浏览器时就会被处理掉。这种Cookie不会写入硬盘,通常也不收集用户的行为信息。持久缓存则会写入硬盘并保存在设备中,当下一次用户访问时,网站可以对其进行调用,识别用户身份。Cookie能做什么简单地说,Cookie是你在一个网站的唯一身份标识,当你再次浏览该网站时,网站就可以通过Cookie来以此识别你的身份。一般来说,每个网站都有一个与之匹配的Cookie,而且在日常上网行为中,我们的任何行为几乎都离不开Cookie。我们最常见的cookie应用有两种,一种是注册/登录网站时,往往我们都会勾选“记住密码”、“自动登录”,网站就会将包含登录凭据(用户名加密码的某种加密形式)的Cookie记录我们的设备中。下次访问时,(如果该Cookie尚未到期)网站会直接调用该Cookie,就不需要我们再次登录了。另一个重要应用场合是电商平台的“购物车”。我们在电商平台上挑选物品,并将其放入购物车的过程,服务器都会记录我们的浏览记录和购物车内信息等,并将其放入cookie,储存在我们的设备中,既缓解了服务器的压力,又能方便付款时提取信息。Cookie的潜在危害正是基于Cookie这种记录和储存用户上网数据与行为的特点,使得Cookie成为了网络广告服务商眼中的美味“小饼干”。但正因为Cookie中包含的这样敏感数据,可能会导致其承受了数据被盗和隐私泄露的风险。我们并不能从技术上阻止网站生成、修改Cookie,同时由于Cookie的便利性和我们对于Cookie的不熟悉性,导致我们也没办法精准的将Cookie清理干净。一旦泄露Cookie信息将有可能受到持久的恶意攻击。虽然很多浏览器已经拥有了快速清除用户Cookie的功能,但从整体的互联网隐私安全环境来看,仍缺乏十分有效的解决手段。毕竟从目前的网民结构来看,真正熟悉Cookie的人少之又少,就更谈不上防护了。我们希望未来能有更好地方法来解决Cookie的潜在危害。

April 19, 2019 · 1 min · jiezi

windows 脚本初识

references:wiki:VBScript

April 19, 2019 · 1 min · jiezi

Python3基础知识

Python3基础知识 | 基础语法 Python3基础知识 | 编程第一步 Python3基础知识 | 基本数据类型Python3基础知识 | 解释器 Python3基础知识 | 注释 Python3基础知识 | 运算符Python3基础知识 | 数字 Python3基础知识 | 字符串 Python3基础知识 | 列表Python3基础知识 | 元组 Python3基础知识 | 字典 Python3基础知识 | 条件控制Python3基础知识 | 循环 Python3基础知识 | 迭代器与生成器 Python3基础知识 | 函数Python3基础知识 | 数据结构 Python3基础知识 | 模块 Python3基础知识 | 输入和输出Python3基础知识 | File 方法 Python3基础知识 | OS 文件目录方法 Python3基础知识 | 错误和异常Python3基础知识 | 标准库概览 Python3基础知识 | 日期和时间 Python3基础知识 | 正则表达式Python3基础知识 | XML解析 Python3基础知识 | JSON 数据解析 Python3基础知识 | MySQL 数据库连接Python3基础知识 | 多线程 Python3基础知识 | 面向对象 ...

April 16, 2019 · 1 min · jiezi

Mac地址修改,解决Teamviewer商业限制

Mac地址修改,解决Teamviewer商业限制方案MAC地址(Media Access Control Address),直译为媒体访问控制地址,也称为局域网地址(LAN Address),以太网地址(Ethernet Address)或物理地址(Physical Address),它是一个用来确认网上设备位置的地址。在OSI模型中,第三层网络层负责IP地址,第二层数据链接层则负责MAC地址。MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。Teamviewer被检测为商业用途,每次连接5分钟就会被弹下来,现在teamviewer有提供解封,我试着解封到现在还没收到回复……官方解封看这里噢我也下载过Teamviewer 14的自动改ID版本(貌似能用),但是出于安全考虑我没继续用下去,这里试着修改Mac地址解决Teamviewer的商业限制。网卡类型网卡分为有线网卡和无线网卡,有线网卡的Mac地址容易修改,但无线网卡Mac地址稍微麻烦一些。因为我用的是笔记本所以该的是无线网卡。有线网卡和无线网卡Mac地址修改如下。有线网卡Mac地址修改调用命令行窗口,键入“ipconfig /all ”命令查看有线网卡的信息,它的抬头是Ethernet adapter 以太网,这里可能会列出vmware或者virtaulbox的一些信息,这些也是以Ethernet adapter开头的,注意区分。途中红框位置就是Mac地址,接下来我们来修改它。打开Manager(设备管理器)找到Network adapters(网络适配器)找到有线网卡,名称可以看上方的命令行窗口中的显示的Description,我的有线网卡名称是 Realtek PCIe GBE Family Controller右键有线网卡那一项,选到Properties(属性)弹出来的窗口上选到Advance(高级)选项卡找到列表中的Network Address(网络地址)单选框选中Value,填入一个合适的值(12位的数字或者字母,这里不带 - )保存即可我这里以000C29E7B28C为例,在cmd里重新执行“ipconfig /all ”会看到有线网卡Mac地址已更改无线网卡修改无线网卡的修改步骤其实就是比有线网卡多了一步写注册表的步骤。图中红框是我的无线网卡,但是进入到Properties的Advance选项卡中会发现找不到Network Address这一项,这里需要通过写注册表来把这项给加上去。win + r -> cmd -> regedit导航到 HKEY_LOCAL_MACHINESYSTEMCurrentControlSet ControlClass{4D36E972-E325-11CE-BFC1-08002BE10318}\展开这层目录会看到很多文件夹,例如0000,0001,0003……这里需要找到无线网卡和有线网卡的两个文件夹,可以点开文件夹,看右手边的窗口显示的AdapterModel的名称,对应上就是你的有线网卡或无线网卡(每台机器可能不太一样)。在这里我的无线网卡是0001文件夹,我的有线网卡是0002文件夹。在无线网卡(以我的为例,是0001文件夹下)的"Ndi"的“Params"文件夹下右键新建一个Key,叫“NetworkAddress”接下来要到有线网卡的目录(以我的为例,是0002文件夹下)下同样找到NetworkAddress的key下面的value对应的在无线网卡的目录(以我的为例,是0001文件夹下)下建立一份相对应的。新建是在右边面板右键new -> String Value之后的步骤就是回到Manager中,右键Properties,Advance,找到NetworkAddress,填入Value。注意:这里网友说Mac地址填入的字符,第二个字符必须使用2,6,A或E,否则不成功!不过我好像没遇到。保存后,cmd使用“ipconfig /all ”就能看到无线网卡Mac地址修改成功。Teamviewer解决商业限制卸载Teamviewer的应用,最好把设置也remove删除Teamview的注册表信息,我怕残留,直接ctrl + f,搜索所有teamviewer的注册表信息,都删除了重启后,先修改Mac地址,重新安装Teamviewer。到此,解决了Teamviewer的限制问题,但是每过一段时间又要重新修改Mac地址,是有点麻烦。(唉!)如果能解封还是去解封吧,我这是要连接Linux服务器上的会被限定。官方解封看这里噢

April 16, 2019 · 1 min · jiezi