wechat pay

微商是个好东西

微商是个好东西

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

  1. 微商降低了开店的成本:在过去的很多年里,我们想要售卖货物,就想要到街边租一间商铺,来摆上我们的货物,去售卖我们的商品;后来,淘宝的出现让我们的开店成本近一步降低,一部电脑就是一个店铺;再后来,微商的出现,借助于有赞等平台,我们将开店的成本再一次的降低,现在,一部手机,便可以开店。
  2. 微商合理的利用了用户的个人信用:在淘宝、天猫这样的平台上,你基本上是赚陌生人的钱,这让你很难和客户建立起良好的联系和信任。而依托于朋友圈的微商则可以通过不断的在朋友间口口相传来获取流量,赚取身边人的钱。从某种意义上来讲,实现了购物的分布化。

希望微商可以好好活下去。
 

environmental protection 326923 640

合理利用便不为浪费

同居的舍友早起在使用用过的快递的袋子来收拾垃圾,边收拾边嘀咕「不装垃圾就浪费了」
让我开始考虑,到底什么是浪费?
在我看来,合理的利用便不为浪费,在计算一个物品是否浪费时,我们应当以其最根本的价值来计算。比如一个快递袋子,从制作出来便是为了打包快递,如果它真的被拿去打包了快递,便是物尽其用,算不得浪费,但是如果这个袋子被拿去做了其他的用途,那便是浪费。每一个物品都有其自己的价值,如果它代替了其他物品,行其他物品之事,倘若其他物品还没有生产出来,倒也罢了,如果已经生产出来,便是浪费了。
对于装垃圾的快递袋子,我们其实是利用了其剩余价值(?),来为我们创造效益,我们应当感激它。

javascript

使用 JavaScript 来导出 CSV

由于要做一个 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/

o BROKEN HEART facebook0

你永远不会习惯他

有的人,生活态度积极,对待自己的生活也极为严谨,在选择伴侣之时,一丝不苟。
有的人,生活态度消极,对于自己的终身大事,不过得过且过,在和异性交往时,对于异性的一些小的毛病和习惯选择了忍耐,心中总是告诉自己『习惯就好了』。
然而,你永远不会习惯他。
习惯本身便是无奈之下的选择,这种无奈之下的选择会为你带来持续的痛苦,让你持续的呆在痛苦之中,最终爆发。
悲愤中的妥协,爆发或者死亡。

code 1076536 640

如何让 HTML5 的 Video 标签中的 poster 占满整个区域?

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

可行方案

当前的方案是采用的 background 来实现的。
首先,删除 video 标签的 poster 属性,然后将其 preload 属性设置为 none,
接下来,添加 CSS 代码

 video {
   background: transparent url('video-image.jpg') 50% 50% / cover no-repeat ;
 }

实现后的效果如下
luse8
跳变的原因不明,后续研究。
[title]Todo[/title]

  1. 搞清楚为何 Poster 没有占满
  2. 搞清楚为何出现跳变

[title]拓展阅读[/title]
https://stackoverflow.com/questions/10826784/make-html5-video-poster-be-same-size-as-video-itself

google 76517 640

Google 搜索结果导出 CSV

初衷

由于需要统计某个网站中包含特定关键词的文章,该工作借助 google 搜索引擎的特殊语法来完成。

site: domain intitle:keywords
Code language: CSS (css)

但是结果较多时,依次复制粘贴至 Numbers 中较为麻烦,便制作了该脚本,来快速导出搜索结果。

特性

  • 导出 Google 搜索结果为 CSV 文件

安装方法

  1. 在 Chrome/Safari 上安装 TamperMonkey (Firefox 为  Greasemonkey)
  2. 访问下载地址进入到插件页面
  3. 点击页面上的安装此脚本

使用方法

  1. 搜索后,在搜索结果页的左侧会出现一个下载搜索结果
  2. 点击按钮后,设置保存的文件名,即可将搜索结果导出为csv

结果默认导出 title 和 link

补充说明

使用时建议调整搜索设置,将搜索结果设置为100条,效果更好。

film 1668918 640

如何处理 TS 文件?

TS 文件是现在在移动端用的比较多的视频格式。
下午导师转发给我一个链接,希望我能把链接中的视频放在会议的官网。自然没有拒绝
晚上回来审查了下元素才发现原来是 ts 文件,以往没有处理 ts文件的经验,今天顺便记录下

下载 TS 文件

TS 文件的命名很有规律,一般都是 xxx-01.ts 到 xxx-99.ts 具体的数目取决于视频的大小。你可以通过 Google Chrome 的开发者工具来看最终有多少个文件。
然后,可以使用下面的命令来一键下载

wget -r http://www.example.com/filename-{1..99}.ts

这样我们就成功的下载了这个视频的所有分片。

部分视频网站可能会有一些检测的机制,可能会比较麻烦

合并 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 文件

这里为了方便浏览和兼容,我将 ts 文件转为 mp4 格式,代码如下

ffmpeg -i source.ts -acodec copy -vcodec copy target.mp4

 

延展阅读

https://gistpages.com/posts/download-streaming-video-ts-files

QQ Qzone marketing

批量删除 QQ 空间说说的 JS 代码

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 的调试控制台内执行即可。