未分类

校招-顺丰前端面经总结

由于本人的个人身体原因,只能三月底回学校进行春招补招的校园招聘!!!前前后后准备了一个月,也算是成绩圆满。 这篇文章是今天下午刚拿到顺丰的offer,所以先写顺丰的面经过程。也祝学弟学妹们校招也顺顺利利。 之前在顺丰拉勾上的招聘,知道顺丰技术研发是卡学历的,之前大三大四有在两家公司进行实习(不透露了,也是大公司),日常在实验室也跟着老师做着项目,也有项目经验。所以,当时投递顺丰的时候,先有一个测评题,做了一个多小时,那真是欲哭无泪,做到一小时的时候,真的想放弃。还是含着泪做完了。但是顺丰我没有收到春招笔试题(不知道为什么!可能么有吧) 一个之后,猝不及防的接到了面试通知,大概在4月10号左右的时间。一二面是前后十分钟面试的,每场面试50分钟。因为前后太快,只有总结两次面试的全部问题,已经记不清楚是哪一面问的了。大概一面问的东西很多,但是不深。二面更多的问原理。 顺丰一二面汇总 PS:项目介绍,必问,后面介绍 1、Vue的生命周期(网易、果壳网、今日头条面试也被问到) 2、Jquery用的是几版本(目前是3版本,但是企业一般用1.8版本,因为3版本很多可能还没有更新) 3、Webpack用的是3版本(目前已经更新到了4版本) 4、Webpack的配置属性(就简单的介绍配置的基本属性) 5、原型和原型链 constuction 6、有哪些排序(冒泡、归并、快速排序、堆排序)(只要问到排序一定会问时间复杂度) 7、给一个数组,找出第二大的数,只能用一次循环怎么实现(后面改成:抛开一次循环,可以怎么实现。本人答:排序,然后倒数第二个(判断最后一个的大小,是否有重复)) 8、事件模型(捕获、冒泡) 9、Js事件绑定的三种事件 (1)在html中直接绑定 onclick (2)获取对象之后,给对象绑定onclick attachEvent //测试浏览器,发现:firefox、chrome、IE9、IE10、IE11、safari、opera都不兼容,IE7、IE8兼容, if (window.attachEvent) { window.attachEvent(“onload”, remove); } else if (window.addEventListener) { window.addEventListener(“load”, remove, false); } 10、状态码 11、AMD和CMD的区别 12、Vuex是什么 13、基本数据类型 undefined null boolean number string symbol(es6) 14、V-指令说一些 v-if 和 v-show的区别 v-if后面是一个表达式,v-show如果是false,在DOM中是display:none 15、promise的原理 16、原生JS怎么去实现回调 17、京东商城的图片,要是存在图片跨域问题,怎么去解决 18、跨域问题(追问,jsonp跨域的原理) 19、Jsonp跨域的原理 答:很简单,就是利用 并提供一个回调函数来接收数据(函数名可约定,或通过地址参数传递)。 20、防抖 21、扩展运算符 。。。Arr 22、数组方法 pop map concat filter find keys indexOf forEach

200G网盘资源分享

今日偶得大量网盘资源,遂写一博文以分享! 来源:HACK学习呀,微信公众号:HACK学习呀 文件名 链接 提取密码 2015cracer入侵入门到精通视频教程 点我查看 trf3 一笔√带过入侵教程 点我查看 ypan 〔复仇者〕新手入门系列(7套) 点我查看 g1tb 菜鸟入门,做的确实不错 点我查看 q0oh 菜鸟基础(10套) 点我查看 2zq6 小迪渗透第十期 点我查看 u5sv 计算机网络 点我查看 v145 计算机网络视频教程 点我查看 3btd TCP_IP协议基础视频教程 点我查看 ta7z IP地址子网划分终极降解视频讲解(17讲) 点我查看 tfj4 互联网络工程技术 点我查看 ns1t 计算机网络原理精讲视频教程 点我查看 a9re 运维视频教程(14套) 点我查看 6qfu 宽带网络交换技术 点我查看 2mbs google黑客 系列 点我查看 rlzh 谷歌黑客语法入门视频教程 点我查看 uvbd Kali Linux——入侵渗透(2套) 点我查看 3xwn kali linux bt5软件+使用教程(10套) 点我查看 rh3n xss技术大全 点我查看 5uzr XSS教程系列(2套) 点我查看 gcrr 病毒分析视频教程 点我查看 3lf0 代码审计pdf 点我查看 yz4c 暗月2014最新PHP代码审计系列教程 点我查看 li4h 钓鱼站点开发系列教程 点我查看 5su8 幽灵逆向反汇编逆向教程12课 点我查看 twfh Burpsuite视频教程_2014年 点我查看 9bwk Burp软件教程 点我查看 y0jl 神器们的使用教程(8套) 点我查看 ie3g 靶机搭建(7套) 点我查看 ejfo BackTrack渗透16课 点我查看 s5nv BT5使用课程 点我查看 cu89 burpsuite 系列视频教程 点我查看 pjpr Metasploit教程大全 点我查看 q9fk webshell提权教程 点我查看 8ttn 菜鸟腾飞安BackTrack渗透-视频教程 点我查看 4ktc angelc0de原创burpsuite系列VIP培训教程 点我查看 o6sj 慕课网—前端开发工具SublimeTex实用技巧 点我查看 goz7 用工具快速建站扒站教程 点我查看 kd63 常涛的教程(5套) 点我查看 3jyh Backtrack工具教程 点我查看 aw4g MFC软件使用教程 点我查看 i0nn 黑客工具MSF系列培训教程 点我查看 rxbd 靶机环境 点我查看 sqya 戈雅渗透论坛脚本安全系列教程+工具包 点我查看 4gol 〔复仇者〕服务器维攻防(3套) 点我查看 gkjk 网络攻防(8套) 点我查看 rd6i 商城论坛建站(3套) 点我查看 2b9r 〔复仇者〕脚本知识学习(6套) 点我查看 jvyg 脚本相关系列 点我查看 uxdi [飞儿精品教程]小迪第7期脚本培训 点我查看 apan 中国黑客组织脚本入侵6课 点我查看 47qk 『逆向免杀』(39套) 点我查看 wqrg 免杀教程大合集(4套) 点我查看 y1bt 日月神教源码免杀第一季 点我查看 su0r 逆向免杀(48套) 点我查看 v0my 上兴木马软件+教程 点我查看 tm9s 抓鸡远控视频+软件 点我查看 f8wb 刺客安全网抓鸡VIP课程 点我查看 07h4 2014最新实战3306端口抓鸡 点我查看 4qnn 完全精通DDOS软件的配置和使用 点我查看 qi72 逆向分析(5套) 点我查看 pzwu 破解软件教程(10套) 点我查看 5ysm 『脱壳破解』(68套) 点我查看 zi30 2012最新天狼星加密视频破解教程(附工具)共15个视频 点我查看 iicy 脱壳破解(76套) 点我查看 eh41 加密破解(3套) 点我查看 8udp 90大流5分钟教会你内网劫持 点我查看 j7b4 渗透教程菜鸟也能变大神 点我查看 ammw 〔复仇者〕高级渗透教程(10套) 点我查看 ika7 〔复仇者〕渗透整套教程(59套) 点我查看 iqw2 〔复仇者〕杂七杂八教程(40套) 点我查看 uk33 杀魂道长渗透教程 点我查看 u9cr 【9.

给图像添加各种噪声

1. 简介 下面简单介绍两种图像噪声,即椒盐噪声和高斯噪声。 (1) 椒盐噪声 椒盐噪声也称脉冲噪声,它是一种随机出现的白点或者黑点,可能是亮的区域有黑色像素或是在暗的区域有白色像素(或是两者皆有)。 图像模拟添加椒盐噪声是通过:随机获取像素点,并设置为高亮度点和低亮度点来实现的。 (2) 高斯噪声 高斯噪声是指概率密度函数服从高斯分布的一类噪声。 特别的,如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度服从均匀分布,则称这个噪声为高斯白噪声。 高斯白噪声 功率谱密度频谱图 和 噪声幅值分布图的图片如下: 2. 代码 (1) 为图像添加椒盐噪声 //给原图像增加椒盐噪声 //图象模拟添加椒盐噪声是通过随机获取像素点,并设置为高亮度点和低亮度点来实现的 //srcImage为源图像,n为椒/盐像素点个数,返回含噪图像 Mat addSaltNoise(const Mat srcImage, int n) { Mat dstImage = srcImage.clone(); for (int k = 0; k < n; k++) { //随机取值行列,得到像素点(i,j) int i = rand() % dstImage.rows; int j = rand() % dstImage.cols; //图像通道判定 if (dstImage.channels() == 1)//修改像素点(i,j)的像素值 { dstImage.at(i, j) = 255; //盐噪声 } else { dstImage.

VTK相机类vtkCamera原理及用法

vtk是著名的开源三维渲染库,在三维渲染过程中的一个非常重要的内容就是相机即vtkCamera类的设置。在VTK中,相机的实质是一个观测点。VTK的官方Doc对vtkCamera写的十分简略,暗坑很多。在学习和使用vtkCamera的过程中,我走了很多弯路。在我的应用中,我希望能够根据现实中相机的Transform Matrix完全模拟设置vtkCamera。下面根据我的经验和理解,介绍一下vtkCamera,希望对被人能有帮助。 vtkCamera参数 上图是vtkCamera模型示意图,虽然这个图来自于另一个3D库的文档,但是原理一样。要注意的是虽然左边画了个摄像机,但是其实图示的包括焦点在内都是在相机内部的。下面利用这个图来解释一下vtkCamera的各个成员变量的含义。 WindowCenter WindowCenter按照字面意思是窗口的中心。在相机制造过程中难免存在一定的装配误差,所以透镜的中心往往不能完全对准传感器的中心,而是有非常微小的误差。所以我们在用vtk相机模拟现实中相机时也应该体现这一现象。WindowCenter实质上就是成像的一个offset偏移量。在vtk中WindowCenter的坐标范围是([-1,+1], [-1,+1])。比方说,如果理想情况,图像成像中心(Focal Point)就在窗口的中心,那么WindowCenter就是(0, 0)。如果希望把成像平移到窗口的右上角,那么就应该设置成(1, 1)。根据官方文档,这个量一般在同一窗口显示多个渲染器时才需要设置。但实际上,如果你需要vtk完全模拟现实相机,也要考虑设置这个量,否则永远有一个偏移量。反过来,如果希望图像平移也可以修改这个参数。 这里要注意的是,WindowCenter的正方向是向右向上的。而成像平面的坐标系往往是向右向下的。小心正负号的设置。另外,平移的对象是图像,而不是在三维空间移动相机。 FocalPoint FocalPoint即焦点位置。在现实相机中焦点在成像平面中心,即在光心的后面(与被摄物体在光心的两侧)。但是在建模时为了简化我们往往对称到光心前面(与被摄物体在光心同侧)。注意这里要求的是焦点的三维坐标,而不仅仅是焦距。因为焦点不仅确定了成像平面的位置,还与光心位置Position一同确定了相机镜头的朝向。 Position 这里的Position指的实际上是光心的位置,或者说对应小孔相机模型中小孔的位置。 ViewUp ViewUp指图像的正方向。由Position和FocalPoint我们可以确定5个自由度,相机仍然可以沿着主光轴任意旋转。所以这里要指定正方向,即ViewUp。这里注意,ViewUp是一个方向向量,不存在位置,或者说起点永远在原点。 ViewAngle ViewAngle是视角。默认是30°。其实这个是一个很重要的参数,它决定了图像中内容的比例大小。或者说,通过设置这一变量可以实现图像的放缩。 ClippingRange ClippingRange即剪切平面,分为前后两个。只有在这两个剪切平面之间的内容才会被渲染和显示。默认值是(0.1,1000)。这个量一般不需要修改,而是在vtkRenderer对象中调用ResetCameraClippingRange()方法来自动重设渲染范围。如果你的图像显示不完整,但是稍微用鼠标旋转或平移一下又变完整了。建议试一下调用一次这个方法。 ParallelProjection 如果为True那么按照平行投影进行渲染,否则默认是按照透视投影PerspectiveProjection进行渲染。透视投影即近大远小的投影,平行投影即用平行光照射得到的投影,没有近大远小的透视效应。如图所示: DirectionOfProjection DirectionOfProjection即一个三维矢量,从光心位置Position指向焦点位置FocalPoint。 ViewPlaneNormal ViewPlaneNormal是投影面(成像面)的法向量。与DirectionOfProjection矢量正好相反。 Distance Distance即焦距,即上面两个向量的模长。如果使用SetDistance()会沿着主光轴移动焦点FocalPoint,从而使FocalPoint与Position达到给定距离。 ModelTransformMatrix 这个变换矩阵将移动场景里除了相机的所有物体,然后渲染。理论上可以通过“ 相机不动物体动” 获得与 “物体不动相机动”一样的图片。但是标准的方法应该还是使相机移动,这样更符合实际。 ViewTransform 这个矩阵是相机矩阵的逆矩阵。相机矩阵是相机坐标系(原点Position,Z轴指向FocalPoint,Y轴与ViewUp平行)相对于世界坐标系的位置,而这个矩阵是世界坐标系相对于相机坐标系的位置。如果相机矩阵 T=[0R00t1] T = [ R t 0 0 0 1 ] 那么ViewTransform为 T−1=[0RT00−RTt1] T − 1 = [ R T − R T t 0 0 0 1 ] 单位正交矩阵的逆等于其转置矩阵。 CameraLightTransform 当我们设置了Position,FocalPoint和ViewUp后就会得到一个唯一的变换矩阵(相机矩阵),即从世界坐标系到相机坐标系的坐标变换矩阵,这个相机也就确定了唯一的位置。假设设置另一个相机起始值为Positon = (0, 0, 1),FocalPoint = (0, 0, 0),ViewUp = (0, 1, 0)。对这个相机施加一个怎样的变换,才能得到我们目前当前相机矩阵。这个变换就是CameraLightTransform。

2018 Scrapy Environment Enhance(2)Proxy to Tor Network

2018 Scrapy Environment Enhance(2)Proxy to Tor Network Follow this Blog and Set the Proxy https://gist.github.com/DusanMadar/8d11026b7ce0bce6a67f7dd87b999f6b https://stackoverflow.com/questions/45009940/scrapy-with-privoxy-and-tor-how-to-renew-ip Install Tor thing and Verify > apt update > apt install tor Install Client Tool > apt install netcat Set Up Tor > echo “ControlPort 9051” >> /etc/tor/torrc > echo HashedControlPassword $(tor –hash-password “mypassword” | tail -n 1) >> /etc/tor/torrcpassword Start Tor > service tor start Exception: /etc/init.d/tor: line 140: ulimit: open files: cannot modify limit: Operation not permitted

Exploit-exercises

1 概述 Exploit-Exercise是一个Linux平台下漏洞挖掘、分析的练习平台。网址为: https://exploit-exercises.com 官方提供了个很多虚拟机、文档、挑战题目,用于学习各种计算机安全问题,如权限提升、漏洞分析、Exploit开发、调试、逆向工程和通用的网络安全问题。 目前有几个板块:Nebula、Protostar、Fusion、Main Sequence、Cloud Road 2 虚拟机 以Nebula板块为例,页面中提供了下载地址: https://exploit-exercises.com/nebula/ 下载后为ISO虚拟机文件,这里为exploit-exercises-nebula-5.iso 【虚拟机的安装】 1. 使用VMWare创建虚拟机,操作系统选Linux,版本选Ubuntu; 2. 启动虚拟机,界面如下: 选择默认的“live – boot the Live System”即可 3. 账号/密码 levelXX/levelXX 其中XX为级别号,00-19,如level00/level00。 nebula/nebula 这个账号用来执行root命令,sudo -s ,密码为nebula。 可以这样切换用户: level07@nebula:~$ su – level10 4. 登录后,可以查看IP,使用SSH进行连接 3 资源 1. https://github.com/1u4nx/Exploit-Exercises-Nebula。Exploit-Exercises+Nebula全攻略——Linux平台下的漏洞分析入门。 PS:Nebula板块的20道题。 2. researchexploit exercises – protostar – stack levels https://thesprawl.org/research/exploit-exercises-protostar-stack/。 PS:Protostar板块的Stack题目

常用颜色的十六进制和rgb格式

颜色名列表 颜色名 十六进制颜色值 颜色 AliceBlue #F0F8FF rgb(240, 248, 255) AntiqueWhite #FAEBD7 rgb(250, 235, 215) Aqua #00FFFF rgb(0, 255, 255) Aquamarine #7FFFD4 rgb(127, 255, 212) Azure #F0FFFF rgb(240, 255, 255) Beige #F5F5DC rgb(245, 245, 220) Bisque #FFE4C4 rgb(255, 228, 196) Black #000000 rgb(0, 0, 0) BlanchedAlmond #FFEBCD rgb(255, 235, 205) Blue #0000FF rgb(0, 0, 255) BlueViolet #8A2BE2 rgb(138, 43, 226) Brown #A52A2A rgb(165, 42, 42) BurlyWood #DEB887 rgb(222, 184, 135) CadetBlue #5F9EA0 rgb(95, 158, 160) Chartreuse #7FFF00 rgb(127, 255, 0) Chocolate #D2691E rgb(210, 105, 30) Coral #FF7F50 rgb(255, 127, 80) CornflowerBlue #6495ED rgb(100, 149, 237) Cornsilk #FFF8DC rgb(255, 248, 220) Crimson #DC143C rgb(220, 20, 60) Cyan #00FFFF rgb(0, 255, 255) DarkBlue #00008B rgb(0, 0, 139) DarkCyan #008B8B rgb(0, 139, 139) DarkGoldenRod #B8860B rgb(184, 134, 11) DarkGray #A9A9A9 rgb(169, 169, 169) DarkGreen #006400 rgb(0, 100, 0) DarkKhaki #BDB76B rgb(189, 183, 107) DarkMagenta #8B008B rgb(139, 0, 139) DarkOliveGreen #556B2F rgb(85, 107, 47) Darkorange #FF8C00 rgb(255, 140, 0) DarkOrchid #9932CC rgb(153, 50, 204) DarkRed #8B0000 rgb(139, 0, 0) DarkSalmon #E9967A rgb(233, 150, 122) DarkSeaGreen #8FBC8F rgb(143, 188, 143) DarkSlateBlue #483D8B rgb(72, 61, 139) DarkSlateGray #2F4F4F rgb(47, 79, 79) DarkTurquoise #00CED1 rgb(0, 206, 209) DarkViolet #9400D3 rgb(148, 0, 211) DeepPink #FF1493 rgb(255, 20, 147) DeepSkyBlue #00BFFF rgb(0, 191, 255) DimGray #696969 rgb(105, 105, 105) DodgerBlue #1E90FF rgb(30, 144, 255) Feldspar #D19275 rgb(209, 146, 117) FireBrick #B22222 rgb(178, 34, 34) FloralWhite #FFFAF0 rgb(255, 250, 240) ForestGreen #228B22 rgb(34, 139, 34) Fuchsia #FF00FF rgb(255, 0, 255) Gainsboro #DCDCDC rgb(220, 220, 220) GhostWhite #F8F8FF rgb(248, 248, 255) Gold #FFD700 rgb(255, 215, 0) GoldenRod #DAA520 rgb(218, 165, 32) Gray #808080 rgb(128, 128, 128) Green #008000 rgb(0, 128, 0) GreenYellow #ADFF2F rgb(173, 255, 47) HoneyDew #F0FFF0 rgb(240, 255, 240) HotPink #FF69B4 rgb(255, 105, 180) IndianRed #CD5C5C rgb(205, 92, 92) Indigo #4B0082 rgb(75, 0, 130) Ivory #FFFFF0 rgb(255, 255, 240) Khaki #F0E68C rgb(240, 230, 140) Lavender #E6E6FA rgb(230, 230, 250) LavenderBlush #FFF0F5 rgb(255, 240, 245) LawnGreen #7CFC00 rgb(124, 252, 0) LemonChiffon #FFFACD rgb(255, 250, 205) LightBlue #ADD8E6 rgb(173, 216, 230) LightCoral #F08080 rgb(240, 128, 128) LightCyan #E0FFFF rgb(224, 255, 255) LightGoldenRodYellow #FAFAD2 rgb(250, 250, 210) LightGrey #D3D3D3 rgb(211, 211, 211) LightGreen #90EE90 rgb(144, 238, 144) LightPink #FFB6C1 rgb(255, 182, 193) LightSalmon #FFA07A rgb(255, 160, 122) LightSeaGreen #20B2AA rgb(32, 178, 170) LightSkyBlue #87CEFA rgb(135, 206, 250) LightSlateBlue #8470FF rgb(132, 112, 255) LightSlateGray #778899 rgb(119, 136, 153) LightSteelBlue #B0C4DE rgb(176, 196, 222) LightYellow #FFFFE0 rgb(255, 255, 224) Lime #00FF00 rgb(0, 255, 0) LimeGreen #32CD32 rgb(50, 205, 50) Linen #FAF0E6 rgb(250, 240, 230) Magenta #FF00FF rgb(255, 0, 255) Maroon #800000 rgb(128, 0, 0) MediumAquaMarine #66CDAA rgb(102, 205, 170) MediumBlue #0000CD rgb(0, 0, 205) MediumOrchid #BA55D3 rgb(186, 85, 211) MediumPurple #9370D8 rgb(147, 112, 216) MediumSeaGreen #3CB371 rgb(60, 179, 113) MediumSlateBlue #7B68EE rgb(123, 104, 238) MediumSpringGreen #00FA9A rgb(0, 250, 154) MediumTurquoise #48D1CC rgb(72, 209, 204) MediumVioletRed #C71585 rgb(199, 21, 133) MidnightBlue #191970 rgb(25, 25, 112) MintCream #F5FFFA rgb(245, 255, 250) MistyRose #FFE4E1 rgb(255, 228, 225) Moccasin #FFE4B5 rgb(255, 228, 181) NavajoWhite #FFDEAD rgb(255, 222, 173) Navy #000080 rgb(0, 0, 128) OldLace #FDF5E6 rgb(253, 245, 230) Olive #808000 rgb(128, 128, 0) OliveDrab #6B8E23 rgb(107, 142, 35) Orange #FFA500 rgb(255, 165, 0) OrangeRed #FF4500 rgb(255, 69, 0) Orchid #DA70D6 rgb(218, 112, 214) PaleGoldenRod #EEE8AA rgb(238, 232, 170) PaleGreen #98FB98 rgb(152, 251, 152) PaleTurquoise #AFEEEE rgb(175, 238, 238) PaleVioletRed #D87093 rgb(216, 112, 147) PapayaWhip #FFEFD5 rgb(255, 239, 213) PeachPuff #FFDAB9 rgb(255, 218, 185) Peru #CD853F rgb(205, 133, 63) Pink #FFC0CB rgb(255, 192, 203) Plum #DDA0DD rgb(221, 160, 221) PowderBlue #B0E0E6 rgb(176, 224, 230) Purple #800080 rgb(128, 0, 128) Red #FF0000 rgb(255, 0, 0) RosyBrown #BC8F8F rgb(188, 143, 143) RoyalBlue #4169E1 rgb(65, 105, 225) SaddleBrown #8B4513 rgb(139, 69, 19) Salmon #FA8072 rgb(250, 128, 114) SandyBrown #F4A460 rgb(244, 164, 96) SeaGreen #2E8B57 rgb(46, 139, 87) SeaShell #FFF5EE rgb(255, 245, 238) Sienna #A0522D rgb(160, 82, 45) Silver #C0C0C0 rgb(192, 192, 192) SkyBlue #87CEEB rgb(135, 206, 235) SlateBlue #6A5ACD rgb(106, 90, 205) SlateGray #708090 rgb(112, 128, 144) Snow #FFFAFA rgb(255, 250, 250) SpringGreen #00FF7F rgb(0, 255, 127) SteelBlue #4682B4 rgb(70, 130, 180) Tan #D2B48C rgb(210, 180, 140) Teal #008080 rgb(0, 128, 128) Thistle #D8BFD8 rgb(216, 191, 216) Tomato #FF6347 rgb(255, 99, 71) Turquoise #40E0D0 rgb(64, 224, 208) Violet #EE82EE rgb(238, 130, 238) VioletRed #D02090 rgb(208, 32, 144) Wheat #F5DEB3 rgb(245, 222, 179) White #FFFFFF rgb(255, 255, 255) WhiteSmoke #F5F5F5 rgb(245, 245, 245) Yellow #FFFF00 rgb(255, 255, 0) YellowGreen #9ACD32 rgb(154, 205, 50)

众家评说谷歌新编程语言Dart

10月10日在丹麦举行的Goto会议上,谷歌Dart语言项目的领导人Lars Bak宣布推出编程语言Dart。Lars Bak表示,Dart是一种“结构化的Web编程”语言,Dart编程语言在所有现代的浏览器和环境中提供高性能。 结构化的Web编程语言 Dart代码可以用两种不同方式执行:一是通过一个原生的虚拟机;另一种则是JavaScript引擎,使用编译器将Dart代码转换为JavaScript代码。也就是说,你可以使用Dart编写一个Web应用程序,并在任何现代浏览器上编译及运行它。虽然目前Dart VM尚未集成至Chrome中,但已在研究计划之中。 Google欲通过Dart取代JavaScript 谷歌表示,新的语言将帮助开发人员创建一个结构化的和灵活的Web编程语言,使Dart语言成为程序员熟悉和自然的语言并且很容易学习,谷歌已经在开源软件库dartlang.org网站上提供其语言和开发工具,详细介绍这个平台如何适合一个人的小型团队到大型项目,通过本地虚拟机执行的代码或者在JavaScript引擎上执行代码。JavaScript引擎可以把Dart代码翻译为JavaScript。延伸:Google强推Dart语言替代JavaScript 意欲何为? Dart的设计目标: ◆ 创建一个结构化又富灵活性的Web编程语言。 ◆ Dart对编程人员应该是熟悉而自然的,易于学习。 ◆ 在所有现有浏览器和各种环境(从小型的手持设备乃至服务器端实现)中确保实现高性能。 Dart考虑了一系列的开发场景:从没有太多架构的个人项目至代码中需要加入正式类型以便说明程序员意图的大型项目。为了支持这些广泛的大型项目,Dart提供了许多可选的类型,在编码时你可以先不用考虑类型而在需要的时候添加它们。 究竟,Google推出编程语言Dart,能否在这百家争鸣时代打造一片艳阳天呢?来看看大家对它的评价. Google工程师Bracha的博客: 其先表达了对Javascript的不满,然后提出互联网需要继续进化,另外就是需要能够利用上多核心处理器的性能。他还说:Javascript依然是一个对平台部署来说有着严重限制的语言。 Reddit上有人评论: 我不理解为什么人们非要跟着Google帮他们用自己的技术去取代现有的技术。他们总是承诺“我们必须尝试新标准”,但他们自己的技术目前为止没有任何一样成为标准: Google不喜欢MPEG,于是推出了VP8。但打一开始他们就没在将其打造成一个真正的开放标准上做任何努力。 Google不喜欢HTTP,于是推出了SPDY。但现在只有Chrome和Google的网页应用支持,目前也没有任何迹象能成进入标准组织。你可以想象微软的IE自己鼓捣了一套HTTP标准然后只和微软自己的IIS服务通讯吗? Google不喜欢所有非IE浏览器的NPAPI插件模型,于是推出了完全不兼容的插件API和原生代码的Native Client Google不喜欢JPG和PNG,于是推出了WebP图形格式 而现在Google又开始不喜欢Javascript了,于是推出了Dart 估计接下来Google还会不喜欢CSS甚至是HTML。 ITeye社区专家: Web技术日新月异,HTML5/CSS3是一个全新的春天,但JavaScript则已近20年,没有很大的变化。如果Dart真是神器,有着JavaScript难以匹配的应用场景,那么Web完全可能再次加速,推枯拉朽,一个新的时代可能加速到来。 只是,Dart到底是什么?Google也搞得太神秘了,从目前的网络信息来看,什么有价值的信息也没有透露出来。我倒是很期望Dart能够如同Smalltalk一样,能够在网页开发中提供一个完全交互的、增量式的开发模型,我想对开发效率的提升将无与伦比。反之,纯粹从语言的角度来看,实在想不出能够有什么革命性的突破。 CSDN技术专家: 在近几年出现的JavaScript引擎, 如TraceMonkey,谷歌V8,还有微软在IE 9中使用的Chakra引擎,其图形渲染,底层API调用的能力已经到达了峰顶,浏览器再次效率的提升已经接近了性能优化的极限,在效率上可以提升的空间已经不多。如今可以说:JavaScript语言的性能已经足够快了,已经达到了极根了,如果想要再次提升效率,必须要用传统的的像Java,C#,C++这类静态语言,JavaScript这类动态语言的运行速度完全胜任不了未来Web的主流,看来Google是早早地就想到了,这与谷歌称霸Web是相悖逆的,所以大家趁早归附”新的Web编程语言Dart”,这才是明智之举。 微博网友PPTV宋嵬: Google正式正式发布了Dart语言,貌似是JavaScript的替代品。看看下面的代码,是不是很熟悉:整个就是一个Java框架,C++小局部混搭的MINI版JAVA。很看好这个语言。几乎没有任何障碍,一般的java程序员花1个小时看看语法,就几乎能够无障碍的上手开发了。 微博网友Eleven_vv评论: 想当初Google发布Go语言时,也认为Go可应用到服务器软件外的其他领域,包括在浏览器内执行软件,取代目前JavaScript的角色。而从其力推HTML5、一再发布Go、Dart来看,Google志在成为Web革新者的目的不言而喻。 CSDN博主: 简单的看了一下官网的说明,给我初步体验的感觉是Dart是Java和javascript结合体的样子,然后又围观了一下他的core library,给自己带来了不少的惊喜,很好的封装了Queue Collection等强大的集合以及数据结构,而且有match这样的匹配表达式的类,总之,就是一个开发Web程序的利器。 结束语: Google Dart旨在取代JavaScript,JavaScript确实有着不能修复的技术问题,因此需要一个真正完善的语言来取代它。但是Google的单边主义、非协商方式表明了Dart必然要受到一些怀疑,在说服应用开发人员拥抱Dart上的挑战是不可避免的。 Dart如果真的像是解释性Smalltalk语言的话,它几乎将直接与JavaScript和Python竞争。如果将“Go”语言作为衡量标准,Dart其实更像是一个新奇小玩意,而不是什么开拓性的工具。它可能只是为了解决“以谷歌为中心”的问题,而不是旨在成为一种流行的编程语言。目前,人们还不清楚它的定位,还是让我们拭目以待吧。 原文:http://sd.csdn.net/a/20111012/305664.html

比特币跌破7000后,币圈大佬老猫给我的8条投资忠告

2017年12月8日,比特币的价格在几个连续上涨后,逼近20000美元大关。 时隔59天后,2018年2月5日,比特币价格跌破7000美元,较记录高位腰斩。 不到两个月的时间,比特币的价格,带着众多投资者坐了一趟“过山车”。 即便这样,也挡不住越来越多的人参与进来的热情。没有人愿意错过一夜暴富的机会。于是,一批一批的“小白”,前赴后继地奔向数字货币战场,但结果却不容乐观。因为其中绝大部分都逃不过沦为”韭菜“,被收割的命运。 这篇文章,不是奚落那些被“割”的“韭菜”,我非常理解新人们的焦虑和不甘;也不是为任何一个项目方和平台洗地,行业的发展需要理性,如果在市场波涛中翻滚沉浮的“韭菜”们,能从以下的文字中,获得一些帮助,能更加理性的思考自己的投资行为,我也就满足了。 一、相信这是一个长期多赢市场 我多次在公开场合中讲过,我在2013年花六千多块钱买的20个比特币,至今还在手里。 这不是运气,也不是什么忘记了然后突然想起来的,而是真真切切的就是看着价格起起落落而一直拿在手里,没有过任何抛售的念想,哪怕现在已经超过200倍的收益,我依然没有考虑在某个价位卖出的想法,在比特币这件事情上,我彻底放弃了任何做波段的想法。 原因只有一个,我相信区块链技术的发展无法抵挡,而比特币作为区块链资产市场的基础货币,将会经历一个超长的大牛市,所以,不管它如何涨跌,我都找不到抛售的理由,只要它作为区块链资产市场基础货币的基本面不改变,我就会一直持有。 如果想参与这个市场,必须有一个理由,这个理由应该强大到和我绝不抛售比特币的理由一样强大,而我的理由就是:区块链投资市场将是一个长期多赢市场。 赌博也是一个市场,它是一个负和市场,因为赌场在抽水,赌徒们钱是在逐渐减少的; 股市也是一个市场,它是一个(不确定)市场,譬如某国市场和某国市场就不一样,因为一个是价值发现的市场,而一个纯粹是为XX筹款的市场; 但区块链资产市场却是一个长期多赢市场,因为有越来越多的区块链资产的价值发现会伴随着整个区块链技术对世界的改变而发生,尤其在这个市场去X国化后,整个市场的变成了更加纯粹的市场,不确定性大大减少。 请注意,长期多赢市场只意味着机会更多,赚钱的几率更大,但绝不是随便怎么玩都赚钱,如果你一意孤行追涨杀跌,再好的市场你也不该来参加。 二、不要迷信任何大V 这件事如此重要,以至于我必须要在这里再三强调。 任何所谓的大V,都是一个普通人,就算经验再丰富,也不见得所有事都能判断正确,更何况,如果你只是根据他的只言片语进行投资,那本质上就是对自己的资产不负责任。更何况,有些大V出尔反尔,若说他对你的影响不夹带私货,我才不信。 请记住,你听大V的,亏了钱他不会补偿你。 任何大V对项目的站台,只能证明他和项目方认识,其他什么都不能说明。 如果这个大V还劝你买买买,将来一定会涨到多少,那一定是收了项目方的钱了,你要真信了,那只能是猪油蒙了心。 不要迷信任何大V,包括本猫,独立思考才是盈利的基础。 三、不要想赚到市场中每一次波动 “韭菜”也分三六九等,最辛苦的韭菜,特征非常明显,钱不多,却不愿意放过市场中的任何一次波动和机会,最好能把每个波动都能玩上一个低买高卖,为此可以 36 小时不睡觉,72 小时不闭眼,这全球 24 小时不间断的交易,把他们折磨的夜不能寐,日不能食。 2017年上半年我参与编织的 GBI 指数现在已经 15000 点了,2017年的1月1日这个指数才1000点,如果做好配置,什么都不做,甚至不参与任何一次 IXO,到现在应该是资产上涨 15 倍了,请问,辛辛苦苦追波段的你,资产增长跑赢指数了么? 弱水三千,只取一瓢,做你看的懂的投资,抓住一波大的机会,足以改变你对这个市场的理解,有一个规律在这个市场被反复验证:独立研究,低频交易,胜算更大。而一旦建立了正确的投资理念,只要不加杠杆,短期的盈亏一点都不重要,三天做个波段和三个月才关注一次仓位的人,肯定是后者赢。 (备注 :GBI指数可以在 inblockchain.com 上看到,也可以搜索微信小程序“区块链全球指数”) 四、投资前先问自己十几个为什么 你为什么投这个项目? 这个项目的负责人靠谱吗? 他有什么历史成绩能证明他的能力? 这个项目的逻辑合理吗? 真的需要区块链技术来解决吗? 这个区块链的速度和吞吐量能满足这个项目的需求吗? 这个项目的市场有多大? 这个项目推进的难度有多大? 为什么这个项目要找你拿钱? 你为什么会有机会投这个项目? …… 以上是我写这篇文章时候随手写的问题。 其实可以问的问题更多,如果你去参与了某个项目的投资,只是看看 K 线,甚至连K线都没看,就是看看群里的氛围,你就去投钱了,你的钱是偷来的么? 做你看得懂的投资,如果知识不够,就去补课,这个世界真没有免费的午餐,要不,即使你侥幸投资了好的品种,也一定拿不住。 五、白马黑马的差异化投资 任何一个市场,都有白马和黑马的说法。 区块链资产市场也一样,特别的是,区块链资产市场的白马如此显而易见,很多新人却视而不见。 比特币本身是最大的白马,但多少人看着他一路奔跑,却始终没上车。 以太坊曾经也是大白马,从起点骑到胜景的人却寥寥无几。 如果你想投资这个市场,一定要想想哪个品种会是当前和未来的大白马。 对白马视而不见,不是色弱,而是希望获得更高的暴利的贪婪左右了心性。 爱在黑夜里寻找黑马,不是因为有明亮的眼睛,只是因为盗墓笔记看多了想一夜暴富。 很自豪的说,我没有错过大的白马机会,这是我投资成果的主要构成。 我也骑上过疯狂的黑马,但在我的营收成果中,比例竟然不值一提。 六、想作死就All-in

笔记本电脑无法连接网络并在网络状态中显示ipv4和ipv6无网络访问权限

win10电脑连不上网首先先右键无线或者网线那个图标,然后点击打开网络和共享中心,找到并点击连接,进入以太网或者wifi状态。看ipv4连接后面是否显示的是无网络访问权限。如果是,请按以下步骤操作: 在桌面按WIN+R输入CMD点击确定,打开命令提示符窗口 在命令提示符中输入:netsh winsock reset (可复件粘贴按回车键执行命令) 稍后,会有成功的提示:成功地重置Winsock目录/重启计算机完成重置。 需要注意的是:这里必须重启电脑,不能是关机后开机。