宗恩

宗恩 查看完整档案

北京编辑  |  填写毕业院校Segmentfault  |  编辑 编辑 segmentfault.com/u/yzn/articles 编辑
编辑

关注新科技

联系邮箱 yzn@sifou.com

交流微信:yyuuuuusjjjd

个人动态

宗恩 赞了文章 · 今天 13:31

1024好物分享丨脱单不脱发,就靠它!

image
image
image
image
image
image

代码千万条,发量第一位。
防治不规范,出门两行泪。
修BUG不易,守发际线更难。

那么问题来了,程序员的脱发,是不是不可复制,但有迹可循呢?


加班成常态,长期对着电脑,久而久之就更容易脱发?其实,屏幕本身没问题,而是屏幕发出的蓝光才是影响睡眠,导致脱发的罪魁祸首。

短波长蓝光是波长在400nm-500nm(纳米)的高能量可见光,蓝光普遍存在于电脑、电影屏幕、手机中等。
image

近年来,已有不少研究已经证实电脑屏幕中发出的短波长蓝光会影响我们的睡眠质量。

人脑部深处,有一个像松果般大小的“松果体”,它分泌出来的激素,叫褪黑素,它在调整人体的昼夜节律方面发挥着重要作用。波长450~500纳米的蓝光会抑制褪黑素的产生。

褪黑素会通过对神经内分泌系统、神经递质及其受体、视交叉上核、体温以及神经免疫网络的作用,来参与睡眠的调节,褪黑素与我们的睡眠质量有着密不可分的关系。

毛囊中含有褪黑素受体,通过化学反应,褪黑素会对抗雄性激素的作用—也就是延长毛囊的老化期,从而增加头发的数量并防止脱发。

褪黑素可以保护头皮和毛囊免受导致脱发的炎症和组织的损伤。
image

经常面对电脑加班到深夜,影响褪黑素分泌,睡眠和头皮问题可不就接踵而来了么?

用脑过度就会脱发?


改不完的Bug,对不完的需求,让程序员还承受着高强度的工作压力。

在电脑前长时间工作很容易精神疲劳, 使中枢神经系统长期处于紧张状态,头皮局部的血管收缩使供血量减少, 造成毛囊营养不良。

脑力劳动过量就会脱发吗?其实是精神压力让你更“头冷”。

长时间紧张会导致大脑血液循环也加快,血液中的氧气等成分优先被大脑使用,“分给”的部分就变少了,脱发问题就来了:

毛乳头是由各种毛囊构成的。这是负责头发生长的部分,位于毛囊的最底部:
毛囊和毛乳头需要足够的氧气才能存活

毛乳头的重要作用之一就是它与头皮的毛细血管相连。它们把血液输送到毛囊,毛囊又输送氧气和重要的营养物质。

毛乳头细胞可以将这些重要的成分传递到毛囊的其他部位。但是当血液供应减少,甚至完全切断时会发生什么呢?

image

由于DHT(雄激素二氢睾酮)在毛囊中的存在,会产生炎症和刺激。

而伴随着炎症的加剧,毛乳头与毛细血管的连接被切断。这种情况首先发生得很慢,因此只有一些血液流动是可能的,但很快就会转变为完全缺乏血液供应。

当这种情况发生时,毛囊无法自我维持并死亡。头发自然没办法健康生长。说回到程序员的工作强度与压力:
image
压力越大,摄入的氧气就越少。这可能是由于体力活动减少,或者浅呼吸增加,同时深呼吸减少。不管是什么原因,氧气的减少都会对毛囊产生负面影响。

保持毛囊的良好循环是至关重要的,这样营养、氧气和激素可以促进生长。否则头发生存的环境质量发生改变,脱发就找上了门。

好物推荐


随着工作压力和脱发之间的联系越来越清晰,重要的是要确保你在适当地做出一些改变。
image
在生活上做出一些尝试和改变,选择时光里,哪怕再忙,也要悉心呵护头发。Menxlab时光里时光里专为各类有头皮发质问题的人群研发,主打防脱育发和头皮抗衰,为头皮健康全方位进行保护,贴心守护你的发际线。

1024程序员节,Menxlab时光里特别推出关爱头部力量活动。关爱我们头顶最亲密的朋友,现在添加蔓博士即可免费体验头皮检测,为你解答各种头皮困扰:

image

脱发是常态,但防脱不也是常态吗?不论工作有多忙,请把烦恼交给我们,你只管努力,时光里能量还你帅气人生。

查看原文

赞 16 收藏 0 评论 0

宗恩 发布了文章 · 10月29日

苹果iPhone 12手机上隐藏的神秘功能——反向无线充电

来自外媒VERGE消息,根据刚公开发布的FCC 文件,苹果iPhone 12系列产品能够为外部配件进行无线充电。这些手机支持内置的感应式充电发射器和接收器。不过苹果尚未正式宣布可以向 AirPods充电的功能。

文件中写道:

2020年的iPhone型号除了能够通过台式无线电源传输充电圆盘充电以外,还支持360 kHz的WPT充电功能,并可为配件充电。具有此新功能的iPhone的一系列FCC ID,包括iPhone 12 mini(BCG-E3539A),iPhone 12(BCG-E3542A),iPhone 12 Pro(BCG-E3545A)和iPhone 12 Pro Max( BCG-E3548A)。最大反向无线充电速度为5W。

iPhone 12系列手机支持Apple的新MagSafe标准,该标准在手机内使用磁铁来帮助正确对准兼容配件,当然包括新的与Qi兼容的无线充电座。但是,Apple尚未宣布支持对手机进行任何形式的反向无线充电,并且它们似乎无法为当前市场上的任何设备充电。

这一切似乎暗示,iPhone 12的反向无线充电可能受到限制。文件还显示:「目前,iPhone唯一可以充电的配件是将来可能使用的外部苹果配件,而目前的反向充电“仅在手机连接到交流电源插座时发生。 FCC的测试似乎仅使用壁式充电器和USB-C电缆进行,大概与每部iPhone 12捆绑在一起的USB-C至照明电缆相同。」

这项技术的使用场景似乎是,通过放在桌子的iPhone 12系列手机为AirPods充电,文档还暗示,这种情况将来可能会改变。「未来的设计将实现真正的便携式使用,在口袋或背包就可以实现充电。」


目前还尚不清楚为什么苹果在发布iPhone 12 系列手机时没有正式公布该功能,最有可能的原因是该功能兼容的配件尚未准备好发布。彭博社的马克·古尔曼推测,这个配件可能是即将发布的新款AirPods。

总体来说这是个不错的功能,不需要对手机添加过多新硬件,还可以解决耳机没电的尴尬境况。
image.png

查看原文

赞 0 收藏 0 评论 1

宗恩 发布了文章 · 10月27日

1024 程序员必备好物推荐丨保护我的颈椎和眼睛

image.png

程序员在哪待着的时间最多,毫无疑问肯定是办公室。所以办公室的舒适性对程序员来说尤为重要。今天我就来推荐三个神器,让你开心工作,健康生活 🙂

好物推荐一:电脑显示器增高架

防颈椎病,拒绝低头族。可以合理抬高显示器,预防低头起到缓解颈部疲劳的的作用,经常用电脑的值友可以试试。单层设计,在提升看屏幕舒适度的同时还增大了储物面积,方便放置常用的办公用品,文件等。

好物推荐二:智能护目灯

智能护目灯超大的有效照明区域(≥120cm)可以提供良好的读写照明环境。从而起到保护视力的作用。

好物推荐三:铝合金笔记本电脑支架

携式笔记本电脑支架,全铝合金一体,便携可折叠,细腻的质感,轻巧易携方便收纳,底部还是镂空设计,有助于散热!

本文参与了 SegmentFault思否征文「1024 征文活动」,欢迎正在阅读的你也加入。

image.png

查看原文

赞 0 收藏 0 评论 0

宗恩 发布了文章 · 10月27日

美国政府在「微信禁令」诉讼中经历三次失利

路透社26日报道,由三名法官组成的专家组当天发布判决,驳回了司法部递交的申请暂停执行初始禁止令的动议,美国的用户可以继续使用微信。九巡的三位法官一致认为,美国政府在上诉期间不可能马上受到不可弥补的损失,因此比勒法官的初始禁止令继续有效。

这已经是美国政府在微信诉讼中的第三次失利。

第一次驳回:9月19日,加州北区联邦地区法官比勒下达初步禁令,阻止商务部实施上诉微信封杀令。美国司法部随即在10月2日提交证据和提出动议,要求比勒法官撤回这一初步禁令,并在联邦第九巡回上诉法庭提出上诉,要求否决比勒法官的初步禁令。

第二次驳回:10月23日,加州北区联邦地区法官比勒再次驳回美国司法部的动议,维持此前下达的初步禁令,阻止商务部实施微信封杀令。比勒法官认为,美国政府封杀微信的举动会侵犯美国微信用户,尤其是华人群体的言论自由。

第三次驳回:10月26日,联邦第九巡回上诉法院驳回了美国司法部的动议,决定维持联邦地区法官比勒的初步禁令。三位法官一致认为,在美国政府上诉期间,美国国家安全不会受到无法弥补的损失。


不过腾讯却公开表示美国市场「不重要」而,新浪科技8月13日报道中腾讯首席战略官James Mitchell表示,美国市场对腾讯来说影响非常小——来自美国的营收占总营收的比重低于2%。其中,美国广告收入占总广告收入的比重低于1%。

但目前WeChat在美国的日活跃用户为 1900 万。最核心的用户群体就是500多万美国华人,尤其是第一代中国大陆移民。如果微信在美国被“全面封杀”,将对在美国华人,以及与中国展开商贸、文化等交流的美国人造成巨大影响。

image.png

查看原文

赞 0 收藏 0 评论 0

宗恩 发布了文章 · 10月26日

思否独立开发者丨@一只码:致力于技术变现,并由此走向自由的光明之路

image

独立项目名称:《吃喝优惠券》微信小程序

月收入:300-500 小程序流量主广告费和外卖平台CPS推广费

思否社区ID:@一只码


今天我们要介绍的独立开发者是混迹各大自媒体的《一只码》,他也是致力于技术运营变现公号的PHP全栈LaJun。目前他就职于一家深圳知名互联网公司,全职写PHP接口。

业余时间独立他开发了自己的小程序项目,用一只码的来说:希望能做出来一款对别人有用,又能让自己赚到钱的产品。

成为一名独立开发者是出于喜欢和对自由的追求,主要是因为独立做出来一款有人用的产品是一件自豪和有意义的事情,这种成就感也是一直坚持下去的动力,当然也相信独立开发是一条走向自由的光明之路。

独立开发项目

领红包点外卖的小程序《吃喝优惠券》

立项时间:大概今年9月份中旬

项目背景:无意间看见别人发的一个外卖红包集锦的H5,自己也体验了一把,领红包确实能一顿省个两三块钱,感觉挺不错的,当时就考虑自己要不要做一个这样的小程序,毕竟H5不好收藏,容易被忘记,微信小程序应该会好很多。

面向群体:主要是上班一族小白领

1、如何做的第一版产品?

想到了做就要做,宜早不宜迟。先上然后再考虑技术实现,核心就是如何跳转到第三方小程序。然后是UI,当初的第一版简单粗暴,就是一个丑陋的导航列表页面,只要一点就能跳转到外卖平台的领红包页面。

2、独立开发过程中遇到过哪些困难?最难搞定的是什么?

独立开发过程遇到困难太正常不过了,我也遇到很多脑阔疼的困难,我就说两点比较重要的吧。

首先对于一个主攻后端开发者而言来说,UI的设计和交互着实烦人的难点,色彩搭配,操作按钮合理布局都需要推敲打磨,最重要的是要有一颗善于思考的脑袋和一双发现美的大眼睛。大多数人没有这些talent,但是可以站在巨人的肩膀上,参考学习一些优秀的产品或者去找朋友去设计一套UI。

其次是推广,我记得很清楚我人生第一款独立开发应用《抖印小助手》微信小程序,辛辛苦苦地开发了整整一个假期加一周的业余时间。当我死搬硬套的去发朋友圈广告和微信群广告,第二天一看数据惊呆了,才50个用户。这当时可是给我当头一棒,严重挫伤了我的积极性,眼看着离1000用户流量主创收门槛还有几十步,差点放弃,最后遇到了一个贵人得到指点,改变推广方式和渠道,成功的在一夜之间多了2k用户,又重拾了希望。

3、项目目前取得了哪些成就?项目为你带来了什么?

赚到点零花钱生活费的,也结识了不少优秀的独立开发者,和他们一起交流学习一些独立开发的经验心得,整个项目让我取获得了信心,让我看到了更多可能和希望,坚定了要走独立开发者这条路。

4、你的商业模式是什么?是如何增长的?

CPS推广赚佣金,增长这块做的不是多好,仅仅凭借个人之力社群推广了下,效果不是很好,准备做活动推广

5、近阶段项目有哪些更新,未来会做什么变动

增加了个人中心页面和定时提醒领红包叫外卖,每天快11点的时候提醒一次。这块未来想做成个性化设置提醒时间。

6、如果项目重来一次你会做哪些改变?

我觉得现在已经都很好了,哈哈哈

个人相关问题

1、推荐你最喜欢的一款产品 / 游戏 / App?并说明原因

当然是我辛辛苦苦一手带大的《吃喝优惠券》小程序啦,嘿嘿。用户领红包点外卖省钱,我能赚取推广费,UI简洁,操作方便,整个点外卖的体验顺畅。最最最关键的一点是我开发的,哈哈哈。

2、分享一下你的技术栈和你日常的工作流?

php程序员一枚,四五年工作经验,也算的上一个全栈开发吧,上能写页面JS,下能运维重启linux服务器,工作生活也简单朴实无华,google-》喝水=》思考=》撸码=》如厕。

3、对独立开发者或编程初学者有什么建议?

独立开发这方面我也是从下半年开始做起的,也没有太多经验,只是觉得项目选对很重,选项目可以先去做个搜索调查,看这个项目的前景和热度,然后做出来好的产品是长期发展的关键,其次是怎么推广扩大用户量,这也是对于独立开发者而已往往也是个难题,但是也是很重要的。最后就是思考如何友好的变现创收,为自己带来收入。

4、生活中有什么爱好?有什么个人的特别的工作习惯么?

像大多数程序员一样,喜欢听歌跑步玩游戏。 工作方面有个不错的习惯就是先想好一天的任务,然后一定要做完不要拖延。

5、聊聊你对国内技术社区的看法

感觉思否如其名,透漏着技术人思考的迹象,有时候搜索一些不是很常见的技术问题,总能看到思否的影子和下面的思考评论。思否相比其他杂而混乱的技术社区而言会更会让我有好感一些。


开发者寄语

感兴趣请关注我的微信公众号《一只码》,里面菜单是我的几个月以来辛勤劳作开发出来的几款小程序。最后感谢思否平台对我产品的认可,希望能通过这次采访结交更多的独立开发者,一起交流,碰撞思考的火花,谢谢!


独立开发者支持计划-1.png

该内容栏目为「SFIDSP - 思否独立开发者支持计划」。为助力独立开发者营造更好的行业环境, SegmentFault 思否社区作为服务于开发者的技术社区,正式推出「思否独立开发者支持计划」,我们希望借助社区的资源为独立开发者提供相应的个人品牌、独立项目的曝光推介。

有意向的独立开发者或者独立项目负责人,可通过邮箱提供相应的信息(个人简介、独立项目简介、联系方式等),以便提升交流的效率。

联系邮箱:pr@segmentfault.com

image

二维码过期添加思否小姐姐拉你入群
image.png
查看原文

赞 5 收藏 1 评论 0

宗恩 发布了文章 · 10月26日

中兴通讯发布《5G上行增强技术白皮书》,并透露3GPP R15引入三种上行增强技术

中兴通讯发布《5G上行增强技术白皮书》

近日,中兴发布了《5G上行增强技术白皮书》,结合自身在5G领域的研究实践,对目前业界关注的几种上行增强技术提供了分析对比、性能介绍和应用场景说明,对5G上行增强技术演进和发展方向提出了中兴观点和未来展望。

中兴称行业的丰富应用场景对5G网络的性能,特别是上行容量、上行覆盖等提出了更高要求。目前5G网络主要采用中高频段,带宽大、容量高,但由于穿透损耗相对较高、上行占空比较低等原因,在上行覆盖、容量等方面存在一定不足。因此运营商亟需提升5G网络的上行性能以保障多元化业务的发展,提升用户体验。

中兴透露3GPP R15引入三种上行增强技术:双连接(EN-DC)、载波聚合(CA)、和上行补充载波(SUL),通过多个频段之间的协同实现上行增强。由于5G商用终端上行普遍为2个发射通道,使得在多频段组网时频谱资源无法得到最佳利用,3GPP R16中引入上行发射通道切换的机制,在TDD-NR载波上最大限度保留上行双流能力,并可以应用于R15中引入的三种上行增强技术中,进一步提升上行容量和覆盖、并降低时延。

经过综合对比,中兴表示融合了上行发射通道切换技术的载波聚合方案具备从时域和频域同时深化FDD和TDD载波的协同能力,有效提升5G网络的上行覆盖,降低时延,并改善上下行容量,是构筑功能、性能和覆盖领先的5G高质量网络的最佳上行增强技术方案。

image.png

查看原文

赞 1 收藏 0 评论 0

宗恩 发布了文章 · 10月23日

独立开发者们快来填「独立开发者生存现状」调查问卷!

独立开发者们快来填「独立开发者生存现状」调查问卷!

SegmentFault 思否社区作为服务于开发者的技术社区,一直致力于为开发者及独立开发者的成长提供帮助,为此我们还推出了「思否独立开发者支持计划」,通过采访等形式帮助独立开发者宣传产品和传递理念。为了更好的了解独立开发者并为这个开发者群体提供帮助,我们决定以调查问卷为基础撰写独立开发者生存现状报告,从而让更多人关注到独立开发者这个群体,让更多力量可以对这个群体进行支持。


↓点我

https://jinshuju.net/f/iuK8pB

↓扫我


至今我们已经发布了20余篇独立开发者的采访(还有多篇采访积极完善中),在为被采访者带来产品曝光和展示的同时,也让开发者们结识了众多志同道合的小伙伴。当然也收获了不少用户们的认可。

独立开发者采访传送门:https://segmentfault.com/t/%E7%8B%AC%E7%AB%8B%E5%BC%80%E5%8F%91%E8%80%85


接下来我们会继续为这个群体提供帮助,当然帮助也会有更多样的形式。所以填写调查问卷的独立开发者们,请扫描下方二维码进群,我们会在群中抽取精美礼品。
image.png

问卷填写时间

现在 — 2020年11月1日

就现在,填问卷吧!

查看原文

赞 6 收藏 0 评论 7

宗恩 赞了文章 · 10月23日

极术社区宠粉活动,重磅好礼免费拿!

关注 极术社区 的工程师们

第一期粉丝福利来啦!

专业技术书籍、无线蓝牙耳机、55度保温杯、单肩挎包、小米充电宝

免费送啦!

这次我们还加上了神秘大奖,等你来领!

(活动前 50 名,达标即送~)

奖品详情

一等奖:Arm中国定制款Remax TWS-5无线蓝牙耳机 或 55度保温杯

二等奖:小米充电宝 或 定制款CHOOCI缤彩折叠单肩挎包

三等奖:北京邮电大学电子工程学院电子实验中心副主任刘雯撰写的 《基于ARM Cortex-M4内核的物联网/嵌入式系统开发教程》

四等奖:电子版学习资料(涵盖Arm IP及技术,嵌入式,AI,边缘计算,IC设计相关技术干货汇总)+实物礼品抽奖机会

如何领取

长按下方海报上二维码

生成自己的专属海报

马上参与到活动中!

或在极术社区公众号中回复:7

参与活动

扫描上方二维码↑马上免费领取奖品

本活动截止时间10月29日24点整

仅剩 6 天

还等什么,抓紧参与吧

查看原文

赞 1 收藏 0 评论 1

宗恩 发布了文章 · 10月23日

2020年第三季度小米依旧是印度手机市场「领导者」

来自Canalys消息,印度的智能手机出货量在2020年第三季度有所恢复,增长了8%,达到5000万部。这是印度单个季度智能手机出货量的历史最高记录。小米仍然是市场的领导者,增长了9%,出货量为1310万台。三星以1020万台的销量位居第二,增长7%。三星积极进取的产品组合和低端定价策略获得了回报。Vivo位居第三,增长了19%,出货量为880万部智能手机,而Realme则以870万部的出货量大跌眼镜。Oppo排名前五,出货量为610万台。

“智能手机厂商肯定是看涨的,” Canalys分析师Adwait Mardikar说。“政府在三个月的封锁后缓慢但肯定地减少了行动限制,为持续增长创造了理想的氛围。尽管几乎所有供应商都显示出了积极的出货量增长,但真正的赢家是在线渠道,在线渠道在节日来临之前吸引了大量的设备。亚马逊和Flipkart的持续销售清楚地表明,尽管经济不景气,印度对优质智能手机和廉价产品的追求仍然保持不变。”

Canalys研究分析师Varun Kannan说:“中国厂商占本季度智能手机总出货量的76%,而去年同期这一比例为74%。“但是,紧张局势使中国智能手机品牌在最近几个月采取了更为保守的行动,减少了营销支出,并谨慎地试图树立形象,试图表明它们是印度经济未来的重要贡献者和利益相关者。”

苹果第三季度在印度恢复了势头,增长了两位数,达到近80万台。Canalys研究总监Rushabh Doshi说:“苹果终于把注意力转移到了印度。” “它已经开设了一家直接在线商店,这使其在进入市场战略中有了几个新的角度,例如利用设备以旧换新来提供购买动机,或者将AirPods与iPhone捆绑在一起以使其更具吸引力。然而,由于网络运营商尚不具备面向大众市场的5G部署基础设施,因此其新的iPhone 12系列今年将很难在印度销售,从而抹去了设备的关键功能。别忘了,苹果在印度为其新款iPhone制定的定价策略需要认真考虑。”

Mardikar补充说:“ COVID-19在印度的影响是种两分法。” “封锁行动迫使印度大多数劳动者留在家里,避免在旅行,食品和饮料上花费大笔费用,增加了可分配的整体收入。” 另一方面,失业率上升,对社会最低阶层的影响最大,并影响了印度智能手机市场的长期前景。由于印度大部分地区仍处于断线状态,因此智能手机已不仅成为社交网络,娱乐,教育,银行,支付等领域的必需品。从长远来看,供应商必须承认他们在提升该国以及帮助印度尽快摆脱COVID-19方面的责任。”

image.png

查看原文

赞 1 收藏 0 评论 0

宗恩 赞了文章 · 10月22日

SegmentFault 独立开发者支持计划开启,帮助独立开发者建立影响力!

SegmentFault 独立开发者支持计划

在移动市场兴起,App Store 模式风行的时候,独立开发者曾拥有过一个好时代。召集几名开发者,做个好应用,就能够赢得大众的认可、媒体的赞同。

但如今,一款应用成功不再是写好代码就可以。现在的移动互联网逐渐开始变为由少数巨头把持市场的时代,大公司凭借强大的用户基础和资源瓜分了大部分流量。

小团队变得难以为继,只能卖身给大公司;一旦有产品脱颖而出,大量的模仿者接踵而至;各个应用商店互相封闭,应用随时有可能被下架。应用和开发者的增多让推广和渠道变得格外重要,在这方面独立开发者很难与大公司抗衡。

但是,属于开发者的好时代真的过去了吗?

从纯技术的角度来看,开发者正处于一个好时代。

随着开源的发展,软件开发工具比以前任何时候都要好;硬件不仅性能出色,而且拥有丰富的感应器;编程方面的指导越来越多,也越来越好了。

从市场的角度来看,开发者所处的时代也不没有那么坏。

随着智能手机用户的爆发增长和媒体报道渠道的增加,让独立开发者有机会得到更多元更多样的流量,大公司入场,也并不意味着个人开发者和小团队没有生存空间。相比之下,小而美的独立开发项目,更能获得市场的认可和传播。

无论如何,独立开发者们至少还拥有着之所以选择「独立」的执念 —— 自由,不用按部就班地工作、不必和公司繁琐的制度打交道,可以打造完全符合个人意志的产品。


为助力独立开发者营造更好的行业环境, SegmentFault 思否社区作为服务于开发者的技术社区,正式推出「思否独立开发者支持计划」,我们希望借助社区的资源为独立开发者提供相应的个人品牌、独立项目的曝光推介。

一、思否提供哪些永久的免费支持资源?

  1. 为独立开发者在社区添加「独立开发者」认证 ;
  2. 思否编辑团队协助进行独立开发者的个人报道和独立项目的报道,传递独立开发者的理念;
  3. 思否资讯板块配合报道内容进行相应的曝光推广;
  4. 提供潜在的合作机会。

二、对于独立开发者有哪些要求?

  1. 目前是独立开发者身份或在运营独立开发的项目;
  2. 发布或参与过独立项目开发的独立开发者均可申请参加;
  3. 独立项目需要有明确的应用场景以及较高的项目质量;
  4. 项目的负责人要对提供的报道内容真实性负责。

有意向的独立开发者或者独立项目负责人,可通过邮箱提供相应的信息(个人简介、项目地址、项目介绍、联系方式等),以便提升交流的效率。

联系邮箱:pr@segmentfault.com

clipboard.png

查看原文

赞 25 收藏 6 评论 5

宗恩 赞了文章 · 10月22日

作为半独立开发的这两年

何为半独立开发?我认为就是像我这样还在上班的,周末业余时间做自己产品的开发者,其实我在 2017 年就发布了自己的第一个 App,当时是作为试水做的,我觉得我真正成为一个半独立开发是 2018 年,这一年发布了我至今仍在维护更新的一款应用份子记账

为什么要正儿八经做自己的 App 并一直维护下去?

17 年结婚,发现自己有需求,但是找不到合适的 App,那么就自己做吧!说干就干,首个版本完全根据自己的需求做的,花了 3 个月上线第一个版本,让我没想到的是很快就有用户使用了,并加我微信提了很多需求,这些需求也是我并未考虑到的,真实且有用的需求,所以后面我就根据这些需求不断的更新迭代。所以说是用户的使用,让我坚持维护更新下去。

为什么要做收费功能?

一开始我是真的用爱发电的,都是免费用的,只是后面很多用户提到为何不做收费,加之后面我也觉得非常累,想想确实是可以在不影响用户基础使用前提下,做一些高级功能收费的。

为什么要坚持一年半去做一个 App ?

这里提到的就是我从构思到上线第一个版本,花了一年半的旅行日记,同样的,这也是一个基于我自身需求做的一个应用,我很喜欢旅行,所以你看名字就知道这是一个什么样的 App 了。让我很惊喜的是,付出真的会有回报,这个应用上线没多久就被苹果推荐了,后续被推荐多次,最棒的一次是上了 App Store 首页推荐位第一个(虽然不是全员岁推送)但是对我来说真的非常惊喜,也坚定了我要一直维护下去的决心

很荣幸的是昨天受邀参加了 Apple 大中华区开发者关系的邀请函,去现场跟 Apple 负责这方面的两位专家针对旅行日记进行了产品交流,提出了很多细节优化,受益匪浅!真的有感受到 Apple 对个人开发者的支持,很受宠若惊!

为什么只有 iOS 客户端,没有安卓端?

因为我本职工作就是做 iOS 开发的,这是我熟悉的领域,所以从技术上来说做起来也算是得心应手。其实我有考虑写安卓端(学过一段时间 Flutter )但是实在时间精力的限制,导致这个计划目前是搁置状态,未来如果条件允许,是会做双端的。

未来计划

目前在职,在做好本职工作的前提下,利用下班和周末时间,好好的去了解用户需求,把这两个 App 继续维护下去。也会有其他 App 的开发计划。我最终目的是希望自己的 App 能够稳定产生支撑我的日常生活,在此之后就会全职去做自己的产品,因为我骨子里是不想朝九晚五做一个上班狗的,向往自由自在的生活...全世界去旅行...

查看原文

赞 4 收藏 0 评论 1

宗恩 赞了文章 · 10月22日

思否独立开发者丨@Vision:要耐得住寂寞,做全世界最优秀的「数独」

思否独立开发者支持计划

独立开发者:@Vision
团队名称:delta.Fun
项目名称:《数独 2》

立项日期:2019 年底
面向群体:覆盖数独的初学者到骨灰级玩家,都能找到惊喜
目标:目前持续更新中,让更多人体验到数独的乐趣

应用链接:https://apps.apple.com/cn/app...
国际版链接:https://itunes.apple.com/app/...
思否独立开发者支持计划


思否的社区用户们,你们好。

我们是一个独立开发者小团队,叫 delta.Fun。当前团队规模 4 个人。

团队有个共同的兴趣,就是都非常热爱数独。但当我们找遍了市面基本上绝大多数移动版的数独 APP,都没有找到满意的应用。要嘛就是输入体验太糟糕,要嘛就是界面设计达不到任何美的标准。

所以我们决定自己来打造一个心目中的最佳数独。

怎么样能称之为一款好的数独应用?围绕着「好用」「好看」「好玩」三个标准,我们从 0 开始,重新思考问题所在,重新设计我们的答案。


好用丨重中之重,针对数独应用里最高频的数字输入问题,如何打造一个最舒服且高效的输入体验?

-问题:如何能更有效率的在正常数字及备注数字中做切换,而不会打断当前的思路?

-答案:数独游戏过程中,玩家经常需要频繁切换正常数字输入及备注数字输入。针对此,不同于传统数独应用,只能使用单击切换再输入的方式,《数独 2》独创了双击切换及长按快速输入的创新交互。按我们的统计及用户反馈,能提高近50% 的输入效率,从而使整个游戏过程更加顺畅。

-问题:如何把填数的交互反馈(触觉、声音、视觉)做到比真实的纸笔更好?

-答案:通过引入 iOS 的 Haptic 的 API,给予不同类型数字输入不同的反馈力度。配合各类输入结果(正确、错误、切换)不同的音效,以及增加对一宫、一列、一行及某个数字全填完时的动画效果。《数独 2》通过视觉听觉触觉全方位的设计,给用户在整个游戏过程中都能得到恰到好处的反馈。

-问题:数字键盘的数字排列如何摆放,切换备注按钮及删除按钮如何摆放?

-答案:目前大部分应用基本上都是千篇一律的几个功能放一排,数字放一排的布局。而《数独 2》考虑了所有按钮的使用频率及关联关系,将频率最高的数字与切换按钮及删除按钮使用 W 形布局,而把撤销、暂停等按钮放到次要位置,形成当前我们觉得数独移动应用中最高效直观的数字布局界面。


好看丨数独每一局一玩可能就要很久,怎么样才能算一个简洁、漂亮、百看不厌的数独界面?

-问题:标准的浅色与深色模式,如何设计?如何避免用户对微信深色模式的槽点?

-答案:其实 iOS 原生的浅色模式是纯白,深色模式是纯黑。但是其实这种风格纯粹,满足省电功能的同时,也无法避免会缺乏一点质感。《数独 2》里不仅只提供了白色与黑色的系统风格,同时还有浅色,深色的选项,还能选择是否自动搭配的随系统 Dark Mode 的开启切换。我们相信,对于黑色有不同敏感度要求的用户在此,也都能找到适合自己的界面。

-问题:用户是否需要自定义界面,如果需要,那么自定义的丰富程度,需要实现到什么地步?

-答案:《数独 2》 的逻辑是默认会给你最耐看的,与系统最一致的风格体验。但也允许玩家对整个风格做丰富的个性化设置。例如支持游戏的全局背景设置、支持自定义数字的字体与字号、支持自定义九宫格线条粗细。这可能是目前能提供最丰富自定义界面的数独应用。

-问题:儿童数独如何设计?

-答案:《数独 2》 想把游戏推广给更多爱好者,特别是初学者。所以特地做了迷你数独(Kiddo Suodku)的模式,作为团队给小孩子的礼物,这个模式的所有界面都重新设计成更加卡通的风格,通过收集星星让火箭升空,让儿童逐步学会数独。并且,在此模式下,所有的广告都会自动跳过,也不收取任何道具费用。


好玩丨做一款数独,让初学者及高手都能找到乐趣。

-问题:对于想深入学习数独的用户来说,有没有一个工具能让他能针对性的找到各种题目,并训练特定的解法技巧?

-答案:《数独 2》独创的学习模式,可以让用户选择自由选择不同的解法技巧生成对应的题目,并且通过三个不同的步骤,能让用户学习并练习此技巧,最快的在练习中得到提高。目前已包含 12 种基本技巧,14 种高级技巧。

-问题:游戏的难度系统该如何设计?

-答案:一个题目的解答每一步都会应用到不同解法。《数独 2》将不同的解法给予了不同的难度系数,采用一种科学的方式来给题目分类。简单,正常,困难,专家,大师,5个基本难度题目能覆盖绝大多数玩家的需求。后期在迭代过程,又吸收了一些专业玩家的意见,加入了更难的疯狂难度的题目,引入一些国际竞赛题目。

-问题:怎么样的挑战及统计功能,会让数独用户持续性的获得成就感?

-答案:首先,《数独 2》有一套完善的奖章体系,包含挑战,成就,等级等。还有每日挑战,特殊活动挑战等运营活动。其次,《数独 2》的玩家还能通过积分、等级、连赢等统计系统,来记录自己的成长。

-问题:数独的规则是统一的,但除了用 1 到 9 的数字来玩,还能用什么形式来玩?

-答案:《数独 2》独特的EMOJI模式,数独规则不变,但使用丰富的 EMOJI 图标来代替数字,不仅挑战数字逻辑能力,还挑战记忆能力。这种方式玩数独也很有意思。


目前团队的短期规划是收集更多的用户反馈,来继续优化这个数独应用,让其功能丰富。已经有很多用户给我们提了拍照识题、不规则数独或竞技场等功能需求,我们会认真考虑,继续优化。也欢迎更多的数独爱好者给我们提意见,我们的团队邮箱是:support@delta.fun。

也许我们没有什么特别大的想法,但在数独这个小品类中,做到全世界最优秀,应该是我们可以做到的。就像我们的一直很喜欢的 MindeNode,Things,Reeder 等应用。
我们也一直相信只要应用足够优秀,是可以有长期价值的。

快问快答

1.如何定义“独立开发者”?

不满足于现状,而期待通过自己努力作出改变,具备动手能力的探索者。

2. 辞掉一份稳定工作的决定成为独立开发者,对您来说艰难么?是否有过顾忌?您的家人对于您的决定是否支持?

独立开发者要耐得住寂寞,但也要多与市场用户交流。深耕细作跟浅尝辄止都是一种选择。所以焦虑肯定是有的。核心在于能否找到产品的价值与突破方式。

3. 独立开发过程中遇到过哪些困难?最难搞定的是什么?

以前协作的东西需要自己去完成,例如设计,上架等。
最难搞定的是苹果的上架逻辑。IAP 有很多坑,不被拒几次都不知道里面的逻辑。

4. 分享一下日常的工作流?

白天主要做设计,能跳脱。晚上主要做程序,能集中。

5. 什么时候开始接触数独?在您看来,数独有哪些迷人的特点?

初中时开始接触数独,最早是在报纸上看到,就觉得这种逻辑谜题特别有意思。规则简单,但又变化无穷。易入门,难精通。

6. 是什么具体的契机、事情,让您打算自己做一款数独产品?

由于很喜欢数独,但在市面上下载了前 10 名的应用,都找不到令自己满意的 App。使用这些应用的过程中,经常会跳出如果这样会更方便,如果提示这样给会更准确的想法。于是决定自己来做一款实现。

7. 后续会考虑做 PC 端或者 Andriod 版本么?

可能会先做 MAC 端。Android 端跟小程序也在考虑。

8. 作为一名“果粉”,如何评价苹果现阶段产品的迭代方向和理念?

其实去看WWDC,会比纯粹看苹果的产品更能看出端倪。苹果现在更多的决策是从一个生态的角度来做的,单看一点,容易看偏。另外,苹果还是那个做精品的苹果,但苹果不再是那个作为行业追赶者姿态时的苹果。

9. 推荐你最喜欢的一款 App?并说明原因

Reeder。一款RSS阅读器,一个非常垂直的工具需求。开发者做了十年还能继续更新,并且精益求精。

11. 目前在玩儿的一款游戏是什么?

动森,最终幻想7重制。


独立开发者支持计划

该内容栏目为「SFIDSP - 思否独立开发者支持计划」。为助力独立开发者营造更好的行业环境, SegmentFault 思否社区作为服务于开发者的技术社区,正式推出「思否独立开发者支持计划」,我们希望借助社区的资源为独立开发者提供相应的个人品牌、独立项目的曝光推介。

有意向的独立开发者或者独立项目负责人,可通过邮箱提供相应的信息(个人简介、独立项目简介、联系方式等),以便提升交流的效率。

联系邮箱:pr@segmentfault.com

SegmentFault 思否

clipboard.png

查看原文

赞 8 收藏 1 评论 0

宗恩 赞了文章 · 10月22日

有关链表的小技巧,我都给你总结好了

链表

链表是数据结构里一个很基础但是又很爱考的线性结构,链表的操作相对来说比较简单,但是非常适合考察面试者写代码的能力,以及对 corner case 的处理,还有指针的应用很容易引起 NPE (null pointer exception)。综合以上原因,链表在面试中很重要。

提到链表就不得不提数组,它和数组可以说是数据结构的基础,那么它们最主要的区别在于:

  • 数组在物理内存上必须是连续的
  • 链表在物理内存上不需要连续,通过指针连接

所以数组最好的性质就是可以随机访问 random access,有了 index,可以 O(1) 的时间访问到元素。

而链表因为不连续,所以无法 O(1) 的时间定位任意一个元素的位置,那么就只能从头开始遍历。

这就造成了它们之间增删改查上效率的不同。

除此之外,链表本身的结构与数组也是完全不同的。

LinkedList 是由 ListNode 来实现的:

class ListNode {
  int value;
  ListNode next;
}

结构上长这样:

这是单向链表,那还有的链表是双向链表,也就是还有一个 previous pointer 指向当前 node 的前一个 node:

class ListNode {
  int value;
  ListNode next;
  ListNode prev;
}

其实链表相关的题目没有很难的,套路也就这么几个,其中最常考最基础的题目是反转链表,听说微软可以用这道题电面刷掉一半的 candidate,两种方法一遍 bug free 还是不容易的。文章之前已经写过了,点击这里直达复习。

今天我们来说链表中最主要的 2 个技巧双指针法dummy node,相信看完本文后,链表相关的绝大多数题目你都能搞定啦。

双指针法

双指针法在很多数据结构和题型中都有应用,在链表中用的最多的还是快慢指针

顾名思义,两个指针一个走得快,一个走得慢,这样的好处就是以不同的速度遍历链表,方便找到目标位置。

常见的问题比如找一个链表的中点,或者判断一个链表是否有环。

例 1:找中点

这题就是给一个链表,然后找到它的中点,如果是奇数个很好办,如果是偶数个,题目要求返回第二个。

比如:

1 -> 2 -> 3 -> 4 -> 5 -> NULL,需要返回 3 这个 ListNode;

1 -> 2 -> 3 -> 4 -> 5 -> 6 -> NULL,需要返回 4 这个 ListNode。

但其实吐槽一下,如果真的要设计一个这样的 API,我更倾向于选择返回偶数个中的第一个中点。

为什么呢?

算法题都是工业生产中一些问题的抽象。比如说我们找中点的目的是为了把这个链表断开,那么返回了 3,我可以断开 3 和 4;但是返回了 4,单向链表我怎么断开 4 之前的地方呢?还得再来一遍,麻烦。

Solution

方法一、

这题最直观的解法就是可以先求这个链表的长度,然后再走这个长度的一半,得到中点。

class Solution {
    public ListNode middleNode(ListNode head) {
        if(head == null) {
          return null;
        }

        int len = 0;
        ListNode current = head;
        while(current != null) {
            len++;
            current = current.next;
        }

        len /= 2;
        ListNode result = head;
        while(len > 0) {
            result = result.next;
            len--;
        }

        return result;
    }
}

方法二、快慢指针

我们用两个指针一起来遍历这个链表,每次快指针走 2 步,慢指针走 1 步,这样当快指针走到头的时候,慢指针应该刚好在链表的中点。

class Solution {
    public ListNode middleNode(ListNode head) {
        ListNode slow = head;
        ListNode fast = head;
        while(fast != null && fast.next != null) {
            slow = slow.next;
            fast = fast.next.next;
        }
        return slow;
    }
}

这两个方法孰优孰劣呢?

网上很多说什么方法一过了两遍链表,方法二只过了一遍。

但其实,但是方法二用了两个指针来遍历,所以两个方法过的遍数都是一样的。

它们最大的区别是:

方法一是 offline algorithm,方法二是 online algorithm。

公司里的数据量是源源不断的,比如电商系统里总有客户在下单,社交软件里的好友增长是一直在涨的,这些是数据流 data stream,我们是无法计算数据流的长度的。

那么 online algorithm 能够给时刻给出当前的结果,不用说等数据全部录入完成后,实际上也录不完。。这是 online algorithm 比 offline algorithm 大大的优势所在。

更多的解释大家可以参考 stack overflow 的这个问题,链接在文末。

例 2:判断单链表是否有环

思路:快慢指针一起从 head 出发,每次快指针走 2 步,慢指针只走 1 步,如果存在环,那么两个指针一定会相遇。

这题是典型的龟兔赛跑,或者说在操场跑圈时,跑的快的同学总会套圈跑的慢的。

public class Solution {
    public boolean hasCycle(ListNode head) {
        ListNode slow = head;
        ListNode fast = head;
        while(fast != null && fast.next != null) {
            slow = slow.next;
            fast = fast.next.next;
            if(slow == fast) {
                return true;
            }
        }
        return false;
    }
}

这题有个升级版,就是要求返回环的起点。

例 3:返回有环链表的环的起点

这题我感觉不全是个算法题了,还是个数学题哈哈。

先摆出结论:

  1. 快慢指针从链表头开始走,相遇的那点,记为 M;
  2. 再用 2 个指针,一个从头开始走,一个从 M 开始走,相遇点即为 cycle 的起点。

我们先看抽象出来的图:

假设快慢指针在 M 点第一次相遇,

这里我们设 3 个变量来表示这个链表里的几个重要长度:

  • X:从链表头到环的起点的长度;
  • Y:从环的起点到 M 点的长度;
  • Z:从 M 点到环的起点的长度。

注意:因为环是有方向的,所以 Y 并不是 Z。

那其实我们唯一知道的关系就是:快慢指针在 M 点第一次相遇。这也是我们最初假设的关系。

而快慢指针有一个永远不变的真理:快指针走的长度永远是慢指针走的长度的 2 倍。

相遇时快慢指针分别走了多少的长度呢?

  • 快指针:X+ Y + 假设走了 k 圈
  • 慢指针:X + Y

那么我们就可以用这个 2 倍的关系,列出下列等式:

2 * (X + Y) = X + Y + kL

所以 X + Y = kL

而我们注意到:Y + Z = L,那么就能得出 X = Z。

所以当两个指针,一个从头开始走,一个从 M 点开始走时,相遇那点就是环的起点,证毕。

来看下代码吧:

public class Solution {
  public ListNode detectCycle(ListNode head) {
    ListNode slow = head;
    ListNode fast = head;
    while (fast != null && fast.next != null) {
      slow = slow.next;
      fast = fast.next.next;
​      if (slow == fast) {
​        ListNode x = head;
​        ListNode y = slow;
​        while(x != y) {
​          x = x.next;
​          y = y.next;
​        }
​        return x;
​      }
​    }
​    return null;
  }
}

这题还有个应用,就是找一个特定数组里重复的数字,这里就不展开了,大家感兴趣的去做一下吧~

接下来我们聊聊 dummy node 这个技巧。

Dummy node

Dummy 的中文是“假”的意思,dummy node 大概可以翻译成虚拟节点?有更地道的说法的话还请大家在评论区告诉我呀~

一般来说,dummy node 的用法是在链表的真实 head 的前面加一个指向这个 head 的节点,目的是为了方便操作 head。

对于链表来说,head 是一个链表的灵魂,因为无论是查询还是其他的操作都需要从头开始,俗话说擒贼先擒王嘛,抓住了一个链表的头,就抓住了整个链表。

所以当需要对现有链表的头进行改动时,或者不确定头部节点是哪个,我们可以预先加一个 dummyHead,这样就可以灵活处理链表中的剩余部分,最后返回时去掉这个“假头”就好了。

很多时候 dummy node 不是必须,但是用了会很方便,减少 corner case 的讨论,所以还是非常推荐使用的。

光说不练假把式,我们直接来看题~

例 4:合并两个排好序的链表

这题有很多种解法,比如最直观的就是用两个指针,然后比较大小,把小的接到最终的结果上去。

但是有点麻烦的是,最后的结果不知道到底谁是头啊,是哪个链表的头作为了最终结果的头呢?

这种情况就非常适合用 dummy node。

先用一个虚拟的头在这撑着,把整个链表构造好之后,再把这个假的剔除。

来看代码~

class Solution {
  public ListNode mergeTwoLists(ListNode l1, ListNode l2) {
​    if (l1 == null) {
​      return l2;
​    }
​    if (l2 == null) {
​      return l1;
​    }
​    ListNode dummy = new ListNode(0);
​    ListNode ptr = dummy;
​    while (l1 != null && l2 != null) {
​      if (l1.val < l2.val) {
​        ptr.next = l1;
​        l1 = l1.next;
​      } else {
​        ptr.next = l2;
​        l2 = l2.next;
​      }
​      ptr = ptr.next;
​    }
​    if (l1 == null) {
​      ptr.next = l2;
​    } else {
​      ptr.next = l1;
​    }
​    return dummy.next;
  }
}

这题也有升级版,就是合并 k 个排好序的链表。本质上也是一样的,只不过需要重写一下比较器就好了。

例 5:删除节点

这道题的意思是删除链表中某个特定值的节点,可能有一个可能有多个,可能在头可能在尾。

如果要删除的节点在头的时候,新链表的头就不确定了,也有可能是个空的。。此时就很适合用 dummy node 来做,规避掉这些 corner case 的讨论。

那这题的思路就是:用 2 个指针

  • prev:指向当前新链表的尾巴
  • curr:指向当前正在遍历的 ListNode

如果 curr == 目标值,那就直接移到下一个;

如果 curr != 目标值,那就把 prev 指向它,接上。

这题需要注意的是,最后一定要把 prev.next 指向 null,否则如果原链表的尾巴是目标值的话,还是去不掉。

代码如下:

class Solution {
  public ListNode removeElements(ListNode head, int val) {
​    ListNode dummy = new ListNode(0);
​    ListNode prev = dummy;
​    ListNode curr = head;
​    while(curr != null) {
​      if (curr.val != val) {
​        prev.next = curr;
​        prev = prev.next;
​      }
​      curr = curr.next;
​    }
​    prev.next = null;
​    return dummy.next;
  }
}

好了,以上就是本文的所有内容了,如果这篇文章对你有帮助,欢迎分享给你身边的朋友,也给齐姐点个「在看」,你们的支持是我创作的最大动力!

悄悄话

最近开通了视频号,精力分散了许多,没想到录个 1 分钟的短视频也能这么多事。。

但是公众号照常分享技术干货和《齐姐聊大厂》系列,还请大家继续关注支持呀,为了保证内容的优质在线,可能准备时间有点长,多谢大家的耐心等待~~如果想我了就来视频号里找我玩~

最后,如果你对小齐的文章或者视频有什么想法或建议,欢迎留言或者私信与我多多交流,我是小齐,终生学习者,我们下期见!

查看原文

赞 9 收藏 3 评论 0

宗恩 发布了文章 · 10月21日

NASA拨款1410万美元在月球建立4G网络

据国外媒体报道,美国航空航天局(NASA)近日宣布,将拨款1410万美元,与诺基亚公司合作在月球上建立第一个4G通信网络。

这项月球4G网络计划是美国新的登月计划“阿耳忒弥斯”的一部分,美国重返月球计划“阿耳忒弥斯”,该项目的名称来自希腊神话中的月亮女神,目标是在2024年将首名女宇航员和1名男宇航员送上月球,并于2028年在月球上建立可持续落脚点,使其最终成为人类登陆火星的“中转站”。


NASA发布的公告显示,与现行4G标准相比,它将能提供更远距离、更快速度的月面通信,将为航天员执行任务提供重要通信能力,任务包括遥控月球车、实时导航和传输高清视频流。诺基亚贝尔实验室还在社交媒体上表示,通过特殊设计,将使得他们开发的4G网络能承受太空极端温度,真空和辐射,以及克服在月球凹凸不平的表面发射降落产生的强烈震动。

不仅如此,诺基亚还在一份报告中指出,4G网络能保证人类在月球的长期存在。在将来将有更多的着陆器来扩展月球网络,随着新技术标准的成熟,诺基亚的设备可以从4G升级到5G网络。

image.png

查看原文

赞 1 收藏 0 评论 0

宗恩 赞了文章 · 10月21日

分享我成为GDE(Google开发者专家)的经历

本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每个工作日都有文章更新。

经过一段漫长且复杂的申请过程,我的GDE申请总算是顺利通过了。

很荣幸现在我成为了国内第二位Android GDE(第一位是朱凯),而我想写一篇文章将整个过程分享出来,同时向国内的开发者们普及一下什么是GDE,以及如何去申请。

引子

今年4月,Android 11的Beta版即将上线之际。

鸿洋在微信上找我:老郭,最近有Google的那边的人联系你么?

我:没有啊,咋了?

鸿洋:有个说是和Google合作的传播伙伴,正在做Android 11面向开发者群体的传播规划,想要找国内影响力比较大的Android公众号来帮忙推广传播。

我:那可能是我的影响力还不够大吧

鸿洋:他们说在公众号找过你,你没有回复他们。

我:。。。。

鸿洋:那我把你的微信发给他们,让他们直接联系你。

一场奇妙的旅程就这么开始了。

与Google建立联系

话说我在国内的Android技术社区也算是活跃很多年了,写过百余篇博客,写过三本书,写过不少开源项目。但Google官方从来没有联系过我,我也没有主动联系过Google。当然,我不去主动联系Google是因为我不知道是否可以联系上Google,所以这次能够和Google建立联系我是很开心的。

至于去帮助Google做Android 11方面的推广,这点我当然是非常乐意的。毕竟从毕业以来我就一直在做Android方向的开发工作,既然是吃这碗饭的,帮助Google推广技术自然是义不容辞的事情。

本来我以为这件事情很简单,就是Google官方开发者公众号发布了一些Android 11的文章,我这边帮忙转发一下就可以了,然而事实并不是如此。

Google联系我之后表示,希望我可以参加7月4号在上海举办的Android 11 Meetup活动,并进行主题演讲。由于疫情的原因,这也是Google今年的第一场线下开发者活动。

这个邀请对于我来说是有点突然的,平时我都是以写博客、写书为主,最多是开几场Live Coding直播,几乎没有参加过任何线下主题演讲。但是换个角度想想,能受到Google官方的邀请,这也是对我的一种认可,如果拒绝的话就显得太不礼貌了,所以貌似我也就只剩一种选择了:好好准备!

由于演讲的内容要围绕Android 11展开,我大致翻阅了一下Android官网关于Android 11的新特性和行为变更,发现了一个比较有意思的点:AsyncTask在Android 11当中被废弃了。

AsyncTask可以说是陪伴了广大Android开发者许多年,一直以来都可以很好地帮助我们进行异步任务处理。那么为什么在Android 11当中这个类被废弃了呢?因为现在Google有了更加推荐的异步任务处理方式:协程。所以,我的演讲主题也就这么确定下来了。

首次线下演讲对于我来说还是相当紧张的,并且由于是Google官方的活动,我可不想在演讲中出现什么技术性的错误,要不然丢人就丢大了,因此必须进行非常全面的准备。

我上网参考了大量关于协程的文章,认真学习和总结,把之前没能掌握或者是有疑惑的知识点逐个击破。另外还编写了许多Demo程序,对这些知识点进行测试验证,以加深理解。

除了技术方面的准备,我还要思考演讲的内容划分,时间分配(事实证明我一直不擅长这个),甚至还学会了做PPT。

最终,Android 11 Meetup上海站的活动举办得相当成功,线下名额全部报满,线上一共11000人观看,并且普遍收到了大家的好评。想看这次活动回放的朋友可以 点击这里

活动结束后,在Google一直负责和我联络的Tracy也在说:你讲得太好了,赶快去申请GDE吧!

恩?GDE?

什么是GDE

GDE的全称是Google Developer Expert,是Google在全球范围内开展的一个开发者专家认证项目。如果你对Google的某个技术领域非常擅长,同时在这个领域有比较高的影响力的话,那么就有可能成为Google官方认证的开发者专家。

由于我知道绝大部分的国内开发者对于GDE的了解可能都很少,因此这里我就给大家做一个比较详细的科普。

众所周知,Google是一家崇尚技术的科技公司,Google也经常会推出许多面向开发者的技术产品。开发者对于Google的整体生态来说是非常重要的一环。

在Google推出的这些技术产品中,某些影响力比较大且比较成功的技术,Google就会为其提供专家认证服务(GDE)。因此,GDE是有很多个领域的。当然,这些领域也会随着Google的技术迭代一直在变化。

目前Google一共提供了16个技术领域的GDE认证,如下图所示。

这些技术基本也代表着Google当下最热门的技术方向。

那么或许有的小伙伴会好奇,成为GDE具体有什么好处呢?

我感觉最主要的好处就是能够得到一个Google官方的认可,相当于官方承认你是这个领域的专家了。虽然Google不会直接发你钱,但是你完全可以借助这个Title去尝试获得更高的薪水,甚至是自主创业。

并且,成为GDE之后,你将可以和Google建立直接的联系,在技术方面有什么问题可以向Google的员工进行咨询,还能获得一些Google未发布产品的内部试用资格。

Google可能也会向你寻求一些技术建议,比如我最近就被问到,希望Android 12中可以增加哪些新功能?(当然我也没能给出什么有建设性的建议,如果你有什么功能是非常希望Android 12中加入的,可以告诉我,我再转告给Google。)

除了以上好处之外,直接经济上的好处也是有一些的。比如说,GDE将有很大的概率被邀请去参加每年的Google I/O大会(这也是我申请GDE的最主要原因),并且Google会帮你承担所有的门票、机票、酒店的费用。另外,JetBrains向所有GDE提供了免费的全家桶产品,原价大概200多美元一年吧,像我平时偶尔会用RubyMine写写服务器程序,现在这部分钱就能省下来了。

那么目前全球一共有多少位GDE呢?这个数字是一直在变化的。因为每天可能都会有新的GDE加入,但同时,GDE的身份并不是一直有效的,而是只有一年有效期,Google会在第二年重新评估你是否仍然具备GDE的资格,所以,每天可能又会有人失去GDE的身份。

截至我编写文章的时候,全球一共有843位GDE,分布于上图中的16个技术领域,其中Android GDE一共有109位。

Google在其开发者官网上有一个专门的页面,展示了所有的GDE,以及他们的详细信息,地址是:

https://developers.google.com/community/experts/directory

另外这个页面上还会使用Google地图来标注出每个GDE所在的位置,如下图所示。

从上图我们可以看出,中国其实是有很多位GDE的。

事实上,中国目前一共有30位GDE,但绝大多数的GDE都是Machine Learning这个领域的(24位)。而Android领域就比较少了,目前只有两位,并且我是最近才刚刚认证上的。

那么接下来,我就向大家详细介绍一下我的GDE申请过程。

如何申请GDE

受到了Google的邀请之后,我就开始了我的GDE申请之旅。

从开始申请到最终成为GDE,我经历了大概一个月左右的时间。据说这已经算是非常快的了,有些GDE甚至经历了半年之久的申请过程。

GDE的申请过程相当复杂,而且对申请人的要求很多。不过我最终总结下来,主要要求无非就是两点:技术和影响力。

技术自然不用多说,你既然申请成为这个领域的专家,没技术肯定是不行的。

影响力是Google非常看重的一点,就是你光有技术还不行,你还必须在这个领域上有比较大的影响力,Google才可能会授予你GDE的称号。

而影响力又可以再具体划分成以下几点:公开演讲(尤其重要),博客,书,视频教程,开源项目。

其中,公开演讲是最最重要的一环,因为Google特别看重你在线下技术社区的参与度。另外其他几个部分都是加分项,越多越好,上不封顶。

当你认为你具备了所有成为一名GDE的条件之后,就可以去尝试申请GDE了。不过,申请GDE还需要一位引荐人,并且引荐人必须是Google员工才行,这里我要特别感谢Google的钟辉老师愿意帮我引荐。

那么你可能会说,我上哪有什么机会去认识Google员工帮我引荐啊?没错,所以首先你自身还是要有比较大的影响力才行,有了影响力自然就会有机会认识Google员工(主动或被动都有可能)。或者你也可以联系其他GDE帮助你引荐,比如说我。

当你获得了引荐资格之后,会有专门负责GDE项目的Google员工与你进行对接。首先他会发你一个链接,让你在这个网页上填写申请资料,注意必须全部都用英文填写。

填写申请资料大概是我申请GDE过程中最痛苦的一个部分,因为要填的内容实在是太多了。

我记得有两个部分是需要你非常详细地去填写的:个人介绍和申请原因。

个人介绍是让Google快速了解你的最佳途径,因此你需要将自己最有优势的一面展现出来,让Google知道你有多出色。另外,假如你能顺利成为一位GDE的话,在这里填写的内容,最终也会成为你的GDE专属页面上的个人介绍。

下图是我的GDE专属页面。

而申请原因要如何填写就不太好说了,我不清楚Google会如何评估这部分资料,甚至不清楚Google想要从申请原因中获取怎样的信息。但根据我的大体猜测,不应该在申请原因中填写太过功利性的目的,因为成为GDE本身就是一个无经济收益的事情,Google更希望看到的是你愿意在开发者社区中无偿做出贡献的态度。

总之,关于申请原因这块,我相信1000个人就会有1000种写法,只要你的原因是充分合理的即可,并没有什么所谓的标准答案,因此这里我就不把当初我写的申请原因分享出来了。

将上述两大块内容填写完成之后,接下来就到了要你使劲吹牛的时间:证明你的影响力。注意这里我并没有开玩笑的意思,因为Google想要确切地知道你的影响力到底有多大,所以你有任何值得吹嘘的地方,都要尽可能地写上。

关于影响力这块的资料填写,主要分为线下影响力、内容创作、项目贡献这3个块面。

线下影响力就是指你参加过哪些线下开发者活动,发表过多少次演讲,总共影响到了多少人,Google和非Google的活动都可以。当然,由于今年疫情的原因,许多开发者活动变成了线上举行,所以这部分内容的填写今年变得相对灵活了一点,一些线上演讲也可以算到里面。

内容创作是指你创作过哪些与Google技术相关的内容,这些内容影响到了多少开发者,主要包括博客、书、视频教程等等。这部分内容的填写对于我来说就非常有优势了,因为我的博客访问量以及书的销量都是相当可观的,所以可以在这个地方好好吹一波。

最后项目贡献这部分我的理解是开源项目的贡献,不知道在公司开发的商业项目能不能算到里面。总之你需要把你做过哪些拿得出手的项目都填写上去,然后这些项目在开发者群体中有多大的影响力(如star数量)也要告诉Google,好让Google对你可以有一个更加综合的评估。

我印象中要填写的申请资料主要就是这些了,由于全部都要用英文来填写,所以还是挺花时间的,我大概用了一周左右的时间才全部填写完成。

申请资料填写完成之后,点击提交审核,你的GDE申请之旅就正式起飞了。

面试

不过填写申请资料仅仅只是GDE申请的开始,接下来还有重重考验在等着你。

在你提交完申请资料之后,将会立即收到一封邮件,告诉你成为一名GDE需要经历哪些步骤。

一共是五步,详情见下图:

第一步是资格审查。Google会先对你的申请资料进行评估,确保你的资历足以担当得起GDE这个名号,不然可能在资格审查这一轮就会被刷掉。当然我认为这个概率很小,因为申请GDE都是需要Google员工引荐的,如果资历不够的话,首先他就不会引荐你。

过了资格审查这一关,接下来就会进入第一轮面试。第一轮Google会安排一位与你申请领域相同的GDE作为你的面试官,这位面试官可能来自于世界上任何一个国家,所以你要做好他的英语口音不标准的心理准备。不过在英语方面也不需要太过担心,毕竟你是在申请GDE而不是在做英语考试。只要你能听得懂对面在问什么,并且能用英语把自己想说的话表达出来就可以了,听不懂的地方可以多问几遍Pardon?面试官是不会介意的。

我的一轮面试官是一位来自印尼雅加达的GDE:Andrew Kurniadi。

Google会通过邮件让我们俩建立会话,然后我们自行沟通面试时间就可以了。以下是部分沟通细节:

面试的具体内容我就不能跟大家透漏了,其实无非就是我前面跟大家总结的两个点:技术和影响力,一切都是围绕这两个点展开的。

Andrew是一位相当友好的GDE,在开始面试前我一直比较担心我的英语口语到底行不行,面试结束后他告诉我完全不需要担心英语的问题,因为他觉得我的英语非常棒。一位好的GDE果然非常善于鼓励人。

首轮面试结束之后,面试官应该会根据面试的结果填写总结报告并提交给Google,具体是怎么操作的我就不清楚了,Andrew在面试的时候有跟我解释,但其实我并没有怎么听懂。

总之,我大概是在首轮面试两天之后收到了面试通过的邮件,与此同时Google会帮你安排第二轮面试。

第二轮面试的面试官将会是一名Google员工,这次我的运气比较好,Google帮我安排了一名中国区的Google员工来帮我面试,就是我们国内Android圈非常知名的陈卓老师。

由陈卓老师来帮我面试算是有利有弊吧,好处就是我最担心的语言障碍没有了,总算可以比较舒适地问答了。坏处就是,由于没有了语言障碍,面试官可以向你问更多更复杂的问题,并且你不能再以听不懂当作借口了。

我的一轮面试只花了30分钟左右的时间,而二轮面试足足花了一个小时,可能也是和陈卓老师聊得比较投缘吧

同样,我不能将二轮面试的具体内容分享出来,但大体无非还是围绕着我前面提到的那两点展开的。

两轮面试都通过了之后,你离GDE就只差一步之遥了:签署保密协议和服务与条款。

这两项虽然已经不是什么考核内容了,但却是你成为GDE的必备前提条件。我当时就因为服务与条款邮件莫名其妙进入了垃圾邮箱,导致我没看到这封邮件,然后GDE的申请进度就一直卡在那里,白白多等了一个多星期。

关于保密协议这块,因为GDE是有可能获取到一些Google的内部信息的,另外还能得到一些Google未发布产品的试用资格,为了防止这些机密信息被泄漏出去,所有GDE都必须签署保密协议才行。由于签署了保密协议,我在写本文时也比较谨慎,不过以上所有信息和截图都是我在签署保密之前就可以获取到的,所以应该不会触犯保密协议的规则。

而服务与条款这块,就是Google要和每一位GDE进行的一系列约定,哪些事情你可以做,哪些事情你不可以做。比如你不可以代表Google的立场去发表任何声明,还有你不可以向Google索要薪水等等。

Welcome On Board

以上所有环节全部通过之后,恭喜,你就正式成为一名GDE了。如果你还有点太敢相信的话,检查一下你的邮箱,将会看到这样一封邮件:

成为GDE之后,你将会收到一大堆Google发来的资料,包括GDE的Guide Line,GDE的专属联络通道,GDE的专属差旅网站资源等等等等。我大概花了一个晚上的时间才将这些资料全部梳理清楚。

每一个GDE的领域,在Google都会有一个全球范围的负责人,这个负责人会很快与你取得联系,并要求与你进行一次视频会面。这次视频会面的主要目的是为了欢迎你加入GDE的行列,向你介绍一些GDE的知识,并回答你的各种关于GDE的问题。

但是这对于我来说,又像是经历了一次面试,因为整个视频会面过程又是全英文进行的。

如果你的英文水平并不是非常好的话,这里我可以教你一个小窍门。就是你先提前跟他打一剂预防针,告诉他:I'm sorry, my English is not very good, so I need to make a apology in advance. 然后对面出于客气就会说:That's fine. Don't worry about it. 最后结束的时候他还会再补充一句:I think your English is perfect!

我屡试不爽。

GDE的责任

很明显,成为GDE只是一个开始。如果你想把成为GDE当成一个终点的话,那么你可能并不适合去申请这个头衔,因为GDE是要承担很多责任的。

Google非常乐于和愿意分享并传播Google技术的人一起合作,所以才有了GDE这个项目。能够成为GDE,说明Google对你的技术水平,以及你的技术影响力都表示了足够的认可。但如果你就此躺在功劳簿上,不再持续分享和传播你所擅长的技术,那么很遗憾,Google将会在下一年移除你的GDE身份。

所以,在申请GDE之前,一定要先想清楚这一点。

我在申请之前就进行了一下自我评估,我认为无论我是不是GDE,常年以来我都一直在分享Android相关的开发技术,我非常乐于做这件事,并且也愿意持续做下去,所以才决定提交了申请。

事实证明,这可能是我今年最正确的决定之一。这场奇妙的旅程让我结识了许多优秀的Googler,包括钟辉老师、陈卓老师、Tracy、Ben Weiss等等。甚至我竟然还能跟我的偶像Yigit Boyar(Jetpack负责人,RecyclerView作者)进行视频连线,共同参加一场圆桌会议,这实在是太不可思议了。

Tracy在刚刚加上我微信的时候就告诉我,Google一直在招募优秀的GDE候选人,同时希望进一步扩大国内Android GDE的人数。

而现在,我已经成为国内第二位Android GDE了。

如果你也具备成为GDE的资质,同时有兴趣申请的话,请与我联系。

关注我的技术公众号,每天都有优质技术文章推送。

微信扫一扫下方二维码即可关注:

查看原文

赞 10 收藏 2 评论 2

宗恩 发布了文章 · 10月20日

Gartner 发布 2021 年九大重要战略科技趋势 ,指导企业未来发展

Gartner 发布 2021 年九大重要战略科技趋势 ,指导企业未来发展

颠覆是2020年的标志。虽然许多领导者习惯于某种程度的不断变化。但新冠疫情对世界的影响还是无人能及的。各组织不得不调整战略,以新的方式进行变革。

在各组织继续应对危机的过程中探索新的经营方式,推动发展。Gartner的顶级战略趋势强调了以下领域机会和各组织实现差异化的方法竞争者。

准备好转折和调整的组织。将经受各种类型的干扰。一如既往,这些战略性技术趋势不是独立运作的彼此之间,而是相互促进,相互加强的彼此。它们共同促成了组织的可塑性,从而将有助于指导各组织在未来五年的工作。

10月20日消息,信息技术研究和顾问公司Gartner今日发布了企业机构在2021年需要深挖的重要战略科技趋势。

Gartner认为2021年重要战略科技趋势具体如下:

①行为互联网(Internet of Behaviors)

行为互联网(IoB)不断涌现,许多技术都在捕获并使用人们日常生活中的“数字尘埃”。IoB汇集了面部识别、位置跟踪和大数据等当前直接关注个人的技术,并将结果数据与现金购买或设备使用等相关的行为事件相关联。

企业机构使用该数据来影响人的行为。例如为了在疫情期间监控对健康规定的遵守情况,企业机构可以通过使用IoB计算机视觉来查看员工是否戴着口罩或通过热成像来识别发热者。

Gartner预测,到2025年末,全球一半以上的人口将至少参加一项商业或政府的IoB计划。虽然IoB在技术上可成为可能,但社会各界将对各种影响行为的方法展开广泛的伦理和社会学讨论。

②全面体验(Total Experience)

去年Gartner将多重体验定义为一种重要的战略科技趋势。今年,这一趋势又进一步发展成为全面体验(TX),将多重体验与客户、员工和用户体验相联系。Gartner预计在未来三年中,提供TX的企业机构在关键满意度指标方面的表现将超越竞争对手。”

由于新冠疫情,移动、虚拟和分布式互动日益盛行,因此企业机构需要有TX策略。TX将改善体验的各个组成部分,实现业务成果的转型。这些相互交织的体验是企业运用创新革命性体验实现差异化,从而从疫情中恢复的关键驱动力。

③隐私增强计算(Privacy-Enhancing Computation)

随着全球数据保护法规的成熟,各地区首席信息官所面临的隐私和违规风险超过了以往任何时候。不同于常见的静态数据安全控制,隐私增强计算可在确保保密性或隐私的同时,保护正在使用的数据。

Gartner认为,到2025年将有一半的大型企业机构使用隐私增强计算在不受信任的环境和多方数据分析用例中处理数据。企业机构应在开始确认隐私增强计算候选对象时,评估要求个人数据转移、数据货币化、欺诈分析和其他高度敏感数据用例的数据处理活动。

④分布式云(Distributed Cloud)

分布式云将公有云分布到不同的物理位置,但服务的运营、治理和发展依然由公有云提供商负责。它为具有低延迟、降低数据成本需求和数据驻留要求的企业机构方案提供了一个灵活的环境,同时还使客户的云计算资源能够更靠近发生数据和业务活动的物理位置。

到2025年,大多数云服务平台至少都能提供一些可以根据需要执行的分布式云服务。分布式云可以取代私有云,并为云计算提供边缘云和其他新用例。它代表了云计算的未来。

⑤随处运营(Anywhere Operations)

随处运营是一种为全球各地客户提供支持、赋能全球各地员工并管理各类分布式基础设施业务服务部署的IT运营模式。它所涵盖的不仅仅是在家工作或与客户进行虚拟互动,还能提供所有五个核心领域的独特增值体验,分别是:协作和生产力、安全远程访问、云和边缘基础设施、数字化体验量化以及远程运营自动化支持。

到2023年末,40%的企业机构将通过随处运营提供经过优化与混合的虚拟/物理客户与员工体验。

⑥网络安全网格(Cybersecurity Mesh)

网络安全网格使任何人都可以安全地访问任何数字资产,无论资产或人员位于何处。它通过云交付模型解除策略执行与策略决策之间的关联,并使身份验证成为新的安全边界。到2025年,网络安全网格将支持超过一半的数字访问控制请求。

新冠疫情加快了耗时数十年的数字化企业变革过程。我们已经越过了一个转折点,大多数企业机构的网络资产现在都已超出传统的物理和逻辑安全边界。随着随处运营的不断发展,网络安全网状组网将成为从非受控设备安全访问和使用云端应用与分布式数据的最实用方法。

⑦组装式智能企业(Intelligent Composable Business)

为了提高效率而建立的静态业务流程非常脆弱,因此在疫情的冲击下变得支离破碎。首席信息官和IT领导者正在努力收拾残局,他们开始了解适应业务变化速度的业务能力有多么重要。

智能组合型业务通过获取更好的信息并对此做出更敏锐的响应来彻底改变决策。依靠丰富的数据和洞见,未来的机器将具有更强大的决策能力。智能组合型业务将为重新设计数字化业务时刻、新业务模式、自主运营和新产品、各类服务及渠道铺平道路。

⑧人工智能工程化(AI Engineering)

Gartner的研究表明,只有53%的项目能够从人工智能(AI)原型转化为生产。首席信息官和IT领导者发现,由于缺乏创建和管理生产级人工智能管道的工具, 人工智能项目的扩展难度很大。为了将人工智能转化为生产力,就必须转向人工智能工程化这门专注于各种人工智能操作化和决策模型(例如机器学习或知识图)治理与生命周期管理的学科。

人工智能工程化立足于三大核心支柱:数据运维、模型运维和开发运维。强大的人工智能工程化策略将促进人工智能模型的性能、可扩展性、可解释性和可靠性,完全实现人工智能投资的价值。

⑨超级自动化(Hyperautomation)

业务驱动型超级自动化是一项可用于快速识别、审查和自动执行大量获准业务和IT流程的严格方法。在过去几年中,超级自动化一直在持续不断地发展。而因为疫情,一切事物都被突然要求首先实现数字化,这大大增加了市场的需求。业务利益相关者所积压的需求已促使70%以上的商业机构实施了数十种超级自动化计划。

超级自动化是一股不可避免且不可逆转的趋势。一切可以而且应该被自动化的事物都将被自动化。

传送门:

https://emtemp.gcom.cloud/ngw...

image.png

查看原文

赞 2 收藏 2 评论 0

宗恩 发布了文章 · 10月19日

思否独立开发者丨@向前兄:编程在一定程度上也是认识这个世界的一种方式

微信读书笔记导出插件“小悦记”.png

独立项目名称:微信读书笔记导出插件“小悦记”

思否社区ID:@我是菜鸟


@向前兄来自河南洛阳,最近几年在上海工作,目前(new Date())是前端开发一个。

微信读书笔记导出插件“小悦记”

2016年,在大学毕业不到一年后,他只身一人来到了上海,用着jQuery+Bootstrap做起了响应式官网,开启了坎坷的工作历程。后来又跳入了React Native的 “坑”,一个人摸索着把APP上了架。一时兴起,又做了一个前端单词的小程序。后来限于公司前端不受重视,又开始了新的探索。

眨眼间,忙忙碌碌又两年,也算是经历了一番。不知所得可值得?不知所失可拥有?

对他来说,编程在一定程度上也是认识这个世界的一种方式。

长路漫漫,踏歌而行。

众所周知,微信读书App 是一款非常优秀的阅读类App ,周围也有不少人在用。虽然工作比较忙。但是也没少在上面看书做笔记。

美中不足的是,目前微信读书虽然支持笔记导出,但是提供的是将笔记复制到剪切板,然后由用户自行粘贴到其他地方的功能。

如果你的笔记比较多的话,需要分好几次才可以批量人工导出,每次选择还得记住上一次在什么位置,非常不方便。粘贴出去的格式,也因软件的不同而千差万别。

如下图所示:选择的笔记内容超过了系统剪切板上线。请筛选后重试

微信读书笔记导出插件“小悦记”.png

@向前兄 时常感到非常不方便,于是,就顺手开发了“小悦记”这个可以导出多种模式的Chrome 插件。

他说自己目前并不是全职的独立开发者,主要是想解决下实际生活中遇到的问题(学而时习之,不亦说乎),锻炼一下自己各方面的能力,为以后做准备。

独立开发项目小悦记

立项时间:2020年1月10日前

项目背景:去年用微信读书看书的时候发现如果笔记过长的话,会有“选择的笔记内容超过了系统剪切板上线。请筛选后重试”的提示,多次复制粘贴在移动端很不方便。

本身也不太习惯用手机,后来发现微信读书网页版上线了,还可以直接查看读书笔记,于是就有了这个想法

做这个插件主要是解决手机系统的笔记剪切限制,另外就是看到微信笔记复制的内容在印象笔记的格式比较好看,然后想优化一下导出的笔记格式,纯文本的不是太好看。

面向群体:为了确保不是就我一个人遇到这个问题,做之前我在网上搜了下,确实也有人有类似的需求。

1、如何做的第一版产品?

刚开始起名字也比较费脑,毕竟logo之类的也要和插件名字或者读书笔记导出功能相关,太小众的话也比较难记,直接取名微信读书之类的又担心侵犯权利,就围绕着“阅读”,“笔记”这几个词在想,然后取名“小悦记”。

logo设计也是比较考验人的,本来打算是一本书的形象或者直接用 font awesome字体,然后发现没太合适的,而且和别的app重合度也比较高。

logo设计,付费的话,自己也承担不起,毕竟开发这个就是在用爱发电。

后来自己根据“悦”字联想,刚好左边的竖心旁可以当做笔,右边是兑换的兑,然后竖心旁的两个点“心”上面的两个点,我本来打算用手绘的方式,但是没有找到合适的工具,时间比较急。

虽然之前切图经常用Photoshop,但是基本上只会使用切图、像章工具,之前做的微信小程序“前端单词”的logo也是用PPT做的,这次的logo也不例外。

功能方面的话就自己试验,自己写自己测试。

2、独立开发过程中遇到过哪些困难?最难搞定的是什么?

好几年没有用jQuery了,刚开始都有点不会用了。

还有就是以往没有开发过Chrome浏览器插件,不是太了解里面的运行机制。去网上找的资料也都比较旧了,复制粘贴的一大堆,官方虽然有教程,但是似乎偏理论多些。

后来做出来之后,想转成火狐浏览器插件,但是没有通过,这个比较纳闷,我去网上找了个开源的插件库,对方的也没有成功转为Firefox 插件,后来我就没有再考虑Firefox浏览器了。时间不太够,基本上是周六周日空了看下代码。

比较难搞定的基本上是自己能力范围之外的东西,在这上面花费时间比较多,本来打算是在读书日前发布的,结果晚了好几天。

提交审核需要付费,还是找的朋友帮忙的。

刚开始的推广可能被官方注意到了?然后没过多久就有人反馈微信读书主页会有提示,并且插件不能用。我当时比较好奇他们是怎么检测出来的 ,搜出来的方法并不可取,后来我终于想出来 了,改完后发现社区有个人也提示了下,不过我没及时看到。

第二次提交审核不知道为什么没有通过(Chrome已经有266个用户),考虑到很多用户并非程序员,可能无法科学上网,就直接提交到360浏览器了。前段看到社区有人下载代码后在QQ浏览器上直接运行了。

微信读书笔记导出插件“小悦记”.png

3、项目目前取得了哪些成就?项目为你带来了什么?

成就倒没有什么成就,就是确实解决了大家遇到的一个问题,新发现不少,就当做探索了吧。

首先是公众号涨了不少关注者,认识了不少人。

其次是探索下推广方式带来的效果如何,意外发现还是比较多的,就当是试验了。

认识一个00后,发现大学生接触到的信息来源和我们那时候几乎完全不同(知道善用佳软和小众软件的估计都毕业好些年了)。如果有新的产品推广,可能要考虑受众群体和实际情况了。

中间有在知乎大V群发个红包,但是刚开始效果好像并不明显,后来陆陆续续有人点赞和收藏。

在阮一峰老师的科技周刊投稿,获得了一次曝光的机会。

最后感谢朋友圈各位朋友的转发和打赏。

4、你的商业模式是什么?是如何增长的?

目前没有商业模式,只是初步尝试,所以只放了个人网站和公众号的链接。

5、近阶段项目有哪些更新,未来会做什么变动?

暂时没有更新的打算,它已经初步完成了它 的历史使命。目前在考虑另外一个工具,也是来自实际遇到的问题,产品需求已经列了二十多条了,不过可能得到明年有空了才能开始。

6、如果项目重来一次你会做哪些改变?

首先可能会按照规定时间节点开发,其次是安排好推广渠道和方式,毕竟花时间做出来了,要把效果发挥到最大。一开始还设想了短视频的方式,不过精力有限,最后只是在公众号用图文的形式推广了下。

还有就是,投入更多精力,增加更多功能吧,其实在这之前也有有类似的产品的,不过切入点不一样。

个人相关问题

1、推荐你最喜欢的一款产品 / 游戏 / App?并说明原因

平常不玩游戏,也没有太高频使用的产品,手机还设置了限制时长。坐地铁经常看 Inoreader、还有几个读书APP。平常用电脑多,比较经常网上逛。

2、分享一下你的技术栈和你日常的工作流?

技术栈的话,工作中用到的是 JavaScript(ES6+)、React、React-Native、Mobx、SCSS、Taro、小程序等。业余时间学点Node和偏后端的东西。

image.png

3、对独立开发者或编程初学者有什么建议?

以前在网上看到一句话说,如果深入一个细分领域的话,还是有机会的,后来发现,中国人实在太多了,一个你觉得已经很细分的地方其实都有不少人在做了。

之前有在一个开发者群众看到说,国内用户可能目前还是习惯白嫖,付费意识不是太强。

做一个成功且优秀的产品需要很多的能力,编码只是其中一少部分。

前段不是有个新闻吗,82岁学编程的老奶奶。想学编程永远不晚,现在网络比较发达,各种资料都很丰富,也不用在意自己的职业是什么。

4、生活中有什么爱好?有什么个人的特别的工作习惯么?

爱好不算太多,空了看书、上网,闲了会打羽毛球,不过已经是好久以前的事了。

最近几个月刚把加班加肥的又通过跑步减肥10斤。

特别的工作习惯?好像也没什么特别的,相对来说比较注重效率,另外个人还是比较喜欢安静点的工作环境。

5、你对国内技术社区的看法

非常感谢思否社区,我在上面还提了好几个问题,都有热心的程序员帮忙回答。也在上面关注了不少厉害的程序员。我感觉国内技术社区还是有很大的想象力的,如果运营得好的话,毕竟程序员群体还是很大的。其他技术社区一般也会看,不过个人感觉帮助更大的可能是自己平常发现的一些个人博客之类的(可能层面不一样)。


开发者寄语

能在这里打个广告吗?国庆后打算找工作, 上海地区有招前端的吗?感兴趣的话求带走 (base64)bGN5eGxxbkAxNjMuY29t


独立开发者支持计划-1.png

该内容栏目为「SFIDSP - 思否独立开发者支持计划」。为助力独立开发者营造更好的行业环境, SegmentFault 思否社区作为服务于开发者的技术社区,正式推出「思否独立开发者支持计划」,我们希望借助社区的资源为独立开发者提供相应的个人品牌、独立项目的曝光推介。

有意向的独立开发者或者独立项目负责人,可通过邮箱提供相应的信息(个人简介、独立项目简介、联系方式等),以便提升交流的效率。

联系邮箱:pr@segmentfault.com

image

二维码过期添加思否小姐姐拉你入群
image.png
查看原文

赞 9 收藏 1 评论 0

宗恩 发布了文章 · 10月19日

2024 年的发射窗口,SpaceX有望向火星发起首次无人飞行任务

2024 年的发射窗口,SpaceX有望向火星发起首次无人飞行任务

来自外媒消息,美国太空探索技术公司SpaceX 创始人兼首席执行官埃隆 · 马斯克当地时间周五(16 日)在国际火星协会大会上表示,SpaceX 有望在四年内向火星发起首次无人飞行任务。马斯克称,SpaceX 最快将于 2023 年准备好,正好赶上 2024 年的发射窗口。


SpaceX似乎已经准备好前往火星建造永久性人类居住地。该公司创始人兼首席执行官埃隆·马斯克在国际火星协会大会上表示,其星际飞船的首次无人驾驶火星之旅可能在4年内完成。

马斯克在与火星协会创始人罗伯特·祖布林讨论时说:「我认为我们有机会在未来四年的第二个火星窗口发射。马斯克还表示,如果不是轨道力学要求每26个月发射一次火星任务,SpaceX可能会在三年内有机会向火星发送或尝试发送些东西。但是,由于地球和火星位于太阳系的不同位置,所以这个窗口还要等待四年时间。」

2024 年的发射窗口,SpaceX有望向火星发起首次无人飞行任务

罗伯特·祖布林在大会上表示:「SpaceX正在接受最大的单一挑战,就是打造星际运输系统。还需要各种各样的其他系统。我个人的希望是,在今年年底之前,我们能在平流层看到星际飞船的身影。如果马斯克的计划顺利,它明年或后年就能进入轨道。然后,我们将让NASA或其他企业家完成火星殖民任务的剩余部分。」


马斯克曾经表示,在2030年时,要将1000名人类送上火星;而在20年内,这个数字将变成100万。他表示,这么做的原因,是防止地球因发生核战争、或遭小行星袭击等原因,而变得无法居住。

不过相较于SpaceX星际飞船的宏伟计划,马斯克对于火星基地不太感兴趣。目前,SpaceX没有任何建造火星基地的计划,只提供货物和人的运输,而它唯一的目标,是载着货物和人往返于星球之间。

image.png

查看原文

赞 0 收藏 0 评论 0

宗恩 发布了文章 · 10月15日

网传华为或出售荣耀业务,神州数码可能接手

网传华为或出售荣耀业务,神州数码可能接手

来自路透社消息,面对美国的制裁,陷入困境的华为正在重新调整其业务重点,可能未来将专注于高端华为手机,放弃定位是年轻人群体和价格敏感型消费者的荣耀手机。

据知情人士称,华为正在与神州数码和其他竞购方就部分出售其荣耀智能手机业务进行洽谈,该交易的金额可能多达250亿元人民币(37亿美元)。出售的资产尚未最终确定,但其中可能包括荣耀品牌,研发部门以及相关供应链管理业务。交易可能为全现金出售,最终金额或许会缩水,价值在150-250亿元人民币之间。

消息人士还称,除了在竞购中居领先地位的荣耀手机经销商神州数码外,还有几个潜在买家,包括中国电子厂商TCL和手机生产商小米集团。


天风国际证券的分析师郭明錤指出,若华为出售荣耀智能手机业务,对荣耀品牌、其供应商和中国电子业是多赢局面。“若荣耀自华为独立出来,在采购零组件上将不受美国的华为禁令限制,这将有助于荣耀手机业务与供应商发展,”

以下为郭明錤报告总结

1.若荣耀自华为独立,则采购零部件不受美国的华为禁令限制,有助荣耀手机业务与供货商增长。

  1. 品牌养成极为不易,华为若出售荣耀则可保有此品牌并有助于中国电子业自主可控。
  2. 在华为体系下,荣耀目前仅被定位于中低端机型。若与华为独立,则可发展高端机型。

不过也有消息称,华为出售荣耀的消息完全为子虚乌有,香港阿斯达克财经新闻报导,多名接近华为和荣耀的内部人士表示,华为出售荣耀手机业务或荣耀品牌为不实消息。一位接近荣耀总裁赵明的人士称,9月中旬,赵明曾在内部否认荣耀将被出售。有分析认为,华为没足够动机出售荣耀,一是荣耀被出售后不一定能规避相关禁令;二是荣耀的技术、研发都与华为共享,荣耀本身更多是品牌价值,离开华为后会大打折扣。

image.png

查看原文

赞 0 收藏 0 评论 0

宗恩 发布了文章 · 10月14日

病毒「O泡果奶」造成几十个高校上千名大学生「社会性死亡」

近日,一个「名为一个礼物」的文件在大学中传播开来,手机只要点开就会强制播放“o泡果奶”的魔性广告声,网友戏称中招者会因该原因产生“社会性死亡”(其含义多为在公众面前出丑的意思,已经丢脸到没脸见人)。据不完全统计以下大学中大量学生中此病毒。

病毒「O泡果奶」造成几十个高校上千名大学生「社会性死亡」.png


受害人知乎网友@风之旅人自述:

因为高数听得我脑袋昏昏沉沉,上节课讲过的夹逼定理已经忘的一干二净(毕竟过了好多天了),故打开手机望查查上节课笔记,正当时,我北航的好兄弟给我送了一份礼物,他居然还记得我的生日?不愧是他,他竟然还是没有忘记这份兄弟情谊。随后,我做出那个影响我一生的决定。我点开了......

病毒「O泡果奶」造成几十个高校上千名大学生「社会性死亡」.png

去年同样的事件再次发生在今年。2019.9.27这一天,由某高校的某个同学开发的一个整蛊软件在传播过程中被篡改为流氓软件,随后这款被名为“送给最好的她”的流氓软件被恶性传播,席卷多所高校。在打开这款软件后,会产生很有意思的事情:

1、打开你的音频播放,播放某段设置好的不可描述的音频(最大声)

2、千万不要呆呆的以为自己插了耳机就没事,据说,会打开耳机播放线路哦,直接外扩呢

3、更可怕的来咯,不断截屏!有人说是为了盗取用户数据,也有大佬调查后发现,是为了用截屏,占据你的开机关机按钮,让你无法逃脱。

病毒「O泡果奶」造成几十个高校上千名大学生「社会性死亡」.png

病毒「O泡果奶」造成几十个高校上千名大学生「社会性死亡」.png


有位专业的知乎网友对其进行了解答:

此恶意程序不会有安全隐患,源码就20行,是一个Lua脚本。并且里面只有一个循环,再劫持你的返回键后会把音量开最大,因为循环执行很快,所以你的音量是调不下来的。至于截图那是因为这个Lua模块本身封装了这个功能,但实际上没有调用过。不是病毒,在确保不会「社会性死亡」的时候可以放心玩耍(小编不建议放心玩耍)。

解决方案:使用任务管理直接kill掉,就是你日常切换视图还能清内存的那个手势/按键。

这次的「O泡果奶」和去年的「送给最好的她」是同一份程序,包名和版本号都没改,就改了个背景音乐。想逆向实践看源码的可以找点Lua逆向工具,没混淆也没加密。有人说部分软件被重新打包篡改加入了一些窃取隐私的代码,篡改还是挺容易的,但我目前还没见过被篡改之后的版本。而且感觉不会有人这么作死,敢上载的话,抓个包抓到服务器地址再照着云服务商的账单抓人,一抓一个准。

安卓权限管理很完善的,而且你手机上那些管家也不是纯粹恰白饭的,这个apk能从去年活到今年就说明它没有被报毒的理由。设置音量本身就是一些app需要的功能,劫持返回键有不少教育类应用也会做,防止你考试考一半手滑退出去了。如果有越权读取隐私的行为,你的手机早就弹窗告诉你某某正在试图获取权限了。


小编提醒:

不该装的apk不能装,未知来源如果不是必须打开,就得关上。apk安装包实在是太容易被改包了。

如果不是专业玩机的尽量不要去打开自己手机的root,如果root打开的话是真的可以为所欲为。

有应用请求敏感权限(读取联系人,短信)时请注意看字儿,别直接确定了

软件通过权限校验以后对很多第三方api(腾讯开放平台,阿里云oss服务)远程服务器来说是合法的,杀毒软件能不能检测出来是个玄学问题(比如我传输一张截屏到云盘里面,是一个最简单的图传功能,目标地址又是bat企业的开放平台,每个APP都会有,不认为是非法操作)。

image.png

查看原文

赞 1 收藏 0 评论 0