go语言搜索引擎,go语言 网站
你写过的自己觉着最牛X的黑程序是什么?
同样是高中,写了一个邮箱爆破工具,把班上一个女生的邮箱破解了,看了她写在邮箱里的日记,原来她不喜欢我。那个时候我知道了,技术可以揭示真相,但改变不了人心。
我们提供的服务有:成都网站设计、做网站、微信公众号开发、网站优化、网站认证、鄱阳ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的鄱阳网站制作公司
上大学的时候每学期期末都要在教务系统评价老师,虽然没有任何卵用,但是它还居然不能同时填写一个,也就是说,你不能全部填A,也不能全部填B或者C或者D,这很麻烦,所以我做了一个插件,点一下就完事儿,随机填写,保证能提交成功,获得了全校同学的喜爱。
大二的时候渗透了学校图书馆的服务器,在里面植入了我的木马,可以任意借书,只要检测到我的名字,就直接删除借出信息,于是我借的一本普林斯顿高等数学就在寝室躺了三年,不过我也只借了这一本。
社交网络这部电影火起来的时候,我也抓了全校学生的照片,做了个类似facemash的网站,后来被辅导员发现了,就关停了。
后来搞到一个树莓派,更是做了许多好玩的东西,比如接上扬声器和话筒,用百度语音识别接口和图灵机器人的接口实现了一个语音助手,我只要在客厅问他,今天天气怎么样,他就会回答天气如何,而且我还加了定时任务在里面,每隔一段时间,会发微博@我的女朋友注意喝水
先不回答问题,先聊聊这个听说!
程序员并不是疯子,只是逻辑思维可能比较的接近于计算机思维,所以常常有些顽固。
成天和代码打交道不假,不过,交流也是程序员比较重要的一个能力,所以沟通能力还是比较强的,只是说,做技术的人都有个通病,就是,不感兴趣的话题,我不插嘴。
so,有本事和程序员聊数码产品,你看看他话多还是少。
最后一个,很难找对象。
这个其实是一个误区,我认识的30+单身的妹纸,绝对比30+单身的程序员多非常多。but,这些30+单身的程序员,基本都看不上这些30+单身的妹子。
所以,程序员找不到对象只是一种假象。
好了,说说我写得最牛的一个程序吧。
很早很早以前,我们做了一个应用程序商城,当时还不是移动互联网时代,智能手机才刚刚问世,所以,我们的应用程序商城卖的是SaaS系统。
我们有非常非常多的SaaS系统提供商,包括Microsoft、Google等等。
所有的这些SaaS系统,我们这里卖的都是license,license也分等级,例如高级用户,中级用户,初级用户。
每个SaaS系统也有不同的通讯协议和报文格式。
因为我们要对接的SaaS系统非常多,我们不可能去每个系统单独对接,所以,我们就自己做了一个模块,能够将所有的通讯内容进行配置。并且,这些配置都是可视化的。
用户在根据我们的配置,进行不同的选择,然后付费,我们在将这些内容传递给SaaS系统。
but,这个并不算是复杂的。
这些SaaS软件的提供商都是老大,他们需要能够知道并且测试自己的系统在我们商城下运行是否顺畅,并且他们可能会调整自己的一些配置,也需要知道这些调整会不会有影响。
因此,我们就做了一套系统,这套系统可以根据这些SaaS软件提供商基于自己的系统接口的配置基础上再进行配置,然后按照这些配置自动的一步步执行,如果执行不下去了,将结果告诉SaaS软件提供商,并且告知他是什么问题引起的。
例如: SaaS软件提供商想模拟一个企业用户购买了1个高级用户License,再购买了3个普通用户license,然后将其中2个普通用户license升级为高级用户,然后将1个高级用户license降级为普通用户,然后,将1高级用户license分配给了员工A,1个普通用户license分配给了员工B,然后注销掉所有的普通用户license。
当然,这个流程可以非常长非常长,而且其实内部规则很多,例如,有的SaaS系统可能是,注销普通license后,如果有空闲的高级license,普通license所分配的用户需要自动分配到高级license上,但有的SaaS确是,注销后,用户需要闲置。
所以,当时这个配置化的通信模块,并且还含有规则的功能就已经很复杂了,还要在此基础上做一个自动化的测试系统,基本上我们都快做哭了。
你自己测试自己的接口,能不能自己写脚本,懒到爆了。
我觉得自己最牛X的程序是高中时在学习机上用6502汇编语言写的钢琴程序。
当时的裕兴学习机带一种学习卡,可以使用汇编写程序,买到了一本薄薄的汇编语言指令书籍,对照一些《电子报》的零星资料,自己学习了解学习机的地址划分、指令集。
当时为了搞明白程序干啥用的,搞白纸从屏幕(电视机)抄了很多反汇编代码。那台学习机的内存1M,还使用了内存分页,有限的资料要搞明白内存是怎么划分的,真是耗了很多脑细胞。最要命的是写程序不带存储功能,每次要写就要重新输入一遍程序。后来又学它的手柄控制、Midi音乐、键盘控制、软驱控制,但那时候这些东西对自己来说太难了,有的能搞出来,有的没成功。
最后还是用它的汇编写了个电子琴程序。
学习卡另外还自带G-Basic的情况下,用basic实现更容易,我也是先学Basic后学的汇编。现在自己也一度觉得,那时候自己是一生中自学能力的巅峰,可惜了当时学习资料太少,长大了学习能力急剧下滑,到现在也没啥出息。
不要妖魔化程序员,程序员只是一个职业身份。黑客是程序员的一种,所谓的黑客其实也是写代码而已,只是因为代码有特别的功能,就像黑匣子那样神秘,所以才会被称为黑客吧。怎么样神秘,其实我也不知道,但是可以肯定的是,无非就是在现有系统和代码的前提下,利用Bug而实现其特殊功能而已。
不鼓励程序员写所谓的黑程序,大多数场合一点价值都没有,甚至还可能违法违规。实际上,网络安全已经很发达,你能看到的所谓的漏洞,很可能是请君入瓮。
程序员的确要花很多时间和代码打交道,但是除了代码,还有很多人和事。比如产品经理、项目经理、设计与美工、架构与系统、项目组其他成员同事。如果你是从事和硬件相关的软件开发,那么你还需要和硬件以及硬件团队打交道。所以,成天只和代码打交道,基本上不是什么现实情况。
程序员干得久,普遍来说确实要比干销售之类的要沉默内向一些,或者说有些木讷吧。我认为主要是工作环境影响的吧,大部分时间其实还是与代码打交道,构思,编写,调试,修改,验证。
程序员其实还是很好找女朋友的哦,主要是给人实诚可靠的感觉。再加上,程序员普遍的工资都不算低,如果是一线城市,二十万年薪起步的大有人在,三十万年薪起步的也不少,五十万年薪以上的就相对少一点。如果是大厂的程序员,五十万年薪起步其实并不算多。
疯子通常和天才是近义词,所谓的疯子不是医学上的疯子,是看起来和常人不一样,思维和行动可能也会有差异。但大多数程序员都不是疯子,因为大多数程序员都不是天才。天才不是疯子,疯子更不是天才,只是他们之间有一些交叉特点,就是与常人不太一样。
最后,还是正面回答一下题主的问题。我没有写过黑客般的程序,也没有写过很牛X的程序。我觉得我写的比较好的那些程序,是框架好,稳定性好,扩展性好。我有很多代码,从写好之后,纵横多个平台,历经十几年的考验,经历了很多量产项目的洗礼,我想这就是好代码之一吧。
我对这些不懂,但是,给我记忆最深刻的。就是一个写冒险岛外挂的一个人,那个外挂名字叫香飘飘,好像是写到079?还是哪个版本。然后就不写了。然后他本人说不写外挂的原因是!!!要去上高中了,要认真读书了,然后就不写了!
我先回答找不到对象这个问题,这一定是个初级程序员,我认识的程序员比我大的只有一个单身,结婚比例超过百分之九十九,所以说程序员找不到对象这个结论不知道是谁发明的。
另外我些过最牛X的程序是一个bug,当天公司的交易额降低到零…
比较满意的,是我自己在维护着的黑帽seo工具。
我做黑帽seo也有七八年了,对搜索引擎的算法了解得非常深刻,百度搜狗各种接口,快排,反推,强引,寄生虫……都是第一时间掌握。几万个站点经验,加上我个人见解的seo技巧,用php迭代了4个版本,维护着的一个全自动排名的seo工具。
目前开了一家跨境电商的公司,正利用它做谷歌。
牛逼之处那当然就是赚了不少的钱啦,其他说什么都是虚的。做这行这么久,早就褪去了各种技术标准,各种有的没的技术噱头的争论热情了。一个用dede采集搞的权5下载站,它也价值一两百万,吹技术是最无聊的事。
计划在四五月用go迭代到第五个版本,解决加密和性能的问题,一天几千万,上亿的蜘蛛量,php真的不行,之前想用swool的,看到他们团队的破事,就转向了go,额外说一句,go语言真好用。
不过目前也没有什么商业化的想法,所以就不要认为我在割韭菜了。纯粹是无聊,分享一下,吹吹牛逼。也不用找我引流,除非一个流量跳转能贵过3毛钱。
你为什么放弃golang?
因为内存管理粗糙。经常看到fmt.xxx导致内存占用太多,反射导致内存占用太多的抱怨。
go语言适合写服务器组件,那种和业务数据无关的服务器。比如数据库服务器、web服务器、日志搜索引擎等。如果用来写一个crm管理系统,非常累,因为缺乏好多高级特性和庞大的第三方库,而且语法比较单一,总体感觉就跟写命令行差不多。
Go语言是谷歌2009发布的编程语言,这个语言发明的目的,就是为了在运行速度接近C/C++语言的基础上(注意是接近),降低开发者的门槛,减少开发难度。
Go语言,在功能上没有超过C/C++,适用者为没有C/C++经验的开发者,开发出接近C效率的程序。对于已经熟练掌握C/C++的开发者来说,Go语言没有优势,还要重学语法,适应开发环境,明显是不符合效率的。
总结
其实语言这东西,都有其优势和劣势。而且有些东西并不是纯技术的。比如java的优势在于清晰的语意表达。写代码的上限不高,但是下限也不低,适合工业开发。
而go呢,不得不说go在微服务这块有先天优势。毕竟java中要实现go的很多功能,需要引入第三方库。很笨重。而go原生支持,这个微服务就很轻巧。但是go的语法太活,工业用是一个挺大的弊端。
go和golang是一种语言吗
是的,go语言的全称是:go programming language。go 这个词太通用了,搜索引擎不能很好辨认,所以习惯叫golang.
谷歌四大官方编程语言
这可太多了,google对技术非常开放,使用了很多常用的开放式编程语言。C++、Java、python是它的搜索引擎的主要编程语言。
现在Go语言是google新产品的主要编程语言,很多在线服务都是Go语言编写的。
针对它旗下的Android操作系统和相关产品采用的是C结合Linux系统以及Java语言。
gRPC服务开发和接口测试初探「Go」
之前写过了Grpc服务开发和接口测试初探【Java】,中间耽搁了一些时间,Go版本的gRPC测试开发实践才有时间学习使用。其中也是由于自己Go语言不够熟悉导致的。之前有段时间想暂时放弃Go语言的学习,导致了Go的生疏,原因是从Groovy到Java性能。
回归正题,Go语言版本的gRPC实践相对Java来说是比较简单的,但是总体的工具链是比较复杂的,可能是因为Go生态目前相比Java还是比较匮乏吧。下面我先简述一下大致的步骤:
以上步骤亲自操作可能会遇到一些小问题,我本人搜到的教程什么的也是乱七八糟,踩了一些坑。我没有整理出一个亲自实践之后的可行的教程,原因有二:
Go语言的gRPC的 proto 编写跟Java大致一致,只有一个报名的参数不太一样。下面是我的 Hello.proto 内容:
这里主要 go_package 网上搜到的配置方式有些不一样,我没有全都尝试,大家在搜索的资料时候,尽量先看看 syntax 这个参数的值,以及文章教程写作的时间,如果距离现在太久了,我建议直接关掉。搜索引擎有过滤功能,可以过滤掉过时的教程。
这里Go语言gRPC的一点优势,就是在一个项目中即可实现,Java需要先弄一个SDK这样。Go语言的gRPC的代码可以通过生成代码命令中的参数实现指定路径。我是放在了和 proto 文件的同级目录。
服务端代码也是比较格式化的内容,如下:
其中 pb.RegisterHelloServiceServer(s, Ser{}) 如果报错,请检查自己安装的工具 protoc-gen-go 或者 protoc-gen-gofast 版本,一般提取报错 message 搜索也能得到解决办法。
下面是客户端的代码,由于学艺不精,其中大部分参数的含义目前我也不是很清楚,特别是基于 stream 的请求响应的方式使用。后面我先把Java的学完,再回过头来看Go的,按照这个顺序学习和分享。
服务端输出:
忘记打日志了。没有输出
客户端输出:
Go语言的gRPC测试开发实践已经完事儿,大概率上我不会在工作中使用Go作为主力gRPC测试语言,后面测试实践内容还是会以Java为主。
网页题目:go语言搜索引擎,go语言 网站
文章链接:http://scyanting.com/article/hdppjp.html