- 博客(38)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 白帽子讲Web安全-服务器端应用安全
1.注入攻击 注入攻击的本质,是把用户输入的数据当做代码执行。两个关键条件:一是用户能够控制输入,二是原本程序要执行的代码,拼接了用户输入的数据。1.1SQL注入 SQL注入,是构造SQL执行语句拼接在输入参数中,从而执行SQL。若Web服务器开启了错误回显,则会披露敏感信息,为攻击者提供更大便利。 SQL盲注,是在服务器没有错误回显时完成的注入攻击。常见验证方法...
2019-07-28 18:16:30
491
原创 改善Python代码的建议-内部机制
《编写高质量代码:改善Python程序的91个建议》笔记之内部机制:知其然知其所以然1.理解built-in objects在Python2.x中,默认都是经典类,只有显式继承了object才是新式类,即:class Person(object):pass 新式类写法class Person():pass 经典类写法class Person:pass 经典类写法在Py...
2019-07-21 17:38:16
228
转载 Python Import机制
最近在看《Python源码剖析》,对Python内部运行机制比以前了解的更深入了,感觉自己有机会也可以做个小型的动态脚本语言了,呵呵,当然是吹牛了。目的当然不是创造一个动态语言,目的只有一个:更好的使用Pyt...
2019-07-18 16:50:08
840
原创 白帽子讲Web安全-客户端脚本安全
1.安全世界观1.1安全三要素机密性Confidentiality:要求保护数据内容不能泄露,加密是实现机密性要求烦人常见手段;完整性Integrity:要求保护数据内容是完整,没有被篡改的;可用性Availability:要求保护资源是“随需而得”。1.2实施安全评估资产等级划分:对数据做等级划分,后划分信任域和信任边界;威胁分析:可能造成危害的来源称为威胁,威胁分析...
2019-07-16 15:59:33
6639
原创 Elasticsearch基本原理及使用
Elasticsearch使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。Elasticsearch是分布式的实时文件存储,每个字段都被索引并可被搜索,也是一个实时分布式搜索和分析引擎。1、基本术语文档(Document)文档是索引和搜索的原子单位,它是包含了一个或多个域...
2019-07-16 15:32:05
360
原创 impala使用及调优
Impala是基于Hive的大数据实时分析查询引擎,直接使用Hive的元数据库Metadata,意味着impala元数据都存储在Hive的metastore中。Hive适合于长时间的批处理查询分析,而Impala适合于实时交互式SQL查询。在impala中一条SQL语句先后经历BeeswaxService.Query->TClientRequest->TExecRequest,...
2019-07-14 17:36:23
1776
原创 Kafka基本原理及基本使用
Kafka架构包括以下组件:话题(Topic):是特定类型的消息流。消息是字节的有效负载(Payload),话题是消息的分类名或种子(Feed)名。生产者(Producer):是能够发布消息到话题的任何对象。服务代理(Broker):已发布的消息保存在一组服务器中,它们被称为代理(Broker)或Kafka集群。消费者(Consumer):可以订阅一个或多个话题,并从Broker拉...
2019-07-14 17:26:19
392
2
原创 Rails定时任务
1.Gemfile中增加gem包:gem 'whenever'2.在项目目录下执行whenever初始化命令,在config/下生成schedule.rb文件:wheneverize .3.编辑config/schedule.rb文件:every 3.hours do # 1.minute 1.day 1.week 1.month 1.year is also suppo...
2019-07-14 17:19:04
594
原创 Sidekiq异步任务
Sidekiq 是一个多线程的后台任务处理系统,基本概念如下:job :某一个任务的一次执行;worker:Sidekiq是使用 Celluoid 来完成其多线程的控制的, 而 Celluoid 是 Ruby 中的多线程模式 Actor 模式的实现,worker按照任务列表执行任务;queue:队列用于区分任务并且让任务排队, Sidekiq 中将每一类的任务使用一个 queue 来...
2019-07-14 17:05:11
788
原创 Linux常用命令
1.ps:查看进程状态,progress status常用参数: -A :所有的进程均显示出来 -a :不与terminal有关的所有进程 -u :有效用户的相关进程 -x :一般与a参数一起使用,可列出较完整的信息 -l :较长,较详细地将PID的信息列出示例: ps -eLf | wc -l #查看进程数 ps a...
2019-07-14 16:24:03
139
原创 MySQL分页查询及常用命令
1.MySQL分页查询:一般的分页查询使用简单的 limit 子句就可以实现。limit 子句声明如下:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offsetLIMIT 子句可以被用于指定 SELECT 语句返回的记录数。需注意以下几点:第一个参数指定第一个返回记录行的偏移量,注意从0开始 第二个参数指定返回记...
2019-07-14 11:36:01
1009
原创 Rails 浅谈 ActiveRecord 的 N + 1 查询问题
问题原因:在Rails中使用ActiveRecord时,常会嵌套遍历model查询数据,或者一次查询某个表的所有数据,此时查看日志或在交互终端测试代码发现,sql语句是执行多次(N+1次)的,如下执行结果:Post.all.map{|post| post.comments}Post Load (0.3ms) SELECT "posts".* FROM "posts"Comment Lo...
2019-07-14 10:48:17
346
原创 curl请求耗时分析
如果碰到某个请求响应特别慢,可通过curl -w命令及选项设置如下步骤分析原因:1)新建一个curl.txt文件,写入如下待确认的选项:http_code: %{http_code}\ncontent_type: %{content_type}\ntime_namelookup: %{time_namelookup}\ntime_connect: %{time_connect}\n...
2019-06-10 16:29:02
7384
原创 rails 下搭建RSpec测试环境
1,在项目Gemfile文件下添加如下gem包:group :development, :test do #封装 RSpec 的程序 gem 'rspec-rails', '~> 3.5.2' #把 Rails 生成测试数据默认使用的固件换成更好用的预构件 gem 'factory_girl_rails','~> 4.7.0' endgroup :t
2016-09-12 14:51:50
1770
原创 ubuntu 14.04 安装adobe flash
安装方法:1. 下载Adobe Flash Player:请从Adobe官方下载https://get.adobe.com/cn/flashplayer/,选择tar.gz for linux版本。2. 解压Adobe Flash Player压缩包:进入到保存Adobe Flash Player压缩包的路径,使用如下命令解压:$tar -zxvf install_fl
2016-06-29 11:09:06
386
原创 Elastic Search安装及使用
1,ES安装步骤 1)先安装jdk $ sudo add-apt-repository ppa:webupd8team/java $ sudo apt-get update $ sudo apt-get install oracle-java8-installer $ java -version 2)下载安装ES
2016-06-16 17:42:33
583
原创 mysql中文乱码问题
今天写数据进数据库时,发生了个中文不显示的状况,网上解决办法很多,自己还是记录下。进入mysql数据库后: > show variables like 'character_set_%';#查看字符集设置 > SET character_set_filesystem = utf8;#不是utf8格式的字符集全部修改为utf8格式清空原有数据并重建原有的table表(如果
2016-04-14 14:37:40
273
原创 rake db相关命令
好不容易创建的表格和字段,但是写入数据库的内容有误,纠结了好久,才发现rake db还有这么多用法:1,$rake db:rollback #回滚到最近一次的migrate状态,改变的是migrate文件夹下的内容,即数据库的结构,不涉及数据2,$rake db:migrate VERSION=20160330022745 #将数据库回滚到制定版本,根据migrate文
2016-04-14 12:04:41
649
原创 ssh密钥与git
在本地克隆远程库项目代码时总报错:$git@gitcode.aggso.com's password: Permission denied, please try again.1,首先,查看本机是否存在对应密钥: $ ls -al ~/.ssh如果存在,则有类似以下的信息:id_dsa.pubid_ecdsa.pubid_ed25519.pub2,
2016-04-12 10:57:40
394
转载 JavaScript绘制情人节玫瑰
原创博客:http://www.romancortes.com/blog/1k-rose/中文翻译:http://www.youkuaiyun.com/article/2012-02-09/311621使用了多个不同的形状图来组成这朵代码玫瑰。共使用了 31 个形状:24 个花瓣,4 个萼片,2 个叶子和 1 根花茎,其中每一个形状图都用代码进行描绘。这朵三维代码玫瑰的呈现效果采用了蒙特卡罗方法,
2016-03-31 09:24:14
699
原创 ubuntu下安装RubyMine
1,安装Ruby,Rails,RVM,Gem环境详见:https://ruby-china.org/wiki/install_ruby_guide2,安装ImageMagick插件,Redis数据库$sudo apt-get install imagemagick$sudo apt-get install redis-server #安装redis3,安装mysql和
2016-03-30 17:54:05
2749
转载 ubuntu的mysql卸载与安装
转自博主: http://blog.youkuaiyun.com/richar1/article/details/453368751、删除 mysql1 sudo apt-get autoremove --purge mysql-server-5.6 //此处为自己mysql版本2 sudo apt-get remove mysql-server3 sudo apt-ge
2016-03-23 14:31:51
321
原创 ruby与web代码结合(二)
一.表头筛选后台控制,记录选中状态:在controller方法里面:params[:condition] ||=["appNumber","title","appDate","applicantName","lprs"]@condition = params[:condition]在html页面代码里面:添加选项 />专利号
2015-12-31 14:50:16
324
原创 ruby与web代码结合(一)
一. 页面元素固定在某一位置:1)2).page{ position: fixed;right: 20px; top: 93%; }二.加入表头筛选条件添加样式:/*添加列表JS*/$('.add-up').click(function(){$(this).toggleClass("active").nex
2015-12-31 14:44:41
506
原创 web前端基本用法(二)
一. jQuery滑动效果click to slide the panel down orupHello world! $(document).ready(function(){$("#flip").click(function(){$("#panel").slideToggle("slow");}); }); 二.jQuery
2015-12-31 14:12:46
763
原创 Web前端基本用法(一)
一 . 点击按钮显示摘要1.在...中加入如下一行代码:')">^2.在末尾加入JS代码如下: function show(x){$(".alert_dialog").toggle();#切换hide()和show()方法$(".alert_dialog").html(x);} function cancle(){$(".
2015-12-23 11:58:56
799
原创 sublime text3中文输入法设置
在此先感谢LunnLew的分享,在此基础上我还有一点问题,本文做些补充。http://jingyan.baidu.com/article/f3ad7d0ff8731609c3345b3b.html目前在Ubuntu14.04环境下,已有搜狗输入法 for Linux和Sublime Text 3的情况下安装成功。步骤1:新建文件sublime_imfix.c写入以下代码并保
2015-12-14 10:49:35
1760
原创 工资计算系统
一/确定四张表egolds一金表,ins五险表,wages工资表,users用户表。二/确定一对一的关系 class Wage # attr_accessible :title, :body has_one :ins has_one :egold end class Egold # attr_accessible :titl
2015-12-08 16:04:13
859
原创 Web开发敏捷之道学习(三)
第10章 更智能的购物车1)ActiveRecord小技巧:find_by。ActiveRecord模块注意到调用未定义的方法,且发现其名称是以字符串find_by开始和字段名结束,则动态构造查询器方法findermethod,并添加到类中。def add_product(product_id) current_item =line_items.find_by_product_id
2015-12-01 11:22:26
575
原创 Web开发敏捷之道学习(二)
第八章 商品目录显示收获:1/config/routes.rb文件加入如下代码,可指定根网址:1)#You can have the root of your site routed with "root"# just rememberto delete public/index.html.# root :to =>'welcome#index'root :to =>'st
2015-11-30 12:07:29
278
原创 Web开发敏捷之道学习(一)
第六章,创建商品维护程序 收获:1/通过seed.rb文件设置样式表Product.delete_all Product.create(:title=> 'Programming Ruby 1.9', :description => %{ Ruby is thefastest growing and most exciting dynamic language o
2015-11-30 12:02:33
381
原创 企业汇报系统细节追加(三)
1)局部模板 1>company/index.html.erb文件有如下代码: 'table_list',:object => @docssss)%> #局部模板块 2>doc_controller.rb定义方法query 3>query.js.erb文件代码如下: $("#table_list").html(""); #页面
2015-11-29 13:05:03
381
原创 企业汇报系统细节追加(二)
项目3 报表系统1.发布时间和 审核时间 查询 加上 日期控件2.添加 每层级上传功能,下载功能3.文档列表,加上分页功能1)发布时间和审核时间查询 加上日期控件http://www.bootcss.com/p/bootstrap-datetimepicker/ 1>在app/assets/stylesheets下增加datetimepicker.css/bo
2015-11-27 17:16:19
309
原创 企业汇报系统细节追加(一)
1)session的使用: 赋值:session[:user_id]=@user.id 取值:logger.infosession[:user_id] 注意:将controller里面protect_from_forgery语句去掉,使能session。session也是Hash对象--key=>value,我们通过key[:user_id]找到对应的value[126]2)
2015-11-24 17:16:05
333
原创 基于ruby on rails的企业汇报系统
企业汇报系统基础功能实现:1.添加单个企业展示2.在企业下可以添加 层级,可以无限叠加3.每个层级下可以展示汇报文档点击单个文档标题 可以查看文档内容1/确定数据库表,即单个企业的基本展示信息1)company公司部门层级表,应有的属性name,pre.id等2)doc文档信息表,应有的属性title,content,com_id等3)user用
2015-11-24 08:35:17
405
原创 Ruby on rails基本框架搭建
1/新建项目$rails new depot -d mysql2/进入文件夹目录$cd depot3/x修改项目文件Gemfile----source 'https://ruby.taobao.org'(国内镜像源)/gem 'mysql2','0.3.11'(指定数据库)config/routes.rb----match ':controller(/:action(/:i
2015-11-15 19:48:05
451
转载 如何提问
在逛坛子时有个很深刻的感受,有些问题其实都是很简单的,如果自己再多一点思考,再多去查找写资料,在学习的过程中也是如此。在提问之前应该自我反思是否做到以下几点:1、通读资料手册,试着自己找答案。2、在FAQ找答案,比如一般软件都自带有一份帮助使用文档,那是整个研发团队针对可能出现的各种问题的解答,还有比这个更全面的吗?3、在网上搜索,在以上基础上还不能解决的,那就找贤惠的度
2015-04-23 13:48:33
1220
C51单片机程控滤波器的程序
2014-03-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人