本地Mysql数据库快速迁移到服务器
刚接触Django的时候,测试数据存到了mysql,在数据库往线上环境迁移的时候遇到了问题,因为图形化界面Navicat连不上远程的默认权限的数据库,后来把登录权限调的很高才勉强连上...后来随着学习的深入,接触了linux的scp命令(scp无法在windows使用),加上mysql自带的mysqldump,能很快的完成数据库的迁移将本地的数据库(fangyuanxiaozhan)导出为sql文件(fangyuanxiaozhan.sql)mysqldump-uroot-pfangyuanxiaozhan>fangyuanxiaozhan.sql用scp命令将sql文件发送到服务器scpfangyuangxiaozhan.sql远程登录账号@服务器ip:服务器目录/fangyuangxiaozhan.sqlssh登录服务器ssh远程登录账号@远程ip在服务器上登录mysqlmysql-uroot-p在服务器的mysql中新建同名数据库(fangyuanxiaozhan),然后退出mysqlcreatedataba
smartClient 1--框架介绍
一、是什么(以下简称SC)smartClient是一个基于web技术的开发框架,主要包括:一个无需安装的Ajax/HTML5客户端引擎UI组件和服务(采用富客户端RIA)---提供大量强大而美观的UI控件客户端/服务器数据绑定系统二、有什么用快速构建大型企业应用开发(无需过多关注UI),适合基于云技术的应用,主要关注业务的发展和营销,加快开发进程三、缺点1、不适合传统企业网站、内容网站(从SEO角度看,该框架适合web应用,而非web网站)2、其本质是js编写的单页面程序,对搜索引擎不友好(不利于SEO)3、IE6兼容性差四、运行1、首先运行SC需要搭建web服务器,下载SC之后http://www.smartclient.com,详见http://blog.csdn.net/womeng2009/article/details/55190448五、首页入口文件和js文件1、SC是采用单页面的形式构建web应用。因此,每个应用都有一个首页入口文件index.html(
Node.JS读取中文TXT编码文件显示乱码问题解决方案
Windows下默认的编码格式是ASNI,其实这并不是真正的编码格式。但Node.JS默认的编码、解码则是目前通用的UTF-8。因此在读取Windows默认的TXT文件时会显示乱码:varfs=require('fs')fs.readFile('readme.txt',function(err,data){console.log(data.toString())})想要解决这个问题,则可通过将txt文件另存为UTF-8来解决,或者安装编码解码模块iconv-lite是由JavaScript编写的,没有任何依赖的一个库。支持众多格式的编码和解码。比如上文中的TXT文件,则可以用iconv-lite来用gbk解码:varfs=require('fs')variconv=require('iconv-lite')fs.readFile('readme.txt',function(err,data){console.log(iconv.decode(data,'gbk'))})
JS转换转义字符
这周在开发后端系统的时候,遇到了需要将后端传过来的转义字符进行转义然后再渲染到html中,因为之前也没有遇到过,所以研究了研究,记录一下。记得上大学时候学习C语言就有提到过转义字符,比如\n表示回车,\t表示水平制表符等等。其实所有编程语言都有转移字符,转移字符出现的原因基本上就两点:使用转义字符来表示字符集中定义的字符,比如ASCll里面的控制字符及回车换行等字符,这些字符都没有现成的文字代号。所以只能用转义字符来表示某一些特定的字符在编辑语言中被定义为特殊用途的字符。这些字符由于被定义为特殊用途,它们失去了原有的意义。例如在html中,<被HTML定义为标签的开始,所以当我们转入<时,HTML就会把它当作为开始,而不是当作一个<来看待由于不同的语言关键字不同,例如在一般的编程语言中,"会被当作代码的一部分,但是在html中它会被直接渲染,再如常见的编程语言中\n表示回车,但是在html中
表示回车这就导致了如果后端返回的是想要在前端展示的一段
Entity Framework——常见报错总结
1实体属性配置为IsRequired()对更新的影响抛出异常类型DbEntityValidationException表结构:实体:publicclassUser{publicintId{get;set;}///
千万别让程序员带孩子,否则你一定很后悔!
最近一个在小型创业公司工作的程序员朋友和我说:“我们公司,两个前端,三个php,一个ios,一个安卓,还有一个UI,可怕的是只有这个ui是妹子。。。”他还说,这个学UI的妹子经常吐槽他们不懂幽默,不理解女生,只会整天敲代码,出bug。注孤生。扎心了。。。程序员是一个随着第三次工业革命诞生的职业群体,拥有专业技能、爱代码、爱编程、爱生活,为互联网的飞速发展作出了卓越贡献~~人们口中的他们是这样的:干得比驴累,吃得比猪差;起得比鸡早,睡得比狗晚;看上去比谁都好,五年后比谁都老。所以,有一个这样的程序员爸爸,到底是种什么样的体验。跟爸爸说长大以后我也要当前端程序员,然后他是这样回答我的。儿子:爸,我想学习前端,当程序员。爸爸:哦,那你先买40公斤面粉来!儿子:啊?为什么?我一个人怎么搬?爸爸:自己想办法。20分钟之内搞定!儿子:时间也太短了吧!爸爸:还有,不要面粉了。要低筋粉。还剩5分钟。儿子:要求变太多了吧!爸爸:儿啊,我看你当不了程序员。前端程序员的路不是谁都可以走的,看看你老
程序员的核心能力
程序员要掌握的知识,要具备的能力实在太多,多得头发都不够掉。大体有两大方向。一是对工具的熟练掌握,如操作系统、网络、IO、编程语言等;另一个是用代码为现实问题生成解决方案的能力,这其中最重要的是抽象能力。前一个方向是很容易意识到的,很多现象可以说明这一点,比如,世面上介绍如何使用语言、框架的书汗牛充栋;比如,很多人眼里进这一行的门槛是上1个月的语言培训课。工具的意义不容否认,为此我还写过一篇《工具优先》。但工具的生命周期其实很短,从个人发展角度看,把过多时间投入到半衰期很短的事物上,并不划算。我入门时接触的是Pascal,BasicScript,ASP,IIS,不知道现在还有没有人用这些。很多程序员也赶时髦,本来写java的,golang流行了,python流行了,学!本来搞业务开发的,大数据火了,机器学习火了,学!打的旗号自然很鲜明:持续学习。几次之后,却怅然若失,貌似没一个是拿得出手的,不过是低水平重复,换个工具,继续做原来的事而已。充其量效率提高了,但效率型工作是可替代性最强的,被其它人替代,被机器替代。一颗上进爱学习
【数据库】MySQL5更新大数据错误
当MySQL进行数据插入或者更新的时候,可能会报出以下错误:###Errorupdatingdatabase.Cause:com.mysql.jdbc.PacketTooBigException:Packetforqueryistoolarge(1591442>1048576).Youcanchangethisvalueontheserverbysettingthemax_allowed_packet'variable.###TheerrormayinvolvedefaultParameterMap###Theerroroccurredwhilesettingparameters###SQL:UPDATEIGNOREt_articleSETa_title=?,a_abstract=?,a_atid=?,a_atsid=?,a_content=?,
使用Gulp构建前端自动化方案
使用Gulp构建前端自动化方案前言在刚入门前端的时候,我们并不清楚前端有工具可以帮我们自动化打包压缩文件,当时只关注能实现功能就可以了,也不太在意前端性能优化的问题,随着项目功能的复杂,项目也变得越来越大,页面的执行速度也开始变慢,因此我们认识到了前端优化的重要性,但是之前的压缩打包都是需要我们自己手动执行或者去直接转化的网站进行转化,这无疑增加了我们的工作量,作为程序员,我觉得更重要的是让程序去执行我们想执行的东西,于是我便google了起来,查到了grunt和gulp,两者都是自动化打包,但是grunt的一大堆繁杂的配置参数让我头疼不已,直到我打开了gulp的官网,仿佛打开了新世界的大门,没有一大堆繁杂的配置参数,其API也是非常简单,学习起来很容易,而且gulp使用的是nodejs中的stream流来读取和操作数据的,使其速度更快。于是就有了下面的实践了。在这里已经默认你已经了解过gulp的入门了并已经安装了node.js,如果不了解的话请自行百度。创建工程目录首先,先建立一个工程目录,正所谓好的目录就是工程的骨架,能让别人一
axios跨域
returnnewPromise((resolve,reject)=>{http.post(api.ADMIN_USER_LOGIN,userinfo).then(response=>{//200if(response.data.status===configs.status.SUCCESS){commit(types.SET_USER,response.data.userinfo)resolve(response)}else{reject(response)}},(err)=>{reject(err.response)})});请求后浏览器报错Failedtoloadhttp://server.a.com/xxxx:No'Access-Control-Allow-Origin'headerispresentontherequestedresource.Origin'http://a.com'isthereforenotallowedaccess.Theresponse
JS精简知乎网页,并转换为kindle阅读格式
不过是为了完成所需而已学习罢了———js初步一直想把知乎的收藏夹里面的内容导入Kindle后阅读,毕竟也不能浪费Kindle电子墨水啊,电脑屏幕实在是太伤眼了/摊手之前在知乎上用了一下如何保存某位知乎用户的所有答案?里面的软件,并不好用,图片会缺失,这让没有强迫症的我也有点蛋疼,没图看个屁啊!!!/摔最近实在有点闲,(其实事情挺多但是,拖延症啊啊。。)在知友的启示下,发现js也可以用来做这件事情,把网页转为简单的html,然后通过Calibre转为epub、mobi等格式放在Kindle上阅读,效果还不错。javascript:void((function(){$(".zu-edit-button").remove();varlist=$(".zm-editable-content");vark,strs=[];document.write("
"+document.title.substr(0,document.title.length-4)+"
");for(k=1;k一步一步带你实现virtual dom(二) -- Props和事件
很高兴我们可以继续分享编写虚拟DOM的知识。这次我们要讲解的是产品级的内容,其中包括:设置和DOM一致性、以及事件的处理。使用Babel在继续之前,我们需要弥补前一篇文章中没有详细讲解的内容。假设有一个没有任何属性(props)的节点:
Babel,在处理这个节点的时候会把节点的props属性设置为“null”,因为它没有任何的属性。因此我们会得到这样的结果:functionh(type,props,...children){return{type,props:props||{},children};}设置props设置props非常简单,记得DOM显示吗?我们把props作为简单的js对象来存储,所以这样的标签:前端本地文件操作与上传
前端无法像原生APP一样直接操作本地文件,否则的话打开个网页就能把用户电脑上的文件偷光了,所以需要通过用户触发,用户可通过以下三种方式操作触发:通过inputtype=”file”选择本地文件通过拖拽的方式把文件拖过来在编辑框里面复制粘贴第一种是最常用的手段,通常还会自定义一个按钮,然后盖在它上面,因为type=”file”的input不好改变样式。如下代码写一个选择控件,并放在form里面:
然后就可以用FormData获取整个表单的内容:$("#file-input").on("change",function(){console.log(`filenameis${this.value}`);letformData=newFormData(this.form);formData.append("fileName",this.value);【Win 10 应用开发】UI Composition 札记(八):用 XamlLight 制作灯光效果
前面老周已介绍过灯光的使用,如果你忘了,请用九牛二虎之力猛点击这里去复习一下。本篇老周再介绍另一种添加灯光的方法,这种方法是专为XAML元素而设计的,可以很方便地为可视化元素添加灯光效果。不知道大伙伴是否发现,UIElement类公开了一个Lights属性(15063,v1703,或更高版本),它是一个列表,可以添加若干个XamlLight对象。通过这个属性,我们也能为XAML可视化元素设置灯光。虽然我们看到XamlLight类有构造函数,但是,它不是直接使用的,因为它一些重要成员都声明为protected,这在外部类是无法访问的。所以,你必须自己派生出一个自定义的类型,然后为这些成员设置相关的内容。为什么这样做呢?你想想啊,如果只实例化这个类,运行时根本不可能知道你要用啥灯光,故你得自己去动手写。先看看这些重要成员是啥。protectedvirtualvoidOnConnected(UIElementnewElement);protectedvirtualvoidOnDisconnecte
活该你月薪三千,我就是60w年薪怎么的!
程序员你伤不起封面值得注意的是书中的作者本身是一个小牛,没毕业前已经在大企业工作过很长时间了(.Net开发为主,C、java都有猎取),03年前就可以自己接企业项目了,但是后来还是遇到过很多挫折,主要是创业方面的惨痛经历。通过本书,你会看到,即使你并不天赋异禀,成不了乔布斯和马云,但你依然可以有所成就,成为幸福的人。(一)三年前的一个项目经验主要讲的是作者帮公司拉了一个政府的项目,但是由于经验较少,谈的价格很低,还有很多细节刚开始没有谈到,后面相当于收了很少的钱,給政府干了一个比较完善的项目,这节的经验就是:程序员一般不应该直接和客户谈项目,应该让专业的人去谈,他能把10万的项目谈到50万或更多。(二)2005年我的第一次软件创业,烧掉30万,两年时间打水漂教训1.手上有技术,但是没有客户,没有产品,就靠着一腔创业的热血和对软件行业的爱好!教训2.团队不稳定,各种经费、杂费、水电给、租房费、设备费,制度不够完善,成本没有控制好。教训3.自己辛苦培养出来的技术人才,被客户三两下就要走了!人员的思想工作要做好。教训4.小
理想中的软件交付过程
一、前言软件交付过程是用代码实现各用户关注点的过程,也是架构真正经受第一轮实战考验的过程。软件交付的结果可以检验架构是否真正地如之前所设计的那样能满足各方面用户的关注点。所以软件交付过程是否理想很大程度决定了架构设计的落地是否理想,也决定了系统满足各用户关注点的效果是否理想,那什么才是理想的软件交付过程呢?二、从国内IT行业加班多说起国内IT行业历来都是加班多的代名词,那为什么国内IT行业加班这么多呢?先通过笔者身边的一个真实的故事来说起:笔者的朋友小N在国内一家大的公司工作,这一年来他加班都特别多,每天平均在晚上十一点多才能下班,有时候还需要连续搞几个通宵,人看起来非常疲惫。跟他聊了以后,了解了导致他加班的几个主要原因(问题有点多,但确实是如此):原因1:上个上线的版本用户在使用过程中存在比较多的问题,需要进行紧急的支撑和补丁升级。原因2:很多时候上面的领导需要给更上一级的领导演示,需要在版本的开发工作外额外再开发一个演示的版本。据他预计可能50%左右的版本外的工作都是给领导做演示版本。原因3:公司层面要求内部所有的系统云化
从普通人买苹果和程序员买苹果的区别看编程的复杂性
这个流程怎么样?我来设计一些测试样例,测试一下这个流程。测试发现一个问题:如果水果店0和水果店1都有红富士苹果并且价格都低于10元/斤,而且水果店1的价格比水果店0更低,那么我希望买水果店1的苹果,但我设计的流程会让我买水果店0的苹果。为了解决这个问题,我应该先询问所有水果店的价格,然后去价格最低的那一家买苹果。经过修改,我重新设计出以下的买苹果的流程:
nosee的LAMP搭建系列二、php安装与配置
【nosee的LAMP搭建系列集合】——传送门:《nosee的LAMP搭建系列一、Apache安装》、《nosee的LAMP搭建系列二、php安装与配置》、《nosee的LAMP搭建系列三、MySQL安装与配置》、《nosee的LAMP搭建系列四、集成环境phpStudy安装》。系列三、四小编正在努力code...安装Apache安装Apache的步骤这里不再重复介绍,如果还没有搭建好你的Apache服务器,那么请先回到我的上一篇文章《nosee的LAMP搭建系列一、Apache安装》。安装php-5.6.32依然是使用源码安装的方法,需要了解源码安装可查看《Linux软件安装管理之——源码安装详解》。参考(官方文档):http://php.net/manual/zh/install.unix.apache2.php1、到官网去下载php-5.6.32的源码包参考(官方网站):http://www.php.netphp-5.6.32下载地址为:http://hk1.php.net/get/php-5.
Memcached 及 Redis 架构分析和区别比较
Memcached和Redis作为两种Inmemory的key-value数据库,在设计和思想方面有着很多共通的地方,功能和应用方面在很多场合下(作为分布式缓存服务器使用等)也很相似,在这里把两者放在一起做一下对比的介绍基本架构和思想首先简单介绍一下两者的架构和设计思路MemcachedMemcached采用客户端-服务器的架构,客户端和服务器端的通讯使用自定义的协议标准,只要满足协议格式要求,客户端Library可以用任何语言实现。从用户的角度来说,服务器维护了一个键-值关系的数据表,服务器之间相互独立,互相之间不共享数据也不做任何通讯操作。客户端需要知道所有的服务器,并自行负责管理数据在各个服务器间的分配。在服务器端,内部的数据存储,使用基于Slab的内存管理方式,有利于减少内存碎片和频繁分配销毁内存所带来的开销。各个Slab按需动态分配一个page的内存(和4Kpage的概念不同,这里默认page为1M),page内部按照不同slabclass的尺寸再划分为内存chunk供服
LCTF2017 web writeup
简单整理下web部分的writeup以及做题思路。历史总是惊人的相似。。。话说求个二进制队友组个业余队打打ctf啊。SimpleBlog扫到了.admin.php.swp,恢复了以后发现存在php格式化字符串问题导致的注入,可参考从WordPressSQLi谈PHP格式化字符串问题。不过前提是要有admin的session,当前的条件还不太够。于是手工尝试.login.php.swp,发现也存在泄露。可以用paddingoracleattack攻击让session为1。这里有个坑就是由于只有一个分组,只能跑出后15位,第一位需要爆破。(因为当只有一个分组的时候是不存在16位都padding成0x10的情况的)"他们"有什么秘密呢?典型的赛棍题。。。以下这一堆函数可以利用报错爆出当前列、当前表、当前数据库。multiPolygon(id)multilinestring(id)linestring(id)GeometryCollection(id)MultiPoint(id)polug