最近在做一个 p2p 应用,有一个需求是想根据 peer
的物理距离选择最佳路由,貌似 ip
和距离没什么太直接的关系,搜索了一圈提供这种服务的大多是在线的 rpc
,又慢又有次数和频率限制,更过分的是还有收费的,哎!

不知从什么时候开始,在程序员的圈子里时常会冒出互联网是吃青春饭行业的观点引发探讨。互联网作为年轻的行业,从发展至今不到二十多年,其从业者的一大特点就是年轻化,据相关统计互联网从业者平均年龄不到30岁。因此对于互联网是一个吃青春饭的言论,大多数人并不认同,认为国内第一批程序员都还没老,有什么依据判定互联网是一个吃青春饭的行业。

一. 准备工作

苦恼了一下午终于发现了救星 《geoip2-golang》
,他们维护了一套ip地址库并且提供了模糊的坐标信息,经过一番简单的封装,可以在
golang
程序中非常容易的使用这些信息,我已经在生产环境中使用了这个库,迫不及待分享给有需要的伙伴们。

图片 1

1、此程序使用的是 Face++ 的API,所以需要去Face++官网注册账号

原码:

然而,程序员到底有没有年龄的限制,只有程序员自己知道,就有一名快35岁的女程序员吐槽称:每次去一线互联网公司面试,就被当辣鸡一样赶走,我有那么差劲吗?本人硕士学历在二线互联网公司上班,不是管理岗,属于一线码农,这实力也不差吧!想着跳槽到一线互联网公司去,然而就因为我年龄马上快35了就被面试官不当人看?还是35岁在互联网真的是一个难过的坎?

2、创建应用,获取 key 和 secret

安装

go get https://github.com/cc14514/go-geoip2-db

图片 2

图片 3Python人脸合成术,高圆圆与刘亦菲合成后貌似天仙?图片 4Python人脸合成术,高圆圆与刘亦菲合成后貌似天仙?

使用

package geoip2dbimport ( "encoding/json" "fmt" "net" "testing")func TestNewGeoipDbByStatik(t *testing.T) { db, _ := NewGeoipDbByStatik() defer db.Close() record, _ := db.City(net.ParseIP("115.35.95.90")) fmt.Printf("Portuguese  city name: %v\n", record.City.Names["pt-BR"]) fmt.Printf("English subdivision name: %v\n", record.Subdivisions[0].Names["en"]) fmt.Printf("Russian country name: %v\n", record.Country.Names["ru"]) fmt.Printf("ISO country code: %v\n", record.Country.IsoCode) fmt.Printf("Time zone: %v\n", record.Location.TimeZone) fmt.Printf("Coordinates: %v, %v\n", record.Location.Latitude, record.Location.Longitude)}

上面单元测试中得到的 record 结构如下,包含了你想要的全部信息

{ "City": { "GeoNameID": 0, "Names": null }, "Continent": { "Code": "AS", "GeoNameID": 6255147, "Names": { "de": "Asien", "en": "Asia", "es": "Asia", "fr": "Asie", "ja": "アジア", "pt-BR": "Ásia", "ru": "Азия", "zh-CN": "亚洲" } }, "Country": { "GeoNameID": 1814991, "IsInEuropeanUnion": false, "IsoCode": "CN", "Names": { "de": "China", "en": "China", "es": "China", "fr": "Chine", "ja": "中国", "pt-BR": "China", "ru": "Китай", "zh-CN": "中国" } }, "Location": { "AccuracyRadius": 50, "Latitude": 39.9289, "Longitude": 116.3883, "MetroCode": 0, "TimeZone": "Asia/Shanghai" }, "Postal": { "Code": "" }, "RegisteredCountry": { "GeoNameID": 1814991, "IsInEuropeanUnion": false, "IsoCode": "CN", "Names": { "de": "China", "en": "China", "es": "China", "fr": "Chine", "ja": "中国", "pt-BR": "China", "ru": "Китай", "zh-CN": "中国" } }, "RepresentedCountry": { "GeoNameID": 0, "IsInEuropeanUnion": false, "IsoCode": "", "Names": null, "Type": "" }, "Subdivisions": [ { "GeoNameID": 2038349, "IsoCode": "BJ", "Names": { "en": "Beijing", "fr": "Municipalité de Pékin", "zh-CN": "北京市" } } ], "Traits": { "IsAnonymousProxy": false, "IsSatelliteProvider": false }}

对于楼主想跳槽到互联网大厂却因为年龄被羞辱,网友表示:楼主35岁了,混了这么多年互联网还在一线干活,不想着转型做管理,还敢跳槽到大厂接着混互联网,佩服楼主的拼劲。但是要知道到互联网大厂,如果不是管理岗位,则意味你需要付出更多的精力与时间来完成工作,这些以楼主现在的年纪还能承受得了这样的强度吗?

3、下载 simplejson 模块 ,使用pip就可以下载了

图片 5

<pre style=”-webkit-tap-highlight-color: transparent; box-sizing:
border-box; font-family: Consolas, Menlo, Courier, monospace; font-size:
16px; white-space: pre-wrap; position: relative; line-height: 1.5;
color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px;
background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232);
font-style: normal; font-variant-ligatures: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal; orphans: 2;
text-align: start; text-indent: 0px; text-transform: none; widows: 2;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration-style: initial; text-decoration-color: initial;”>pip
install simplejson</pre>

各位网友觉得大龄程序员到底应不应该转型呢?欢迎在评论区讨论。

二. 程序思路

“我自己是一名从事了5年前端的老程序员,辞职目前在做讲师,整理了一份学习web前端干货,从最基础的HTML+CSS+JS到移动端HTML5到各种框架都有整理,送给每一位前端小伙伴,这里是小白聚集地,欢迎初学和进阶中的小伙伴。”

1、使用 decect 接口,获取人脸关键点

加QQ群:483045682

接口详细文档:

<pre style=”-webkit-tap-highlight-color: transparent; box-sizing:
border-box; font-family: Consolas, Menlo, Courier, monospace; font-size:
16px; white-space: pre-wrap; position: relative; line-height: 1.5;
color: rgb(153, 153, 153); margin: 1em 0px; padding: 12px 10px;
background: rgb(244, 245, 246); border: 1px solid rgb(232, 232, 232);
font-style: normal; font-variant-ligatures: normal; font-variant-caps:
normal; font-weight: normal; letter-spacing: normal; orphans: 2;
text-align: start; text-indent: 0px; text-transform: none; widows: 2;
word-spacing: 0px; -webkit-text-stroke-width: 0px;
text-decoration-style: initial; text-decoration-color:
initial;”>;

return_landmark 参数 不能为 0 不然不会返回人脸关键点

图片 6Python人脸合成术,高圆圆与刘亦菲合成后貌似天仙?

核心代码:

发表评论

电子邮件地址不会被公开。 必填项已用*标注