V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  shijingshijing  ›  全部回复第 51 页 / 共 146 页
回复总数  2920
1 ... 47  48  49  50  51  52  53  54  55  56 ... 146  
2021-10-26 10:30:51 +08:00
回复了 murmur 创建的主题 健康 因为家里有 ca 史,做了个全套体检,整个人都不好了
肠镜是要往里面打气的,让肠子鼓起来,做完会放屁。要有准备。
2021-10-26 10:29:24 +08:00
回复了 murmur 创建的主题 健康 因为家里有 ca 史,做了个全套体检,整个人都不好了
建议喷射之前备一瓶凡士林,自己掌握时间,在自己家里卫生间里处理。
喷之前几分钟凡士林里外涂一遍,喷完稍微擦一下,不要用力擦,马上冲水洗静,再涂一遍。
大概 3-4 次,肠子里就基本没啥了。

如果没有凡士林,药店买马应龙也可以,医生给你插入的时候,也是要用凡士林或者其他润滑剂的。

涂抹之后,保你菊花无伤。菊花受伤的主要原因还是短时间被卫生纸擦很多遍,哪怕湿纸巾也不行,不要擦,稍微清理一下,用水冲是最好的。
2021-10-18 16:25:01 +08:00
回复了 katos 创建的主题 程序员 请问,何同学的这个视频都用到了哪些技术?
@felixwang 乐歌市值涨了 5 个亿,这个视频值了。

国内大环境就是这样的,会做的不如会卖的,会卖的不如会演的,会演的不如会贪的。
下面是我在虚拟机里面每次用 netinst 最小化安装之后的一些优化步骤,希望对你有用:

后续步骤是为了让 Debian 使用更符合系统的一些设定:
1. 新的 Debian 会对 apt 源做校验,修改 /etc/apt/sources.list,添加[trusted=yes],如下:
还有一个方法是:apt-get install apt-transport-https ca-certificates,然后 update
2. 运行 apt-get update 和 apt-get upgrade 升级一下系统。
3. 使用 eject 命令可以安全弹出光盘镜像。
4. 系统默认无 sudo,需要 apt install sudo,切换为 root,执行 sudo usermod -aG sudo jack 添加 jack 用户进入 sudo 组
5. 安装命令行下图形化进程显示工具 htop, iftop:apt-get install htop iftop
6. 安装 vim:apt-get install vim
7. 编辑 /etc/vim/vimrc 文件,改设定为 set nocompatible 和 syntax on
set nocompatible
set backspace=2
set nu
set noerrorbells
set visualbell
set t_vb=
8. 开启 ls 的彩色显示,修改.bashrc 文件中的设定。如果是 /home/alex 用户,略有不一样,取消 force-color-prompt=yes 这一行的注释,后面 grep --color=auto 的注释也取消,就能显示彩色:

9. 删除较为危险的 telnet 和 ftp:aptitude purge telnet ftp 或者 apt-get purge telnet ftp
10. 不预装 ifconfig,需 apt-get install net-tools 或者 ip addr,参见 http://blog.jobbole.com/110029/
ip 和 ifconfig 之争: https://unix.stackexchange.com/questions/482596/ip-tools-vs-old-ifconfig
(详细) https://unix.stackexchange.com/questions/504063/ip-vs-ifconfig-commands-pros-and-cons
11. 如果使用 netinst 网络最小化安装,不会预装 ssh,需要 apt-get install ssh
12. 安装 lightdm 登录界面和 MATE 图形界面:apt-get install mate-desktop-environment lightdm
13. Debian 10 之后,使用 root 账户登录 MATE 图形界面,鼠标右键无菜单,桌面无图标的解决方法:System -> Preferences -> Personnal -> Startup Application,新增一条命令:name: Caja manage root desktop; command: caja --force-desktop 参考: https://github.com/mate-desktop/caja/issues/871
14. 安装 xterm 以便在图形界面中启动 vim:apt-get install xterm
15. 进入系统之后,配置 MATE Terminal,Edit>Profile Preferences,选中 General 选项卡,去除 Use the system fixed width font,选 Monospace 10 ;切换至 Colors 选项卡,去除 Use colors from system theme,将 Foreground,Background, Bold and Underline 的 Built-in schemes 选为 Green on black 主题,Palette 的 Built-in schemes 选为 Linux console 。
16. 桌面右键,选择 Change Desktop Background,Theme 选 TraditionalOk 。
17. 安装 Python gcc 等包,执行 apt install software-properties-common build-essential
18. 先后运行 apt-get clean, apt-get autoclean, apt-get autoremove 清理多余安装包。
@LxnChan 你用 netinst CD 安装当然没有了,只有最小化的一个基本系统,要用 DVD 和 BD 的镜像安装。

不过我个人喜欢用 netinst CD 安装,然后手动安装 MATE 和 LightDM,这样系统比较精简,不会安装 LibreOffice 什么的。
2021-09-30 16:51:07 +08:00
回复了 shijingshijing 创建的主题 程序员 fcitx 选词框跑偏也太厉害了吧
换了 iBus 还是这样,安装了 RIME 等几个其他输入法,选词框也是跑偏到同样为之。基本可以确定不是输入法本身的问题了,目前怀疑是 MATE 或者 Wayland 对 HiDPI 支持可能有问题,无法向输入法报告光标正确位置。

GNOME3 能够手动设置 HiDPI 的缩放比例,MATE 里面只有 MATE Tweak 有个是否适配 HiDPI 的选项。
2021-09-30 10:29:06 +08:00
回复了 shijingshijing 创建的主题 程序员 fcitx 选词框跑偏也太厉害了吧
@pisc 这个环境变量在那里设定? Firefox 里面 about:config 没有这个。
2021-09-30 10:27:38 +08:00
回复了 shijingshijing 创建的主题 程序员 fcitx 选词框跑偏也太厉害了吧
@pisc 我的是 chromium,而且我觉得这个问题是全局的,Terminal,Chromium,Plume 下面都会出现,能改 Wayland 的设定么?
2021-09-30 09:17:59 +08:00
回复了 shijingshijing 创建的主题 程序员 fcitx 选词框跑偏也太厉害了吧
@zhea55
@Showfom 我去试试 rime

@harwck 没有改变分辨率,一直是开笔记本屏幕用,没有外接显示器。
@fortree 硬件工程师转程序员其实是有优势的,毕竟对底层比较熟悉。

个人建议一个程序员起码要配置三套语言:一门解释型脚本语言,两门编译型语言。

解释型语言推荐 Python,编译型语言推荐 C 和 Java,C 是面向过程语言,覆盖实时性高的应用,Java 是面向对象编程语言,后端开发,Android 开发,中间件开发甚至桌面应用开发都可以覆盖到。

如果是彻底不做硬件,一心转互联网,脚本语言换成 JavaScript,学点前端框架 Vue 什么的,这样也可以做全栈。
@fortree 原帖被删了,我在消息里面找到了原文,希望对你有帮助:

zion03 感谢了你在主题 › 想进大厂嵌入式方面实习岗位(18 年毕业),求 V 友帮忙指点下简历,看得上的直接带着。 里的回复 338 天前 删除
项目经历很不错,应届身份进大厂你的学历和学校吃亏。

几点建议:
1,大的方向:整个嵌入式目前方向越来越集中了,简单的系统用 PIC 和 C51,不用操作系统;稍微复杂的直接上 ARM,走嵌入式 Linux 了;更复杂的基本上都是 Android 天下了。随着 Cortex-M 系列的普及,以后对实时性要求稍微低一点都会上 ARM 和嵌入式 Linux 组合。所以,现在的嵌入式远不是以前 PIC,C51,MSP430,STM 系列,AVR 系列,摩托罗拉系列,ARM 系列,CPLD,FPGA,等等百花齐放的场景了,未来的方向将高度集中化。这个趋势也可以从最近几年大的半导体公司合并中可以看出,Intel 收了 Altera,NXP 收了 Freescale 又被高通收了,现在高通又面领着被 Broadcom 收购,以后这个行业将是高度集中深度整合,大玩家就那么几个了,SoC 是未来的主流。

2,个人的发展一定要符合历史潮流:高度集中后,半导体器件的生产成本会不断下降,因为半导体的成本是按规模摊薄的,生产数量越多,成本越低。所以,以后即使是一个 C51 能搞定的事情,也会上个 Cortex-M,因为达到一定规模后,后者成本更低,而且方便日后扩展。因此对个人来说,深入学习嵌入式操作系统是迟早的事情,晚学不如早学,尽快往上层发展。应该尽早放弃底层的纯指令集编程的平台,比如 PIC,了解即可。如果对指令集编程深度痴迷,建议认真研究 ARM 和 Intel 的 ISA,不要在 PowerPC 、MIPS 等上面浪费时间,不建议深入研究任何 DSP (如果 GPU 也算的话,GPU 除外)。

3,个人技能树要多开分支。不要绑定到某几款硬件 Device 上,不要绑定到 C 语言上,不要绑定到面向过程的编程上。做到最顶级的嵌入式,面向对象、设计模式、操作系统、算法与数据结构、控制理论、数学一个都不会少。

如果个人技能树要往偏工程方向发展的话,请尽快补足操作系统、面向对象、设计模式方面的知识。操作系统可以以 Linux 为主(不是嵌入式定制的实时 Linux,是通用的),深度了解分页机制、内核调度、内存管理等知识;面向对象以 C#为主( C++的坑比较大,没必要),好处是一是可以写上位机的应用,二是以后转互联网、转桌面应用也有退路;设计模式没什么好说的,C#顺带的事情,拼命做项目,不断寻找 Best Practices 吧。

如果个人技能树要往偏系统设计和算法研究方向发展的话,请补足数学和控制方面的知识。Matlab 和 Simulink 要玩的烂熟,做系统架构和实现的时候,面向对象编程和 UML 是不可避免的,大厂一般都会用到。

最后,大厂的套路跟自己单打独斗完全不一样,焊板子写代码做系统只是其中一部分。如果是系统大厂比如汽车行业的 Ford,Tesla Motors,Honda ;家电行业的 Panasonic,SONY,Philips ;工控行业的 Siemens,GE,ABB ;航空航天的 Boeing,GE,Honeywell 都是需要按照上面第 3 条的第二个方向发展,这种大厂对学历和学位要求比较高,应届的话上面一堆 985 的硕士博士,你基本上没有可能,这种公司你工作个三五年之后,拿个在职硕士可以试一试。如果是元件或者子系统大厂,除了知识面要广,还会对你在某一个方向有非常高的要求,比如操作系统,一般最低要求都需要你能独立编写一个 Driver 。因为大厂都是团队上阵,团队的每个人都要能独立 cover 某个具体的方面,其他人碰到这一块的问题时都会来问你,你要做到问不倒。知识面广的意思是,你硬件设计、软件设计都要会流程了解,I2C,USB,CAN,TCP/IP 这些协议要熟悉,硬件栈软件栈实现要熟,不管哪个方向都要能稍微翻翻就上手做事。

最最后,你的简历还要再改改,我记得我当初的简历起码改了上百遍了,多写项目相关的东西,少堆砌课本基础知识,多出现能让面试官兴奋的关键词。现在这个互联网一统天下的时代已经很难看到你这种对嵌入式有如此热血和执念的少年了,我作为一个过来人,已经见识过这个行业最顶级的平台和系统,现在也逐渐由硬件转软件再转互联网,所以才有上述结论。务必要多学习多掌握通用技能,切忌绑定到某个固定的硬件平台上。嵌入式这条路并不好走,而且越走越窄,希望你能勇往直前。

If the problem persists, please contact the site's administrator.
2021-09-03 10:32:58 +08:00
回复了 hutng 创建的主题 硬件 Intel 即将发布的大小核 CPU,各位怎么看
@shijingshijing #49 说严谨一点吧,现代计算机的待机模式分为好几种,传统的 S3 待机模式下,PCH 里面 Controller 和 PMIC 联合控制,实现 Power Gateing 可以关闭 CPU 内部大部分模块的供电,这时候 Cache 和寄存器里面的数据是会被清除的;后来 Intel 为了实现手机熄屏之后继续接收短信和各种推送,播放音乐等功能,又推出了 S0 待机模式,也就是所谓的 Modern Standby,这个 S0 待机能够对 CPU 做 Clock Gating,能控制 CPU 的运行频率,使 CPU 以极低的时脉运行,但是问题也不少,很多人反映 S0 待机会让笔记本待机功耗大增,在背包里发烫,连微软自己的 Surface 系列都无法幸免。
2021-09-03 10:20:29 +08:00
回复了 hutng 创建的主题 硬件 Intel 即将发布的大小核 CPU,各位怎么看
@MakeItGreat 台式机的待机不会用到 CPU,是 PCH 里面的 Controller 和 PMIC 联合控制的。只有超级本的 S0ix 状态下,才会以极低时脉使用 CPU,主要是为了接收电子邮件,熄屏播放音乐准备的。
2021-09-02 14:03:27 +08:00
回复了 zxCoder 创建的主题 C++ c++在公司里一般是做什么的啊
@ipwx

其实软件工程从一开始就是试图用更高层的抽象去封装更复杂的显示细节。
---
这一点你说的没错,事实上从抽象这个功能来讲,C++既需要做抽象,又要放不下底层,还要兼顾各种特性,于是造成了本身无比的复杂。现在普遍引入了 MBSE,基于 UML/SysML 在更高层级上建模,然后直接生成 C 代码,最终编译成机器码直接执行。这种模式已经是大的趋势了。UML/SysML 专门负责抽象,C 负责底层,就这样两层就够了。所以这样看,C++就没什么意义了,两头兼顾两头都做不好。这也注定了即使用 C++,也是在某个领域某个模块(比如图像视频处理)非用不可的情况下,才会使用,而且限制及其严格。

还有就是 NASA 并不慢,一套系统不是只要搞软件就能 run 起来的,在软件上面还有更高层的系统级的考量。基本的飞行系统架构,最顶层是飞行器系统,然后分解为推进子系统,动力控制子系统,环境控制子系统,电气子系统,电子子系统等等,这些子系统里面再进一步细分为机械模块,硬件模块,软件模块等模块,所以至少是三个层级。比如推进子系统,机械模块分为发动机喷嘴,燃料阀门,点火装置,压力检测等子模块; 硬件模块对应有发动机喷嘴控制器,燃料阀门控制器,点火装置控制器,压力检测传感器等硬件设备;然后才是运行在这些控制器里的软件模块。所以整体是一个非常庞大的系统,不止一个 CPU,不止一种 CPU,不像做个 App 什么的打开 IDE 就能写。

NASA 的系统工程和软件工程都是一流的,很多软件领域的概念和方法都是由 NASA 或者其他航空航天巨头首先提出,然后才慢慢引入到软件领域的,特别是测试领域,比如 MC/DC 。Elon Musk 纯粹是莽,没把安全性放在首位,如果一定要类比,我觉得 NASA 是传统类型的软件厂商,SpaceX 是互联网厂商。
2021-09-02 11:20:46 +08:00
回复了 zxCoder 创建的主题 C++ c++在公司里一般是做什么的啊
@ipwx

芯片不是太弱,性能根本不是优先考虑的选项,首先要考虑的就是尽可能不出错,当前芯片性能完全是过剩的。但是地球上普通的芯片是不能直接拿去用的,需要定制耐高温,抗辐射等特殊设计的 CPU 。

https://en.wikipedia.org/wiki/RAD750
2021-09-02 11:16:40 +08:00
回复了 zxCoder 创建的主题 C++ c++在公司里一般是做什么的啊
@ipwx

SpaceX 毕竟刚刚出大气层,还没遭受火星上各种宇宙射线,各种高能粒子轰炸,Elon Musk 本身把安全性看的也不高,成本和快速迭代占了较高的优先级,所以 Falcon 初期会各种炸,直到迭代出一个稳定的版本,NASA 经过了火箭,载人,登月,火星等各种毒打,思路是稳定优先。所以才会有 SpaceX 用 x86 来搞,NASA 坚持用 Radiation Hardened CPU,同样 Tesla 的车和丰田的车也可以类比。

外太空有很多其他因素要考虑,温差大(零下几百度到零上几百度),震动大,辐射大要防 SEU 处理,还要尽可能省电,优先保证安全性,还要绝对的稳定,还要做 N 多冗余设计,这么多东西要考虑,整个系统设计思路跟地球上其他系统完全不一样。

当然,随着发射成本的降低,现在也有把 HP 的高性能计算集群发射到空间站进行就地处理的实验了,好像已经有初步的结果,不知道没经过上述处理,只是简单的做 ECC 是否能保证结果的正确性。
2021-09-02 09:32:33 +08:00
回复了 zxCoder 创建的主题 C++ c++在公司里一般是做什么的啊
@ipwx 很多代码都是自动生成的,还有很多是复用以前经过 certification 的老项目代码,测试的时候需要的人多。要想系统可靠,就必须尽量使用简单的基础模块,然后尽可能复用,宁可简单的东西复用几万遍,也不会为了省事儿弄个新轮子,NASA 自己造内存管理的轮子是迫不得已,不然也不会用的。

这些项目里面,R&D 的 effort 只占 30%,剩下的几乎全部是 Documentation,Test,Certifiction 。
2021-09-01 19:41:59 +08:00
回复了 zxCoder 创建的主题 C++ c++在公司里一般是做什么的啊
@name1991 图像处理和路径规划用的“严格裁剪版 C++”,内存管理这一块 NASA 重新造了一套轮子,上两张图吧


https://i.imgur.com/E2E1WNd.png

https://i.imgur.com/rHpEZu6.png
2021-09-01 15:44:37 +08:00
回复了 zxCoder 创建的主题 C++ c++在公司里一般是做什么的啊
@ipwx
@bruce0
@tianming1992

这里的 undeterministic 不仅仅是指技术上的,需要用 template 实现的函数大部分都是基础库之类的,实际作用是为了一次书写,适用多种类型,这种情况理论上是没问题的,可是在实际使用过程中,可能会碰到各种意想不到的问题,比如,嵌入式里面有很多 8 位,16 位,32 位不同类型的处理器,这时候假如函数里面使用了 Magic Number 作为参数,比如上限值,很有可能当参数为 32bit INT 类型没问题,但 8 位,16 位就会有问题。(你可以 Argue 说这是程序员素质的问题,但写函数的和用函数的人保不齐有一个没注意的,这样就会带来问题)

template 可以看作是一种语法糖,爽了开发,但是让后面的测试,追踪,certification 乃至出了问题做 Failiure Analysis 不确定性、复杂度和人力成本剧增,可能导致整个项目成本剧增,因此即使有这种场景,一般也是用宏定义来实现的,高可靠性的项目就是从技术上,管理上等各个方面来进行限制,尽最大能力保证不出问题,最好是从根本上消除产生问题的可能性。

这样来看,不能使用指针,不能动态分配内存,循环嵌套不能超过三层,不能使用递归等等神奇的限制也就合乎情理了。
2021-09-01 10:57:26 +08:00
回复了 zxCoder 创建的主题 C++ c++在公司里一般是做什么的啊
@ipwx [潜在]

只能说隔行如隔山,我要是告诉你,循环嵌套还约定不超过三层嵌套,你会不会更惊奇?

这些行业的规定和经验,都是经过一条条人命累计出来的。
1 ... 47  48  49  50  51  52  53  54  55  56 ... 146  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1034 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 20:28 · PVG 04:28 · LAX 12:28 · JFK 15:28
Developed with CodeLauncher
♥ Do have faith in what you're doing.