-
要边上课边实习吗?
2020-06-04 14:39看个人的并行做事能力吧。我大三暑假到大四上实习的时候就是翘了所有的课,后面实在不能翘课了就离职专心上课。
我个人精力很有限,不擅长一心二用,一边上课一边实习,时间长了做不来。而且需要来回往返于公司和学校,跨省交通太折腾,成本也高。
但是如果你实习的公司离学校近,而且你学习能力和规划时间的能力足够的话,脚踩两只船也是没问题的。
-
面包与理想(又辞职了,让我感慨一下吧)
2020-06-03 10:49每个人都是平凡的,少了谁都不会影响社会机器正常运作。
每个人又可以是伟大的,只要他遵纪守法、以德待人,认真做好自己的本职工作。 -
最初的谜题
2020-06-02 22:33后缀 sucks:937fe501d6c49b5734349d6b29b01ce027a00f75031b620ca384ed524f462249
(懒得解谜了,直接查的彩虹表
-
solo 要是有简历就很 nice
2020-05-25 02:20目前 solo 已经可以支持这样的需求。管理后台里面有个“导航管理”功能,可以自定义导航栏条目的标题和跳转链接。
你可以在这里加一个“个人简历”项,添加后就可以在博客主页的导航栏看到(如下图红字的位置所示)
-
如图,如何获得一个用户 number 和大于等于 10 的那一条数据
2020-05-21 16:06我在本地模拟了一下,借助窗口函数可以轻松解决。(注意,MySQL 8.0 以后的版本才支持这一特性)
select distinct r.user_id, first_value(r.number) over (partition by r.user_id) as number from ( select c.user_id, c.number, sum(c.number) over (partition by c.user_id rows unbounded preceding) AS f from ( select 1 as user_id, 1 as number union all select 1 as user_id, 2 as number union all select 1 as user_id, 2 as number union all select 1 as user_id, 4 as number union all select 1 as user_id, 7 as number union all select 1 as user_id, 2 as number union all select 2 as user_id, 1 as number union all select 2 as user_id, 8 as number union all select 2 as user_id, 3 as number union all select 2 as user_id, 6 as number ) c group by c.user_id, c.number ) r where r.f >= 10 group by r.user_id, r.number;
-
最近突然想换手机了,不知道什么手机比较好,征集一下大家意见
2020-05-16 21:22学生时代的时候,有用手机玩游戏的需求,那会儿常常会关注性价比高的旗舰安卓机
后来工作了,不玩手机游戏了,反而选择了性能更好的 iphone
一方面是懒得折腾,不想把很多时间浪费在刷机和与流氓 app 斗智斗勇上面
还有一方面就是拿工资了,消费得起了
-
记一次超短的面试经验
2020-05-02 01:06感觉这些问题并不怪。既然是非科班,面试官问一些你学的专业里面和计算机稍微有关系的一些知识也是非常正常了。毕竟非科班相对于没上过大学的人来说,所剩不多的优势就在于这些知识,以及数学相关的基础知识了吧。面试官希望看到非科班的学生对本专业内和计算机相关的课程有更多的兴趣,下更多的功夫。我当年面试的时候也经常被问到数电、单片机、线性代数相关的问题。
比如第一个问题,相信微电子专业有 计算机组成原理/微机原理/单片机技术 之类的课程,只要稍微听过课,不需要达到考试及格的水平就可以回答出来。再与学过的数电知识相结合,就可以回答的更好一些。
光纤的问题确实问的不太好,一般通信专业才有光通信相关课程,微电子似乎是没有的(至少我们学校没有)。但面试官可能并不是期待你准确地回答出来这个问题,而是要考验你对问题的分析能力。你可以先告诉对方自己没学过,然后扯点信号调制相关的基础知识,比如调频调幅调相之类的,比直接说不会要好。
至于傅里叶级数,应该是高数里面最基础的概念之一了,哪怕很久没用忘的差不多了,简单讲讲也好,不要留给面试官基础不牢的印象。
-
JavaScript - 获取计算后的最小值
2020-04-27 18:31我觉得
minBy()
从含义上来讲,返回的应该是原始集合中的元素,而不是map()
后的结果,后者只用来比较大小。参考 Kotlin 的
minWith()
和minBy()
(分别对应楼主例子中fn
的两种不同情况)还有 Java 的
Collectors.minBy()
(对应 Kotlin 中的minWith()
)它们返回的都是原始集合中的元素
-
毕竟 Too Young Too Naive
2020-04-26 17:51大厂的项目代码写到最后都是屎山,包括 BAT,包括微软谷歌,都无法避免。即使有良好的代码风格约定和严格的 code review 机制,最后一点点都会向开发效率等一系列因素妥协。
代码能不能按时正常跑起来都还八字没一撇,大家都想按时完成任务,不想加班 996。至于代码质量,等以后闲下来再重构吧。当然,怎么可能闲下来呢。工作计划里面写代码重构,但是又没到不重构不行的地步,是要被领导 diss 的,要么觉得你浪费时间,要么觉得你想摸鱼。
-
大家五一放多少天假?
2020-04-26 12:23五一法定“五天假”,本来就有的一个周末算两天,前面少了半个周末算一天,后面少了半个周末算一天,最后算下来五一实际上只多放了一天
多数人应该都是这样的
-
思否社区因用户发布 fq 技术负责人被请喝茶
2020-04-20 18:57连 V2EX 这种法外之地,讨论这些内容都有所忌讳,帖子常常进水深火热。SegmentFault 这种境内正规备案网站,审查更是要走心。
黑客派可能也要注意这个问题,目前规模不大不容易被网警盯上,但难免会被好事之人举报。
-
最励志的程序员转型案例
2020-04-20 15:43在如今的年代,其实程序员早已不算是一个职业。用编程的手段解决问题早已在各行各业普及,不管是搞什么的技术和科研人员,或多或少都会编程,区别在于与业务强相关的行业背景和具体算法。
我大学本科学的电气工程专业,在国内是一个很传统的行业,和 CS 没半毛钱关系。但这并不妨碍使用计算机技术来解决行业中的问题。算法相关的比如常见的潮流计算、故障计算等等,偏底层的有(应用于智能电网、电力电子等领域的)单片机相关技术。我的一个老师是搞电机的,在国内行家里面应该能排前十,但这并不影响他(和他的博士生团队)为国家电网贡献了近 10w 行代码。
同时,我认识的一个学建筑的同学,平时也经常用 python 和 lisp 来辅助计算和建模;一个学精密仪器的同学,近期的研究需要用到机器学习和传统物理学的综合手段解决一些光学的问题,平时 matlab、python、fortran 也从不离手。
至于楼主说的那种情况,完全属于个人兴趣爱好,写的内容相对也比较简单(一个数独游戏)。这也很正常,对比起来就像一般人玩游戏和电竞选手玩游戏一样。我认识一个学小语种的文科妹子,基于 OpenGL 写过一个 2D 游戏引擎,当然也是纯业余的那种。
相比之下,或许写 CRUD 的互联网民工才是技术最匮乏的,想起来真是有点讽刺
-
发现新鲜有趣的小型开源项目,欢迎投稿!
2020-04-16 11:21GitHub 有官方的 Traffic API,可以参考一下
但是这些统计数据有一定隐私性质,所以有鉴权。比如那个获取仓库近 14 天访问详情的接口,需要仓库的 push 权限才能获取
-
JavaScript - 是否为负零
2020-04-14 21:44还有一种常见的写法(更直观些):
const isNegativeZero = val => Object.is(val, -0.);
最初发现
0. === -0.
的时候感觉很惊讶,以为 V8 引擎有 bug。然后读了下 ECMA-262:If Type(x) is Number, then
- If x is NaN, return false.
- If y is NaN, return false.
- If x is the same Number value as y, return true.
- If x is +0 and y is −0, return true.
- If x is −0 and y is +0, return true.
- Return false.
好吧,基础不牢地动山摇
为了应对这种尴尬,有一个提案:
Math.signbit()
,获取浮点数中标明正负的一位,也就是 IEEE 754 中的规定的最高位,这样就可以优雅地(并不)判断正负 0 了:const isNegativeZero = val => val === 0 && Math.signbit(val);
当然,用位运算是获取不到符号位的,因为在位运算之前会被转换为 32 位无符号整型。当然,我们还可以自己动手用位运算获取最高位(实操的话可以直接先判断是否=== 0
,然后再判断有没有非 0 的位就可以了,避免了区分大小端的必要),如下所示:const isNegativeZero = val => { if (val !== 0) { return false; } let arr = new Float64Array(1); arr.set([val], 0); let dw = new DataView(arr.buffer); return !!(dw.getUint32(0) || dw.getUint32(4)); }
-
发现新鲜有趣的小型开源项目,欢迎投稿!
2020-04-13 15:50同类项目有很多,之前在 HelloGitHub 上投过稿,大概收获了接近 10 个 star 吧(挺少的
这类 awesome 项目一定程度上可以提高投稿项目的曝光率,起到一个 SEO 的作用。但是个人去订阅这样的项目集合,几乎是没有意义的,除非它摆脱常见的项目推荐模式,真的能够做到只收录“新鲜有趣”的项目,而不是充斥着一堆平庸的练手项目和重复轮子。
-
如何看待 OSCHINA 2020 Q1 开源软件趋势榜?
2020-04-13 10:58百度飞桨没用过,用起来好不好使不做评价,但是它的宣传力度做的真的是足。
大三那会儿在我们学校专门搞了个宣讲会,直接把我们主校区正门的广场包了一个上午,讲百度飞桨的发展历史、基本架构等等,有各种现场提问、演练环节,还把一堆 AI 产品,什么无人汽车、智能机器人都带过来了。还请了一些业界大佬做嘉宾现场发言。
校招都没见百度这么大阵势
-
我为什么要用中文写项目文档
2020-04-10 20:15写英文主要是因为英文写着更顺手,因为我从一开始学习 CS 相关技术就是看的全英文材料,很多名词都不知道中文翻译过来叫什么,如果硬要写中文不是不可以,但是会消耗较多时间,而且看上去可能会显得翻译腔太重。
最主要的问题是我需要我的文档被更多的人看懂。英文的普及度很高了,基本上任何一个国家,搞技术的人或多或少都会懂一些英文。而中文在国外非华裔群体里的普及度是相当的低。设身处地的考虑,假设我看到一个项目的 README 或者 wiki 全是德文、俄文之类我不认识的文字,Google 翻译一下又狗屁不通(这很常见,目前机翻对于技术相关文章的局限性还是普遍存在的),我一定不会继续看下去。这样下来,不利于项目更好地为大众所用,也不是很符合开源软件或者自由软件的精神。因此,我的项目一般都会用英文写文档和注释,博客也用英文来写。localization 的事情,还是留给其他贡献者。
当然有一个例外,就是当这个项目面向的群体是国人时。比如在公司做的项目,用户和与我合作开发的同事都是中国人,那我会选择用中文来写文档,注释也尽量用中文。对于开源项目而言也同理,如果面向的用户群体以国人为主(比如我要做一个黑客派的客户端,而黑客派是一个中文社区,几乎没有见到外国友人的访问),且他们不一定具有相关技术背景的话,那我会考虑使用中文来写文档,或者在英文文档之外提供精心翻译后的中文文档。
-
秀一发键盘 HHKB HYBRID
2020-04-08 10:34hhkb 的特色,ctrl 在 caps 的位置上,设计的时候可能是考虑到程序员常用 ctrl 键,而这个黄金位置给 caps 简直是浪费了
实际 caps 键是 fn + tab