骚年们,看看2016年的这几部黑客题材相关的电影

   一、 Zero Days零日

0.jpg


导演: 亚历克斯·吉布尼

  编剧: 亚历克斯·吉布尼

  主演: 乔安妮·塔克 / 马哈茂德·艾哈迈迪内贾德 /乔治·W· 布什 / 希拉里·罗德姆·克林顿 / 阿利森·科恩 / 更多...

  类型: 纪录片

  官方网站: www.zerodaysfilm.com

  制片国家/地区: 美国

  语言: 英语 / 波斯语 / 德语 / 法语

  上映日期: 2016-02-17(柏林电影节) / 2016-06-13(悉尼电影节) / 2016-07-08(美国)

  片长: 116分钟

  又名: 零日网路战(台)


  零日的剧情简介 · · · · · ·


  一个全新型态的网路超级病毒,突然遍布全世界的电脑,一开始无伤大雅不受重视,直到随着时间累积,许多基础建设的系统都一一被攻击掌控,比过往任何一种病毒复杂几十倍,甚至可能全面瘫痪人们的生活。随着深入调查,揭露这个超级病毒Stuxnet,背后竟是美国与伊朗战争行动的阴谋,伊朗核武危机无法以政治手段解决,美国便对伊朗的网路展开攻击。无法回头的网路攻击逐渐失控,人们生活中各式控制系统都备受威胁,包括发电、交通、通讯、ATM、医院都将不堪一击,网路安全问题全球都可能遭到入侵,下一次的世界大战危机似乎也一触即发。


  二、 Mr.Robot 黑客军团

1.jpg


英文全名Mr.Robot,第2季(2016)USA.

  本季看点:《黑客军团》Cristofer将继续饰演邪恶集团的头目Phillip Price,而Corneliussen也将重回机智而富有野心的Joanna Wellick一角。Joey Bada$$将饰演Leon,Elliot的邻居也是他新交到的朋友,他经常找Elliot夸夸其谈,给他提建议并且与他讨论生命的哲学意义。Conroy饰演Derek,进入Joanna生活中的年轻有魅力的男人,他们之间亲密的举止让Derek死心塌地的爱上了这个丹麦美女。

  类型:惊悚/罪案播出:USA Network

  地区:美国主演: 拉米·马雷克

  语言:英语首播日期:2016-07-14

  英文:Mr. Robot Season 2

  别名:骇客军团第2季


三、Snowden 斯诺登

2.jpg



导演: 奥利佛·斯通

  编剧: 基兰·菲茨杰拉德 / 奥利佛·斯通 / 卢克·哈丁 / 安纳托利·库齐利纳

  主演: 约瑟夫·高登-莱维特 / 谢琳·伍德蕾 / 梅丽莎·里奥 / 扎克瑞·昆图 / 汤姆·威尔金森 / 更多...

  类型: 剧情 / 惊悚 / 传记

  官方网站: snowdenfilm.com

  制片国家/地区: 美国 / 德国

  语言: 英语

  上映日期: 2016-09-09(多伦多电影节) / 2016-09-16(美国)

  片长: 134分钟

  又名: 斯诺登风暴(港) / 神鬼骇客:史诺登(台) / 斯诺登档案 / The Snowden Files / Sacha


  斯诺登的剧情简介 · · · · · ·


  奥利佛·斯通(Oliver Stone)最近正在为他的下一部电影物色演员,这一次他把目光瞄向了因揭露美国监听世界丑闻而名声大噪的爱德华·斯诺登(Edward Snowden)。有消息称,约瑟夫·高登·拉维特(Joseph Gordon-Levitt)目前是这位大导演最中意的“斯诺登”扮演人选,不过此事还未板上钉钉。


  这部斯诺登题材的电影主要基于两本书,一本是英国《卫报》(Guardian)记者卢克·哈丁(Luke Harding)今年初刚刚出版的的《斯诺登档案:世界头号通缉犯的内幕故事》(The Snowden Files: The Inside Story of the World’s Most Wanted Man),该书全面记录了爱德华·斯诺登是如何因为其自由主义价值观与美国政府的监听计划发生冲突,而从一名忠诚的共和党人成为美国政府口中的“叛国者”的。


  第二本书则是斯诺登在俄罗斯的律师Anatoly Kucherena所写的《章鱼的时间》(Time Of The Octopus),这本书对斯诺登如何躲藏到俄罗斯、以及申请政治庇护的过程有着详细的叙述。


四、 I.T. 绝对控制

3.jpg



导演: 约翰·摩尔

  编剧: 丹尼尔·凯 / 小威廉·威谢尔

  主演: 皮尔斯·布鲁斯南 / 詹姆斯·弗兰切威勒 / 安娜·弗莱尔 / 斯戴芬妮·斯考特 / 迈克尔·恩奎斯特/ 更多...

  类型: 剧情 / 科幻 / 悬疑 / 犯罪

  制片国家/地区: 美国 / 爱尔兰 / 法国

  语言: 英语

  上映日期: 2016-12-24(中国大陆) / 2016-09(美国)

  片长: 95分钟


  绝对控制的剧情简介 · · · · · ·


  Mike Regan(皮尔斯·布鲁斯南 饰)拥有他想要的一切:美满的家庭,一栋顶级的全智能别墅,而他的公司则将彻底改变航空业。直到他信赖的ITguy因为Regan一家的冷落而失去理智,开始跟踪他的女儿,监视他的生活….往日依赖的全智能家居和汽车系统如今成为最大的安全隐患。随着隐私的全面暴露,Regan一家陷入前所未有的恐慌,一场个人隐私和现代科技的博弈就此展开……


五、 I’m here 我在

4.jpg


12月25日,由安在新媒体出品,中国首部黑客爱情微电影《我在(I’mhere)》在上海正式首映,作为第一部讲述黑客故事的微电影,《我在(I’m here)》的主创邀请了知名黑客、360独角兽团队负责人杨卿,以及无声信息(PKAV)美女PR sasa分别担任电影的男女主角。



今天是2016年最后一天了,你得黑客梦实现没有?没有实现的赶快看看电影过过瘾,明天就是2017年了,接着吹牛逼,接着努力吧!

下载观看:

https://pan.baidu.com/s/1mik9h24  https://pan.baidu.com/s/1nvyep0P

https://pan.baidu.com/s/1slpQwNF  https://pan.baidu.com/s/1kUEiWj9

https://pan.baidu.com/s/1hrZnJU0  https://pan.baidu.com/s/1mhKm4ek 密码:4aek





Mrxn 发布于 2016-12-31 19:04

看我如何解锁你得小米手机

故事背景:我一个亲戚捡到了一个红米手机,然后就找到我了,让帮忙解锁。一开始我是想试下解锁,挑战一下自己 -_- :),没想到,解锁后我让他把手机还回去,他死活不还。。。具体怎么处理的请看文末=_=||


PS:解锁的方法其实至少有四五种,我这里只是根据实际情况采用这种最快也最有效的方法,通过关机重启双清的方法,现在的小米不行了。。。你根本进不去recover,可以进fasboot。还有adb shell 也需要你开启了USB调试,或者开发者模式,或是通过输入溢出崩溃锁屏UI界面进入手机等等不一一详说(感觉我可以在街边开个解锁小铺子了 /笑喷 hha )


解锁第一步:充电啊,手机一看快没电了,我怕我折腾到一般关机了就GG了!

充了半个小时后开始---他的锁屏是数字密码,试了一些比较常见的密码,都不对。。。然后再次解锁就需要4分钟后。


第二步:既然手机没法搞,那就从其他方面下手

他的手机登录了小米帐号,那就从小米帐号入手,我是想利用小米的找回密码功能重置他的密码,之后就可以在解锁界面选择忘记密码,然后输入他这个小米云账号的密码就可以了,事后证明是可以的!下面说一下详细的步骤,

关键在于他登陆的这个账号是否是这个手机号注册的,为了检测这一步,我们需要拿到他的电话号码,锁屏下没法打电话(紧急电话不算!),那就把卡拔下来,放在我的备用米4手机上,此时我的心情是忐忑的,万一卡设置了pin码就GG了。。。。不过把卡插进去后,等了几秒钟,并没有出现输入pin码的提示框,oh,耶耶耶。。。曙光在照耀 哈哈。。。那么用他卡打我小号就可以看到号码了!

就在这时候,尼玛,我说这么 打不通,开启免提一听,尼玛,欠费。。。。


到这里,关键就是如何找到电话号码,下面我说一下我知道的几种途径,欢迎各位补充!

  1. 没欠费情况下,自己互拨电话,就知道了(前提是开启了来电显示),这种运气最好,但是一般都是成立的;
  2. 欠费情况下,拨打客服电话查询,但是一般情况是打不通的,你欠费了没有人工服务了!我这个就是这样,不过我通过兑换积分这个选项,让移动成功的把他的完整的号码发给我了,/斜眼笑、/得意。haha;
  3. 每张卡后面都有一串数字和字母组合的字符串,类似于人的身份证,不过分移动(中国人)、联通(美国人)、电信(英国人)。不同的身份证罢了。我们只需要去营业厅让他查询一下,你就说我这卡欠费了,我忘记了号码了没法充值,一般的营业厅都会帮你查,甚至是pin和puk(可以解锁pin的),但是有的营业厅是需要出示身份证的,所以越偏远的地方越好查。注:不要干坏事!
  4. 万能的某宝有卖相关的破解套装,不然你看哪些到处贴广告说办理复制卡,监听卡是说着玩的?小心上当,有很多骗子也打着这幌子!自己斟酌!

2.jpg1.jpg

上图,图一是通过兑换积分获取到的手机号码,图二是通过手机验证码重置小米云帐号密码。至此,手机就是由你掌握了。

当然,我最后用他的手机登上他的QQ给他朋友说明了原因,不是我不还,是捡他手机的不还,我有什么办法。。。。为了弥补我的过失,我给他发了个最大的QQ红包,他这手机是个合约机,外观也破损差不多,二手手机就这价钱,我能做的就只能这么多了,想喷的随便,你要为了一个捡到的手机和你亲戚闹翻?而且不是我捡到的,我只能从道德的方面尽量,但是我不能也不可能用我的道德标准去要求别人。圣母婊们随便。

最后我总结一下:

现在的生活,我们的手机卡比手机更重要,请务必要做好一下几点,尽可能的降低自己的损失(丢手机了)。

  1. 手机卡一定要设置pin码,牢记你自己的puk
  2. 手机锁屏密码要设置,总好过无。
  3. 手机丢了/手机卡丢了,第一时间去就近的营业厅挂失,挂失,挂失!然后补卡。
  4. 对于重要的手机卡,比如绑定了银行卡,支付宝这类的最好专门用一张卡,不用时放在家。

如果拿到了你的手机卡,以下的事情都是可以而且很轻松的完成的:

重置你与手机卡相关联账号密码,然后登录你得这些账号,洗劫里面有价值的all。。。QQ,邮箱,Q币,支付宝,财付通,微信,各种诈骗、骚扰等。

最好提示:保护好你的手机卡。本文未对受害人做任何违法事。各位看官如遇见这种事,还是尽量把手机还给他人吧,提醒还的方式一定要注意,免得有的人不但对你拾金不昧表示感激,也有可能怒发冲冠。。。这不是没有可能的。

全文总结,这次事件其实也可以看着是有社工的成分或者是可以当作渗透中的一种突破,特别是一些机构的重要人员。

我们下回见!----Mrxn 28/12/2016


Mrxn 发布于 2016-12-28 19:34

几行代码轻松撸腾讯云的学生机

前言



腾讯云学生机老早就有了,那时候学生认证下,代金卷发下来了。哪知道腾讯的学生机策略变了,每天12:00 200台机子限量抢购,恶心!


现在手中的阿里云和腾讯云对我来说不够用,找个以前同学借个号认证就行了。表示就差腾讯云没抢到。


一开始我听群里的基佬们说好抢啊,12点到了不用刷新网页就可以抢了。然而当天中午抢购的时候事实上不是他们说得那样...特么需要刷新一次网页才能抢,而且1S之内特么全没了??这尼玛怎么抢啊?各种暴走。

看我如何XXOO翻腾讯云的辣鸡抢购



可以看到鼠标放在[red]今日已抢完[/red]那里是一个禁用标志,那么ctrl+shift+I 在dev-tool里面可以很清楚看到如下代码:

<button type="button" hotrep="qcact.campus.getVoucherBtn" class="button J-gotoAuth" data-title="今日已抢完" disabled="disabled">今日已抢完</button>

我们只需要去除掉这段 :disabled="disabled" ,现在可以点击领取了,but ,

有弹窗,无非就是没到时间,没发抢购(抛出异常)。然后在Network窗口看见,有参数接收反馈,这意味并不需要手动刷新网页。只要写个定时函数就行了。


那么上面所说到的抛出异常,也就是那个弹窗,给隐藏,这样可以狂点那个按钮了,审查元素后,得知id="dialog-event-xxxxxxx"。右键hide即可。


控制台写如下代码:

var c=0;
function iiong() {
    $(document).ready(function(){
        $(".J-gotoAuth").trigger("click");
    });
}
setInterval("iiong()","500");
这样,在11点58分钟开始运行这段代码,就等待抢到吧。。。。也不知道为毛要搞个抢购,要想真正的福利学生,直接让需要的学生在学校里面通过学校向你们申请,这不是更能验证身份么。。。真的是很蛋疼的抢购,大部分抢到的都是些‘假学生’,运营脑袋是不是有gain!


好了,今天就比比到这里,改日再来;

声明:禁止用此方法抢到的机器干违法乱纪的勾当,出事儿别找我。。。我不负责,我也负不起责,一天天都快烦死了。


Mrxn 发布于 2016-12-19 21:05

我们来聊聊写作

聊写作前,首先必须要明白一件事:写作不是作家文人们的特权

很多人出了学校之后,除了写检讨、写总结之外,就很少动过“笔”写作了,之所以笔要加引号,是因为键盘现在也是我们的笔杆子了。

上学时要写作,是因为作文是一道大题,而且是一道非常大的大题。回头想想,为了应付考试,我们竟然也是经常练习英语写作的,如今很多人可能单词都记不几个了。

曾经我们是可以写作200个单词以上的英文作文的,现在连140字的微博都不知写什么了,发朋友圈都是转发鸡汤和求助,聊天更是多用语音,前后对比,变化竟如此惊人,是什么原因导致的呢?为什么我们的转变这么大呢?

也许是因为觉得写作没什么用了,也许是因为觉得写太麻烦了,也正是由此,我们更不会意识到写作的重要性了。

就如同之前说过的,阅读理解是一道大题,那么,写作、作文就更是一道大题了,我们是没有理由不重视不去做的。

今天就聊一下自己对于写作的体会吧。

如果说语言是对思想的显影重构化,那么写作就是对思想的规整体系化

我们经常说一句话:我脑子里想得很清楚了,就是说不出来,讲不清楚。

或者也说过:这件事我能给你讲明白,但是别让我写,我不知道从哪里下笔,不知道怎么写。

其实这代表着:我们并没有真正想清楚,如果我们真的想清楚想明白了,是不可能讲不出来的(毕竟只可意会不可言传的事情并不多)。

我们也并没有把事情讲得很明白,只能说是听的人阅读理解能力强,领会了意思,如果我们真的能讲明白讲清楚,我们也是不可能写不出来的。

所以自己在琢磨一些事情的时候,都会先找人交流一下,讲明白了尽量再写下来,在这个过程中,思想先是重构成了语言表达出来,然后规整成文字展示出来,这可以说是一个从0到1的过程,让人欲罢不能。

经常写作,并不是为了成为作家或者文人,而是把写作养成一种习惯,这样坚持下去,我们的阅读理解能力也会不断提升。

练就此项本领,用到生活中,和父母、和配偶、和孩子在交流上也会受益匪浅,毕竟我们懂了如何让对方领会我们意思,我们也懂了如何更好地领会对方的意思。

如果说两点之间直线最短,那么沟通是横在两人之间最长的线,不急功近利的说,如果能和父母、配偶、子女做到良好且有效的沟通,我们这一生也会是很美好的。

最后再次强调一下:写作不是作家文人们的特权,是我们每个人都能也都需要具备的一项技能


Mrxn 发布于 2016-12-14 09:41

解决AMD双显卡win10开机黑屏很久,关闭ULPS

我的本本加了个256的SSD,一直用的win10 速度速度都还可以的,但是前两天自动更新后(AMD),我就发现电脑开机特别慢啊,之前都是几秒钟就到了刷指纹的界面,手指一扫就到桌面了,农企给我自动更新后,开机就要黑屏几十秒。。。。一开始还以为电脑中毒了,系统坏了啥的。。。折腾就不说了。

后来在搜索到了一些百度经验的文章,很多都没用。。。。其中有两篇说的就是按摩店(AMD)的双显卡,win10升级后开机慢。果然,禁用ulps后,开机立马好了,终于恢复了几秒钟!

注:这个方法只适用于双AND显卡的电脑哈,其他的没有测试,你也没有ulps这个东西,哈哈。

下面说一下方法哈:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000]
"EnableULPS"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0001]
"EnableULPS"=dword:00000000



把上面这段代码保存为后缀为reg的格式,比如ULPS_Disable.reg 双击导入注册表,重启即可测试效果。

下面这段代码就是开启ulps的,使用方法同上:


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0000]
"EnableULPS"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\0001]
"EnableULPS"=dword:00000001

这是作者原话:

This zip contains two files:

ULPS_Disable.reg
ULPS_Enable.reg

Basically it will just change the value of "EnableUlps" in the registry from "0" (disable) or "1" (enable) at locations:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\[b]0000[/b]]
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\{4D36E968-E325-11CE-BFC1-08002BE10318}\[b]0001[/b]]

Double click the one you want and reboot your computer.

ULPS stands for "Ultra Low Power State".

Disabling it allows your system to overclock. Specific drivers may still be required.

 -HTWingNut


百度经验的很多链接失效了,我通过搜索作者的名字,找到了他的网盘,哈哈,然后找到了这个,其实没有找到之前,我也解决了,自己手动搜索注册表修改一样的。不过有上面这两个脚本还是快多了啊!so,分享在这里,以方便有需要的朋友。


Mrxn 发布于 2016-12-7 13:46

使用namp和自定义文件来挖掘/枚举子域名

下面将介绍如何使用nmap的dns-brute脚本和自定义子域文件来扫描或者是枚举域的子域。

nmap的dns-brute脚本只包括了127个常见的子域,因此我们可以用自己搜集或者是制作的自定义子域文件来枚举,这些文件包括最常见的1000个,10000个,100000个和1000000个子域。

下面配合namp的命令:

nmap --script dns-brute --script-args dns-brute.domain=amazon.com,dns-brute.threads=6,dns-brute.hostlist=./sub1000.lst

nmap --script dns-brute --script-args dns-brute.domain=amazon.com,dns-brute.threads=6,dns-brute.hostlist=./sub10000.lst

nmap --script dns-brute --script-args dns-brute.domain=amazon.com,dns-brute.threads=6,dns-brute.hostlist=./sub100000.lst
nmap --script dns-brute --script-args dns-brute.domain=amazon.com,dns-brute.threads=6,dns-brute.hostlist=./sub1000000.lst

下载子域名文件:download sub1000.lst sub10000.lst sub100000.lst sub1000000.lst

例如枚举亚马逊的子域名:

nmap2.JPG

子域名文件来源博客:

https://bitquark.co.uk/blog/2016/02/29/the_most_popular_subdomains_on_the_internet

namp的dns-brute官方文档介绍:

https://nmap.org/nsedoc/scripts/dns-brute.html

原文:http://blog.x1622.com/2016/11/subdomain-discovery-with-nmap-and.html


Mrxn 发布于 2016-12-6 10:24

burpsuite v1.7.11更新了,licence到2017年12月

众所周知,Burp Suite是响当当的web应用程序渗透测试集成平台。从应用程序攻击表面的最初映射和分析,到寻找和利用安全漏洞等过程,所有工具为支持整体测试程序而无缝地在一起工作。


平台中所有工具共享同一robust框架,以便统一处理HTTP请求、持久性、认证、上游代理、日志记录、报警和可扩展性。Burp Suite允许攻击者结合手工和自动技术去枚举、分析、攻击Web应用程序。

2016-12-05 11-47-31.png

下载地址:链接: https://pan.baidu.com/s/1pKP49aN                            码: 8v23


Mrxn 发布于 2016-12-5 11:45

一个IT人士的个人经历,给迷失方向的朋友

备注:来自网络,2008早期的文章,原作者不详!程序人生,编程之路,分享给各位,原作者看见了可以联系我给你署名,感谢你 

这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量。

最近看到很多学生朋友和我当年一样没有方向 ,所以把我的经历写出来与大家共勉,希望能给刚如行的朋友们一点点帮助。

一转眼我在IT行业学习工作已经七年多了,这期间我做过网页,写过MIS、数据库,应用程序,做过通信软件、硬件驱动、协议栈,到现在做操作系统内核和IC相关开发,这中间走了很多弯路,也吃了不少苦。

我上的是一个三流的高校,就连同一个城市的人多数都不知道。因为学校不好也就没有指望能靠学校名气找一个好工作。所有的希望都寄托在自己的努力上了,大一开学前的假期我就开始了学习。

记得我买的第一本书是《计算机基础DOS3.0》,大家别吓着了,其实当时已经普及了DOS6.22了,只是我在书店里看到了DOS4.0/5.0/6.0的书,以为像英语那样是第四、五、六册,记得当时到处找DOS1.0,现在想想也幸好我没有找到:)。

开学前我学完了PASCAL,那时既没有计算机也没有人可以请教,我连程序是什么的概念都没有,只好死记硬背代码,然后拿纸写。

我一直到大三才有了一台486,在这之前用纸写了多少程序我也记不清楚了,只知道最长的一个我拿A4大小的草稿纸写了30多页,我的C语言、C++ 、VC都是在这样的条件下入门的。

所以说条件是可以克服的,希望我的经历多少给条件艰苦的同学们一点信心。

第一次上机是在我姐夫的机房,我的心情激动的无与伦比,但是一上机我立刻傻了眼,他们用的是英文版的Win3.1,我的那点DOS知识都见了鬼,上机提心吊胆的一阵瞎摸,一不小心把Word弄成了全屏,怎么都还不了原,当时真是心急如焚,我以机器被我弄坏了。

第一个C语言程序,就是那个经典的HelloWorld,我调了几个星期,上机机会非常少,也没有书告诉我开发环境(TC2.0)需要设置,而且开始我都不知道有编译器,我甚至自作聪明把写好的程序扩展名从.c改成.exe,结果可想而知。

大一学完了C、X86的汇编、数据结构、C++ 。由于精力都花在自学上了,大一下四门课挂了彩,三类学校就是这点好,挂上一二十门也照样毕业。不过扯远点说,我那么刻苦都及不了格,可见我们国家的计算机教育有多死板。

大二准备学VC和BC,当时难以取舍,后来选了VC,不为别的,只为书店里两本书,VC那本便宜6块钱。

我的努力在班上无人能及,学的日夜不分,大三有了计算机后更是如此,很多次父亲半夜教训我说我不要命了,我一直觉得自己基础差,记忆又不行,条件也不好 ,所以觉得只有多花点时间才能赶上别人。居然后来有许多朋友说我有学计算机的天赋,让我哭笑不得。

我用的是486,16M内存,1G硬盘,当时同学们的配置都是P166MMX,我安装一个Windows NT4.0需要一个通宵,编译一个BC5.0向导生成的程序需要近两个小时,我的显示器是个二手的,辐射非常大,开机屏幕冒火花,看起来很酷的:)。

有一次程序写的太久,觉得怎么白色的编辑器背景变成了紫色,以为显示器坏了,后来才发现眼睛不行了,不过说来也奇怪,到今天我的视力还能保持1.5,真是个奇迹。但是就是那台破机器陪伴我两年,让我学会了VC、Delphi、SQL Server等。

后来那台机器给我阿姨打字用,据她说一天她正打的开心,一股青烟夹着火苗从显示器钻出来,之后它才寿终正寝。

大三假期找了个机会在一个计算机研究所实习,与其说实习不如说是做义工,工作了两个月一分钱没有拿。但是这两个月对我的发展帮助很大,让我早一步了解了社会,刚去的时候我当然是一窍不通,在那里我熟悉了网络,学会了Delphi和Oracle。

由于工作很认真,得到了比较好的评价,在一位长者的引荐下,我开始和他们一起做项目,这使我在大三大四就有了自己的收入,大四又找了两家MIS公司兼职,虽然钱不多,但是在学生期间有1000多的收入我已经非常满足了,我终于用自己赚的钱把计算机换了。

大四下开始找工作,这时我的工作经验已经比较多(当然现在想想非常幼稚),开始听父母的想去那个研究所,实习过那个部门也希望我能去,但是不知道为什么最后不了了之,这种单位就是比较官僚,我一气之下就到了我兼职的一个公司做MIS的Team Leader。

在大三到毕业一年的时间,做过了各种MIS,从煤气、烟厂、公安、铁路、饮食到高校,什么有钱做什么,工作也很辛苦,经常加班和熬通宵,从跟客户谈需求到设计、编码、测试、交付都要上。那时觉得很有成就感,觉得自己还不错,现在想想真是很肤浅。

刚走上工作岗位的学生很容易被误导,各种开发工具让人眼花缭乱,同时也觉得很受公司器重,但这样工作永远是一个低层次的开发者。

不要跟我说什么系统分析有多么多么重要,多么多么难。你以为自己跟用户谈需求做设计就是系统分析和设计了吗,国内又有几个公司能够做的很到位很规范?我是ISO9000内审员,也在Rational公司受过多次培训,拿了4个证书,还有一个公司让我去做CMM。

这些我听过很多,但是很多事情到内就变了性质,一个公司不是通过了ISO9000或者CMM就能规范了,我现在在一家有几十年历史的外企工作,里面的管理不是一般国内企业能及的。

作为一个毕业不久以前没有步入过社会的学生,几乎不可能在很短的时间掌握系统分析和设计,面向对象、UML只是一个工具,关键是人本身的思想,不是说你熟悉了C++ 、Rose就能够做出好的设计,相反如果你具备了很高的素质,你可以用C写出比别人用C++更加模块化的程序。

话说远一些,国内软件开发行业有一个怪圈,很多人觉得VC > Delphi > VB,真是很搞笑。这几个软件我都做过开发,说白了他们都是工具,应该根据应用的需要选择采用哪个,而不是觉得哪个上层次。

如果你因为用某个开发工具很有面子而选择的话,只能说明你很浅薄。如果说层次,那么这些工具都不上层次,因为它们用来用去都是一些系统的API,微软的朋友不会因为你记住他们多少个API或者多少个类就会觉得你很了不起,你永远只是他们的客户,他们看重的是你口袋里的银子。

我也做过系统内核,我也封装过很多API,同样我也不会看重那些使用这些API做二次开发的客户,除非他能够作出自己独到的设计。

至于有人认为C++ > C那更是让人笑掉大牙,不妨你去打听一下,现在有几个操作系统内核是用C++写的,又有几个实时系统用的是C++,当然我也不是说C++不好,但是目前的内核和实时系统中C++还无法与C匹敌,至于说C++适合做应用系统的开发那是另外一回事。

所以我的观点是不在于你用什么工具和语言,而在于你干什么工作。你的设计体现了你的技术层次。

这样干了一年我觉得非常苦闷,做的大多数都是熟练工种的活,个人技术上没有太多的提高也看不到方向。所以决定离开这个城市去上海,寻求更好的发展,并且打算放弃我以前的MIS转到通信行业。

写到这里不能不提到我女朋友,我们是在来上海前半年认识的,她大四在我公司实习,公司派她给我写文档,我们的感情发展的很快。

她告诉我很多事情,她家原本是改革开放的第一批暴发户,她母亲爱打牌,输掉了几百万,还欠了很多债,她有男朋友,但是她对他没有感情,只因为他给了她母亲两万多块钱,后来还强迫她写了四万块的借条,她男朋友背叛过她并且不止一次打她,现在逼她结婚,不然就要她还钱。这人居然还是一个高校的老师!她母亲把父亲给她的学费花了,因为拖欠学费她没有办法拿到毕业证。

她母亲现在有病需要钱,我拿出了自己的一点积蓄并且跟朋友们借了一些,替她交了学费并给她母亲看病(后来才知道看病的钱又不知所终,就连她母亲是不是有病我都不知道,但她也是没有办法)。

这个时候我家知道了一些事情,坚决反对我和她在一起,她原来的男朋友也极力破坏。无奈之下我们决定早一定离开这个伤心的城市,并且瞒着我们家。

由于时间仓促,我只准备了4000块钱,她仅有的几百块钱也被她母亲要去了,我买了三张票,一张是中午的,两张是晚上的,中午我的家人把我送上船,他们一离开我就下了船,我和她乘坐晚上的船离开了这个我和她生活了很多年的城市,带走的只是一身债务。

没有来过上海的我们两个性倔强,都不愿意去麻烦同学和朋友。来到上海是傍晚6点半,我们都不知道该去哪里,我们找了一个20块钱的旅馆,这个房间连窗户都没有,7月份的天气酷热难耐,房间里非常闷热。

第二天我们开始租房子,因为身上的钱不多,我们基本都是步行,花了一个星期时间,不知道在浦东转了多少圈后找到了一个400块的房子,但是我们都不了解上海是付三压一,还要付半个月的中介费,买了一些锅碗瓢盆后,我们身上只有800块钱了。

工作都还没有着落,这800块钱要支持到我们拿到第一个月工资,为了省钱我们自己做饭,每天买菜只花两块钱,她非常喜欢吃(也可能她在大学经常挨饿的原因),看到她现在这样省吃俭用我真的很不忍心。

她以前的男朋友也没有放过她,经常打电话来骚扰,并且来上海看她,还说了不少恐吓她的话,她过于善良,说他以前毕竟帮助过她,叫我不要与他一般见识。

以后的每天在家就是苦等面试通知,原本我想迅速找一家MIS公司解决眼前的困难,但是她坚持让我不要放弃自己的理想,终于功夫不负有心人,我找到了一家通信公司,4000块的工资虽然赶不上MIS公司给我开出的价位,但也够在上海生存。

她也找到了工作,第一天上班她哭了,这是她来上海第一次流泪,我心里很难受也很感动。

由于是全新的行业,我把自己降到了零点,我学的VC、Delphi、数据库派不上用场,摆在我面前的是嵌入式、协议、信令一些我从未接触过的知识。

我知道我没有退路,于是拼命的学习,我把自己当做一个应届毕业生一样,一分努力一分收获,半年过去我终于熟悉了工作,并且得到了公司的表彰,薪水也加了一级。

后面的日子里我们省吃俭用,把欠朋友的1万多块钱还了,日子终于上了正轨。这时女朋友告诉我她想考研究生,我也很支持,于是她辞职在家备考。

另外,在这里我要感谢我的Project Manager,他原来是一个大通信公司的产品经理,对人非常和善,我从他那里学到了很多知识,而且他也给了我许许多多无私的帮助。在工作上他给我充分的空间和信任。

记得公司安排我维护一个接入服务器软件,由于代码量不算太小(5万行),资料和文档都不齐全,我维护起来非常吃力,所以想重新把它做一遍,公司领导不太支持,可能觉得工作量太大,但是他极力支持我,私下里他让我放手去做,我的维护工作他挤时间做。

在他的支持下,我花了半年时间完成了接入服务器的软件,并且实现了一个相对完整的TCP/IP协议栈。在这里我学会了嵌入式系统设计、驱动开发、TCP/IP和很多通信的知识,我花了一年时间终于使自己从MIS开发转到了通信行业,并且站稳了脚跟。

我的开发大量是对硬件的直接操作,不再受微软的操作系统,VC、Delhpi这些开发工具的约束,我终于看到了另外一片天空。

我做事情喜欢追根问底,随着开发的深入,软件开发与硬件联系越来越紧密,硬件知识的匮乏又对我的发展产生了障碍,而且芯片技术基本上掌握在国外公司的手里,这对做系统级设计是一个非常大的制约,一个新产品出来,第一道利润(也往往是最丰厚的利润)常常都被IC公司如Intel、Motorola赚去了,国内的厂商只能喝点汤。所以我决心解决自己的硬件技术障碍,并打算离开通信行业,进入IC设计相关领域。

当然我明白如果我对硬件了解的非常少,没有哪家IC公司会仁慈到招我这样一个一窍不通的人来培训。所以我必须努力打好基础,学一些相关知识为以后做准备。

就像我开始从MIS转到通信一样,我看过大量通信方面的书,并且给一个ISP做过RADIUS计费分拣台,在这样的背景下这家通信公司才给了我这个机会。

我在的通信公司是做系统设计的,有不少PCB  Layout硬件人员,平常我就注意向他们学习,由于我做的是软件,在公司看硬件资料不好意思,所以开始只好在家看,刚来上海工作我连续一年都在加班,后来不加了,因为我要挤出时间学习,通常我12点左右睡,第二天5点半起,我上班比较早,地铁上如果人不多,我也用来看书。

学习当然不会是一帆风顺的,有些实在不懂的问题就积累起来问硬件人员,他们的帮助使我学习进度快了很多。因为在没有人点拨的情况下自学,我的一半时间是花在解决疑难问题上,但这种问题经常是别人的一句话就可以让我豁然开朗,我非常庆幸我有这样的学习环境。

在后面的一年里,我学会了看硬件原理图,学会了简单的硬件设计 (模拟电路方面还有不小的差距),事情就是这样的,当你安安份份做软件,别人永远认为你是软件开发人员,在你开始学习硬件时别人未必会认同,有位中兴通讯的朋友还对我说过,一个人不可能把所有东西都学完。

我也明白这一点,但我希望自己做的更好。但当你熟悉硬件后大家又会觉得你好像原本就是软硬件都懂的,同事们也都习以为常了。这个时候我可以把硬件资料堂堂正正的拿到公司看,没有人再大惊小怪了。

让我比较自豪的是我通过自己的努力做了一个IAD(软交换的终端设备)系统方案,包含软硬件的选型、设计等内容,这个方案得到了公司和同事们的认同,让我感到非常欣慰。

技术是相辅相成的,当我的硬件有了一定的进步后,我的软件设计也有了很大的提高 ,我可以从更深层次理解问题。

我做的接入服务器CPU是Motorola PowerPC 860,熟悉的朋 友都知道860 QMC与软件的批量数据传输通常采用BD表的方式,硬件人员做驱动的时候习惯采用固定BD表,每接收或发送数据都将数据从BD表拷贝到用户Buffer,或从用户Buffer拷 贝到BD表。

由于理解的比较深入,我自己重新实现了这个过程,采用动态BD表的方式,驱动从一个网口接收数据,提交给我的软件进行三层交换,直至从另外的接口发送出去,没有进行一次拷贝。这样的设计大大提高了性能,使系统的指标接近理论值。

软硬件的结合使我的设计水平上了一个台阶。我现在写的这个操作系统,编译后我把程序反编译成汇编,找出其中不优化的代码,然后在C程序中进行调整。

举个例子,很多CPU没有专门的乘法指令,这个大家应该都知道,在这种CPU上进行一个乘法操作常常会花费大量的指令周期,有的朋友会说这个我知道。我会尽量避免采用×号,但是事情往往不是那么简单,你知道C语言中数组的下标操作是怎么实现的吗?仔细看看反汇编的代码你就会明白,同样是通过下标的定位操作,C编译器会有时候会产生位移指令,但有时候会用乘法实现,两者效率往往是天壤之别,所以明白这些问题你才能将系统性能提升到极致。这些问题就不多说了,有兴趣的话以后可以共同探讨。

话说远一点,我由衷的希望在软件上做的比较深入的朋友们有机会学学硬件以及其它相关知识,尤其是做底层开发和嵌入式设计的。这对软件技术的提高有非常大的帮助,否则很多事情你只知道该这样但不会明白为什么该这样。

我这个观点在我现在的IC公司Project Manager那里也得到了验证。他告诉我们公司现在802.11芯片产品的软件经理原本是做该芯片硬件设计的,某某某原本是做软件的,现在在做IC,类似的例子还有很多,只是在国内这样的风气不是非常流行。

我有一些心得体会与大家分享,只有当我干好本职工作后,我才会学习与工作关系不大的技术,这样公司的上司才不至于反感。

在入门阶段的问题我通常不去问那些资深人士 ,而是问一些资历比较浅的朋友,比如刚毕业不久的学生,因为他们往往会跟你详细的讲解,而资深人士通常觉得你的问题太简单,所以回答的也很简单,我又不好意思多问。等技术上了一定的层次后我才会问他们,他们也能给你比较深入的回答。

另外,有些朋友说我机会比较好,他们也希望能从事新的工作可惜没有机会,我听了只有苦笑,我的机会了解的人都应该知道,我没有出生在什么IT世家:)也没有谁一路提拔我,所有的路都是自己走出来的,我母亲去世比较早,我的后母(我叫她阿姨)看着我努力过来的,一次她看我大年30还在写程序,她说像我这样努力木头都能学出来。

我的最终目的是IC而不是PCB,所以我下一步的准备开始学习IC设计的知识。公司的同事没有懂IC设计的,后面的路又要靠自己了。

我买了不少相关的书,在网上也查了很多的资料,我花了大量的时间去学习VHDL,并且用软件进行了一些简单的设计和仿真(没有设 计ASIC,只是针对FPGA)。随着学习的深入,我渐渐明白了IC设计的基本流程,同时也明白了这条路的艰辛。

这个时候我已经做好了跳槽的准备,我向一家业界又一定知名度的IC设计公司投了简历,并通过了漫长的面试(4个多小时)。其他的一切我都比较满意,唯独薪资差强人意,我也明白原因,因为我是这个行业的新人,我没有经验,我再一次将自清零了。

公司老板问我6000多一个月能不能接受,我知道他也是照章办事。想想我通信行业的朋友们,基本上都是年薪10万以上,月薪过万的也比比皆是,朋友们也帮我介绍了不 少待遇不错的公司。

我该怎么选择,当时我很犹豫,我热爱我的事业,我向往我的追求,但我也是一个普通的人,我也需要养家糊口,我也想早一点买房买车。生活给我出了一道难题。

爱因斯坦在63岁时说过一个人没有在30岁以前达成科学上的最大成就,那他永远也不会有。这句话给了我很大的压力和震动,我马上就26岁了,离30只有四年时间,我必须抓紧这几年宝贵的时间,努力达到我技术上的最高峰。

为了这个理想,为了能离自己的梦更近一些,我选择了这家IC公司,我明白自己的薪资和公司刚进来的硕士研究生相差无几,但为了今后的发展只能忍受,一切又得重新开始。

换行业是一个非常痛苦的过程,尤其从一个春风得意的位置换到一个陌生的岗位,感觉象从温暖的被子里钻出来跳进冰水中,让人难以接受。在原来那家通信公司,我是唯一两年时间涨了五次工资的员工,公司和同事都给了我极大的认可,工作上也常常被委以重任。

但现在这一切都成了过去,在新的公司 我只是一个新人,没有人知道也没有人在意我过去的成绩。我决定重新开始,我把自己看作 新毕业的学生,我要用自己的努力得到公司的认可。进入新的行业是非常痛苦的,我告诉自己必须忍受这一切,虽然外面有很多诱惑,但是既然作出了选择我就不允许自己轻易放弃。

我现在已经在这家新公司上了一个多月的班,开始非常艰难,现在慢慢适应了。第一个月结束时,Team Leader找我谈话,说我是新进员工中最优秀的一个,我心里很欣慰,这也算对我努力的一个肯定吧。

在这里还要感谢我的女朋友,她给了我很大的支持和鼓舞, 每次在我动摇的时候她都在鼓励我,让我坚持自己的理想,刚来上海是她让我不要勉强去做MIS,这次也是她让我顶住了月薪过万的诱惑,没有她我可能不会有今天的成绩。

现在的公司有自己的操作系统,自己的CPU、DSP和其它芯片,在这里我能学到世界上最先进的技术,我们的设计开发不再完全依赖别人的硬件和系统,这让我很开心。我打算等工作步入正轨后,全力学习新的知识,实现我的理想。

在后面的两年里我给自己定下了几个目标:

1、努力做好本职工作,在工作上得到公司和同事们的认同;

2、努力学习IC硬件设计知识,多向同事请教,并利用一切机会多实践;

3、实现我的实时操作系统的主要部分,完成TCP/IP协议栈模块,并免费发布源代码;

4、和我女朋友结婚并买一套小房子,这是最重要的,因为我明白事业是可以重来的,但是珍贵的感情很难失而复得。

在这里提一下我现在开发的操作系统,它是一个实时嵌入式系统,目前支持以下特性:

a. 支持时间片轮转调度和基于优先级调度,最多64个优先级;

b. 抢占式实时内核;

c. 为了便于移植,主体用标准C实现;

d. 汇编代码非常少,不到100行;

e. 支持任务管理,各任务有独立的堆栈;

f. 进程同步和通信目前完成了Semaphore,Message Queue正在调试;

g. 实现了定时系统调用;

h. 可以在Windows上仿真调试。

我还打算下一步实现优先级反转保护,Event Flag,Data Pipe,内存管理(以前实现过) ,驱动接口等。在这之后我还会努力完善它,比如加入文件系统,协议栈、调试接口等。希望朋友们提出自己的意见和建议,在此不胜感激!

后记:

就像有的朋友说的,我的经历或许会给一些朋友产生误导,在这里我必须说明一下。我来上海以前学习过于拼命,常常晚上只睡3个多小时,我身高1米71,那时只有108斤(我现在130多),家人也说我这样拼命活不过60岁,但是当时的我太固执,我对他们说只要能实现理想活50岁我就够了。

那时的拼命使我的身体受到了影响,有一次早上突然腰肌剧痛难忍,痛的我倒在床上站不起来。虽然我现在已经比较注意,但有时候还会隐隐作痛。后来在女朋友说服了我,来上海以后我不再如此。我经常引用父亲的一句话身体是革命的本钱。

而且我也发现拼命不是办法,我可以熬一两个通宵,最多的一次我连续工作了三天三夜, 但是我半个月都没有恢复过来,这样是不是得不偿失?

学习工作应该是一个长期的过程, 像马拉松而不是百米冲刺。我现在非常注意调整学习和工作的强度,我要保证每天尽量有相对充沛的精力,一些年轻的朋友觉得自己也应该拼命努力,这让我多少有些担心,如果我的故事能让你在学习工作上多一点兴趣,我会感到很开心,但如果误导了某些朋友,让你做一些不值得的付出,我会感到很内疚。

技术没有贵贱之分,我以前换行业是因为自己的兴趣所致,而不是对哪个行业有什么偏见。我希望我的经历不要给朋友一个错误的导向,觉得我始终向更高的技术发展。其实各行各业做到顶尖都是很困难的。

话又说回来虽然技术没有贵贱,但是门槛是有高低的,无论如何,做IC的门槛要比做网页的高,这一点无可否认。国家各种人才都是需要的,但是作为个人奋发向上的想法还是应该有的,努力在自己喜欢的行业上做的更好,而不应该停留在比较肤浅的层次上。

我是一个自己觉得比较有自知之明的人,或许我最大的优点就是知道自己有很多缺点 :)。我的故事中很多的曲折和错误都是由我的缺点造成的,希望大家用审慎的眼光看待我的经历,不要被我的花言巧语所迷惑。我学习有些随心所欲,这给我带来了无尽的麻烦,也大大阻碍了我的发展。

记得我小时候成绩比较出色,但是后来学习严重偏科,导致我中学成绩一再滑坡,也没有考上什么好的学校,小时候的一个朋友,当时的成绩和我相仿,但是没有我这个缺点,她上了清华,后来在去了美国深造,在一个著名导师手下研究理论科学,这未尝不是一条更好的出路。

另外我的学习方法也是在不断改善中的,过去的学习过于讲究数量和时间,那样学习既苦而已效率不高。现在我非常注意学习的效率和技巧,这样才是学习的捷径(当然不是指投机取巧),比如说学一相对陌生的技术,如果有条件,不妨问一问有经验的人,不需要问很多,往往他不经意的几句话会给你非常大的帮助,甚至超过你看一个星期的书。带着这样的思想再去学习你会节省很多时间,这样何乐不为呢?

这些年中我学了不少的东西,由于开始非常盲目,所以学的东西杂乱无章,现在回想起来让我啼笑皆非,我把大量的时间浪费在一些没有必要深入了解的知识上,毕竟一个人的精力是有限度的。

很多朋友和我一样都背过五笔字形,的确它是个不错的输入法,但是对一个研发人员它绝对不值得你去背,你的时间应该花在有价值的地方。我这样的事情还做过很多,我背过CCED、WPS的命令和快捷键,在dBase基本退出历史舞台后我还花了很多时间去学习它的使用。

所以我的学习在前期缺乏规划,没有明确的短期目的、中期目标,只有一个虚无飘渺的长期的理想。这就像做设计一样,好的设计是从需求抽象到代码有很多过程,而不能得到了需求就立刻开始开始编码。

当然这么些年的学习和工作多多少少有些收获,下面我说说我的一些学习的心得,这些方法未必正确,我也在不断探索和改进中。

我的学习和工作有相对明确的目标,我不会一时心动而去学习某一技术,在下决定之前我会考虑很多,包括长期的发展,个人路线的规划,需要付出的代价、可能遇到的困难及解决的办法等等;

在决定后还会制定更加明确的计划,包括短期、中期和长期的,身边可以利用到的资源(包括好的书籍、资料、软硬件环境,也包括有经验的朋友或者师长),以及每一个阶段是怎么过渡到高一阶段的计划 ;

往往在一个学习阶段一旦上路后会走的相对顺利,但是跨阶段通常比较麻烦,比如从学习基础知识转到实践。

另外我买书也有自己的方法,现在世面上高质量的书远不如低质量书多,对于一个陌生的技术,往往在第一次买书会选择错误,即使买到一本好书但是它的方向也未必适合你,所以我通常会先在网上查找一些该技术的介绍,有了一点点概念后再去买一本比较薄、相对便宜并且内容相对泛泛而谈的书,这是国内作者最善于写的书: ) ,再把它浏览一遍后我就会基本明白这门技术的要点,后面买书和制定计划就会明确的多 。

否则一开始就想找本好书往往比较困难,而且买回来后努力学习,有时候学了一半才发现是本低质量的书或者是相对过时技术,让人非常懊恼。另外让有经验的人帮你介绍,通常也是一个不错的选择。



Mrxn 发布于 2016-12-5 09:47

QQ空间里的奇怪艾特

故事背景:正在听歌,逛社区的时候,QQ弹窗,说XXX提到了你 ,也不知道谁艾特我,根本就不玩QQ空间的,就进空间看,结果就是这样的:

1.png

又是谁谁提到了你,扎金花,什么的,带一大堆评论,艾特你得好友/陌生人(没测试,但是确实艾特了一大堆人)。

因为,已经遇到过好多次我的好友里面有这种。。。但是我想看看这是什么东西,so,打开fiddler,抓包看一下,结果一看就觉得天朝真的是个因吹丝挺的国度!,发现点进后就通过腾讯的url.cn跳转,而且还带你得QQ号,IP信息,有意思的是期间有个域名,好有迷惑性:m2.people.cn,具体的看图:m.pngm2.png23.gifurl.cn.png

QQ空间周围的灰色产业都是人尽皆知的事情。。。。但是人民网这样的gov也玩这个?不能想,希望是被社,然后二级域名被卖?还是里面有人故意卖?

这些都是,鹅厂,校长,数字家的绿色通道啊,这种推广真的是防不胜防。。。。还好,只是采集访问者的信息,不是木马。。。。为什么这么说呢?

采集你信息,在天朝是在正常不过的事。。。没给你装木马就不错了!这些完全就,新闻源这类似的推广,而且你每次打开这些网址,最终引导的网站都不尽相同,什么一号店,淘宝,天猫,苏宁易购,汽车网,等等。。。

事后,问过艾特我的那个人,他说他在网吧登陆QQ时,扫描了一下二维码,呵呵哒,切记二维码不能乱扫,还有那些说烧苗登录安全的,不一定哦!

在这近乎裸体的畅游在互联网里,我们还是改处处小心微妙啊。。。。就说这么多,下回见!


Mrxn 发布于 2016-12-3 14:53

详细解读jQuery CSS 操作 - scrollTop,scrollLeft,offsetLeft方法

关于scrollTop,offsetTop,scrollLeft,offsetLeft用法介绍:

页可见区域宽: document.body.clientWidth;
网页可见区域高: document.body.clientHeight;
网页可见区域宽: document.body.offsetWidth (包括边线的宽);
网页可见区域高: document.body.offsetHeight (包括边线的宽);
网页正文全文宽: document.body.scrollWidth;
网页正文全文高: document.body.scrollHeight;
网页被卷去的高: document.body.scrollTop;
网页被卷去的左: document.body.scrollLeft;
网页正文部分上: window.screenTop;
网页正文部分左: window.screenLeft;
屏幕分辨率的高: window.screen.height;
屏幕分辨率的宽: window.screen.width;
屏幕可用工作区高度: window.screen.availHeight;

1.jpeg


offsetTop, offsetLeft:只读属性。要确定的这两个属性的值,首先得确定元素的offsetParentoffsetParent指的是距该元素最近的position不为static的祖先元素,如果没有则指向body元素。确定了offsetParentoffsetLeft指的是元素左侧偏移offsetParent的距离,同理offsetTop指的是上侧偏移的距离。


 offsetHeight, offsetWidth:只读属性。这两个属性返回的是元素的高度或宽度,包括元素的边框、内边距和滚动条。返回值是一个经过四舍五入的整数。如下图:

2.png



scrollHeight, scrollWidth:只读属性。返回元素内容的整体尺寸,包括元素看不见的部分(需要滚动才能看见的)。返回值包括padding,但不包括marginborder。如下图:

3.png



scrollTop, scrollLeft:图中已经表示的很明白了。如果元素不能被滚动,则为0。

window.innerWidth, window.innerHeight:只读。视口(viewport)的尺寸,包含滚动条

clientHeight, clientWidth:包括padding,但不包括border, margin和滚动条。如下图

4.png



Element.getBoundingClientRect():只读,返回浮点值。这个方法非常有用,常用于确定元素相对于视口的位置。该方法会返回一个DOMRect对象,包含left, top, width, height, bottom, right六个属性:

left, right, top, bottom:都是元素(不包括margin)相对于视口的原点(视口的上边界和左边界)的距离。

height, width:元素的整体尺寸,包括被滚动隐藏的部分;paddingborder参与计算。另外,heigth=bottom-top, width=right-left

jQuery常用监听页面滚动

当前滚动的地方的窗口顶端到整个页面顶端的距离:

var winPos = $(window).scrollTop();

获取指定元素的页面位置

$(val).offset().top;

对页面滚动条滚动的监听:要放在页面加载的时候

$(window).scroll(function(event){});

设置滚动条到指定位置

$(window).scrollTop(offset)


Mrxn 发布于 2016-12-2 20:54

详细分析如何实现图片懒加载(lazyload),提高用户体验

  • 懒加载的意义(为什么要使用懒加载)


  • 原理


  • 代码


懒加载的意义(为什么要使用懒加载)

对页面加载速度影响最大的就是图片,一张普通的图片可以达到几M的大小,而代码也许就只有几十KB。当页面图片很多时,页面的加载速度缓慢,几S钟内页面没有加载完成,也许会失去很多的用户。

所以,对于图片过多的页面,为了加速页面加载速度,所以很多时候我们需要将页面内未出现在可视区域内的图片先不做加载, 等到滚动到可视区域后再去加载。这样子对于页面加载性能上会有很大的提升,也提高了用户体验。

原理


将页面中的img标签src指向一张小图片或者src为空,然后定义data-src(这个属性可以自定义命名,我才用data-src)属性指向真实的图片。src指向一张默认的图片,否则当src为空时也会向服务器发送一次请求。可以指向loading的地址。

注:图片要指定宽高

<img src="default.jpg" data-src="http://ww4.sinaimg.cn/large/006y8mN6gw1fa5obmqrmvj305k05k3yh.jpg" /> 


当载入页面时,先把可视区域内的img标签的data-src属性值负给src,然后监听滚动事件,把用户即将看到的图片加载。这样便实现了懒加载。

代码


在写代码前,需要了解各种高度。可以参考这篇文章:https://mrxn.net/codelife/jQuery-css-scrollTop-scrollLeft-offsetLeft.html

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        img {
            display: block;
            margin-bottom: 50px;
            width: 400px;
            height: 400px;
        }
    </style>
</head>
<body>
    <img src="default.jpg" data-src="http://ww4.sinaimg.cn/large/006y8mN6gw1fa5obmqrmvj305k05k3yh.jpg" alt="">
    <img src="default.jpg" data-src="http://ww4.sinaimg.cn/large/006y8mN6gw1fa5obmqrmvj305k05k3yh.jpg" alt="">
    <img src="default.jpg" data-src="http://ww1.sinaimg.cn/large/006y8mN6gw1fa7kaed2hpj30sg0l9q54.jpg" alt="">
    <img src="default.jpg" data-src="http://ww1.sinaimg.cn/large/006y8mN6gw1fa7kaed2hpj30sg0l9q54.jpg" alt="">
    <img src="default.jpg" data-src="http://ww4.sinaimg.cn/large/006y8mN6gw1fa5obmqrmvj305k05k3yh.jpg" alt="">
    <img src="default.jpg" data-src="http://ww4.sinaimg.cn/large/006y8mN6gw1fa5obmqrmvj305k05k3yh.jpg" alt="">
    <img src="default.jpg" data-src="http://ww4.sinaimg.cn/large/006y8mN6gw1fa5obmqrmvj305k05k3yh.jpg" alt="">
    <img src="default.jpg" data-src="http://ww4.sinaimg.cn/large/006y8mN6gw1fa5obmqrmvj305k05k3yh.jpg" alt="">
    <img src="default.jpg" data-src="http://ww1.sinaimg.cn/large/006y8mN6gw1fa7kaed2hpj30sg0l9q54.jpg" alt="">
    <img src="default.jpg" data-src="http://ww4.sinaimg.cn/large/006y8mN6gw1fa5obmqrmvj305k05k3yh.jpg" alt="">
    <img src="default.jpg" data-src="http://ww4.sinaimg.cn/large/006y8mN6gw1fa5obmqrmvj305k05k3yh.jpg" alt="">
</body>

JavaScript


<script>
    var num = document.getElementsByTagName('img').length;
    var img = document.getElementsByTagName("img");
    var n = 0; //存储图片加载到的位置,避免每次都从第一张图片开始遍历
    lazyload(); //页面载入完毕加载可是区域内的图片
    window.onscroll = lazyload;
    function lazyload() { //监听页面滚动事件
        var seeHeight = document.documentElement.clientHeight; //可见区域高度
        var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; //滚动条距离顶部高度
        for (var i = n; i < num; i++) {
            if (img[i].offsetTop < seeHeight + scrollTop) {
                if (img[i].getAttribute("src") == "default.jpg") {
                    img[i].src = img[i].getAttribute("data-src");
                }
                n = i + 1;
            }
        }
    }
</script>

jQuery

<script>
    var n = 0,
        imgNum = $("img").length,
        img = $('img');
    lazyload();
    $(window).scroll(lazyload);
    function lazyload(event) {
        for (var i = n; i < imgNum; i++) {
            if (img.eq(i).offset().top < parseInt($(window).height()) + parseInt($(window).scrollTop())) {
                if (img.eq(i).attr("src") == "default.jpg") {
                    var src = img.eq(i).attr("data-src");
                    img.eq(i).attr("src", src);
                    n = i + 1;
                }
            }
        }
    }
</script>



使用节流函数进行性能优化

如果直接将函数绑定在scroll事件上,当页面滚动时,函数会被高频触发,这非常影响浏览器的性能。

我想实现限制触发频率,来优化性能。

节流函数:只允许一个函数在N秒内执行一次。下面是一个简单的节流函数:

// 简单的节流函数
//fun 要执行的函数
//delay 延迟
//time  在time时间内必须执行一次
function throttle(fun, delay, time) {
    var timeout,
        startTime = new Date();
    return function() {
        var context = this,
            args = arguments,
            curTime = new Date();
        clearTimeout(timeout);
        // 如果达到了规定的触发时间间隔,触发 handler
        if (curTime - startTime >= time) {
            fun.apply(context, args);
            startTime = curTime;
            // 没达到触发间隔,重新设定定时器
        } else {
            timeout = setTimeout(fun, delay);
        }
    };
};
// 实际想绑定在 scroll 事件上的 handler
function lazyload(event) {}
// 采用了节流函数
window.addEventListener('scroll',throttle(lazyload,500,1000));




标签: 分享 JS html

Mrxn 发布于 2016-12-2 20:15

看完借贷宝那个10G的压缩包,我真心觉得那帮姑娘疯了。。。

不是说她们穷疯了,而是说脑子真的不好。


借款的大部分是93年到97年的,也有个别81年82年的。她们借钱的条件不光是裸照,要拍扣下体和身份证一起的特写,有的还要放自摸或和别人ooxx的视频。

640.jpg

4.jpg


这个都是自己作的也就算了,除了这些还要提供身份证、护照、微信号、学校、班级、专业、学生证、转考证、食堂卡、同学电话、室友电话、家庭地址、父母电话、支付宝账号,支付宝密码、芝麻信用分。。。


有些脑子不好的把父母的身份证工作单位都给高利贷了。


最心酸的是她们的欠条,仔细看借款数字和条件,大部分是几千块,那些年轻漂亮的高利贷肯借2万的,长得丑只能借到800。。。

2(.jpg



全套看下来这帮放贷的借钱赚利息好像并不在乎能不能收回来,这么高的利息和杀人差不多了, 貌似放高利贷是醉翁之意不在酒,能还上高额的利息也不错, 还不出也不怕。


人家国外黑社会还会有什么规矩尽量不搞学生,这边倒好,感觉他们主要目的就是搜集一批年轻缺钱没什么见识更没人脉还不在乎面子没有羞耻心的学生,反正你啥都不懂,都沦落到跑我这来借钱了你身边肯定也没有能帮你出头的人了,之后叫你们去裸聊也好,搞卖肉也好,反正手上有大把不懂事学生妹不愁赚不到钱。

3.jpg



看聊天记录个别姑娘和房贷的聊天记录甚至有种这位早就想下海但是找不到门路这回终于找到组织的荒谬感。

5.jpg



反正也都成年了,想作死别人也拦不住,那我为什么说那帮姑娘疯了呢,就是有几个我看蚂蚁花呗的钱都还不上了,估计是能套现的都套了,都已经山穷水尽了。

6.jpg



都已经沦落到拿裸照去借钱了,这几位还不忘记拿个自拍杆找着角度拍蛇精脸的裸照。


而且照片一看就是美图秀秀液化了好久,你都在被逼到去拍裸照了还不忘记把眼睛变大把腰弄细把腿拉长,有这种心思和精力出门动动脑子或者打个工度过一下难关很难吗。不这么干的理由如果是性格或者心理原因那还值得同情,可是大部分人又不像,很多的生活照看起来还过得很优越, 真心不知道该说她们啥好。


***************************


受害人的隐私信息头像我全部截掉了,有头像的都是高利贷,当然也不可能是真头像,反正别问我在哪里看的,知道我也不说,这篇只是单纯讨论这个事情。那啥女儿德育教育一定要跟上,实在跟不上千万要富养啊。

最后,各位看官,切记看人不能看照片,美图秀秀这类软件已经惨无人性了-_- ||



Mrxn 发布于 2016-12-1 13:08

搜索

日历

标签