前往高等质量检测国家数据平台下载即可
http://udb.heec.edu.cn/passport/portal/index.html


前往高等质量检测国家数据平台下载即可
http://udb.heec.edu.cn/passport/portal/index.html

zip -r archive.zip directory -x "*/\.*"打包子目录,并忽略其中的所有隐藏文件,比如 .DS_Store 、.git
zip -r archivename.zip directorytozip -x "*.*"打包目录并忽略其中的隐藏文件。
继续阅读

// 初始化代码
function i10n(){
$current_locale = get_locale();
if(!empty($current_locale)){
$mo_file = dirname(__FILE__).'/languages/'.$current_locale.".mo";
if (@file_exists($mo_file)&& is_readable($mo_file))
load_textdomain('link-share',$mo_file);
}
}
add_action('init','i10n');上述代码为帮助插件读取 .mo 的语言文件
Text Domain: link-share
Domain Path: /languages上述代码设置插件默认的文本域标识和默认的语言文件路径
// 返回值,不输出
__( 'New','link-share')
// 直接输出
_e( 'New','link-share')上述代码为输出翻译后的结果的代码

微商,大家都不陌生,关于定义,我就不再赘述,如果还有不了解,可以看看来自维基百科的解释 。
说微商是个好东西,我主要基于以下两点:
希望微商可以好好活下去。

由于要做一个 UserScript 用到了这个功能,便顺便记录下来。
数组结构
var data = [
{
"title" :value,
"href" : value
},
...
]生成 CSV 字符串
function convertArrayOfObjectsToCSV(args) {
var result, ctr, keys, columnDelimiter, lineDelimiter, data;
data = args.data || null;
if (data == null || !data.length) {
return null;
}
columnDelimiter = args.columnDelimiter || ',';
lineDelimiter = args.lineDelimiter || '\n';
keys = Object.keys(data[0]);
result = '';
result += keys.join(columnDelimiter);
result += lineDelimiter;
data.forEach(function(item) {
ctr = 0;
keys.forEach(function(key) {
if (ctr > 0) result += columnDelimiter;
result += item[key];
ctr++;
});
result += lineDelimiter;
});
return result;
}生成 CSV 文件,并下载
function downloadCSV(args) {
var data, filename, link;
var csv = convertArrayOfObjectsToCSV({
data: data
});
if (csv == null) return;
filename = args.filename || 'export.csv';
if (!csv.match(/^data:text\/csv/i)) {
csv = 'data:text/csv;charset=utf-8,' + csv;
}
data = encodeURI(csv);
link = document.createElement('a');
link.setAttribute('href', data);
link.setAttribute('download', filename);
link.click();
}
代码来源:https://halistechnology.com/2015/05/28/use-javascript-to-export-your-data-as-csv/

在帮导师上传视频时,遇见了一个问题
为了让页面不那么空白,在放置 Video 标签时,我添加了 Poster 属性,从而使视频未播放时,可以正常的显示一张图片。一方面可以保持原有的体验不变(这里之前就是一张图片)。
但是当我真正放好了以后,发现一个问题,就是 Poster 无法完整的覆盖整个区域,大概就是填满我下方截图中所圈出的区域。两侧会有留白。而我的 CSS 是有边框的,所以会非常的丑。
一开始,我认为是 Poster 的比例问题,但是在我按照播放器的比例来切割 poster 尝试多次无果之后,我觉得问题不是出在这里。

问题出在哪里我目前还不清楚,无空深究,这里只把解决方案贴出,具体的原因待以后有空再来深究。
当前的方案是采用的 background 来实现的。
首先,删除 video 标签的 poster 属性,然后将其 preload 属性设置为 none,
接下来,添加 CSS 代码
video {
background: transparent url('video-image.jpg') 50% 50% / cover no-repeat ;
}实现后的效果如下

跳变的原因不明,后续研究。
[title]Todo[/title]
[title]拓展阅读[/title]
https://stackoverflow.com/questions/10826784/make-html5-video-poster-be-same-size-as-video-itself

由于需要统计某个网站中包含特定关键词的文章,该工作借助 google 搜索引擎的特殊语法来完成。
site: domain intitle:keywords
Code language: CSS (css)但是结果较多时,依次复制粘贴至 Numbers 中较为麻烦,便制作了该脚本,来快速导出搜索结果。
结果默认导出 title 和 link
使用时建议调整搜索设置,将搜索结果设置为100条,效果更好。

TS 文件是现在在移动端用的比较多的视频格式。
下午导师转发给我一个链接,希望我能把链接中的视频放在会议的官网。自然没有拒绝
晚上回来审查了下元素才发现原来是 ts 文件,以往没有处理 ts文件的经验,今天顺便记录下
TS 文件的命名很有规律,一般都是 xxx-01.ts 到 xxx-99.ts 具体的数目取决于视频的大小。你可以通过 Google Chrome 的开发者工具来看最终有多少个文件。
然后,可以使用下面的命令来一键下载
wget -r http://www.example.com/filename-{1..99}.ts
这样我们就成功的下载了这个视频的所有分片。
部分视频网站可能会有一些检测的机制,可能会比较麻烦
下载完成后,我们就要来合并 TS 文件了。使用下面的命令,就可以合并文件了
echo 'filename-'{1..99}.ts | tr " " "\n" > tslist
while read line; do cat $line >> filename-all.ts; done < tslist通过上述的命令,我们可以把99个ts文件合并成为一个 filename-all.ts 文件,这个ts文件就可以借助播放器来直接播放了。
这里为了方便浏览和兼容,我将 ts 文件转为 mp4 格式,代码如下
ffmpeg -i source.ts -acodec copy -vcodec copy target.mp4
https://gistpages.com/posts/download-streaming-video-ts-files

var delay = 1000;function del() { document.querySelector('.app_canvas_frame').contentDocument.querySelector('.del_btn').click(); setTimeout("yes()", delay);}function yes() { document.querySelector('.qz_dialog_layer_btn').click(); setTimeout("del()", delay);}del();在 Chrome 的调试控制台内执行即可。

输入框样式的输入框是我们在做项目时经常会使用到的。除了引用一些第三方的库来实现这样的样式,我们还可以通过代码来实现这样的效果。

具体的代码如下
func setBottomBorder(textField:UITextField){
let border = CALayer()
let width = CGFloat(1.0)
border.borderColor = UIColor.white.cgColor
border.frame = CGRect(x: 0, y: textField.frame.size.height - width, width: textField.frame.size.width, height: textField.frame.size.height)
border.borderWidth = width
textField.layer.addSublayer(border)
textField.layer.masksToBounds = true
}调用时,使用
@IBOutlet weak var firstPagePhone: UITextField!
setBottomBorder(textField: firstPagePhone)