V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  GeruzoniAnsasu  ›  全部回复第 146 页 / 共 149 页
回复总数  2961
1 ... 138  139  140  141  142  143  144  145  146  147 ... 149  
@predator 熟悉系统跟干活本来就是两回事 lin/win user 跟 是不是码农本来也没什么必然联系嘛,就熟悉入门本身来说,多捣鼓还是好的
2017-12-15 10:19:04 +08:00
回复了 racecoder 创建的主题 C C++到底要怎么写
“ opencv ” “提取特征”

估计也是算法方面的,库和 api 是 c++接口。讲真这样的不要强求自己往学会写 c++代码上靠,就当做 c 来写反而不会出什么问题,对于算法类的程序来说,用 1k 行流水账 baby code 实现要比用一大堆 c++特性又是容器又是 trait 又各种 move 智能指针写完不过瘾再 future 并发一轮好得多,写出来又没人看得懂,看得懂的人说不准当魔法越玩越黑最后只剩 magic code 虽然不知道怎么回事但好像就是能对最后谁都不敢动。

对于从其它语言,特别是 C 转过来的人,我一般只劝他们把函数写进类里然后 static 掉,全局变量你给我放类里 static 掉,其它正常的 oo 语言转过来的( java )什么,c with class 模式能写熟练已经谢天谢地了,你实在对性能没什么概念就尽量多传指针,对,多传指针,跟你熟知引用是差不多的,释放的问题裸 delete 就裸吧裸能解决问题总比多线程智能指针+容器莫名其妙的多次析构好得多,大不了多几把锁,反正线程运行的时候又不干预,释放的时候保护冗余一点没什么大不了的

RAII 我都不指望你知道字面意思了,别忘记把基类析构 virtual 就行

在 c++里线程其实还是相当原始,异步和多线程下并发要格外小心
个人觉得初学 linux 有几点最重要(按顺序
1. 包管理 在安装绝大多数软件时不要考虑什么 sourceforge 下个 tarball 源码 make install 又是依赖又是系统版本的,最好是一行命令就能用,在这一点上 debian 系可以说领先其它发行版十条街
2. 桌面环境 初学一定要有 DE,而且最好是实体机上捣鼓,先把桌面搞漂亮,unity *dm xfce awsome 感受适应一下各种主流 DE/DM 的风格,切记一定选最大众最主流的,然后捣鼓一下终端,zsh 先装起来,美化先捣鼓起来,初学的时候什么服务器啊开发环境啊不都扯淡呢嘛,先捣鼓个第一眼能看到的效果满足一下成就渴望,哪怕 vim 还不会退出,先搞它几十个插件逼格装起来先,慢慢来不急
3. 社区 千万不要选小众版,不然出现问题都没处找 askubuntu 和 archwiki 独领天下,有时搜着搜着发现有比自己还小白的人居然已经问过更蠢的问题了瞬间会心安很多哦这早就有人问过了所以大概不是个大问题

然后可以开始着手入门了

deepin 目标是给朝鲜人用的
mint 给小清新
ubuntu 给异类桌面依赖的年轻人
debian 是中规中矩的学术型选手
centos 是学究老教授
arch=geeks
fedora=过时
kali=hacked debian

鉴于推荐 debian 系的原则,最好的路线大概是
deepin(3 天)-> ubuntu(几周) -> debian/mint(熟练) -> arch(有兴趣)/rasbian(有兴趣) -> centos(生产环境) -> 异类邪教

deepin 当做玩具玩玩,ubuntu 下被驱动折磨几轮,debian 返璞归真摸索自己口味,arch 开始 DE 已经不重要,滚动更新不挂最重要,这个时候基本已经跨过入门阶段了

然后是捣鼓各种东西的顺序
装,分区 /修复 linux 没了导致的 windows 无法引导 -> 美化桌面,美化终端,装显卡驱动崩成傻逼,换 de 崩成傻逼 -> 用 vim 和 awsome 装逼 -> 同步学习 lnmp/python -> 发现 apt 能装上一大堆东西 -> 熟悉各种配置文件和 shell script,产生重度 grep sed | 依赖 -> 折腾开源项目


最后提一句 虽说绝大多数人都推荐先用虚拟机尝试,但个人认为 uefi/grub/驱动 这种坑还是要踩的,而且本机直接装还能让你发现 linux 的某些潜力,在 linux 里玩 dota 和最小化掉虚拟机再点开 steam 感受是十分不同的
2017-12-08 11:37:24 +08:00
回复了 baskice 创建的主题 有人梦见过自己在开车吗?
我还记得很清楚由次梦到开车,不知道为什么紧急情况我的反应是拼命把档杆往 1 档推而不是踩刹车
@jakeyfly
你摆出来的这个例子并没有很好提现 iterable 和对应 iterator 的关系所以你没啥感觉
一个类确实可以同时实现 next 和 iter 两个内置方法,典型的你看 generator 对象就能被获取 iterator,也能调用 next,但对它自己调用 next 还是获取迭代器去访问它内部的元素,意义是完全不一样的

但从逻辑和结构上来说,iterable 是容器,iterator 是访问器,它们的功能就是不一样的。比如现在迭代器已经指向了容器中的某个位置,然后你需要把这个位置信息传递给其它方法去处理,那你肯定希望函数参数传的是一个迭代器,而不需要把原来的整个容器一并传进来;如果还不是很理解,下面这个不很好的例子起码能体现出区别

instance = MyIterable([1,2,3,4,5,6,7,8,9,10])#MyIterable 是随便什么 iterable 类
it = iter(instance)

print( *zip( it,it ) )
print( *zip( instance,instance ) )
print( *zip( *[iter(instance)]*2 ) )
Python 里的可迭代对象 iterable 和迭代器 iterator 令人迷惑得厉害
总的来说
迭代器 iterator 是可迭代对象 iterable 的 访问器
迭代器 iterator 原本应该是一个指针,也就说应该具有 iterator->obj::*这种语义,同时迭代器迭代位置还能移动,调用 iterator.__next__()能获取被迭代对象的下一个元素
iterable 保证能返回一个用于访问其内容的迭代器(或者随机访问器__getitem__),一般 iterable 是某种容器,容器中内容具体如何组织我们不关心,我们只关心怎么取出来然后怎么用,而组织“怎么取”,就是迭代器要做的工作

iterable 不仅包括迭代器关心的那些元素,还包括很多很多其它的东西,比如你可以把整个 v 站视为可迭代的,给它定义一个专门的迭代器对象用来浏览每一个帖子,当你 for 帖子 in v 站的时候这个迭代器帮你遍历所有帖子,但你还可以 v 站.refresh(),v 站.down(),v 站.block(uid)什么的,当你不需要遍历 iterable 的时候,iterable 本身还有很多其它的属性和方法
2017-12-01 14:13:31 +08:00
回复了 singvee 创建的主题 程序员 开源代码,编译不过,哪位大神知道怎么回事~~~
别管怎么编过,永远不要给 format 传可变参数,根本不该有这种需求,会造成严重的安全隐患
2017-11-16 10:29:39 +08:00
回复了 scarqin 创建的主题 程序员 浅谈 Sdk 与 Api,你是喜欢 SDK 还是 API?
恕我直言 mdzz
不要立个假靶子,是 concurrency 并发不是并行。
2017-11-13 12:16:55 +08:00
回复了 zhicheng 创建的主题 程序员 分享一个新的编程语言 Lemon 。
我感觉新创造的语言一定要专注于解决某个痛点的问题,一味吸收各种特性最后并不会变得优秀,只会看起来四不像

C++这种大而全但东西和概念太多神 tm 难用,内存管理靠上帝之眼,new 一下下辈子再回收
python 动态类型 项目一大立马吃屎传进来的是个什么鬼完全不知道,文档少写一点都要命
JS PHP 弱类型 = == === 数字字符串数组一混分分钟自己挖个洞
java 要性能被虚拟机拦死,内存占用 1 个 T (看向 jetbrains ),GC 一动卡三年

这些语言都有独特的短板,而相当多语言就是专门解决痛点诞生的,比如 rust typescript lua

我觉得 lua 就非常独特而且很成功,目标就是在一个高性能低抽象难开发的系统中引入能快速实现逻辑的脚本,而高级数据结构和库都可在宿主中提供,lua 只专注提供方便于宿主沟通的相互接口。看看游戏结构,一个引擎+一坨数据+一坨琐碎的特效 /动作 /剧本等等业务逻辑,与 lua 简直天作之合,于是几乎在所有游戏里都能见到 lua 的身影



再看看 lz 发的官网文档。。。首先语法大杂烩,python js 都有,然后同样是动态类型,有着 python 一样的短板,也没有更多语法糖尝起来更甜,到这就已经 emmmmmmmmm 了,然后仔细一看还有两种空类型,两种数字,还跟 lua 一样从较少的数组解包到更多变量不会报错自动 nil,感觉已经眼前一黑。括号和分号的问题其实……挺 hhh 的,看起来就是凭个人口味的结果,并没有重新思考过各种 token 到底起什么作用,不然你应该能发现那么多种注释没什么用并且分号作为单行分句符并不需要行尾强制

能自主实现编程语言是非常牛逼的大牛,我表示很崇拜。。。但是大牛玩玩具也只是玩具,变不成宝剑
2017-11-10 17:15:36 +08:00
回复了 yxin108 创建的主题 问与答 [爱奇艺] 招聘 C++开发工程师!
我想想,OC==C 艹是啥时候的事?我咋想不起来
pyqt 不懂
但 qtc++里 QImage::Format_Mono 和 QImage::Format_MonoLSB 可定义以 bit 表示 pixel 的图像
应该可以直接将原始数据流转成 QImage 然后显示
参考文档 http://doc.qt.io/qt-5/qimage.html#Format-enum

另外 50fps 帧率很高了,可能会考虑上 opengl,在 qt 里用它自己封装的 opengl 类不复杂,但 pyqt 可能编译的时候没有带 opengl 模块,这个自己斟酌吧
2017-10-31 13:54:15 +08:00
回复了 waitmoonman 创建的主题 PHP PHP 把源文件加密到 BMP 位图
你这个做法,rgb565 的 bmp 和 rgba 的 bmp 都不适用的,另外宽度不对齐到 4 的 24 位 bmp 有额外的字节可以用

都是基本操作没啥特别的
2017-10-25 15:41:46 +08:00
回复了 Warder 创建的主题 Windows vs 中设置了调试程序为 regsvr32,如何以 admin 方式启动它?
@Warder 标准方法应该就这样的,如果程序 manifest 要 uac,调试运行也会弹窗提示你用管理员重启 vs
2017-10-25 15:33:12 +08:00
回复了 Warder 创建的主题 Windows vs 中设置了调试程序为 regsvr32,如何以 admin 方式启动它?
用管理员启动 vs
2017-10-25 15:25:42 +08:00
回复了 LeanCloud 创建的主题 推广 # 如何一句话惹毛程序员?# 留言领取关爱程序员 T 恤
我觉得最 tm 不能忍的是

这些新功能都不用做的,你搞他干嘛,赶快删了,用回原来那个,回滚一下很快吧,今天能不能行?
1 ... 138  139  140  141  142  143  144  145  146  147 ... 149  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2620 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 51ms · UTC 10:46 · PVG 18:46 · LAX 02:46 · JFK 05:46
Developed with CodeLauncher
♥ Do have faith in what you're doing.