May 2019

c++, 技术

std::move

21天是肯定没法学会C++的。22天也不行。 C++11里引入了一个新的概念 :移动。 这个概念说简单其实很简单,因为它是介于拷贝和引用之间的一种概念。但还是有很多小伙伴表示不理解移动到底做了什么,如何理解移动。 要想理解移动,先来介绍一个概念:左值与右值。 左值与右值 笼统来讲,左值就是能够对其取地址的值。反之就是右值(临时变量也是右值)。比如1, 2.0, true, nullptr这种纯值类型,就是妥妥的右值。再比如 int a = 100; , a是左值,100是右值。在给a赋值的过程中,我们将右值拷贝到了左值。(其实并不是完全这样,编译器会做一定程度的优化,但为了方便理解,我们不考虑编译器的功劳) 两个栗子 在早期C++里,我们通常用指针或者引用来传递一个‌大变量,因为可以避免一次拷贝的开销。第一个栗子:如果我们有一个比较大的右值变量,我想将它传递给其他的函数,该如何避免/减少拷贝的开销呢?比较熟悉的朋友可能会说,我们可以传递 const & […]

周记, 技术

华为手机

科技博主来蹭政治热度了 昨天收到了一个朋友的微信消息: XX,请教你下,这次Google禁华为,到底是哪些功能不能用了?我没大看明白:一个是以后的OS都不更新?然后所有Google 的apps 都禁止下载?那访问呢,比如已经下好的apps? 为了防止消息不准确造成的错误解读,我是等到了今天白天看了一圈新闻之后才打算写这个博文的。 首先回答下小伙伴的微信: 哪些功能不能用:Google play,GMS 等Google原生的app 以后的OS都不更新?:不,按照现在的Android 开源授权,依旧会有更新,只是没有办法预览新系统。 所有的Google apps都禁止下载?:应该是 访问已经下好的apps?这点没有任何确认的消息,有可能已经存在的app可以继续使用,也有可能无法访问服务器了。 接下来谈一谈短期与长期的影响。 短期影响: 对于国内来说,这个短期内几乎没有影响。毕竟国内用不了Google 全家桶这已是既定事实了,那官宣不支持也没有什么大影响。毕竟大部分服务在国内已经有了本土化的替代品。而从操作系统上来说,Android 是开源的,所以华为短期内依旧可以用Android,受益于Android生态。

c++, 技术

所有权与智能指针

没错,技术博主开始写技术文了 从我开始学C/C++的时候,指针和内存管理就是最让我头疼的东西:要么是忘了释放内存造成内存泄露,要么是多重释放造成了访问失败。甚至有些时候一个方法有多个返回语句的时候还要在每一个返回语句前释放一下内存。当时就在想为什么不能像Java一样有一个智能的垃圾回收器,来管理所有的内存呢。 这个痛点一直困扰到我开始学STL。原来STL早就考虑到手动释放内存的繁琐,所以提供了多种智能指针:auto_ptr, unique_ptr, shared_ptr, weak_ptr,并引入了“所有权”这个概念。大大简化了工程项目中的内存管理。也让我意识到我学的是假C++,真C(菜)。 所有权 单一所有权 两句话:所有权的拥有者有义务释放内存或转移所有权。同一时刻只会有一个所有权拥有者。 共享所有权 和用裸指针一样,所有权的拥有者不必负责释放内存,引用计数器会负责释放内存。同一时刻可以有多个所有权拥有者。 unique_ptr 重要的事情说三遍: unique_ptr 不能被拷贝 unique_ptr 不能被拷贝 unique_ptr 不能被拷贝 unique_ptr

Uncategorized

狼人杀与一夜狼人杀

与麻将,北美玩家的周末三俗活动系列 我常常自诩是一个桌游爱好者,尤其是卡牌类游戏,从3C到三个杀都玩的还OK。唯独有一类桌游我特别不擅长,就是狼人杀这类开局一张嘴,游戏全靠编的(好吧,如果算上麻将的话是两类)。 上周接触了一夜狼人杀,游戏体验嘛,很一言难尽。比起狼人杀,它解决了第一轮被杀的玩家冷板凳的不良体验。但是对于新人来说,尤其是村民身份的时候,大多时候都是一种“我是谁?”“我在哪?”“我在干嘛?”的状态。加之缺少狼人杀每轮死掉一名角色的“确定”证据,整局游戏就像在猜薛定谔的身份。 职业所需,我经常要梳理清别人的需求并且上下文代入以便分析问题。这使得我从习惯上会假定别人说的都是对的,然后就被带到沟里了。再加上不擅长嘴炮类游戏,常陷入一种唉听着这个人说的有道理,下一个说着与之相反的逻辑,听听也挺在理。最后看谁说的都有道理,只好finger cross & “跟谁熟就跟谁投吧”。 啰嗦了这么多,归根结底还是理工男讷于言敏于行且不善打嘴炮的美德导致我没有很擅长这个游戏(对,真的不是我菜,是这游戏不是我的菜)。

周记, 闲文

Option and future

选择与未来——从不灌鸡汤的角度来聊聊刷题与IT 最近有几件事让我觉得应该谈谈职业选择/发展。一是听说前东家又有同事溜了,一个组流动性高达40%;二是有小伙伴问如何准备面试;最后是昨天收到一个小朋友的求助,关于如何选择职业。 从我个人角度来说,我是很幸运的。能把爱好当作职业。从大环境来讲,IT仍是目前极具竞争力的行业。尤其在955的环境下,少了996的疲于奔命,多了更多的时间可以支配。当然从另一方面来说,职业发展不在工作的8小时内,下班后依然要学习工具/技术。 选择:跳?不跳? 北美IT圈有一个惯例,每年3-6月是跳槽的高峰期。原因有四,一来3月左右,前一年的奖金/股票已经到手,跳槽的机会成本比较小;二是跳槽成功会有一个比较高的签字奖励(现金 + 股票)和涨薪;三是新公司招人一般是做一些新产品,相比在现在公司做维护,开发新品对未来的职业发展更有帮助;最后就是,跳槽可能会顺便升一级。 不跳槽的原因,最多的就是因为身份。比如被绿卡/h1b牵扯住了之类的。少数的是因为懒或者怕学新技术。也有的因为有机会当team lead/tech lead。当然在IT圈逐渐咖喱化的今日,上升管理的通道逐渐减少,甚至有很多同行提出了“不求升职但求加薪”的口号。 一个无奈但真实的情况是,大多数人都是通过准备面试来学习新技术/工具/算法。从另一个角度来说,跳槽热提高了整体行业水平(?) 未来:去哪里刷题? 不论跳槽成功与否,生活总还是要继续的。失败的再接再厉,准备下一年的面试。跳槽成功的,基本上还是在准备面试,为了下一轮跳槽。于是生活陷入了每N(N <=4)年一次的跳槽刷题循环,或是困局。(为什么是4年?因为大多给股票的公司是分4年拿清,提前走的话损失比较大)(AMZN就别说话了) 选择与未来 从好的方面看,IT行业流动性比较高,试错成本相对较低。不会一步走错,十几年没机会跳出来。相比于传统行业比如金融,IT跨产品的机会更多。从后端转mobile,前端转AI,甚至码工转房产经纪的比比皆是。但同样,坏的方面就是行业壁垒几乎不存在,老人被新人倒挂情况屡见不鲜。而且随着年龄增长,学习能力走下坡路加上新工具层出不穷,在市场上的竞争力会逐渐下降。就算去了Oracle,依然会在多年后被N+6。 最后,不能怕去做选择(尤其是怕选错)而止步不前,因为唯一不变的只有变化本身;也不要担心陷入刷题循环的怪圈,毕竟IT行业除了脱发,没有其他太多的缺点。 借用一句话来总结:张华在脸书当数据科学家;李萍在CMU读CS Phd;我在刷题找工作:我们都有光明的前途。

闲文

当我们谈论IO的时候我们在谈论什么

又是一年IO大会。自从乔布斯带火了科技产品发布会,越来越多非技术相关的小伙伴开始关注WWDC,Build,还有IO这类的科技产品发布会了。 昨天科技圈的老大哥发布了微软终端,24小时内github点星超过6000,俨然有官方逼死同人的节奏(默哀putty 两秒)。今天就迎来了IO19,发布了一系列看起来还不错的产品。 Android 10 Android 秉承着每年一更新版本,成功的拖死了CyanogenMod等第三方Rom。今年也不出意外的更新了Android。带来了…… 夜间模式(再也不怕晚上玩手机伤眼睛了,现在只伤肝)。 对折叠屏优化(三桑的Fold卡顿的话是他们自己优化不好,不怪Android)(对,只是软件优化,Fold屏幕的问题跟Google 没关系) 支持5G(反正今年你也用不上) 专注模式(妈妈再也不用担心打游戏的时候有人找我聊天了,女生也不行) 实时字幕(下回和歪果仁聊天不用往下看了,看手机就行。真的有字幕。) 充电15分钟,通话7小时 Pixel 3a 小米9 的价钱,pixel 3 的体验。plus

闲文

冷笑话一则

某日想在办公室找碎纸机碎一张写错了的支票。打开内网搜索:Shred,出来的全是 Service Shred、Data Shred、Database Shred。想了下改成了Shredder 才找到碎纸机。 #TypicalGoogleSearch

周记

一颗韭菜的自我修养

美国的韭菜也是韭菜 这几天一件大事就是川普在北京时间5.6号又双叒叕宣布要加进口税了。此言一出A股立刻狂泄了6个点。12小时后美股开市,SP500 盘前跌了1.24,nasdaq盘前跌了2.24。 真是不怕美联储加息,就怕川普发推。 由于我大部分的股票都是科技股,在此次发推事件中受创超过4 个点(我还买了3x nasdaq,之前涨的美滋滋,现在跌的都想卸软件了)。辛辛苦苦一个月,一推回到解放前。 前几天和前同事约了个饭。他给我讲了很多币圈割韭菜的手法。我当时还嘲笑说韭菜真好割,结果今天自己也被收割了一波。 世界文化大同嘛,韭菜在哪都是韭菜,区别是这茬割完了下茬被不被割的区别。

周记

删错站了

之前一直有一个andysim.us的域名托管在digital ocean。后来建了个其他的实例来玩k8s虚拟化什么的,玩完了也忘了删。几个月过去就发现每次都收到之前双倍的账单(其实两倍多,毕竟k8s比wordpress 吃资源吃的多)。然后昨天心血来潮就上了下DO把其中一个实例给删了。 删了之后就收到了wordpress 的警报说我的网站下线了。当时就急出一身汗。后来发现没有做业务和数据分离(就一wp网站还搞业务分离?),也没开实时备份所以数据就找不回来了。广大同胞们请务必吸取我这个不爱加标签的教训。 既然找不回来了,那人生也只好向前看了。这个站我换了个托管网站,只做wp的。比DO便宜一些,而且还提供免费的备份功能。性能孱弱一些(想要性能可以去搞GCP)但是用来host wp是够用了。 之前有一些刷题记录是准备面试时用来练手的,现在也停了。以后这个站拿来写写周记,学习笔记什么的吧。 祝大家五一后的工作日快乐,笔芯❤️。

Scroll to Top