首页 文章 精选 留言 我的

精选列表

搜索[热搜算法],共10000篇文章
优秀的个人博客,低调大师

百度手机浏览器2.0:在WP7上 让世界听你搜

人机对话的故事,总是那么的让人充满幻想。从《大都会》中的科学怪人到《星河战队》中的智能母舰,人们一直在设定这个对话对象的类型,但无论如何设定,我们都希望这个对话对象“啥都懂”。 遗憾的是受硬盘所限,本地电脑懂的也不多,而且它也不够方便,无法让这对话对象可以时刻伴随你。但当这个构想与手机浏览器对接并通过搜索挖掘无限大的人类知识库之后,这个“幻想”正在一点一滴的变为现实。这就像笔者这次尝鲜体验到的WP7版百度手机浏览器2.0,作为首个在WP7上实现语音搜索的浏览器,它正在用语言搜索开启另一个美妙的世界。 感觉就像是与世界对话 和其厚重意义相反的是,百度手机浏览器2.0的语音搜索功能开启异常简单。用手指轻点搜索框旁的话筒,神奇的语音对话框就可以开始和你对话了。像是音乐播放器中调谐线的辨识界面,会记录并显示你说话的音频高低,这微小的细节设计,让其充满浓郁的科技感。 在验证这个语音搜索的辨识能力时,笔者还做一个有意思的小测试,分别用普通话和重庆话来说“百度手机浏览器”,没想到居然都被准确辨识。对于各种区域发音能力的高辨识,大大降低了使用者使用语音搜索时的难度。无需刻意调整自己的发音,像平时说话一样,百度手机浏览器2.0就能辨识出你想表达的词语,并通过百度搜索快速准确的搜索到你想要的内容。这感觉就像是,与世界对话一样。 与Android版相同,WP7版百度手机浏览器2.0采用的是百度独立开发的语音识别系统,并没有借助WP7自带的语音功能。实际上,虽然WP7语音做得不错,但是其却不支持中文语音,这让很多与之相关的应用就像是鸡肋,功能无法正常得以施展。而百度手机浏览器2.0实现对中文高度准确的辨识率,也印证在语音开发上百度的确花了不少硬功夫。 在笔者看来,百度手机浏览器2.0让语音搜索在WP7上落地开花,并非仅仅是一项新应用的“补充”,实际上它开启了WP7用语音驱动网页应用的大门。借助融入到百度手机浏览器2.0上的越来越多网页应用,语音搜索或许将会成为开启这些应用的一个重要工具,而随着网页应用数量的增多,其会将潘朵拉魔盒一样让逐渐释放真正的作用。 被“提前加速”的网页 玩过WP7的朋友,都会被其丝滑般的流畅度所震撼。切换顺滑,仿佛成为WP7系统主旋律,在这个节奏下,任何一个微小的“卡顿”都会显得异常明显。而在浏览网页时,如何让浏览器一直保持这种“酣畅”在翻阅网页时的顺滑切换,成为考验WP7浏览器的重要标准。 在百度手机浏览器2.0,其更新了一项有意思的功能,叫做“网页预读”,来“攻克”这个考验。笔者用文件体积较大的图片浏览,来体验这种功能对浏览器加速带来的改观。当切换到图片搜索框并输入关键词之后,图片开始加载。这时的“加速”并未感到明显,而当笔者在切换不同浏览不同图片时,则明显感到原本需要等待一段时间才能显示图片的情况,基本消失,取而代之的是“像翻阅本地文档”一样的顺畅感觉。由被动变主动的预读理念大大缩短用户在手机浏览器上花费的等待时间,也解决了在不稳定网络状态下,用户使用手机浏览器的体验。 加速中的移动浏览世界 除了高识别率语音功能带来搜索提速、网页预读带来的翻页加速,实际上这次百度手机浏览器2.0还在不少方面进化着用户用手指浏览器世界的速度。就像是新增支持左右滑屏快捷前进后退操作,在浏览帖子或者翻阅微博时,这种仅仅拨动手指就能完成的切换操作,极大的保证了浏览时的连贯性。让用户不会被一些机械性的操作,所打断阅读思路。 另一方面,在观看视频时,笔者发现百度手机浏览器2.0也设计了一个在我看来特别便捷的功能。当浏览网页并需要观看其中嵌入的视频时,无需借助第三方工具,直接在百度手机浏览器2.0中点击视频,就会弹出对话框,选择“在线播放”或“下载”之后,立马即可开始对视频的观看或保存。由于对接了手机视频播放器,百度手机浏览器2.0在播放网页中的视频时,显得额外流畅。 或将用语音对接世界 百度手机浏览器2.0的神奇之处,不仅仅是其“加速”了从输入到浏览的过程,更在于其作为首个拥有语音搜索WP7浏览器,所开创的巨大意义。从百度手机浏览器正在逐渐容纳越来越多的网页应用,可以看到未来通过开发平台百度手机浏览器2.0将会转变成为展示各种Html5网页应用的舞台。 而在开放状态下,开发者可以借助百度独立开发的语音搜索在未来制造出各种充满想象的应用。未来,移动互联网或将成为一张可以听懂你我他每一个人、不同方言的“人”,在对接更多网页应用之后,并实现更多奇妙的基于语音的人机交互应用。 本文如需转载,请用以下方式联系,并注明出处 QQ:88328702 MSN:wangk1026@hotmail.com

优秀的个人博客,低调大师

我欺骗了CTO,但拯救了公司(附HN热评)

原文 The One Where I Lie To The CTO 这是几年前的事了。我刚开始我的职业生涯,我爸跟我说,要想做好工作,有时候需要不顾老板的意见去做事。他表达的其实是,可以让你的老板因为你而成功和满意,也可以选择把每一个决策都交给老板决定,但结果往往是大家都不开心也不成功。 当时我在一家财富 500 强公司工作,我们的 CTO 接了个他有私交的重要客户的一重大项目。他还决定把项目中的一个关键部分外包给一家大型技术服务公司,这家公司声称他们的一款产品可以帮我们完成大部分繁重工作。 在我职业生涯中常见的一幕再次上演:供应商所说的「产品」,实际上只是勉强能称之为产品的东西,勉强能满足我们的需要,需要大量定制后才勉强能用。显然,通过对他们的「产品」进行定制,我们巧妙地集供应商软件的缺点与定制软件的所有缺点于一身。我们还无意中创造了最糟糕的主意:一个僵硬的供应商软件,被迫做它本不应做的事,同时还从他们的主产品代码库中分叉出来 - 一旦供应商认识到维护成本过高,这个产品迟早会被淘汰。我们为此互相埋怨,认为这是一个极其糟糕的想法,尤其是考虑到供应商一贯不按时交付的记录。 由于 CTO 的直接下属每年都在变动,每次关于这个项目的会议上,即便没人真的认为是个好主意,大家还是会说「好主意,老板」。 或者说,这根本不是个好主意,而是一个糟糕的主意。 除此之外,我们还得在内部为项目的其他部分进行大量开发,已经够多挑战了。项目在夏天的截止日期再三被推迟,供应商却一再保证他们的交付物马上就好,可以集成进产品里,赶上十月的发布。然而,对于除 CTO 外的所有人来说,项目正愈发明显陷入困境中。到了八月,供应商交付了他们的「产品」,我们开始了艰难的整合进程。 九月,我们遇到了一个关键性错误。供应商的产品将每一笔客户交易都存储为一个 json 记录,并归档于一个庞大的 json 文件中。随着测试数据的不断积累,产品的性能逐渐下降。每多一笔交易,都需要读取整个 json 文档并在其末尾增加一条新的记录。供应商声称他们可以通过给交易字段建立索引来解决这个问题,这个办法起初似乎有用,直到我们遇到了第二个问题。 他们选用的数据库是 MongoDB,当时 MongoDB 对每个文档的大小限制是 16MB。因此,到了十月份,当转换团队开始导入真实客户数据时,我们开始触碰到这个 16MB 的上限,问题变得严重起来。有人做了个决定,对客户隐藏这一限制,并推迟一个月上线,同时秘密启动一个项目来替换供应商的集成,于是他们也被蒙在鼓里。这样,我们同时对客户和我们重视的技术合作伙伴不实。 当时的暴躁老研发(小编注:此暴躁老研发即作者本人)其实还是个充满热情的年轻研发,他迅速组建了团队来开发替代方案。供应商的项目团队有 70 人,而暴躁年轻研发只安排了 3 人进行替代开发:一人负责数据库设计,一人负责开发数据库后端接口,还有一人负责开发业务逻辑和网络服务。 客户被告知在一月份会一个新版本可以进行测试,这个版本将解决他们在最初上线时遇到的一些重大问题。但是,我们没有告诉他们,实际上我们正在彻底重写整个核心系统,而且只用了不到两个月完成。考虑到原项目花了一年多的时间才上线,这次只用三个人,在假日期间完成(可以脑补一下接下来的剧情)。 到了十二月中旬,参与项目的每个人都被强制要求(不是请求)在假日期间加班。 需要指出的是,我们大多数人在过去六个月中已经持续工作了 60-80 小时/周,仅仅是为了赶上原定的上线日期。 每个人都已经精疲力尽了。 如果你正在读这段话,而且你不是一个专注于保证工作交付的人的技术人员,你可能会觉得这太可怕了,是时候考虑辞职了。你是对的。但是,我们这些真正热爱软件开发的人,有时会有种摇滚明星的感觉。可能花了几个月甚至几年时间来准备这个项目,而上线的那一天,就像是最后的汇报演出。你想要按时完成上线。这有点像剧院里的演员:演出必须进行!但同时,当你的辛劳成果首次面对真实用户,感受到那种「这是我做的!」的激动时刻,你也想体验一下摇滚明星的感觉。大家喜欢我的作品,我完成了不可能完成的任务。软件的发布,对于内向者来说,就像是一场现场演出。 这时候,圣诞节就要到了。团队在一个月的工作中构建出了替代软件。虽然还有一些功能需要完善,但这些开发者都很聪明,他们一直在完成他们的任务,我相信只要他们不过劳,我们能按时完成测试。 因此,当 CTO 告诉我假期被取消时,我只好答应了。 接下来是我一生中最自豪的时刻之一,我想到了父亲的话 - 关于无视老板。我对我的三名员工说「你们休息一周,这里的事情交给我」。每天早上我都会参加与 CTO 的强制项目进度会议,并对他撒谎。 「团队正在努力工作。今天我们完成了第 73 个 milestone」 「团队昨天取得了不错的进展,我们又完成了一个网络服务」 每一天我都会报告我们正在忙碌,而这些其实都是我们一个月前就已经完成的任务。 一周后,我的团队成员精神饱满地返工了。 一月,我们按期完成了所有任务,顺利上线,短暂地成为了摇滚明星。或许我们更像是 Herman's Hermits (小编注:赫尔曼的隐士们,英国摇滚乐队) 而不是 The Beatles (小编注:披头士,英国摇滚乐队),仍旧,让人感觉很棒。 这就是我欺骗了 CTO,但拯救了公司的故事。 Hacker News 评论精选 翻译本文不是希望推崇公司强制员工加班,剥夺宝贵假期,特意摘录了几条 Hacker News 上此文的评论。 motbus3 如果你是那种取消假期以保证工作交付的人,我想根据自己的经验劝你一句:不要这么做。 我懂,尤其是当你因为辛勤工作获得表扬时,停下来似乎很难,但你最终会为此感到后悔。 如果你的工作是在一个依靠你牺牲假期和休假来推销产品的公司,你实际上是在助长我们今天所面对的问题世界。如果很多人都这么做,那么将有更多人需要这么做。如果没有人这样做,并认为这种要求是荒谬的(确实是这样),那么就没有人会被迫这样做,公司就不得不进行真正的成本估算,即使这可能会损害你最喜欢的 CEO 的利益。 roenxi 这个故事中的每个部分都显得混乱不堪,包括主人公的行为方式。一个团队领导给员工随意放假并对此撒谎是绝对不允许的,这种行为已经触及了公司可能将其解雇的边缘。事实上,如果这种行为导致他被解雇,我也不会感到意外。虽然上层管理显得非常混乱,他可能侥幸免于被解雇并意外获得表彰;这似乎正是他所处环境的一种体现。 给新任团队领导的一个忠告:这里没有任何值得自豪的地方,更明智的做法是强烈反对团队加班,并坚持要求供应商符合合理的标准,或者重新考虑项目范围,以适应正常的工作周时间表。试图应对这种状况只会无谓地耗尽团队的精力,甚至可能导致团队成员在没有任何好处的情况下失去工作。 除非我真的迫于生计不得不工作,否则作为一个团队领导,有责任保护团队成员的合理工作时间,抵御那些不合理的要求。这是一个值得你坚持到底,即使可能因此被解雇,也绝不撒谎的原则。 joshstrange 拯救了谁? 那个交付低劣产品的不良供应商? 那个被一群唯唯诺诺的人围绕、对公司内发生的事毫无所知的 CTO? 那些被压榨到极限的开发者们,虽然给了他们一周假期,又如何呢? 还是那个为了满足一个毫不在乎他们的公司设定的任意截止日期而对所有人撒谎的主角? 这个故事的每一个情节都让我感到不爽。我工作勤奋,偶尔也会为了确保客户发布顺利而加班,但这个故事完全是疯狂的体现。我之所以愿意偶尔加班,是因为我与老板的关系以及我知道我可以随时向他们坦诚。事实上,这是建立无责备文化的核心:只有当每个人都坦诚相对时,我们才能拥有这样的文化。 为了达到一个无知的 CTO 设的截止日期而疯狂撒谎,这简直不可理喻。如果你发现自己处于这样的境地,那么最好赶紧离开,找一个更好的工作环境。 💡 更多资讯,请关注 Bytebase 公号:Bytebase

优秀的个人博客,低调大师

热议:你愿意 35 岁以后继续写代码吗?

这两天阿里 CEO 张勇的一个论调引起很多讨论。 张勇声称,现在最发愁的事情不是 35 岁以上的员工写代码,而是 35 岁以上的员工不写代码,“我们的技术团队,纯粹的管理者应该精干、应该少。” 他还说了,对于 35 岁以后立志写代码、立志做技术工作,做一线技术工作的同学,120% 鼓励、支持、欣赏、敬佩,为他们创造条件。 想起去年网络上传的沸沸扬扬的,说蒋凡要求尽快实现 P8 全员在 35 周岁以内(后来阿里的公关辟谣了,真实性有待商榷)。 但是,劝 35 岁以上的人多去一线搬砖,这不是变相说,不要寄希望于升职了吗?打工人真的太难了,太难了……

优秀的个人博客,低调大师

Scorpio-CSharp v2.0.2 发布,Unity 游戏热更新脚本

新增功能 添加SCORPIO_DEBUG宏定义, 可以使用 Script.GetStackInfo GetStackInfos 获取脚本堆栈信息 print printf 输出增加 文件:行 信息 null 支持 ! 取反操作, 返回 true Array 类添加 toArray 函数,返回一个 c# 的数组 快速反射支持导出扩展函数 快速反射支持导出部分模板函数 其它修改 优化运算符调用GC问题 BUG 修复 修复 while 循环 break 和 continue 的问题 修复 快速反射生成 new 覆盖的 Property 错误的问题。 软件地址:https://gitee.com/qingfeng346/Scorpio-CSharp

优秀的个人博客,低调大师

GitHub上大热的Deep Photo终于有TensorFlow版了!

本文来自AI新媒体量子位(QbitAI) Prisma这个应用,你可能很熟悉。这是一个能将不同的绘画风格,迁移到照片中,形成不同艺术风格的图片。 今年4月,美国康奈尔大学和Adobe的一个研究团队Fujun Luan和Sylvain Paris等人,在arvix上通过论文“Deep Photo Style Transfer”,提出了一种叫做“深度摄影风格转换”的演化技术,能将一张照片的风格,迁移到另一张照片中,下图就是原论文中给出的实际示例。 △原论文的效果示例 原论文作者Fujun Luan给出了Ubuntu 14.04系统下的Torch实现,见文末的相关链接2。 但是该Torch代码实现需配置复杂的MATLAB环境,浙江大学Yang Liu同学将该Torch实现转换成了TensorFlow实现, 下面是对这个TF实现的介绍: 这份Tens

优秀的个人博客,低调大师

一脸懵逼学习keepalived(对Nginx进行热备)

1:Keepalived的官方网址:http://www.keepalived.org/ 2:Keepalived:可以实现高可靠; 高可靠的概念: HA(High Available), 高可用性集群,是保证业务连续性的有效解决方案,一般有两个或两个以上的节点,且分为活动节点及备用节点。 3:高可靠软件:keepalived: keepalive是一款可以实现高可靠的软件,通常部署在2台服务器上,分为一主一备。Keepalived可以对本机上的进程进行检测,一旦Master检测出某个进程出现问题,将自己切换成Backup状态,然后通知另外一个节点切换成Master状态。 4:keepalived的安装操作: 4.1:下载keepalived官网:http://keepalived.org 首先在两台机器上面部署两个Nginx,具体操作见上篇部署一台,另一台的部署过程省略: 将keepalived上传到虚拟机以后进行解压缩操作: [root@master package]# tar -zxvf keepalived-1.2.19.tar.gz -C /home/hadoop/ 解压缩以后进入到解压缩的目录里面: [root@master package]# cd /home/hadoop/keepalived-1.2.19/ 检查安装环境,并指定将来要安装的路径: [root@master keepalived-1.2.19]# ./configure --prefix=/home/hadoop/keepalived最后编译和安装: [root@master keepalived-1.2.19]# make && make install 5:将Keepalived添加到系统服务中: 拷贝执行文件: [root@master keepalived-1.2.19]# cp /home/hadoop/keepalived/sbin/keepalived /usr/sbin/ 将init.d文件拷贝到etc下,加入开机启动项: [root@master keepalived-1.2.19]# cp /home/hadoop/keepalived/etc/rc.d/init.d/keepalived /etc/init.d/keepalived 将keepalived文件拷贝到etc下: [root@master keepalived-1.2.19]# cp /home/hadoop/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ 创建keepalived文件夹: [root@master hadoop]# mkdir -p /etc/keepalived 将keepalived配置文件拷贝到etc下: [root@master hadoop]# cp /home/hadoop/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf 添加可执行权限: [root@master hadoop]# chmod +x /etc/init.d/keepalived 添加keepalived到开机启动: [root@master hadoop]# chkconfig --add keepalived [root@master hadoop]# chkconfig keepalived on 6:配置keepalived虚拟IP:修改配置文件: [root@master hadoop]# vim /etc/keepalived/keepalived.conf 这里配置虚拟Ip就开始分keepalived的master节点和keepalived的backup节点: #master节点 vrrp_instance VI_1 { state MASTER #指定A节点为主节点 备用节点上设置为BACKUP即可 interface eth0 #绑定虚拟IP的网络接口 virtual_router_id 51 #VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一VRRP组 priority 100 #主节点的优先级(1-254之间),备用节点必须比主节点优先级低 advert_int 1 #组播信息发送间隔,两个节点设置必须一样 authentication { #设置验证信息,两个节点必须一致 auth_type PASS auth_pass 1111 } virtual_ipaddress { #指定虚拟IP, 两个节点设置必须一样, #如果两个nginx的ip分别是192.168.199.130,,...131,则此处的虚拟ip跟它俩同一个网段即可 192.168.199.141/24 }} 配置好master节点以后,可以配置BACKUP节点: vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 51 priority 99 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 192.168.199.141/24 }} 7:分别启动两台机器上面的keepalived: 给一个虚拟机设置两个ip地址方法: ip addr add 192.168.199.150 dev eth0 [root@master hadoop]# service keepalived start 最后测试一下: 如果杀掉master上的keepalived 进程,你会发现,在slaver即另外一台配置keepalived的机器上的eth0网卡多了一个ip地址 查看ip地址的命令:ip addr 这里测试的时候出现问题了,因为我的电脑安装的虚拟机都是同一个,所以第一台机器的ip配置在eth0,而其他的竟然配置在了eth1,而这里需要修改一下,ip所在的位置: 解决方法: 1:编辑/etc/udev/rules.d/70-persistent-net.rules,找到与ifconfig -a得出的MAC相同的一行(NAME='eth1'这一行),把它改为"NAME=eth0 ",然后把上面一行(NAME='eth0')删除掉。 vim /etc/udev/rules.d/70-persistent-net.rules SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:bb:41:2b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" 2:编辑/etc/sysconfig/network-script/ifcfg-eth0,把MAC改为正确的,把UUID删掉。 3:编辑/etc/sysconf/network,把hostname也改一下。 4:重启生效! 8:配置keepalived心跳检查: 原理: Keepalived并不跟nginx耦合,它俩完全不是一家人 但是keepalived提供一个机制:让用户自定义一个shell脚本去检测用户自己的程序,返回状态给keepalived就可以了; master节点: vrrp_instance VI_1 { state MASTER #指定A节点为主节点 备用节点上设置为BACKUP即可 interface eth0 #绑定虚拟IP的网络接口 virtual_router_id 51 #VRRP组名,两个节点的设置必须一样,以指明各个节点属于同一VRRP组 priority 100 #主节点的优先级(1-254之间),备用节点必须比主节点优先级低 advert_int 1 #组播信息发送间隔,两个节点设置必须一样 authentication { #设置验证信息,两个节点必须一致 auth_type PASS auth_pass 1111 } track_script { #跟踪用户程序脚本 chk_health } virtual_ipaddress { #指定虚拟IP, 两个节点设置必须一样, #如果两个nginx的ip分别是192.168.199.130,,...131,则此处的虚拟ip跟它俩同一个网段即可 192.168.199.141/24 } notify_master "/home/hadoop/keepalived/sbin/notify.sh master" notify_backup "/home/hadoop/keepalived/sbin/notify.sh backup" notify_fault "/home/hadoop/keepalived/sbin/notify.sh fault"} 添加切换通知脚本: [root@master keepalived]# vim /home/hadoop/keepalived/sbin/notify.sh #!/bin/bashcase "$1" in master) /home/hadoop/nginx/sbin/nginx exit 0 ;;backup) /home/hadoop/nginx/sbin/nginx -s stop /home/hadoop/nginx/sbin/nginx exit 0 ;; fault) /home/hadoop/nginx/sbin/nginx -s stop exit 0 ;; *) echo 'Usage: notify.sh {master|backup|fault}' exit 1 ;;esac 添加执行权限: [root@master keepalived]# chmod +x /home/hadoop/keepalived/sbin/notify.sh 然后配置一下slaver即另一台keepalived: global_defs { } vrrp_script chk_health { script "[[ `ps -ef | grep nginx | grep -v grep | wc -l` -ge 2 ]] && exit 0 || exit 1" interval 1 weight -2} vrrp_instance VI_1 { state BACKUP interface eth0 virtual_router_id 1 priority 99 advert_int 1 authentication { auth_type PASS auth_pass 1111 } track_script { chk_health } virtual_ipaddress { 192.168.199.141/24 } notify_master "/home/hadoop/keepalived/sbin/notify.sh master" notify_backup "/home/hadoop/keepalived/sbin/notify.sh backup" notify_fault "/home/hadoop/keepalived/sbin/notify.sh fault" } 最后: 在第二台机器上添加notify.sh脚本 #分别在两台机器上启动keepalived service keepalived start chkconfig keepalived on

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册