实习中遇到的问题张博的博客

这个代码需要安装jdk8才行,安装9就不行.

●之后按照上面博客的方法,就可以跑了.其中如何加入命令点浏览器右边的outline点assist再点屏幕左边弹出来的importFiles就可以加入命令.或者直接点快捷栏最后一个圆圈问号图标也可以.

●h2o基本都鼠标操作就行了

●伯努利分布未必一定是0-1分布,也可能是a-b分布,只需满足相互独立、只取两个值的随机变量通常称为伯努利(Bernoulli)随机变量。二项分布就是n重伯努利分布

●随机森林效果不好,不如深度网络,最后用的gbm效果最好到百分之12

学习pytorch代码从github上.

clamp截断:

搜集除已有销量数据之外的额外信息(比如天气、地点、节假日信息等),

目前方法考虑:1.随即森林2.lstm

安装kerascuda版本:

condainstallpip

pipinstalltensorflow-gpu

继续使用windows自带的linux.

0.安装好后,输入账号,密码.这时设置的是普通用户,比如zhangbo

1.第一次运行需要设置root账号

sudopasswd

之后设置好后就suroot就可以切换root账号了.用这个账号就不用写sudo了很方便但是比较危险.就是展示和配置文件时候用,其他时候不用.

2.普通使用的时候最好使用普通账号:suzhangbo即可.

3.cmd改字体,标题上右键属性即可.

anaconda

Anaconda创建环境:

//下面是创建python=3.6版本的环境,取名叫py36

condacreate-npy36python=3.6

删除环境(不要乱删啊啊啊)

condaremove-npy36--all

激活环境

//下面这个py36是个环境名

sourceactivatepy36

退出环境

sourcedeactivate

●2018-07-09如何把代码封装成一个linux的服务.使用的是windows的子系统ubuntu16版本.

1.在/etc/init.d中vimmyservice输入:

#-*-coding:utf-8-*-"""CreatedonMonJul919:37:312018@author:张博"""#!/bin/bash#dcription:ademo#chkconfig:23458877lockfile=/var/lock/subsys/myservicetouch$lockfile#startstart(){if[-e$lockfile];thensh~/tmp.shecho"Serviceisalreadyrunning....."return5elsetouch$lockfileecho"Servicestart..."return0fi}#stopstop(){if[-e$lockfile];thenrm-f$lockfileecho"Serviceisstoped"return0elseecho"Serviceisnotrun"return5fi}#restartrestart(){stopstart}usage(){echo"Usage:{start|stop|restart|status}"}status(){if[-e$lockfile];thenecho"Serviceisrunning.."return0elseecho"Serviceisstop"return0fi}case$1instart)start;;stop)stop;;restart)restart;;status)status;;*)usageexit7;;esacViewCode2.在vim~/tmp.sh输入:

echo'dsfasdjlfs'

3.chmod+x/etc/init.d/myserver

4.servicemyservicestart

5.屏幕输出:也就是在服务里面运行了tmp.sh脚本,之所以把tmp.sh写在了~下,因为我测试过如果写在/etc/init.d/中会提示无法打开tmp

dsfffServiceisalreadyrunning.....

以上实现了把代码封装到一个服务里面,这样只需要输入第四步代码就能运行程序tmp.sh

ps:对于windows的子系统.他们的文件系统共享的.c盘=/mnt/c2个操作系统可以互相访问和修改文件

最后预测需要做的是

1.往服务器中装上需要的库包keras等

2..py封装成服务

●记录在linux系统中装keras环境.

4.

#1.更新系统包sudoapt-getupdatesudoapt-getupgrade#2.安装Pipsudoapt-getinstallpython-pip#3.检查pip是否安装成功pip-V

pipinstalltensorflow

pipinstallkeras

把上面服务的程序改成用python运行.

第一步改成

#!/bin/bash#dcription:ademo#chkconfig:23458877lockfile=/var/myservice.backtouch$lockfile#startstart(){if[-e$lockfile];thenpython3~/tmp.pyecho"Serviceisalreadyrunning....."return5elsetouch$lockfileecho"Servicestart..."return0fi}#stopstop(){if[-e$lockfile];thenrm-f$lockfileecho"Serviceisstoped"return0elseecho"Serviceisnotrun"return5fi}#restartrestart(){stopstart}usage(){echo"Usage:{start|stop|restart|status}"}status(){if[-e$lockfile];thenecho"Serviceisrunning.."return0elseecho"Serviceisstop"return0fi}case$1instart)start;;stop)stop;;restart)restart;;status)status;;*)usageexit7;;esacViewCode第二步改成:

在vim~/tmp.py输入:

print('3232423')

提示dpkg被中断,您必须手工运行sudodpkg--configure-a解决此问题:

python路径问题:

windows,linux都可以用

dataframe=read_csv(r'c:/nonghang/output998.csv',usecols=['Sum'])这种写法来写路径,都不会报错

技巧:用差分来替换数据来去除趋势性,预测的干扰因素

0,1背包变体:

#leecode461classSolution:defcanPartition(self,nums):""":typenums:List[int]:rtype:bool"""ifsum(nums)%2==1:returnFalsetmp=sum(nums)//2memo={}defmain(obj,list1):if(obj,tuple(list1))inmemo:returnmemo[(obj,tuple(list1))]ifobj!=0andlist1==[]:returnFalseifobj==0:returnTrueiflist1[0]>obj:returnFalseforiinrange(len(list1)):ifmain(obj-list1[i],list1[:i]+list1[i+1:])==True:memo[(obj,tuple(list1))]=TruereturnTruememo[(obj,tuple(list1))]=FalsereturnFalsereturnmain(tmp,nums)ViewCode非常好的linux课程:

TCP\IP协议

ubuntu设置代理的方法:

vi/etc/apt/apt.conf

输入

之后就可以用apt-get来通过代理下载软件了.ping网站是ping不通的,因为这个方法只有apt有上网权限.

好在:装keraslinux环境全用apt

这个方法在linux子系统里面可以使用.可能需要重新启动这个子系统让他生效.

sudoapt-getupdate运行下这个必须

在虚拟机ubuntu14厘米也成功了.

改源

安装显卡的tensorflow.

我用的版本:cuda_9.0.176_win10cudnn-9.1-windows10-x64-v7.1(7.1版本的cudnn)

装好后会出现,找不到xxx.dll

这时候用管理员权限打开cmd.激活上面的tensorflow-gpu这个conda环境.再测试就好使了.

cmd里面运行session程序就能看到是不是用gpu了.

同时不用设置keras,他自动会使用gpu版本的tensorflow

●如何用编辑器来使用这个环境.进入anacondanavigator里面

从环境进入cmd.然后输入spyder即可.------------------------2018-07-13

python追加写入:用a+即可

withopen('C:/Users/张博/Desktop/all.txt','a+')asf:f.write('77777777777777777777777777777777777777')f.write('\n')

1.要把数据stationary化:用差分法

●sublime多行编辑技巧:

1.ctrl+f输入要查询的内容再点find

2.alt+F3全选查询内容

3.鼠标在文本框中点右键

4.鼠标在标题栏上点左键这时就会出现很多个鼠标光标.就可以多光标输入了

试试云Gpu主机:floydhub

发现上不去:网络不行.并且他给的配置也非常水

解决运行cnn网络出现:couldnotcreatecudnnhandle:CUDNN_STATUS_NOT_INITIALIZED的bug解决:

后来是下载的:cudnn-9.0-windows10-x64-v7.1就可以了.把他解压缩到cuda9.0文件夹里面覆盖即可.

这个包前面写9.0是cuda的标号,后面7.1是cudnn的标号.一定要对应好9.0的安装才行.

总结:tensorflow-gpu的安装.用的是cuda9.0版本,和上面的cudnn就能跑了.配环境真是麻烦.

解决Proxifier和spyder冲突的问题:

用上proxifier后发现python全不好使了.spder也不能用了.所以卸载proxifier一切都好了.神奇一个代理软件居然能把python弄坏.

现在已经知道通过设置proxifier的代理规则即可,把一些软件设置为不用代理,比如spyder.这样就可以同时使用了.

●写bash脚本:

自己的ubuntu16上面

解决方案:用bash1.sh来运行脚本即可

把图片识别继续做下去:

1.多级文件夹的文件更名操作,为了名字不重复

#-*-coding:utf-8-*-"""CreatedonSunJul1517:48:362018@author:张博"""'''右键属性,我们发现每一个图报里面有760张图片.足够了.如果不够还可以继续用keras的图片生成器来随机对图片进行平移和旋转放缩操作来对图像进行提升.提升术语说的意思是把一个图片通过这3个变换来生成很多相类似的图片,把这些图片也作为数据集,这样训练效果会跟好更入帮性.'''fromosimport*importshutila='C:/Users/张博/Desktop/图片总结/all_pic'aa=listdir(a)print(a)a=[a+'/'+iforiinaa]print(a)foriina:#i是当前文件夹print(i)tmp=listdir(i)num=(760*2//3)test=tmp[:num]valid=tmp[num:]mkdir(i+'/'+'test')mkdir(i+'/'+'valid')foriiintest:shutil.move(i+'/'+ii,i+'/'+'test')#移动文件foriiinvalid:shutil.move(i+'/'+ii,i+'/'+'valid')#移动文件ViewCode3.跑到93正确率:当然还有正则化,bn层还没加入.

等训练好了,写一个调参总结,把参数大概取什么范围定下来.其中动态学习率非常重要.

mysql傻瓜式安装:

我选择的版本是:

安装步奏:狂next,运行:不过每次使用的时候,必须进入mysql的安装bin目录才可以通过mysql-uroot-p进入.成功进入.

如果发现进不去就是因为mysql的服务没有开启,开启即可.

不好使可以试试:C:\ProgramFiles\MySQL\MySQLServer5.7\bin\mysql.exe这个直接进

复习到逻辑回归的对数loss函数不是很理解.去找书看看怎么推导的.

发现周志华的书上推导错了,极大思然写的不对,推导其实就是极大思然的公式带进去就完了.一个2项分布的释然函数而已

似然函数=p1^(y1)*(1-p1)^y0就对了.

记录solr的使用方法:

2.接下来就是创建solrCore

在solrHome,我们创建一个空文件夹core1,

把solrHome里面有别人的账号,把他的conf文件夹贴到core1里面.

在solr的管理控制台界面--coreAdmin----AddCore

3.需要做的东西是把csv文件都放到solr服务器上.因为solr只能存.json所以这里用了pysolr这个库包.

下面实现了这个上传csv到solr的功能.ps:这个库包还可以维护solr

2018-07-17,10点52lstm继续做下去

1.处理数据,加入特征

sublime编辑技巧:

按住shift,鼠标右键拉框.就能多行编辑,想选哪里就选哪里

2018-07-17,20点10对lstm预测项目的总结:

通过学习积累了处理大数据基本方法

1.要把原始数据的图像画出来,做大体走势和噪音点的分析.

3.调参和模型:

数据初始要正则化,动态学习率,参数的初始化和正则化,通过history方法可以观察是否过拟合.提高gpu使用率:可以用不同ide同时跑python程序.

其实都用cmd来跑也可以.cmd可以同时运行多个python互相不干扰.这样gpu利用率高多了.能提高调参效率

这个应该试试.

windows里面安装\卸载子系统ubuntu.出错了就卸载重装

记录java:

Syntaxerrorontoken"InvalidCharacter",deletethistokenSyntaxerrorontokens,deletethesetokens这个问题是你的空格和tab用混了.

打算安装hadoop:

没成功,各种坑

还是实验楼好,直接用.他的剪贴板功能很有用.直接把windows里面的代码能贴到实验楼的试验环境中.在实验楼里面的代码互相贴不会出现垃圾信息.

这里我们介绍一种快速生成多个哈希函数的方法。

假如,你有一个哈希函数f,它的输出域是2^64,也就是16字节的字符串,每个位置上是16进制的数字0-9,a-f。

我们将这16字节的输出域分为两半,高八位,和低八位是相互独立的(这16位都相互独立)。这样,我们将高八位作为新的哈希函数f1的输出域,低八位作为新的哈希函数f2的输出域,得到两个新的哈希函数,它们之间相互独立。

故此可以通过以下算式得到1000个哈希函数:

在数据结构中,哈希表最开始被描述成一个指针数组,数组中存入的每个元素是指向一个链表头部的指针。

我们知道,哈希表中存入的数据是key,value类型的,哈希表能够put(key,value),同样也能get(key,value)或者remove(key,value)。当我们需要向哈希表中put(插入记录)时,我们将key拿出,通过哈希函数计算hashcode。假设我们预先留下的空间大小为16,我们就需要将通过key计算出的hashcode模以16,得到0-15之间的任意整数,然后我们将记录挂在相应位置的下面(包括key,value)。

注意:位于哪个位置下只与key有关,与value无关

例如我们要将下面这样一条记录插入哈希表中:

“shiyanlou”,666#key是shiyanlou,value是666首先我们通过哈希函数,计算shiyanlou的hashcode,然后模以16。假如我们得到的值是6,哈希表会先去检查6位置下是否存在数据。如果有,检查该节点中的key是否等于shiyanlou,如果等于,则将该节点中的value替换为666;如果不等于,则在链表的最后新添加一个节点,保存我们的记录。

由于哈希函数的性质,得到的hashcode会均匀分布在输出域上,所以模以16,得到的0-15之间的数目也相近。这就意味着我们哈希表每个位置下面的链表长度相近。

对于常见的几种数据结构来说,数组的特点是:容易寻址,但是插入和删除困难。而链表的特点是:寻址困难,但是插入和删除容易。而对于哈希表来说,它既容易寻址,同样插入和删除容易,这一点我们从它的数据结构中是显而易见的。

ubuntu下载地址:

开代理又没法用vmware了

使用的是:ubuntu-14.04.5-desktop-amd64.iso这个版本

就能上网了

更新vmtools就能在ubuntu里面设置分辨率了

ubuntu使用方法.按键盘win建,输入t,就会出现terminal,把他拖到左边的快捷栏里面,打开后,屏幕左上角有edit,perform设置字体.带图形界面的linux就是简单多了.

继续装软件:

装环境一定要先切用户,各个用户之间的环境不共享!!!

spyder设置默认模板:

tools-preference-editor-advance

django

1.pipinstalldjango

2.开启vs2017

3.新建项目-python-web项目-django

4.写好后,项目上启动cmd输入pythonmanage.pyrunserver127.0.0.1:8000

注:.用proxifier中设置代理规则,里面的输入127.0.0.1:65535,规则direct即可.就不会被proxifier改代理上不去这个网了.

win10激活

解决vs2017和proxifier的冲突.

把pythonanaconda里面的程序python.exe.pythonw.exe都放到proxifier的列表里面设置direct直连即可.

如何不用pycharm来建立python的一些项目:比如scrapy(pycharm要的配置太高)

我还是用vs2017,比spyder强大多了.调试更详细

如何用vs2017建立vs2017没有模板的项目:

1.d盘建立一个目录叫爬虫练习

2.在目录里面开powershell或者cmd输入scrapystartprojectArticleSpider

3.启动vs2017,点文件-新建-项目-python-从现有的python代码-文件夹选择上面的爬虫练习文件夹-确定-下一步-完成即可.自动把文件夹变成项目了.

网易云课堂:

linux高级系统管理:技术LVM:逻辑卷

软件测试:V模型,W模型,回归测试,冒烟测试,alpha,beta,pareto原则(8,2原则)

黑盒:等价类划分法,边界值法,因果图,正交表,场景法

什么事正交表:(1)每一列中,不同的数字出现的次数是相等的。(2)任意两列中数字的排列方式齐全而且均衡!也就是说只是考虑2个因素的全排列.而不考虑全部的n排列.

所以一个3因素*2特征的实验需要4行即可.怎么算的

白盒:逻辑覆盖,判定覆盖,语句覆盖

圈的复杂度:边-节点数+2=把平面分成几个区域

linux命令:

umask设置创建的默认权限(为什么叫这个,因为User'sMask默认权限就是一个面具)

chattrlsattr设置,查看权限set_uid:chmodu+sxxx#设置setuid权限

ln-s/tmp/yum.log/root/111/yum.log创立软连接.(注:如果你用软连接时候写的不是绝对路径,那么移动文件之后,可能会bug找不到源文件)

注:ln-s命令先写主文件目录,后写小的软文件目录

硬连接:不能对目录做,他是用anode来存储的.删除一个,另一个无所谓.硬连接也不能跨分区

ls-i就能看文件的anode了.他就是文件的本质存储的位置

软连接非常实用的一个技术:磁盘文件的一种移动扩容方法.!!!!!!!

比如/boot/aming.log这个目录/boot已经满了,/root里面还很大,但是我还是要往这个/boot地址写入,那么用软连接来实现这个功能

cp/boot/aming.log/root/aming.log

rm/boot/aming.log

ln-s/root/aming.log/boot/aming.log

只需要这3行命令就够了.非常牛逼,当然也可以用上面的LVM技术对逻辑分区扩容

讲的非常好的操作系统课程.

跟io有关的就一定跟阻塞太有关,否则无关.

变量自加,自减需要利用寄存器.所以翻译成机器语言是都3句话.

记录型信号量的使用:

这个记录型信号量非常有用:例子:

一个打印机,两个工作a,b

信号量是打印机这个资源的一个描述.

记作typer,他的属性一个value=1(2个打印机就初始化为2),一个L=[],方法一个wait,一个signal,

a先进来,一个进程进来,打印就就运行wait函数.这样信号量value变成0了.因为0不小于0所以a直接运行不用等.

b这时候才进来,还是运行wait函数,这时候value就变成-1了,所以触发block函数.b进入L中

这时候a打印完了,他出来,触发signal函数.value变成0,触发wakeup函数.所以b从队列中弹出.

这时候b可以进入了,并且不用wait函数.b直接运行.

(总结:进程从外界进入打印机就调用wait函数进程是被wakeup唤醒的就直接运行!!!!!!!进程运行完毕调用signal函数)

对上面的信号量作用到多个共享资源时候发生的死锁现象,继续做优化.就是下面的and型信号量

1.互斥

2.前驱:

3.合作,同时

云计算课程:

马哥linux讲bash脚本

讲的很细

AWK高级应用:

awk'NR==1'1.txt返回第一行

awk'END{print$0}'1.txt打印最后一行

python连接mysql:pymysql基本命令:这个mysql浏览器输入127.0.0.1:3306是没用的.只能用下面的py脚本连接

pymysql基本方法:

ccna网络精品课程:

局域网用交换机连

广域网用路由器连

上来ping127.0.0.1来看网卡是不是好的.所以127就给操作系统了

ip子网掩码网络位主机位

有效的子网掩码的范围到/30

vrsm:利用子网掩码再划分来吧网络继续分割

huffman编码:

给一个字符串aabbccde对他进行huffman编码

a频率2

b频率2

c频率2

d频率1

e频率1

那么需要5个节点.结论:每一个编码都可以表示成每个非叶子节点恰好有2个子节点的2茶树,树的边上左写1右写0.

那么叶子节点表示成根到叶子的编码就是要的码

1.画树2.给编码3.按照频率大的给短的编码即可.但是树的构造需要技巧才能让最后的码最短

使用哈夫曼编码来编码字符串"aaaabbcd"时,得到的编码长度为多少

如果写成平衡树就需要16个,非平衡树就14个.这个也是分问题的

比如对abcd编码,用平衡树就更短.这个需要试.

计算机题目:

递归函数最终会结束,那么这个函数一定?

理解就是左边是一个分类问题的概率.我们已经知道了A这个事件发生了,也就是A这个物体的符合这个特征已经知道了.那么他属于Bi这个类的概率是多少

理解右边公式:分子就是P(A交B)而已.分母就是全概率公式呗表示P(A)两个一除,显然表示当A已经发生了的时候再发生Bi的概率,也就是条件概率.证毕.

应用:朴素贝叶斯也就是上面说的A的特征已经知道了.求A属于Bi类的概率.朴素贝叶斯说的是各个条件之见的影响是没有的.也就是概率上独立.

A的特征是a1,...an则P(A|Bi)=P(a1|Bi)*...*P(an|Bi)也看做极大似然.道理都一样.感觉统计学思想本质就是一个极大似然.说一堆其实化简化简都一个.

然后我们的P(aj|Bi)这个概率是通过经验或者train集来获得的.获得方法count即可.(看Bi类里面属性为aj的有多少,然后除一下Bi里面元素个数)

●分布:0-1分布,伯努利试验(二项分布,也就是多重0-1分布),

连续分布:均匀分布,指数分布(无记忆性),正态分布(3sigma:1:682:95.43:99.7)标准正态分布:φ(-x)=1-φ(x)

2维正太分布的边缘分布与参数rho无关,所以可以证明:单由一个分布的边缘分布是不能决定这个分布的联合分布的.

分布概率独立=独立=边缘概率独立(证明显然)

核心定理:怎么证明

往证:F(h,g)=F(h,.)*F(.,g)

左边=sigma所有x的取值,y的取值s.t.h=h1且g=g1的取值

右边=(sigma所有x的取值取s.t.h=h1)(sigmay的取值s.t.g=g1)利用假设证毕.

●期望:设离散型随机变量的分布是P{X=xk}=pk,那么如果级数∑xkpk绝对收敛,那么他就定义为随机变量X的数学期望。

为什么这么要求绝对收敛而不是收敛。

●重要题型:

●样本的4个分位数,箱线图,修正箱线图,我们采用中位数来描述数据的中心趋势,因为他比平均数更不受异常值干扰.

●常用计算公式:

D(X)=E(X^2)-E(X)^2(方差=先平方再期望-先期望再平方)

E(X^4)=3

证明:

所以卡方分布自由度为n:期望是n,方差是2n

●点估计:

样本均值=(x1+...+xn)/n样本方差:sum(xi-x平均)/(n-1)

●极大似然估计:

设x1,...,xn是样本值,概率密度函数是f(x,θ).

那么答案是θ取值使得Πf(x,θ)最大即可.事实上更常用的是求左面式子取ln后的极值.(因为乘机爆炸问题)

●评价估计量:

无偏性,有效性,相合性.

●正太分布的抽样的均值和方差的分布:

所以有这个非常重要的公式:最重要的公式!

中心极限定理:一个完全相同的实验重复无穷次.那么观测值的平均值是一个正态分布.

统计学2个方法;1.估计2.假设检验

假设检验例子:

解答:首先套用最重要的公式.知道(xhat-miu0)/(σ/sqrt(n))是一个正态分布.假设检验成立,那么左边这个东西的取值不可能高于1.96,因为如果他高于1.96说明

题目都很类似:继续套用一个题目:

第一步:重要定理又来了:(xhat-μ0)/(sigma/sqrt(n))=标准正态分布

假设没有参水,那么上面正态分布就一定小于z(0.05).因为拒绝域是参水了,只可能往里面放水,只能让冰点提高,不能降低.所以预测

出来的只能是是否超过上0.05分点.所以比较上面的数根z(0.05)即可.超过就说明冰点变高了.说明参水了.

实际中:用的是t检验

解释:就是用S来替代sigma就得到了t检验.拒绝域是零件寿命过小.所以是单边拒绝域.所以直接带入t(0.05)(n-1)即可.

●验证方差:用卡房检验.

●分布拟合检验:当分布不知道的时候

马尔科夫过程定义:

2.统计学方法:1.谱分析:就是用sin,cos级数组合来逼近任意一个函数.

3.做假设检验来吧序列归类.

4.方法性工具:

1.p阶差分和k步差分.(我很好奇,为啥不用比分.就是t时刻数据/t-1时刻的数据)

说白了就是仿射函数.

1.判定模型的平稳性:看图像法,特征根法,平稳域(也就是用特征根来算的)

2.平稳性和可逆性条件.

3.建模调参即可.

6.非平稳:

这不就是lagrange定理么,多项式逼近任何函数,然后加一个误差函数e.核心就是算这个多项式.

数据预处理的方法:

1.趋势分析:线性拟合,曲线拟合.(都是out的方法,怎么可能这么简单的函数就拟合了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!没卵用)

2.数据平滑法:移动平滑法,n期移动平均,指数平滑法,holt平滑法(都没乱用!!!!!!!!!!!!)

3.季节分析

4.X-11方法

随机分析方法:

1.线性趋势:用1阶差分

2.曲线趋势:用2阶

3.固定周期的序列:进行周期步长的周期差分

去除pdf的安全和加密:

下载后跑一下即可.

●xgboost就是改lossfunction改成mse+叶子结点个数+叶子节点的数值就是这3个部分了.(mse也就是上面回归树说的方差:因为预测值取的就是平均数)

实际使用xgboost:

实例:

分类

流程:假设错误率小于ε0,则计算后如果

inta;表示的是autointa;他是一个自动类型变量,表示的是你不给他赋值他就是一个随机的(也叫狗屎值),他的生命周期是他所在的括号的范围内.

staticinta;表示的是静态变量.不给他赋值他就自动表示的是0.

头文件:建立一个文件叫t2.h然后cpp文件里面输入include"t2.h"即可引入这个文件.

下面的不对:因为str是常量不能放等号左边.

charstr[20];str="ilovechina";

下面的正确:因为str是变量可以放在等号左边.

char*p;p="ilovechina";

char*p;

scanf("%s",p);错误因为p初始化时候没有开辟空间.

数字转字符:

3+'0'得到的就是数字3的字符(本质就是ascii码加3)

结构体:把不同类型的数据组合在一起.

结构体直接赋值即可,结构体数组也一样:如:

structs1{charname[20];charaddr[40];intid;};intmain(void){

s1first={"zhangsan","changzhou",3};

s1student[30];for(inti=1;i<=29;i++){student[i]=first;}printf("%s",student[10].name);

}

链表:

#include#include#include#include//可以用getch();

#include

structnode{intval;node*next;

};intmain(void){

node*p1,*p2;p1=(node*)malloc(sizeof(node));p2=(node*)malloc(sizeof(node));(*p1).val=1;(*p2).val=2;(*p1).next=p2;p2->next=NULL;

printf("%s",(p1->next->next));//取内容的运算级别最低free(p1);free(p2);return0;}

windows技巧:everything软件查询文件速度很快

忘记密码:

用大白菜u盘启动盘

angularjs教程:

表示区域块,对于区域块的东西可以同时设置属性.英文就是division切块.

ng-app=""表示这个块归我angularjs管.

ng-model="str"表示数据

ng-bind="str"表示显示绑定的位置比这个更高级的叫模板:{{}}

2句最重要的话:

1.angular和js不互通

2.开发只需要顶住数据即可.

ng-init="a=0;b=0"

ng-repeat的模板

arp投毒试验:

1.cmd里面arp-a可以看本地记录的ip-mac地址对应关系2

2.用arproof投毒,改两边mac地址,开启路由中间转发功能.

3.中间人开启抓包:账号密码就都抓到了.

4.单向绑定,双向绑定.来解决投毒攻击

DNS学习:

把郁闷转化到ip地址,用dns服务器.是典型的CS结构

流程:先给dns服务器里面A表示用的是ipv4地址.然后找根域,然后根域会给你分配给com服务区,之后又分配给baidu.com服务器.

ipconfig/flushdns清楚windows的dns缓存.

防御dns攻击的方法:

1.免费wifi:都直接指定dns服务器,他可能会修改dns.不安全.或者他可以起跟免费wifi一样的名,这样手机也直接自动连这个wifi.(设置密码也一样)

2.手动配置dns服务器地址即可!避免别人篡改dns服务.

弱口令:

1.键盘组合,自己姓名生日,身份证号,学号.

2,可以用随机生成密码本即可.

破解:

1.看端口

2.口令从高到低概率排序

3.暴力

软件:hydra只能在linux上跑

源码安装:wget命令.这个命令在哪个文件夹里面运行就,下载到哪个文件夹里面

果断centos

下载

查看无限网卡:

linux:ifconfig或者iwconfig(后者更详细)

cmd命令:

tab补全多按tab能循环

-可以帮助

netuser看用户

netuserdwl2321/add添加用户dwl密码是2321

cmd里面命令:%systemdriver%系统盘

嵌入式linux开发

arm芯片

配置环境变量:修改.bash文件./etc/bashrc/etc/profile

配置好后,命令在哪个目录输入都有效果了.

du-h/etc看目录文件的大小

cat-n2015.log显示行号.

一起显示cat-n2015.log2016.log

一起输出cat-n2015.log2016.log>log得到一个带行号的合并文件.

ps-ef|grepsshd查询进程

查看路由:

route-n

添加

routedeldefaultgwIP地址

routeadddefaultgwIP地址

routeadd-net192.168.0.0netmask255.255.255.0gw192.168.0.1deveth0

routedel-net192.168.0.0netmask255.255.255.0gw192.168.0.1deveth0

嵌入式的服务:

nfs:1.dpkg-l|grep-infs2.apt-getinstallnfs-kernel-server3.启动:servicenfs-kernel-serverrestart

看服务ps-ef

汇编:

win10没法用debug功能:这么解决.

指令以16进制存在内存中,本质是2进制.我们看起来是16的.比如FFH表示255最后H表示结尾.

数据也一样,都放内存中.

内存中最小单元叫字节bytes=2个16进制数字.也就是8位

cpu的地址线能决定cpu能找到多少个地址.找到2的N次幂个地址

一个cpu的寻之能力8kb,那么他地址线多宽:2^n=8*1024=2^13所以n=13

一kb存储1024个Byte一个Byte存储8个bit就看有没有写e.写e的大,不写e的小.

1KB的存储器有1024个存储单元.

ROM:只允许读取电没了还有

RAM:可以写入电没了就没了

寄存器里面数字的表示:

AX=AH+AL

BX=BH+BL

CX=CH+CL

DX=DH+DL

16位=8位+8位.所以既可以16位直接mov也可以移动上8位或者下8位.

实例:先-r然后-a回车movax,4E20回车再回车再-t再-r就发现ax数值变了(这里面的回车很烦).

挺乱套的,输入-a之后的命令,他会自己记录下来,不管输入多少,然后每一次-t就按顺序执行一个.

最后发现movah,al这种也一样能跑.随便位置都能随便mov

例子:

上面5条按顺序跑完就是下面对应5条.H表示的是16进制的数,闲麻烦就直接计算器.选16进制加法

把2个16进制的数7820相加即可.

movax,8226H

movbx,ax

addbx,ax

那么结果是044C也就是最高位超过了表示范围自动扔掉.(真正敲的时候必须不输入H)

物理地址=段地址*16(也就是乘以10H)+偏移地址

例如:用1230H和c8表示饿了12300+c8=123c8H这个5个数位的16进制,一个16进制是4byte,所以一共可以表示20byte.

8080cpu就是20byte的地址.用的这种表示方法.

cup是怎么区分指令和数据的

cpu把cs:ip这连个寄存器组成的地址里面的内容当成指令的

运行过程:非常重呀!!!!!!!!!!!!!!!!!

4个8进制是一个字节,2个16进制也是1个字节

CpremierPlus书:

1.字是设计计算机时给定的自然的存储单位.8位机表示一个字是8位,目前64位机表示一个字是64位.而字节是所有计算机都8位.

32位机就是说用32位的数来表示一个整数.也就是正负2^31次幂.

0前缀表示8进制的数,比如020

0x表示16进制的数.

intcost=12.99结果是cost=12

floatpi=3.1415926结果是pi是float,只有前6位有精度.

所以定义类型的时候如果不符合会自动强转换成定义的类型,但是精度和数据会变化.

一般而言,根据%s转换说明,scanf()只会读取字符串中的一个单词,而不是一整句。

字符串常量"x"和字符常量'x'不同。区别之一在于'x'是基本类型(char),而"x"是派生类型(char数组);区别之二是"x"实际上由两个字符组成:'x'和空字符\0(见图4.3)。

win10安装redis:

按照这个可以进入.

输入redis-cli.exe

设置键值对setmyKeyabc

取出键值对getmyKey

mseta30b20c10

mgetabc

rpushmylistA

rpushmylistB

lpushmylistfirst

lrangemylist0-1读取整个列表

rpushmylist12345"foobar"

lrangemylist0-1

rpopmylist

hmsetuser:1000usernameantirezbirthyear1977verified1建立一个user:1000哈希表

hgetuser:1000username读取哈希表

hincrbyuser:1000birthyear10

saddmyset123

smembersmyset

autohotkey鼠标连点的代码:2018-08-11,13点16

$LButton::Loop{GetKeyState,State,LButton,PIf(State="U"){Break}Else{Send{LButton}Sleep50}}Return

THE END
1.服务公告为给您提供更便捷的优质服务,我行将于2024年12月08日凌晨0:00至4:00实施停机维护工作,届时将暂停通过掌银、网银生活缴费渠道缴纳山东省辖内体育彩票费、福彩站点费、电费、城乡居民及灵活就业养老保险、城乡居民及灵活就业医疗保险等业务服务。维护结束后,将立即恢复相关业务服务。 https://www.abchina.com.cn/cn/branch/sd/fwgg/202412/t20241204_2437053.htm
2.对方提供给对公账号,农行,17开头。非网银转账的时候要写连接符网银打款的时候,账号开头是38-1405,里面的-要输上吗?输不输有什么区别吗?https://m.chinaacc.com/wenda/detail/xt/5202519
3.判断银行账号是否输入正确您输入的农行账号校验位不正确if((allsum %10) ==0) returnYES; else returnNO; } 3、原理 基于银行卡校验规则(Luhn算法) 案例: 当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。 https://blog.csdn.net/edison_hou/article/details/50338871
4.全国农行对公账号统一为17位。全国农行对公账号统一为17位。 A. 正确 B. 错误 题目标签:全国账号如何将EXCEL生成题库手机刷题 如何制作自己的在线小题库 > 手机使用 分享 反馈 收藏 举报 参考答案: A 复制 纠错 举一反三 在我们的日常生活中,充满着各种政府收支活动现象。从老百姓的生活小事到国家大事,大量地依靠着政府提供的财力来https://www.shuashuati.com/ti/e91f0143ec214b9d8d9bf92c0b8b3e47.html
5.账号前面的10是什么意思?帮助中心账号前面的10是什么意思? 我公司开户许可证上的账号是:645601040001634,但给客户的账户会在前面加上“10”两位数字。 这是因为目前中国农业银行全国对公账号统一为17位,即两位省市代码+15位账号,“10”是江苏省的省市代码,所以完整账号为10645601040001634。https://www.zsby.cn/view.asp?id=43
6.农业银行开户行账号多少位以下是关于农业银行开户行账号位数的详细介绍:1. 个人借记卡:农业银行个人借记卡账号通常为19位数字。其中,前6位是发卡行的标识码,第7位至18位是个人账户标识,最后一位是校验位。例如:6228480000000000000。2. 单位银行结算账户:单位银行结算账户包括基本存款账户、一般存款账户、专用存款账户、临时存款账户等。它们的https://aiqicha.baidu.com/qifuknowledge/detail?id=10052841999
7.互动网静下心,花10分钟把以下内容阅读明白,保证对您有很大帮助! ---认证篇--- 1、邮票怎么交易买卖? 答:首先在网上邮市PC端访问:https://www.yp001.net或https://www.yp001.com,和下载手机APP注册交易账号,通过实名认证后即可在网上进行挂单买卖。 2、怎么注册账号? 答:进入网上邮市主页https://www.yp001.nethttp://www.ybk001.com/announcement/62
8.农行活动怎么参加?登录网易账号:打开农行快捷活动界面。每个手机号、银行卡都只能参与一次。必须是首次开通农行快捷支付。登录网易账号。使用农行快捷支付,单笔交易满百,就可以砸金蛋。 什么是快捷支付?网易宝快捷支付将您银行卡关联您的网易通行证账户,每次付款只需要输入银行预留手机校验即可付款,该支付方式不需要开通网银即可进行网上支付http://m.qicaisi.com/bk-2683032.shtml
9.钱拨错账号的情况说明(10页)钱拨错账号的情况说明.doc,钱拨错账号的情况说明 1. 在邮政储蓄将钱打错了账号该怎样办 首先回想一下刚才输错的号码,抓紧给对方的银行打电话,例如 你是工行的卡农行去,那你抓紧用手机拨农行的服务电话, 根据提示 输入刚才输错的卡号数字,进入查询,任凭输入密码,有三https://max.book118.com/html/2021/1124/8036140007004044.shtm
10.农行手机银行怎么切换账号登陆理财 2024-10-14 4209阅读 农行手机银行无法切换账号登录,一个手机银行只能绑定一个手机号码,若名下有多张农行储蓄卡,卡主本人可以携带身份证和任意一张已经注册手机银行的银行卡,到农行柜台办理维护,把其他农行储蓄卡也维护到手机银行里,这样在一个账户内就可以使用多张银行卡。如果一定要切换账户,可以将手机银行https://cadforex.com/licai/28780.html
11.贷款方式范文9篇(全文)调查户数中10%左右的农户贷款用途为建房、治病、子女上学和消费等基本生活、生产需求;30%的农户为家庭种植、养殖、其他副业或购买小型农机具等小型生产资金需求;40%的农户为规模化种植、养殖、运输、加工等扩大化生产资金需求;20%的农户为规模化、产业化、企业化对资金的需求。农民对资金的需求不再是以往解决生活困难https://www.99xueshu.com/w/ikey5t7o1mpf.html
12.Twitter多账号管理:如何在账号间共享最佳实践?第二步我们根据大数据的特征,分析企业大数据平台要迎接大数据的挑战,应该具备什么样的能力。 第三部分,基于大数据平台要求,我们提出一个企业大数据的技术解决方案,介绍解决方案是如何解决大数据难题。 最后我看一看大数据应用当前存在的问题,未来将会怎样发展。 https://www.liedaoshou.com/article/post_103355.html
13.代发工资转换操作步骤(招商银行)(通用10篇)5.所输户名必须与一卡通户名一致,否则不能发入(中间不能有除了户名外的其他字 符) 篇2:代发工资转换操作步骤(招商银行) 第二步:根据工资发放单的字段,设置农行工资文件格式。 如:分隔符定义为“,”,编号栏顺序号设为第一列,姓名栏顺序号设为第二列,账号栏顺序号设为第三列 https://www.360wenmi.com/f/filevs1417w1.html
14.知名银行对公账号位数+编码规则+编码分析(34家)行别代码2位(安徽12开头)+交换号4位+辖带号1位+账号顺序号9位+校验码1位 编码分析攻略: 中国农业银行对公账户共17位,其中1-2位为地区代码(详见代码表),3-6位为网点代码,7-8位为币种,9-10位为账户类型,11-16位为序号,17位为校验位,其中7到10位是0104。需要注意农行银行交易明细中遇有同行的对公账户https://www.yoojia.com/ask/17-12007702098323363232.html
15.拉卡拉APP常见问题·杭州钱尔按照转账金额的千分之三收取,同行、跨行、同城、异地,都一样,2元起,10元封顶,实时到帐(2个小时以内)到帐:收费标准为转账金额的0.5%,本功能支持转入银行:(中行、农行、工行、建行);支持时间:周一至周五,早上9点到晚上5点内的交易;具体时间以系统处理时间为准。单笔最大转账金额2万,单日最大转 账金额5万,Thttps://www.kancloud.cn/mjl19940309/tfcp/940935
16.怎么查农行开户信息,我要查询我办的农行帐号怎么查5,怎样查农行卡的开户信息 您可通过以下方式查询开户行名称:1.查询他人账户和本人网银未绑定账户,请拨打95599后选5“开户行查询及综合服务”,选择1“查询开户行”,输入查询账号即可。2.查询个人网银注册账户开户行,请登录个人网银“时尚版”,点击“账户-本行账户-借记卡”鼠标移入所要查询借记卡账号“圆形图标”后http://m.cnlicai.com/bx/bxzs/128989.html
17.一个朋友给了我一个27位的农行账号,我想问一下怎么才能给他汇款你好,只要是他本人指定的账户就可以的,可以固定相关证据 https://www.findlaw.cn/wenda/q_28262530.html
18.农行网银怎么把数字证书下载到K宝里,还有以后怎么用K宝,登录网银插上K宝,打开我的电脑,点网银图标,然后付款时输2个密码就OK了,一个K宝密码,一个卡的密码 https://wenwen.soso.com/z/q273839535.htm