从 model 中取数据的时候, 用下面的方法, 而不是简单的 find(1), 或 first(), 这样如果刚好要查询的数据没有, 就会返回比较友好的 404 页面: $model = App\Flight::findOrFail(1); $model = App\Flight::where('legs', '>', 100)->firstOrFail(); Route::get('/api/flights/{id}', function ($id) { return App\Flight…
Protecting the Flowers Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 3204   Accepted: 1300 Description Farmer John went to cut some wood and left N (2 ≤ N ≤ 100,000) cows eating the grass, as usual. When he returned, he found to his ho…
快速掌握iOS API的一个小技巧 周银辉 iOS SDK和Developer Library中提供了各个类以及函数的帮助文档,这很棒,但要想了解整个库的大体结构(比如UIKit下有哪些类,他们的继承关系如何)这有些让人摸不着头脑,下面有个小技巧: 打开iOS Developer Library, 点击你想要了解的Framework,以UIKit为例,好多东西都是平级地放在一起的,根本看不下去了 然后在搜索框输入: Framework Reference,绝大多数情况下都会出现一个 xxx Fr…
关于flash的制作透明gif的一个小技巧 或者说是一个需要注意的地方 1.导出影片|gif,得到的肯定是不透明的.2.想要透明背景,必须通过发布.3.flash中想要发布gif动画的话,不能有文字,必须转换成位图或者ctrl+b.也就是说:不管你怎么操作,文字必须不可编辑,只要文字还能编辑,发布出来的gif肯定文字是乱的,是个怪物. 4.上面的那个操作必须在补间动画创建前操作. 另外:我个人觉得,这是flash软件的问题,swf长啥样,gif应该也长啥样的.打散神马的应该在发布gif时检测,没…
[每日一个小技巧]Python | input的提示信息换行输出,提示信息用变量表示 在书写代码的途中,经常会实现这样功能: 请输入下列选项前的序号: 1.选择1 2.选择2 3.选择3 在python中具体的实现的方法有: print("请输入下列选项前的序号\n",\ "1.选择1\n",\ "2.选择2\n",\ "3.选择3") i = input() 结果: >>> print("请输入下…
scrapy 分页爬取以及xapth使用小技巧 这里以爬取www.javaquan.com为例: 1.构建出下一页的url: 很显然通过dom树,可以发现下一页所在的a标签   2.使用scrapy的yield scrapy.Reqeust(next_url,callback=self.parse) 构造下一页爬取的请求 Tips:使用xpath解析dom的常用处理方法: 1.查询页面上所有的div元素  :    //div 2.查询页面上指定的元素  : -通过class属性定位 例如: …
在node.js中,有了 cheerio 模块.request 模块,抓取特定URL页面的数据已经非常方便. 一个简单的就如下 var request = require('request'); var cheerio = require('cheerio'); request(url,function(err,res){ if(err) return console.log(err); var $ = cheerio.load(res.body.toString()); //解析页面内容 })…
笔者最近对scrapy的学习可谓如火如荼,虽然但是,即使是一整天地学习下来也会有中间两三个小时的"无效学习",不是笔者开小差,而是掉进了深坑出不来. 在此,给各位分享一下作为一名Scrapy框架的初学者,笔者在学习过程中遇到的各个大坑和小技巧吧. 1. user_agent 这个,在某些网站看来这无关要紧(比如笔者的网站-- 代码的边城 ),但对某些设定了反爬机制的网站来说,这是你的蜘蛛开门遇到的拦路虎.如果没有提前设定好这个参数,那你的蜘蛛连网站都进不去. 不仅网站进不去,而且它还不…
printf("%d%c",bmax," \n"[i==n]); 上文中bmax为题目中需要输出的整形变量,可以脑补很多ans,max之类的,重点在于%c和后面的" \n"(切记,\n前面要有一个空格) 当后面的执行条件i!=n的时候,%c就相当于空格 当后面的执行条件i==n的时候,%c就相当于\n 希望这个小技巧可以进一步提高大家代码的质量2333…
一.背景 最近在看一个开源框架的源码,涉及到的内容非常杂乱,有的函数不知道是在什么时候被谁给调用了?调用的时候传入了什么参数?为了解决这个问题,写了一个小的装饰器. 二.实现 这个装饰器函数主要参考了logging模块中的findCaller,源码如下: def findcaller(func): def wrapper(*args,**kwargs): import sys f=sys._getframe() filename=f.f_back.f_code.co_filename linen…
先看错误信息: java.sql.SQLException: Before start of result set at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:910) at com.mysql.jdbc.ResultSet.checkRowPos(ResultSet.java:720) at com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:5624)…
这篇随笔是我在07年写的,因为当时用了自己建设的blog,后来停止使用了,今天看到备份数据库还在,恢复出来放到这里.留着记录用. 我在使用DWR时,试了很多次都无法在动态生成的table中的一个或多个td中进行动态链接,后来才发现原来在cellfuncs中覆盖了我想定义的输出,不过无意中让我发现了可以用下面的方法来处理 方法如下: DWRUtil.addRows(id, array, cellfuncs, [options]);这个函数估计调用的人很多,而且现在支持直接将对象传给这个函数,这就方…
目标:目前越来越多的应用要支持移动设备,html5的推出,方便了页面对移动app的支持,那么我们该如何有效的去测试同时支持app和web的代码?web的测试可以使用浏览器的一些工具来辅助测试,比如ff的一些插件捕捉请求,抓包,可以来分析数据,进而验证数据的正确性与否,但是移动app该如何进行测试,如何去抓包,捕捉这些请求,客户端上是无法实现的.那么有别的方法吗?如果客户端测试你仅仅只用一个客户端来完成说明你out了.介绍一种方法来实现在pc上抓包,监控app的所有请求,测试app的代码. 需要的…
大家对如何删除数据都不陌生,我们习惯性的这么写: 其实这么写性能并不好,尤其是删除大量数据的时候,要想获得更好的性能,可以采用如下方式: 那如果要把一个表的所有数据都删除了,该怎么办?有人可能会说,这简单啊,把WHERE子句去掉不就可以了.回答正确,这是一种方法.当数据量很大时,删除数据需要很长时间,有人可能会采用先DROP TABLE,然后CREATE TABLE的方式,这是第二种方法.这样处理虽然很快,但是比较麻烦.其实还有第三种方法,更快.更简单,如下: 郑重申明,使用以上语句后,对表的操…
最近碰到一个问题就是数据库中偶尔出现一条没有id的数据,可恨的是怎么也找不到重现这个问题的原因,只好换种方式来找了,那么就是我标题所说的守株待兔方法. 因为我发现出现bug的数据库里面的数据有个字段为msg_contend的内容有个共性就是以“.png.down”结尾,并且这个内容来源的功能模块也能确定为FileTransServer.另外可以知道保存数据到数据库的方法只有一个save_a_message_item(),那么我就在这个门口设置个过滤器 “#ifdef _DEBUG... #end…
.应尽量避免在where子句中使用!=或<>操作符 .应尽量避免在where子句中使用or来连接条件 如: 可以这样查询 Union all .in 和not in 也要慎用,否则会导致全表扫描 如:,,) 对于连续的数值,能用between就不要用in了 如: .下面的查询也将导致全表扫描 如:select id from t where name like ‘%abc%’ 若提高效率,可以考虑全文检索 .如果在where子句中使用参数,也会导致全表扫描.因为sql只有在运行时才会解析局部变…
你好呀,我是歪歪. 前几天在 github 上冲浪的时候,发现了两个宝藏东西. 我也不藏着掖着了,拿出来给大家分享一下. 这两个宝藏是关于 arthas 和 SOFARegistry 的,这两个东西都是阿里开源的项目. arthas 大家应该都比较耳熟能详了,知道它是阿里搞出来的一款 Java 诊断工具. 而 SOFARegistry 是个啥玩意?好像没怎么听说过呢? 我接触这个东西的时间也不算长,但是我大概知道它是个什么东西,我觉得是一个轮子,但是这个轮子还挺厉害的. 不着急,等下就给你摆一摆…
先说一下background前段时间想实现一个Sqlite localstorage的功能,对应不同的Model 实体有不同的table, 每一次sql操作的函数签名中会有model实体中的struct结构作为参数,struct完全不同,无法抽象,如何实现呢? 方式1:每一次操作实现一个函数,如update table1(model struct1) / update table2(model struct2), 这样实现也有好处,简单明了,每个函数签名代表了最最直接的操作,最后把所有的函数签名…
协同编辑多人word窍门 近期在工作中编写标书时因为不同内容分给了各个部门去制作.可是在汇总后遇到再次改动的问题.对方把改动后的部分文档发给我粘贴到标书中后,所有的格式所有都乱了.又一次整理格式.标题,每次导入新的文档都反复这个工作,真是低效啊. 事后想想word这么高级的文档编辑工具,肯定会有解决的方法吧? 解决的方法一 文档合并 将每一个章节划分为多个文档,文档名称命名为章节编号,然后: 我们须要新建一个word文档并对这个文档的页面进行设置,使之与要合并的其它文档的页面设置保持一致,或者直…
今天在装一个东西的时候,在网上看到了这样的命令 wget  http://xxxx.sh -o -  | sh  的用法 不太明白-o -的用法于是乎man wget,看到了下面的一段话 -O file       --output-document=file           The documents will not be written to the appropriate files, but all           will be concatenated together a…
Python中Template是string中的一个类,可以将字符串的格式固定下来,重复利用. from string import Template s = Template("there are ${howmany} ${lang} Quotation symbols") print s.substitute(lang='Python',howmany=3) >>>there are 3 Python Quotation symbols 用法很简单,先生成一个模板…
我们需要生成一个gravatar格式的html.image标示,于是写了如下方法: def gravatar_for(user) gravatar_id = Digest::MD5::hexdigest(user.email.downcase) gravatar_url = "https://secure.gravatar.com/avatar/#{gravatar_id}" image_tag(gravatar_url, alt: user.name, class: "gr…
记得09年时wp爆过一个重置管理口令的漏洞, 现在用法差不多, 也是我刚刚发现, 网上也没找到有讲述关于这个的. 前提:是在有注入点(注入点的话可以通过寻找插件漏洞获得.), 密码解不开, 无法output的情况下获取shell的情况下使用的. 这个其实也不算漏洞, 就是结合起来能利用到而已. 因为wp的找回密码系统对管理员账户同样生效, 而发送至邮箱的key在数据库中同样保存下来, 所以就可以直接更改管理员密码 xD 步骤如下:1) inject出wp-users表里ID为1[或许更改, 随机…
提升程序员工作效率的工具/技巧推荐系列 推荐一个功能强大的文件搜索工具SearchMyFiles 介绍一个好用的免费流程图和UML绘制软件-Diagram Designer 介绍Windows任务管理器的替代者-Process Explorer 介绍一个强大的磁盘空间检测工具Space Sniffer 如何在电脑上比较两个相似文件的差异 程序员工作效率提升系列-推荐一个JSON文件查看和修改的小工具 将Chrome调试器里的JavaScript变量保存成本地JSON文件 分享一个开源的JavaS…
#line 这是C#中的预处理命令 Visual Studio 2008 Visual Studio 2005 Visual Studio 2012 #line hidden 指令对调试器隐藏若干连续的行,这样当开发人员在逐句通过代码时,将会跳过 #line hidden 和下一个 #line 指令(假定它不是另一个 #line hidden 指令)之间的所有行. #line hidden 指令不会影响错误报告中的文件名或行号.即,如果在隐藏块中遇到错误,编译器将报告当前文件名和错误的行号. 使…
版权声明:本文为博主原创文章,欢迎转载,转载请注明出处. https://blog.csdn.net/robertsong2004/article/details/37775313 yum 提供了丰富的工具用于支持软件包的安装. 有时候须要安装不仅仅仅仅是一个的情况下,能够使用groupinstall选项. 首先能够通过grouplist查询相应的group信息.比方须要安装开发工具的情况下, 能够使用下面命令: $ yum groupinstall  "Development Tools&qu…
作者:依乐祝 首发地址:https://www.cnblogs.com/yilezhu/p/14174990.html 在进行项目的开发的过程中, if 语句是少不了的,但我们始终要有一颗消灭 if / else 语句的心.为了消灭if / else 我们引入了 短路器 的概念. 短路器 有时候的确能精简我们的代码,但还不够,因此我参考了一个方法来继续消灭一部分 断路器 中的 if 语句.接下来就让我们拿一段事例代码来一步一步的演示下吧. 如下一段比较典型if 断路器 代码: if (someC…
也就是说选中类型的时候边框属性的选择项是不能选择的一般用if else 在类型的CHANGE方法中,现在一句话就能搞定看代码 private void m_rdbtnProID2_CheckedChanged(object sender, EventArgs e) { //if (m_rdbtnProID2.Checked) // m_groupPro1.Enabled = false; //else // m_groupPro1.Enabled = true; // m_rdbtnProID2…
在程序头部添加一行 #pragma comment(linker, "/STACK:16777216") 可有效开大堆栈 实验效果如下: 11330179 2014-08-05 18:28:17 Wrong Answer 4920 1687MS 7776K 1327 B C++ Jeremy_wu 11272238 2014-07-31 19:50:26 Wrong Answer 4891 62MS 2368K 1402 B G++ Jeremy_wu 下面是没添加这一行的运行结果 上…