最值得收藏的Bootstrap资源网站,身为程序员的你,怎么能错过?

thbcm阅读(32)

Bootstrap这个前端工具包,可以快速开发WEB应用程序。Bootstrap使用最新版本的浏览器技术,它也是HTML以及CSS的集合,可以为WEB开发贡献更加时尚的网格系统、表格、表单、板式。如果身为程序员的你,到现在还没有开始用Bootstrap模板,那简直是很落伍。W3Cschool小师妹为大家收集了最值得收藏的Bootstrap资源网站,你千万不要错过。

  1.模板资源

  W3Cschool小师妹为大家收集了Bootstrap模板资源,这些网站很漂亮,还可以下载Bootstrap模板。唯一的缺点,应该就是几乎都是英文版的,阅读起来不太方便。但是对于程序大牛来说,英语根本不是问题。

  2.工具

  Bootstrap不仅仅是一个框架,它改变了整个游戏规则。Bootstrap使得更多应用以及网站设计开发更贱简便。Bootstrap工具很多,像可视化制作工具、在线设计工具等,W3Cschool小师妹为大家收集的这些站点,都可以下载Bootstrap工具,需要的话可以去123点W3Cschool点cn看一下。

  3.站点/主题网站

  Bootstrap基于jQuery框架而开发,但是和jQuery框架相比,Bootstrap更加人性化以及个性化。Bootstrap可以兼容绝大多数的jQuery插件,有自己独特的网站风格。W3Cschool小师妹为大家收集的Bootstrap站点或主题网站很多,都很实用。想要资源的话,可以自行去下载。

  当前最热门的前端框架,要属Bootstrap。它来自于Twitter,具有简洁、直观、强悍等特点。Bootstrap把大量HTML框架普及成产品,它的功能相当强大。作为程序员的你,快来收藏这些Bootstrap资源网站吧。

2017年开发者必备的14款WordPress 插件!

thbcm阅读(40)

网站开发当中,WordPress属于领先的一个CMS平台。主要原因是WordPress插件具有很强的灵活性,可以很轻松的被下载。除此以外,WordPress很轻易就建立一个网络发布的平台。正是因为有这么多的优点,W3Cschool小师妹为大家介绍几款WordPress插件,有可能大幅度提升网站表现力,希望大家喜欢。

  插件一: WP Maintenance Mode维护模式

  WP Maintenance Mode是一种维护模式,它以特定风格样式,让网站访问者明白,你依然运行的一个新网址。或者让访问者明白,你将回来。除此以外,WP Maintenance Mode还拥有社会化的按钮、电子邮件表单、倒计时的时钟、背景图像等。

  插件二:Disable Comments

  Disable Comments是禁用评论插件,这个插件可以对单个文章评论进行禁用,也可以整个文章类型评论进行禁止。要是你在一个点多站点上安装Disable Comments,将对整个网络所有的评论进行禁用。

  插件三:BackupWordpress

  BackupWordpress是备份插件,在你所选择的那个时间点,它可以对整个网站进行备份,主要包括数据库以及文件。要是免费版的话,一般只能支持你把文件备份到服务器上,要是付费版的话,可以支持 FTP、 Google Drive、Dropbox等。

  插件四:Yoast

  Yoast是SEO插件,它曾经相当流行。Yoast主要作用是管理所有同搜索引擎的排名相关的一些细节。Yoast可以有效的处理插入 meta 元标签等小细节。

  插件五:WordPress Database Backup

  这个插件可以设置每周或者每天WordPress数据库的备份,你可以选取备份到的地点,像自动发送到一个邮箱,或者下载到本地等。

  插件六:Instagram Image Gallery

  Instagram Image Gallery这个插件,可以有效的展示自己全部Instagram 照片,亦可以对给定标签的一些照片进行下载。

  插件七:ShareThis

  ShareThis属于终极分享插件,这个插件主要功能是添加主要的一些社交网络按钮,在利用电子邮件来分享文章,亦可以将文章添加到社交网络书签。

  插件八:SlideDeck2

  SlideDeck2是幻灯片的插件,它可以有效的处理来自Pinterest、Youtube、Flickr以及其他地方所有的内容,来进行幻灯片的创建。

  插件九:HTML5 jQuery Audio Player

  HTML5 jQuery Audio Player这个插件,可以将音频播放的插件安装到其他网站。可以通过创建单个的方式,也可以通过创建播放列表的方式。HTML5 jQuery Audio Player这个插件,集成一个音频播放器,这个播放器基于jQuery。

  插件十:Jetpack

  Jetpack这个插件集成很多有用且流行的功能,主要包括自定义CSS、增强安全性、MarkDown支持等。但是缺点就是,这些功能不是Wordpress的核心。这些功能中的每一个都是单独的一个模块,你有两种选择,那就是关闭或激活他们。

  插件十一:Akismet

  Akismet是一款防止垃圾评论的插件,也是默认已经安装的一款插件,它是WordPress 官方所推荐的。

  插件十二:WP-Postviews

  WP-Postviews是浏览次数统计的插件,这款插件主要的功能是对每篇文章浏览的次数进行统计,而且浏览次数最多,或者说最受欢迎的文章列表,也可以获取。

  插件十三:WP No Category Base

  一般情况,WordPress分类目录链接,可以自动的添加/category/ 标志。要是你不想要它存在,可以使用WP No Category Base插件。

  插件十四:Baidu Sitemap Generator

  Baidu Sitemap Generator这款插件的制作者是柳城,这款插件可以对百度 Sitemap XML 文件进行自动生成。

  WordPress是一种非常流行的Biog系统,它的功能非常强大,而且模板和插件很多。安装使用WordPress相当方便,因此受到很多开发者的欢迎。而W3Cschool小师妹为大家收集的WordPress插件,可以轻松的扩展以及定制WordPress功能,希望大家喜欢。

我想开发一门新的编程语言,看完这段伪代码你就明白!

thbcm阅读(38)

大家都知道,数码产品更新换代很快。但是有人说编程语言更新换代的速度,和数码产品差不多。也许现在这种编程语言非常热门,但是一年之后,也许就无人问津。在论坛上看到一个帖子,吧主称我想开发拥有全新思想的一门编程语言,想问问大家的意见。

  下面是这位吧主的原话:

  我的技术还没有太强,但是我有了思想了。先为大家介绍一个我的这个思想,那就是面向概念来编程。所谓面向概念来编程,指的是引用类可以有被引用类。而被引用类子类亦可以覆盖住引用类的这个方法,被引用类授权了就可以。这只是面向编程概念的编程思想中,很小的部分。下面,我先为大家介绍一个伪代码的例子,相信大家会理解我的意思。

  关于这位吧主想开发一门新的编程语言的想法,其他网友又是怎么看的呢?

  网友一:你这个是多态概念。

  网友二:要想开发全新的一种语言,我觉得最好具有的特性是面向对象,还要易用与易学。此外,还要具有C#或者java等语言优点。安全性也不可缺少,亦要有别的面向对象的语言所具有的特性,也可应用在网络编程方面。

  网友三:要是面向对象的话,那相当强大。

  网友四:要想自己创造一种语言,那你首先要熟悉一些主流的语言。如果你光懂java,那是不够。

  网友五:开发一门新的语言不容易,因为你首先要了解一下底层的而语言,话句话说,就是你的命令,你怎么让机器知道呢?和jvm类似。第二,面向对象的话,你的语言封装,类似于jdk的东西。第三是细节,开发应用是最后一步。

  有人说现在市面上存在着非常多的编程语言,实在没有必要投入大量的人力、物力去开发新的一个编程语言。但是也有人反对这种观点,因为他们觉得开发者运用现有的一些开发语言工具来开发的时候,发现市面上的这些编程语言,已经没办法满足自己的需求。关于要不要开发一门新的编程语言,大家都有不同的看法,不知道各位怎么看?

80个超全面的Ruby开发资源大合集!

thbcm阅读(38)

Ruby是一种便捷、简单且面向对象的一种脚本语言。1995年12月,Ruby正式公布。和其他相似的编程语言相比,Ruby更加年轻。而且在网络上,关于Ruby的资料真的太少。为了解决这个问题,W3Cschool小师妹为大家收集了80个超全面的Ruby开发资源,快来收藏吧!

  1.工具

  Ruby工具很多,像RubyPDF编辑工具、Ruby监控工具、静态的API接口文档生成工具、日志以及时间管理工具等。而这些工具,W3Cschool小师妹已经为大家收集好了,主要包括amqp、bunny、middleman、prawn、spring等。如果有需要的话,你可以自行去123点W3Cschool点cn下载。

  2.插件

  W3Cschool小师妹为大家精选的Ruby插件,都是很经典、实用的。这部分内容,你可以看到thinking-sphinx、devise_invitable、sidekiq-status、postgres_ext、newrelic-grape等。其中Sphinx是全文搜索的 ActiveRecord 插件、Devise 的一个插件,用于邀请用户、Sidekiq 插件,用来监控任务状态。

  3.各种库

  Ruby的库很多,像事件驱动库、图像处理库、数字以及货币转换库、处理邮件的库、命令行辅助库等。W3Cschool小师妹为大家收集了多达19种库,囊括了Ruby非常重要的库。这部分内容,主要包括eventmachine 、faker、ruby-vips、paper_trail等。其中timers 是Ruby 的一个 Timer 库,适合于配合事件使用。money 是Ruby 的一个数字、货币转换库。

  4.源代码/框架/状态机

  这部分内容主要包括ruby的源代码、ruby的一个web框架、ruby的状态机。其中volt是ruby的一个web框架,使用opal使得前后端均可以用ruby来编写。

  5.ruby的其他资源

  除了上面的框架、库、源代码、插件等,ruby的资源还有很多。像spyke、mruby、rails、gctools、slim、sass等,W3Cschool小师妹都为大家收集好了。其中sharedrop是Airdrop 的 HTTP5 实现,基于 WebRTC。mruby是mini-ruby (light-weight ruby) 轻量级 Ruby 源代码。

  上面W3Cschool小师妹为大家收集的Ruby开发资源,有工具、插件等,可以帮助你实现快速开发。很多都是免费额,如果有需要的话,可以自行去下载。

关于平方根倒数速算法(雷神之锤3,牛B)

thbcm阅读(38)

Quake-III Arena (雷神之锤3)是90年代的经典游戏之一。该系列的游戏不但画面和内容不错,而且即使计算机配置低,也能极其流畅地运行。这要归功于它3D引擎的开发者约翰-卡马克(John Carmack)。事实上早在90年代初DOS时代,只要能在PC上搞个小动画都能让人惊叹一番的时候,John Carmack就推出了石破天惊的Castle Wolfstein, 然后再接再励,doom, doomII, Quake…每次都把3-D技术推到极致。他的3D引擎代码资极度高效,几乎是在压榨PC机的每条运算指令。当初MS的Direct3D也得听取他的意见,修改了不少API。

  最近,QUAKE的开发商ID SOFTWARE 遵守GPL协议,公开了QUAKE-III的原代码,让世人有幸目睹Carmack传奇的3D引擎的原码。

  这是QUAKE-III原代码的下载地址:

  http://www.fileshack.com/file.x?fid=7547

  (下面是官方的下载网址,搜索 “quake3-1.32b-source.zip” 可以找到一大堆中文网页的

  ftp://ftp.idsoftware.com/idstuff/source/quake3-1.32b-source.zip)

  我们知道,越底层的函数,调用越频繁。3D引擎归根到底还是数学运算。那么找到最底层的数学运算函数(在game/code/q_math.c), 必然是精心编写的。里面有很多有趣的函数,很多都令人惊奇,估计我们几年时间都学不完。

  在game/code/q_math.c里发现了这样一段代码。它的作用是将一个数开平方并取倒,经测试这段代码比(float)(1.0/sqrt(x))快4倍:

  float Q_rsqrt( float number )

  {

  long i;

  float x2, y;

  const float threehalfs = 1.5F;

  x2 = number 0.5F;

  y = number;

  i = ( long ) &y; // evil floating point bit level hacking

  i = 0x5f3759df – ( i >> 1 ); // what the fuck?

  y = ( float ) &i;

  y = y ( threehalfs – ( x2 y y ) ); // 1st iteration

  // y = y ( threehalfs – ( x2 y y ) ); // 2nd iteration, this can be removed

  #ifndef Q3_VM

  #ifdef linux

  assert( !isnan(y) ); // bk010122 – FPE?

  #endif

  #endif

  return y;

  }

  函数返回1/sqrt(x),这个函数在图像处理中比sqrt(x)更有用。

  注意到这个函数只用了一次叠代!(其实就是根本没用叠代,直接运算)。编译,实验,这个函数不仅工作的很好,而且比标准的sqrt()函数快4倍!要知道,编译器自带的函数,可是经过严格仔细的汇编优化的啊!

  这个简洁的函数,最核心,也是最让人费解的,就是标注了“what the fuck?”的一句

  i = 0x5f3759df – ( i >> 1 );

  再加上y = y ( threehalfs – ( x2 y y ) );

  两句话就完成了开方运算!而且注意到,核心那句是定点移位运算,速度极快!特别在很多没有乘法指令的RISC结构CPU上,这样做是极其高效的。

  算法的原理其实不复杂,就是牛顿迭代法,用x-f(x)/f'(x)来不断的逼近f(x)=a的根。

  简单来说比如求平方根,f(x)=x^2=a ,f'(x)= 2x,f(x)/f'(x)=x/2,把f(x)代入

  x-f(x)/f'(x)后有(x+a/x)/2,现在我们选a=5,选一个猜测值比如2,

  那么我们可以这么算

  5/2 = 2.5; (2.5+2)/2 = 2.25; 5/2.25 = xxx; (2.25+xxx)/2 = xxxx …

  这样反复迭代下去,结果必定收敛于sqrt(5),没错,一般的求平方根都是这么算的

  但是卡马克(quake3作者)真正牛B的地方是他选择了一个神秘的常数0x5f3759df 来计算那个猜测值

  就是我们加注释的那一行,那一行算出的值非常接近1/sqrt(n),这样我们只需要2次牛 顿迭代就可以达到我们所需要的精度.

  好吧 如果这个还不算NB,接着看:

  普渡大学的数学家Chris Lomont看了以后觉得有趣,决定要研究一下卡马克弄出来的

  这个猜测值有什么奥秘。Lomont也是个牛人,在精心研究之后从理论上也推导出一个

  最佳猜测值,和卡马克的数字非常接近, 0x5f37642f。卡马克真牛,他是外星人吗?

  传奇并没有在这里结束。Lomont计算出结果以后非常满意,于是拿自己计算出的起始

  值和卡马克的神秘数字做比赛,看看谁的数字能够更快更精确的求得平方根。结果是

  卡马克赢了… 谁也不知道卡马克是怎么找到这个数字的。

  最后Lomont怒了,采用暴力方法一个数字一个数字试过来,终于找到一个比卡马克数

  字要好上那么一丁点的数字,虽然实际上这两个数字所产生的结果非常近似,这个暴

  力得出的数字是0x5f375a86。

  Lomont为此写下一篇论文,”Fast Inverse Square Root”。

  论文下载地址:

  http://www.math.purdue.edu/~clomont/Math/Papers/2003/InvSqrt.pdf

  http://www.matrix67.com/data/InvSqrt.pdf

  参考:

  最后,给出最精简的1/sqrt()函数:

  float InvSqrt(float x)

  {

  float xhalf = 0.5fx;

  int i = (int)&x; // get bits for floating VALUE

  i = 0x5f375a86- (i>>1); // gives initial guess y0

  x = (float)&i; // convert bits BACK to float

  x = x(1.5f-xhalfxx); // Newton step, repeating increases accuracy

  return x;

  }

  大家可以尝试在PC机、51、AVR、430、ARM、上面编译并实验,惊讶一下它的工作效率。

  。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  维基百科参考:

  http://zh.wikipedia.org/wiki/%E5%B9%B3%E6%96%B9%E6%A0%B9%E5%80%92%E6%95%B0%E9%80%9F%E7%AE%97%E6%B3%95

  论文:http://www.daxia.com/bibis/upload/406Fast_Inverse_Square_Root.pdf

  以上为R的存在说明;

  。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  以下是R的计算

  http://www.guokr.com/post/91389/

  基础知识1:i>>1

  操作i>>1表示将二进制数i向右移动一位,也就是将最后一位删掉并在最前一位添加0

  注意到我们将一个n位的十进制数M删掉最后一位之后就变成了n-1位,可以看做将这个十进制数除以10之后向下取整floor(M/10)

  同样的,讲一个二进制数删掉最后一位之后相当于将这个数除以2并向下取整floor(M/2)

  这样看上去i>>1就像是floor(i/2),因为函数f(x)=1/sqrt(x)的一阶导数是-1/2(x)^-3/2,正好有个-1/2在前面,不禁让人感觉 0x5f3759df – ( i >> 1 )是函数1/sqrt(x)在某一个点的一阶泰勒展开。在Fast Inverse Square Root 里面有这样一段:

  Eberly’s explanation was that this produced linear approximation, but is incorrect; we’ll see the guess is piecewise linear, and the function being approximated is not the same in all cases.

  “Eberly的解释是说这相当于做了线性近似,但是这个解释是不对的。我们会看到这个估计值是分段线性的,并且这个近似函数在各种情况下也并不相同。”

  为什么这么说呢?这里需要用到基础知识2:浮点数存储方式

  各种类型浮点数的存储方式可以通过查看IEEE745(完全不知道是什么东西)了解

  这里用到的是32位单精度浮点数,并且总是正数,表示方式为:

  0|E|M

  其中0代表正数

  E是指数,E=0相当于2^-127

  M表示一个绝对值小于1的数,但是注意到这里省略了一位。也就是说,当转化位十进制的时候应该表示为(1+M)

  那么换算之后的数就应该是:(1+M)2^(E-127)

  这样我们发现其实i>>1并不完全是floor(i/2)而是将一个数变成(floor(M/2)+1)*2^floor((E-127)/2)

  而且根据E的奇偶性尾数可能还需要加上1/2

  不妨令e=E-127,注意到1/sqrt(x)是让原数的指数变为-e/2,这么说来卡马克可能仅仅是希望产生一个e/2而用上了位移,接下来就是要找到一个相减之后产生-e/2并且让尾数尽量和(1+M)^-1/2相近

  由于这个数必然为正数假设这个数值为:

  0|R1|R2

  接下来便是要分情况讨论:

  假设E为偶数,这时候指数的右移并不会影响到尾数的数值:

  这时候e是奇数,令e=2d+1

  那么相减之后指数部分变为:

  

  注意这里的相减其实是将浮点数转化为整型(也就是正则化)之后再相减,而不是普通的浮点数加减。

  由于初始值一定要是正数,所以我们需要上式一定为正,因为0=<e<=256,所以r1>=128

  因为我们讨论的E为偶数,也就是末位数一定是0,所以不用考虑他右移后对M的影响,所以两数相减之后的结果是:

  

  注意这里用M/2而不是floor(M/2)因为这一点点的误差相较于其他误差来说太小了

  当然,还存在一种情况,那就是R2<m p=”” 2,其实二进制的加减和十进制差不多,如果尾数小了,那么就要像更高位数“借位”,也就是说这种情况下相减之后的结果是:<=””>

  

  我们定义:

  

  那么我们可以将这两种情况合并为一个函数:

  

  这个函数就是我们对函数1/sqrt(x)的近似了,那么我们的目标就是让这个函数的相对误差|(y-y0)/y|尽量小:

  

  这样我们得到一个误差方程:

  

  之后:

  

  注意这里的1/8其实是凑出来的,具体凑法可以先假设一个小于一的正数a,由于0<r2<1,0<m<1,我们可以通过展开得到r1关于a的一个区间。让a尽量小,使得这个区间范围小于一。根据r1一定是整数的特性,我们可以确定使得误差最小的r1。这里得出r1=190,带入十六进制里面并右移(注意开头有一个表示符号的0)就是0x5f,正好是黑魔法常数的头几位。< p=””>

  那当E为奇数怎么办呢?其实是一样的办法,如果E为奇数,那么M/2就需要加上1/2(尾数的第一位相当于1/2),根据同样的方法,我们可以得到另外一个相对误差函数:

  

  其中:

  

  有兴趣可以算一算这种情况下R1应该为多少,作者十分偷懒地说由于需要让常数同时应用于两种情况,所以就让R1=190了。

  之后就是确定R2的值了,各种分段讨论,过于纠结我们就不看了(反正最后也没算对,摊手),确定下来大约在0.45左右,再通过软件算得最优解。

软件开发必备:免费的开源在线技术手册大全!

thbcm阅读(36)

技术行业知识更新换代非常快,开发者需要不断的补充知识。就像编程语言一样,也许今年非常流行这种语言,但是明年又将兴起一种新语言。对于开发者来说,补充知识的速度要跟上技术发展的速度。W3Cschool小师妹为大家收集了在线开源技术手册大全,无论是操作系统、智能系统、WEB服务器还是版本控制系统,都有相关的技术手册,而且还是免费的,就问你要不要。

  1.操作系统

  操作系统是一种计算机程序,主要作用是管理以及控制计算机硬件以及软件资源。任何其他软件,只有在操作系统的支持下,方可运行。W3Cschool小师妹为大家收集的操作系统在线开源手册,主要包括linux命令行、linux系统高级编程、开源世界旅行手册等,有需要的可以前往123点W3Cschool点cn看一下。

  2.项目相关

  项目相关的开源在线技术手册,主要有译言-持续集成(第二版) 、让开发自动化系列专栏、追求代码质量、selenium 中文文档等。其中追求代码质量这个项目开源手册,这个系列中,Andrew Glover 将重点阐述有关保证代码质量的一些有时看上去有点神秘的东西。

  3.版本控制

  这些版本控制相关的手册,将从入门到精通来指导大家。像git教程,选择了史上最浅显易懂的git教程。初学者基本很快就能上手,而且是由浅入深。这个教程实用性也很强,你可以边学边练,而且不枯燥。这本教程的内容只要你掌握了,你可以轻松的利用git来完成工作。

  4.NoSQL

  众所周知,NoSQL这种关系型的数据库管理系统,当前非常流行。在WEB的应用中,NoSQL算是RDBMS中很好的一款应用软件。W3Cschool小师妹为大家收集的NoSQL相关手册,主要包括redis-3.0-annotated、带有详细注释的 Redis 2.6 源码、The Little MongoDB Book、The Little Redis Book等,可以让你快速的掌握NoSQL基本知识。

  5.WEB/Web服务器

  Web服务器开源手册中,选取的这本和Nginx相关的,是Nginx开发从入门到精通,你可以了解到nginx模块的开发以及它的内部原理。

  Web相关的开源在线技术手册很多,这里主要选取比较关键的基本。这些开源手册主要包括web关于浏览器和网络的 20 项须知、浏览器开发工具的秘密 、Chrome 开发者工具中文手册、Chrome扩展开发文档等。

  6.mysql/测试相关/智能系统

  mysql相关的这本的开源手册,主要讲解的是mysql索引背后的数据结构以及算法原理;而智能系统相关手册,教你设计物联网系统,构建自己的internet of things。

  上面W3Cschool小师妹为大家收集的免费开源技术手册,资源非常齐全,而且都是免费的。每一部分内容,无论是入门到精通,通通都有教程,希望能够帮助开发者学习。

你知道Linux的创始人Linus Torvalds吗?这7项技术他非常讨厌!

thbcm阅读(42)

  作为当今世界上很伟大的一名程序员,Linux的创始人Linus Torvalds可以说受到很多人的尊敬与崇拜。像Git版本的控制系统以及Linux内核,都是他写出来的。虽然在技术上成就很大,但是Linus Torvalds的火爆脾气,那简直是在圈内有名。下面这12项技术,就曾遭到Linus Torvalds抨击。

  1.抨击GNOME

  在很多Linux 发行版种,GNOME可以获取开源的桌面环境,GNOME提供的用户界面图形化。Linus Torvalds起初使用了GNOME,但是之后又放弃。令人吃惊的是,他使用了之后,竟然又放弃了。不过虽然Linus Torvalds和GNOME的关系相当微妙,但是他还是抨击了它。

  2.抨击GNU Emacs

  众所周知,Emacs的创建者是Richard Stallman ,在1985年的时候,Emacs第一个版本发布。之后,Emacs成为类Unix以及Unix系统。虽然很多人都很喜欢GNU Emacs ,但是Linus Torvalds很讨厌它,还抨击它。

  3.抨击HFS+

  当初苹果公司开发了一个文件系统,那就是HFS+。最早的时候,它在Mac OS 8.1当中实现。现在依然被使用在Mac OS X中。

  4.抨击GNU Hurd

  Hurd是微内核,它基于CMU Mach这个内核。而且作为GNU 项目项目中重要的一部分,GNU取代Unix内核。自1990年发展至今,Hurd发展了很久,但是它依然不太适用在生产环境中。对于微内核,Linus Torvalds 不太喜欢,因此他也经常抨击GNU。

  5.抨击Java

  当前最流行的一种编程语言,那就是Java。早期的时候,Linus Torvalds 对Java那可是寄予非常大的希望。他希望 Java有一次编写随处运行的强大功能,可以推动Linux操作系统发展。很多年之后,JAVA语言虽然很繁荣,但是它的发展没有像Linus Torvalds 所期望的那样。

  6.抨击C++

  内核之父Linus Torvalds觉得,用 C++来实现 Linux 内核代码,绝对不是最优的选择。之后,他经常抨击C++ 不给力,说 C++ 都是被次品程序员所使用,也是是差劲的设计选择。

  7.抨击苹果的操作系统

  Linus Torvalds觉得,在Mac OS X上面,苹果所使用的HSF以及HFS+档案系统相当过时。从某些方面来说,它让写程序的人员比在Windows上面更加的痛苦。即使从整体来看,相较于Windows而言,Mac OS X更加优秀。

  Linux创造者Linus Torvalds如此嚣张,敢正面的抨击这些技术,人家也是相当有实力的。在23年前,Linus Torvalds开发Linux,据说只是为了好玩。23年后的现在,无论是邮政系统、智能手机还是其他地方,都使用Linux系统。

  在很多公开的场合,Linus Torvalds都称自己不太擅长交际,他觉得自己是独行侠、书呆子。不过这又怎样,Linus Torvalds确实是按照自己的想法去生活的一个人,面对自己不喜欢的东西,他敢于直接去抨击。

2017年你一定要试试这八款Bootstrap 设计工具

thbcm阅读(32)

对于前端工程师来说,Bootstrap再熟悉不过了。如今Bootstrap的运用越来越广泛了,因为它带来了新的设计革命,使得设计以及开发变得更加的方便以及简单。基于此,W3Cschool小师妹将为大家带来10款Bootstrap 设计工具,2017年你绝对不能错过!

  设计工具一:X-editable

  原文:

  译文:

  通过这款设计工具,你可以在页面上对可编辑的一些元素进行创建。X-editable可以使用非常多的引擎,像jQuery、jQuery-UI、Bootstrap等。不仅如此,Bootstrap有两种模式,包括内联模式以及弹出模式。

  设计工具二:Layoutlt

  原文:

  译文:

  这个在线工具,这款在线工具搭建Bootstrap响应式的布局时,可以快速且简单的完成。而且这些操作相当简单,都是通过使用拖动的方式。此外,元素的集成基本上是基于Bootstrap。因此,Layoutlt对于前端开发者以及Web设计师而言,相当方便快捷。

  设计工具三:Grid Displayer

  原文:

  译文:

  这个小工具可以显示Foundation以及Twitter Bootstrap网格,亦可被使用在Firefox以及基于Webkit中。

  设计工具四:Jetstrap

  原文:

  译文:

  Jetstrap是可视化的一个制作工作,它针对Bootstrap框架二建成。设计师以及Web开发者要想制作出一个漂亮网页,只需要在网页端拖曳所有组件。而利用Jetstrap这个工具所制作出来的那些网页,完全符合Bootstrap的标准。如果电脑端页面设计好,那么将自动适配Pad端以及手机端。

  设计工具五:Divshot

  原文:

  译文:

  Divshot这个在线的网站,它允许开发人员设计Web界面时,通过可视化的方式来进行,并且将直接生成CSS以及HTML代码。Divshot提供了比较常用的一些Web UI组件,那些框架的创建,都是基于Bootstrap框架。它生成的一个界面,也是基于Bootstrap框架所运行。

  设计工具六:Bootply

  原文:

  译文:

  运用Bootply这个工具,非常轻松的就基于Bootstrap来设计以及开发原型、扩展测试。除此以外,Bootstrap还有个很强大的功能,那就是可以和其他比较流行的库、微框架、Bootstrap插件等整合。

  设计工具七:Bootstrap Magic

  原文:

  译文:

  这是一款主题创建的工具,它基于AngularJS以及Bootstrap。运用Bootstrap Magic,开发人员可以对自己的Twitter Bootstrap主题进行创建,还可以看到内容发生了什么变化。除此以外,Bootstrap Magic还可以添加那些来自Google Webfont 的网页字体。

  设计工具八:Font Awesome

  原文:

  译文:

  你可以像修改文字样式那样来修改图标样式。

  Font Awesome是图标字体,只要网页当中可能用到的图标,它都囊括,它专门为Twitter Bootstrap而设计。这些图标的显示,是通过Web Font方式,它还可以任意改变颜色以及缩放。要是你想修改图标的样式,可以像文字样式的修改方式那样去操作。

  上面W3Cschool小师妹为大家收集的八款Bootstrap 设计工具,它们的功能都非常棒,可以帮助开发者构建想要的应用。无论你想要漂亮的客户端页面,还是满意的访问者,Bootstrap 设计工具都可以帮你办到。还等什么,赶快收藏吧!

初见这行代码的时候,感叹世界上竟然有如此厉害的存在!

thbcm阅读(30)

有的程序员一天能写很多代码,有的程序员几天都写不了多少代码。这都很正常,因为代码量不能衡量一个程序员的水平。有些时候,简简单单的一行代码,让人看了觉得与世绝伦。有个人初次看见这行代码的时候,感叹世界上竟然有如此厉害的存在。

  这位分享者称,代码的算法不需要多么高深,也不需要多么的奇形怪状。下面这行简单的代码,让我觉得真的是惊为天人。第一次见到这行代码的时候,这位分享者称自己感叹世界上竟还有如此厉害的存在。这位分享者的专业,用Matlab比较多,他称找不到用python的美感。

  这是python的一行代码,主要实现的是对a的排序。

  关于这行代码,其他网友又是怎么看的呢?

  网友一:你确定你这行代码很厉害么?

  网友二:这行代码难道可以体现人类璀璨无比的智慧?

  网友三:C语言标准库,全部都有qsort好吧。

  网友四:调个函数,你竟然觉得惊为天人?

  关于这行代码怎么样,看来大家都不太赞同分享者的观点。不过这也正常,每个人知识水平不一样。先不管这行代码厉不厉害了,下面我们一起看看如何用16种语言,来写hello world。

  这位分享者称,自己只是意思一下,汇总了自己写过的语言,在语法方面大家不要太较真。

  世界上第一个程序就是hello world,很多程序员入门的时候,认识或者编写的第一个程序就是hello world。上面这位分享者用16种语言来编写hello world,好像没有用汇编来写。不知道网友中有没有大牛,能用汇编语言来写hello world,或者用其他语言来编写。

Google推出31套在线自学课程,学完你就可以去谷歌面试了

thbcm阅读(26)

做好程序员也不容易,开发的软件要更大、更好,而且还要做到每个人都会用,这相当不容易。别担心,为了解决这个问题,某平台推出了31套在线自学课程,涵盖的内容相当广泛,无论是后端、云、Web,还是Android,W3Cschool小师妹已经为大家收集好,赶紧去看看吧!

  1.Android开发

  当前的中国,Android的应用火爆程序可想而知。Android开发中,不断涌现出新的技术。要想提升自己,W3Cschool小师妹为大家收集的Android开发在线自学教程,你绝对不能错过。这些教程,有Android开发入门教程、Android应用开发教程、高级Android应用开发、Android系统性能等。需要学习的,可以去W3Cschool看一下。

  举个简单的例子,就像Android开发入门教程,它的教程是免费的。通过这本教程,你可以学习安卓以及Java编程的基础知识,让你迈出成为安卓开发者的第一步。

  2.Web开发

  现代技术不断发展,人们很重视自我体验。就像互联网企业,要想吸引人,必须要拥有良好的客户体验以及界面。这因为如此,Web前端开发非常火,工程师的薪资也很高。W3Cschool小师妹为大家收集的Web开发自学教程,主要包括浏览器渲染优化、响应式网站设计基础、HTML5游戏开发等。

  其中需要重点介绍的是HTML5开发的自学教程,这本教程的主要目的是让你了解怎么样去构建GRITS,GRITS是HTML5游戏主要的部分。还为大家讲解如何利用标准的一些游戏开发技术,来实现HTML5 应用。

  3.云和后端

  嵌入式开发工程师最应该了解的,就是云和后端技术。因为要想拓展自己系统架构方面的视野,对于成熟的网络结构以及云技术,嵌入式工程师必须了解。

  其中Android Firebase 基础,教你如何构建一个购物单应用。通过这个课程,你可以学习到如何使用Firebase。首先,先为大家演示怎么在Firebase中写入以及读取数据。之后,再教你允许用户登录以及获取相关数据等。

  上面这些课程的演讲者,据说全部都是谷歌的员工。有程序大牛带着你走入编程的世界,相信你肯定比一般人学习得更快。还等什么,赶快收藏吧。有需要的话,赶紧去学习。按照课程一步步学习,相信不久之后你也可以成为大大。

联系我们