2017年12月

按理,年底了应该总结一下,不过日子过得稀疏平常,倒也没什么值得写的;之前一直上夜班,今天代个早班,出门后呼吸了一下轻霾掩盖下还算清新的空气,不禁暗自感叹:“一年又过去,这样的日子还能过多久~”。

篇一:夜谈与出租司机

从上月21号开始上夜班,一直到现在,期间貌似也没有休息过,上班时间下午5点——凌晨1点。这段时间,整个人应该是处于极度颓废的状态,每天都是下午三四点钟起床,然后下班回来凌晨三四点睡觉,可以说生物钟与常人刚好的颠倒了。

不愧是冬季,南方的冬季更是一种魔性的冷。公司距离我住的地方不远不近,打车的话约莫12RMB的样子。我是个喜欢安静又害怕安静的人,如果旁边有个人,不说点儿什么我总是觉得不自在。通常便是与司机随意侃几句,至于话题就多了,天文地理人文历史科技,思绪多远就聊多远。往往也正是这种时候,才会忘掉自己的贫穷,生活的苦闷与不堪。

篇二:迷茫的自己迷失在生活里

还是那句话,在生活困难的时候,不管是什么工作,给钱我就做。这么说,可能很多人会觉得我太没志气了;我本身就没什么志气,而且我觉得在生活困难的时候,大多数人都会这么做的吧~!

我本身是从事美术设计工作的,技术算不得多好,对工作也没有太多挑剔,目前的状况是能维持生活就好。

我也想着能不能做点什么挣钱的,或者能不能根据自己的兴趣爱好来抉择。可惜的是,我兴趣爱好太广泛了,什么都想接触一下,但是都研究得不深,发展潜力不大。

篇三:一点现实——>>一点计划

一点现实:我父亲离职了,下一步还没想好;我工作不稳定。
一点计划:继续工作,继续参考,筹划销售家乡特产。

现在很多人都在搞前端,页面背景也是各种高大上,炫酷无比,其中有一种像下方图像的,非常酷的动态蜘蛛网,会随机连接,也能跟着鼠标动,下面就分享两种实现动态蜘蛛网代码,安装到网站上试试效果哦!

第一种JS代码实现

! function() {
    //封装方法,压缩之后减少文件大小
    function get_attribute(node, attr, default_value) {
    return node.getAttribute(attr) || default_value;
    }
    //封装方法,压缩之后减少文件大小
    function get_by_tagname(name) {
    return document.getElementsByTagName(name);
    }
    //获取配置参数
    function get_config_option() {
    var scripts = get_by_tagname("script"),
    script_len = scripts.length,
    script = scripts[script_len - 1]; //当前加载的script
    return {
    l: script_len, //长度,用于生成id用
    z: get_attribute(script, "zIndex", -1), //z-index
    o: get_attribute(script, "opacity", 0.5), //opacity
    c: get_attribute(script, "color", "0,0,0"), //color
    n: get_attribute(script, "count", 99) //count
    };
    }
    //设置canvas的高宽
    function set_canvas_size() {
    canvas_width = the_canvas.width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, 
    canvas_height = the_canvas.height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
    }
    
    //绘制过程
    function draw_canvas() {
    context.clearRect(0, 0, canvas_width, canvas_height);
    //随机的线条和当前位置联合数组
    var e, i, d, x_dist, y_dist, dist; //临时节点
    //遍历处理每一个点
    random_lines.forEach(function(r, idx) {
    r.x += r.xa, 
    r.y += r.ya, //移动
    r.xa *= r.x > canvas_width || r.x < 0 ? -1 : 1, 
    r.ya *= r.y > canvas_height || r.y < 0 ? -1 : 1, //碰到边界,反向反弹
    context.fillRect(r.x - 0.5, r.y - 0.5, 1, 1); //绘制一个宽高为1的点
    //从下一个点开始
    for (i = idx + 1; i < all_array.length; i++) {
    e = all_array[i];
    //不是当前点
    if (null !== e.x && null !== e.y) {
    x_dist = r.x - e.x, //x轴距离 l
    y_dist = r.y - e.y, //y轴距离 n
    dist = x_dist * x_dist + y_dist * y_dist; //总距离, m
    dist < e.max && (e === current_point && dist >= e.max / 2 && (r.x -= 0.03 * x_dist, r.y -= 0.03 * y_dist), //靠近的时候加速
    d = (e.max - dist) / e.max, 
    context.beginPath(), 
    context.lineWidth = d / 2, 
    context.strokeStyle = "rgba(" + config.c + "," + (d + 0.2) + ")", 
    context.moveTo(r.x, r.y), 
    context.lineTo(e.x, e.y), 
    context.stroke());
    }
    }
    }), frame_func(draw_canvas);
    }
    //创建画布,并添加到body中
    var the_canvas = document.createElement("canvas"), //画布
    config = get_config_option(), //配置
    canvas_id = "c_n" + config.l, //canvas id
    context = the_canvas.getContext("2d"), canvas_width, canvas_height, 
    frame_func = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(func) {
    window.setTimeout(func, 1000 / 45);
    }, random = Math.random, 
    current_point = {
    x: null, //当前鼠标x
    y: null, //当前鼠标y
    max: 20000
    },
    all_array;
    the_canvas.id = canvas_id;
    the_canvas.style.cssText = "position:fixed;top:0;left:0;z-index:" + config.z + ";opacity:" + config.o;
    get_by_tagname("body")[0].appendChild(the_canvas);
    //初始化画布大小
    
    set_canvas_size(), window.onresize = set_canvas_size;
    //当时鼠标位置存储,离开的时候,释放当前位置信息
    window.onmousemove = function(e) {
    e = e || window.event, current_point.x = e.clientX, current_point.y = e.clientY;
    }, window.onmouseout = function() {
    current_point.x = null, current_point.y = null;
    };
    //随机生成config.n条线位置信息
    for (var random_lines = [], i = 0; config.n > i; i++) {
    var x = random() * canvas_width, //随机位置
    y = random() * canvas_height,
    xa = 2 * random() - 1, //随机运动方向
    ya = 2 * random() - 1;
    random_lines.push({
    x: x,
    y: y,
    xa: xa,
    ya: ya,
    max: 6000 //沾附距离
    });
    }
    all_array = random_lines.concat([current_point]);
    //0.1秒后绘制
    setTimeout(function() {
    draw_canvas();
    }, 100);
    }();</pre>

第二种HTML代码实现

function async_load() {

i.scrolling = &quot;no&quot;;
i.frameborder = &quot;0&quot;;
i.border = &quot;0&quot;;
i.setAttribute(&quot;frameborder&quot;, &quot;0&quot;, 0);
i.width = &quot;100px&quot;;
i.height = &quot;20px&quot;;
document.getElementById(&quot;hub_iframe&quot;).appendChild(i);
}

if (window.addEventListener) {window.addEventListener(&quot;load&quot;, async_load, false);}
else if (window.attachEvent) {window.attachEvent(&quot;onload&quot;, async_load);}
else {window.onload = async_load;}
&lt;/script&gt;</pre>

示例样式

!function() {
            function A(a, b, c) {
                return a.getAttribute(b) || c
            }
            function F(a) {
                return document.getElementsByTagName(a);
            }
            function D() {
                var c = F(&quot;script&quot;),
                    a = c.length,
                    b = c[a - 1];
                return {
                    l: a,
                    z: A(b, &quot;zIndex&quot;, -1),
                    o: A(b, &quot;opacity&quot;, 0.5),
                    c: A(b, &quot;color&quot;, &quot;0,0,0&quot;),
                    n: A(b, &quot;count&quot;, 199)
                }
            }
            function E() {
                x = i.width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
                B = i.height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight;
            }
            function M() {
                J.clearRect(0, 0, x, B);
                var c = [I].concat(v);
                var b, d, a, g, e, f;
                v.forEach(function(h) {
                    h.x += h.xa,
                        h.y += h.ya,
                        h.xa *= h.x &gt; x || h.x &lt; 0 ? -1 : 1,
                        h.ya *= h.y &gt; B || h.y &lt; 0 ? -1 : 1,
                        J.fillRect(h.x - 0.5, h.y - 0.5, 1, 1);
                    for (d = 0; d &lt; c.length; d++) {
                        b = c[d];
                        if (h !== b &amp;&amp; null !== b.x &amp;&amp; null !== b.y) {
                            g = h.x - b.x;
                            e = h.y - b.y;
                            f = g * g + e * e;
                            f &lt; b.max &amp;&amp; (b === I &amp;&amp; f &gt;= b.max / 2 &amp;&amp; (h.x -= 0.03 * g, h.y -= 0.03 * e), a = (b.max - f) / b.max, J.beginPath(), J.lineWidth = a / 2, J.strokeStyle = &quot;rgba(&quot; + w.c + &quot;,&quot; + (a + 0.2) + &quot;)&quot;, J.moveTo(h.x, h.y), J.lineTo(b.x, b.y), J.stroke())
                        }
                    }
                    c.splice(c.indexOf(h), 1);
                }),
                    C(M);
            }
            var i = document.createElement(&quot;canvas&quot;),
                w = D(),
                L = &quot;c_n&quot; + w.l, //c_n2
                J = i.getContext(&quot;2d&quot;),
                x,
                B,
                C = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame ||
                    function(a) {
                        window.setTimeout(a, 1000 / 45)
                    },
                N = Math.random,
                I = {
                    x: null,
                    y: null,
                    max: 20000
                };
            i.id = L;
            i.style.cssText = &quot;position:fixed;top:0;left:0;z-index:&quot; + w.z + &quot;;opacity:&quot; + w.o;
            F(&quot;body&quot;)[0].appendChild(i);
            E();
            window.onresize = E;
            window.onmousemove = function(a) {
                a = a || window.event,
                    I.x = a.clientX,
                    I.y = a.clientY
            };
            window.onmouseout = function() {
                I.x = null,
                    I.y = null
            };
            for (var v = [], z = 0; w.n &gt; z; z++) {
                var G = N() * x,
                    H = N() * B,
                    y = 2 * N() - 1,
                    K = 2 * N() - 1;
                v.push({
                    x: G,
                    y: H,
                    xa: y,
                    ya: K,
                    max: 6000
                }); }
            setTimeout(function() {
                M()
            }, 100)
        } ();</pre>

调用方法

1.以Typecho博客为例,在博客主题模板中找到Footer.php文件
2.将以上代码放入<body>……</body>之间保存即可

这样的小工具并不新鲜,大家应该早早的就用过了其他同类产品了,但是微软官方出品的,可能你还没有用到。有关如何使用该工具的详细信息,请参见下面的说明。

  • 使用该工具可以将你的电脑升级为Windows 10

如果您要在运行 Windows XP 或 Windows Vista 的电脑上安装 Windows 10,或者如果您需要创建安装介质以在其他电脑上安装 Windows 10,请参阅下面的使用该工具创建安装介质(USB 闪存驱动器、DVD 或 ISO 文件)以在其他电脑上安装 Windows 10 部分。

注意:安装 Windows 10 之前,请检查以确保您的电脑满足 Windows 10 的系统要求。我们还建议您访问电脑制造商的网站,以获取有关更新的驱动程序和硬件兼容性的任何其他信息。

1.选择下载工具,然后选择运行。您需要成为管理员才能运行此工具。
2.在许可条款页面上,如果您接受许可条款,请选择接受
3.在您想要执行什么操作?页面上,选择立即升级这台电脑,然后选择下一步
4.此时,该工具将开始下载并安装 Windows 10。
5.该工具将指导您完成如何在电脑上安装 Windows 10 的过程。安装期间,系统可能会要求您输入产品密钥。
6.在准备好安装 Windows 10 时,系统将向您显示所选内容以及在升级过程中要保留的内容的概要信息。选择更改要保留的内容,以设置在升级过程中,您是要保留个人文件和应用、仅保留个人文件还是选择不保留任何内容
7.保存并关闭您可能在运行的任何打开应用和文件,在做好准备后,选择安装
8.安装 Windows 10 可能需要一些时间,您的电脑将会重启几次。请确保不要关闭您的电脑

  • 使用该工具创建安装介质(U盘)

1.选择立即下载工具,然后选择运行。您需要成为管理员才能运行此工具。
2.如果您同意许可条款,请选择接受
3.在您想要执行什么操作?页面上,选择为另一台电脑创建安装介质,然后选择下一步
4.选择 Windows 10 的语言、版本和体系结构(64 位或 32 位)。下表将帮助您确定要选择哪个版本的 Windows 10:

5.选择您要使用哪种介质:
a.USB 闪存驱动器。连接至少有 8GB 空间的空白 USB 闪存驱动器。该闪存驱动器上的所有内容都将被删除。
b.ISO 文件。将 ISO 文件保存到您的电脑上,该文件可用于创建 DVD。在下载了该文件后,您可以转到该文件的保存位置,或者选择打开 DVD 刻录机,然后按照说明将该文件刻录到 DVD。有关使用 ISO 文件的详细信息,请参阅下面的使用 ISO 文件安装 Windows 10 的其他方法部分。
6.在创建了安装介质后,请执行以下步骤来使用它。

安装 Windows 10 之前,最好保存所有工作,并备份您的电脑,然后再开始安装。如果您使用介质创建工具下载了 Windows 10 的 ISO 文件,则需要先将该文件刻录到 DVD,然后再执行这些步骤。
a.在要安装 Windows 10 的电脑上连接 USB 闪存驱动器或插入 DVD。
b.重启您的电脑,然后按任意键从 USB 闪存驱动器或 DVD 引导。

如果您重启了电脑并且您当前的 Windows 版本也启动了,您可能需要打开引导菜单,或更改您的电脑的 BIOS 或 UEFI 设置中的引导顺序,以便从介质引导您的电脑。若要打开引导菜单或更改引导顺序,您通常需要在打开电脑后立即按组合键(例如 F2、F12、Delete 或 Esc)。有关更改您的电脑的引导顺序的说明,请查看您的电脑附带的文档,或访问制造商的网站。

如果更改引导菜单或引导顺序不起作用,请通过登录到 Windows、关机然后重启您的电脑来重试。

c.在安装 Windows 页面上,选择您的语言、时间和键盘首选项,然后选择下一步
d.选择安装 Windows

如果您下载了 Windows 10 的 ISO 文件,则该文件将在本地保存在您所选的位置。如果您的计算机上安装有您更喜欢用来创建安装 DVD 的第三方 DVD 刻录程序,则可以通过转到该文件的保存位置并双击 ISO 文件来打开该程序,也可以右键单击 ISO 文件,选择打开方式,然后选择您的首选 DVD 刻录软件。

如果您要使用 Windows 磁盘映像刻录程序来创建安装 DVD,请转到 ISO 文件的保存位置。右键单击 ISO 文件,然后选择属性。在“常规”选项卡上,单击更改,并在 Windows 资源管理器中选择要用来打开 ISO 文件的程序,然后选择应用。此后,右键单击 ISO 文件,再选择刻录光盘映像

如果您要从 ISO 文件直接安装 Windows 10,而不使用 DVD 或闪存驱动器,则可以通过装载 ISO 文件来执行此操作。此时,会将您当前的操作系统升级到 Windows 10。

若要装载 ISO 文件,请执行以下操作:

a.转到 ISO 文件的保存位置,右键单击 ISO 文件,然后选择属性
b.在“常规”选项卡上,单击更改…,并在 Windows 资源管理器中选择要用来打开 ISO 文件的程序,然后选择应用。
c.右键单击 ISO 文件,然后选择装载
d.双击 ISO 文件以查看其中的文件。双击 setup.exe 以启动 Windows 10 安装程序。

下面提供部分截图:



若对本工具感兴趣,您可以:[点击此处立即下载]

忘了从哪儿拿来的源码,自己折腾了一下,测试了一下,感觉效果还行,分享出来大家看看,觉得可以的话,就拿去用好了。

上图是在线VIP视频解析网的测试图,页面比较简单,接口需要在index页面添加或者更改,顶部菜单可以自定义修改,下方可以挂广告,PC端效果还是不错的,支持移动端页面,不过移动端看起来比较奇怪,有广告(如果能去掉广告,再重新排版一下就更好了)。





上图是自动音乐采集的测试图,主页上可以自动采集MV视频和音乐,播放加载速度都挺快的。支持在线搜索音乐,支持下载音乐和MV,音乐可以直接复制外链使用。在右上方集成了SM.MS公共图床的接口,可以直接在线上传图片生成外链。主页面和二级页面均支持挂载广告,整个网站就一个html文件,资源消耗比较小,运行更是轻松加愉快的事。

源码下载:[点击此处进入下载页面]  登录密码:666

嗯,有时候自己的坏习惯,连自己都很少注意到,但只要有人提醒一下,就会马上反应过来。就跟之前我说过的,如果自觉性不太高的话,最好是有人监督提醒才是最有效的。

上图是今天上午收拾屋子的时候在窗口发现,是我隔壁的以为住户给我的留言。此事我无法反驳,因为确实是由于自己的原因。

我大概是五六月份的时候入住这里的,因为没什么钱,又是一个人住,就租了一间很小的房间,是真的很小,大概10平米不到。一张床,一个壁柜,一张桌子——这就是屋内所有的东西的。当然,我也没那么讲究的,反正一个人住,爱咋咋地。上白班的时候早上7点30左右出门,晚上大概7点30回来;上夜班的时候下午4点多出门,凌晨1点30左右回来。应该说在屋子里待的时间并不是很多。

我买了卷垃圾袋子,可惜啊没有买垃圾桶,都是直接扔袋子里。有时候抽烟吧,刚好又在忙事儿,所以没有及时把烟头放到烟灰缸,就随手丢窗外了,当时自己也没意识到这个问题。还好隔壁住户提醒了,以后就会特别注意这个问题,说起来应该感谢一下人家的,但是这个事吧,过去说一声又感觉不太好~略感纠结。

11月份的时候,看见宜宾事业编招聘,果断报名,并且买了书以及一套试卷,信心满满的准备下苦工好好奋斗一番。结果明天(12.02)就要考试了,才发现自己荒废了这么多时间。现在整理一下最近都干了些啥。

如图1,这不这几天才反应过来要好好学习,早就知道有专门的答题插件了,不过只是试用过,咨询了开发者,270的价格实在是贵啊,买不起。刚好这在群里,大伙儿一起用,就群主(lxt)出资150,我出资120把插件买了下来,并且从某宝租用了一台挂机宝,把插件加到机器人中,远程在线。光是编辑题库就烦死人了,各种需要替换成专用格式,我才发现原来我Word也学得不咋样啊,手动添加真是慢如牛。


图2和图3,一个是视频解析网站,一个是音乐视听网站。什么是视频解析呢,就是利用网络上提供的一些解析接口,把视频网站上那些有广告的视频,或者需要会员才能观看的视频,放进去解析,然后免费观看,这个用得人不多,毕竟有钱都是直接去电影院看,或者直接开XX视频网站的会员,但是这个也有一个好处,就是基本上全网的VIP视频都能解析出来看,你看会员不能每个网站都去开一次吧。音乐视听,就是网站上自动更新网络热歌新歌,以及MV视频,可以在线听音乐,下载音乐,或者做音乐外链到其他地方当BGM,MV可以在线观看,也可以在线下载到本地,可以说很方便,另外就集成了SM.MS的免费图床,用来给图片做外链是再合适不过了。

至于这个图,上次发文就说过了,被拉过来做临时客服。这就是后台工作界面,处理不同客户的售前售后工作。说实话,这玩意吧,每句话都要注意,要好言好语的跟客户讲话,各种问题都要回答。当然,这期间肯定会遇到一些比较奇葩的客户,比如问你橙子为什么是酸的啊,为什么个头不一样啊,为什么超市买的那么好看啊等等!有时候还给你谈谈人生,比如吃什么健康,做什么工作好,或者要考虑生孩子什么的~真是啥都有。因为承诺过坏果包赔,这几天,我支付宝发红包都发出去600多块钱了,有些还没有报到账。

总结一下吧,这段时间本该好好学习的,但是真的没咋学习。其一是夜班,上班时间下午5点到凌晨1点,天气比较冷,回去就不怎么想学习了,比较困,比较冷,洗洗然后玩两把农药就睡觉;其二,对于网站制作比较迷,虽然我也不懂代码什么的,但是毕竟有现成的源码,自己买个玉米买个空间就开始搞,然后看到别人的更好看,就想去做,时间都费上去了;其三,觉得要时间越紧才能逼迫自己,眼看越来越近了,反而觉得无所谓了,这大概就是没有人临近监督的原因吧,自觉性越来越差了。

比较悲凉的是,我不止一次地反省自己,做出了许多总结,却不能认真的做好,还是上面的第三个原因,没有人监督。也许是该找个对象,好好监督教育一下了。