写作绅士,读作丧尸 X岛揭示板
 首页版规 |用户系统 |移动客户端下载 | 丧尸路标 | | 常用图串及路标 | 请关注 公众号:【矛盾苇草】| 人,是会思考的芦苇
常用串:·豆知识·跑团板聊天室·公告汇总串·X岛路标

[只看PO]No.63704741 - 计算机答题串 - 社畜



考试、升学、学业咨询、工作、投资、车房、养老、相亲 相关,请遵守>>No.50000001【全岛总版规】
养娃、带小孩相关请到育儿版,学习类打卡请到学业打卡
在匿名版张贴真实信息时请谨慎考虑,本站不对个人信息泄露引起的后果负责
投资风险与回报对等,请谨慎选择高回报率投资方式。

计算机答题串 无名氏 2024-09-08(日)13:12:19 ID:6S0Btd7 [举报] [订阅] [返回主串] No.63704741 [回应] 管理
po近期处于待业期,没什么固定的项目做,希望能够在答疑的过程强迫自己学习新的知识。
欢迎各位提问,也欢迎肥哥参与答疑串。

----------告示----------
答疑的效率不高,所以希望肥哥别问需要很强的及时性的问题。
例如:
>xxx题用什么算法解决。
>我这里有个报错,如何解决。
这类的问题,没有测试环境很难解答,这也是为什么本串放在了老中医而不是代码串。

本串主要用于解答相对抽象的概念,或者对计算机的“质疑”与“好奇”。
例如:
>为什么计算机使用的是二进制而不是三进制,分明三进制的单位信息存储量更大。
>如何看待AI发展对计算机行业的冲击,未来就业会更困难吗?
po会尽量去吸取相关的知识,汇总后进行分析解答。
提出问题过一段时间来收获结果就好。

----------叠甲----------
人无完人,观点与知识也不尽然,po会尽量保证结论的可信度与逻辑性,若出现疏漏欢迎肥哥指正,望海涵。
无标题 无名氏 2024-09-09(一)11:26:08 ID:6S0Btd7 (PO主) [举报] No.63714627 管理
>>No.63714483
nginx还有进行静态文件缓存,访问控制,路由优化等等很多方面的特性,可以降低服务器压力,优化访问体验。
nginx在一定程度上可以作为路由访问的日志中心,用来排除报错情况也是很好用的。
反向代理与负责均衡只是其功能的一部分,不使用这部分不代表就不需要使用nginx了。
并且现在的开发实践以模块化的趋势为主,在这种场景下,中间件可以作为优质的转发工具,避免了直接访问的情况,所以基本都在使用。
无标题 无名氏 2024-09-09(一)11:33:11 ID:6S0Btd7 (PO主) [举报] No.63714722 管理
>>No.63714492
( ´_ゝ`)
说的稍微直接一点,个人不是很推荐继续深耕大数据领域。
近些年会发现大数据这个词越提越少了,因为实践发现,我们目前达不到“大数据”需要的数据量,所以大数据处理的需求就没那么直接了,岗位也在减少。

至于就业。
po认为即将毕业的学生还是要想清楚“自己想要什么”。

对于学计算机的学生,最重要的是知道自己是否想做强代码相关的工作,自己想做什么类型的工作。
只有选好了目标再去学习,才能有动力且高效。
这部分推荐自己进行行业调研,不要怕消耗时间,磨刀不误砍柴工,了解了行业需求,自己才能针对性提高,在调研过程中也是在理解行业与提高自己。(ゝ∀・)
无标题 无名氏 2024-09-09(一)11:45:53 ID:6S0Btd7 (PO主) [举报] No.63714840 管理
>>No.63714722
没有提供很直接的就业建议是因为大家领域不同,内容差异较大,这个哪怕po去调研,对双方的意义都不是很大,不如肥哥亲力亲为,不是在敷衍,肥哥希望能理解|д` )
无标题 无名氏 2024-09-09(一)12:05:39 ID:6S0Btd7 (PO主) [举报] No.63715053 管理
>>No.63714562
你都叫好popo了,那不得不回答了!(σ゚д゚)σ
但是只能闲聊几句,毕竟操作系统不是两句话说得完的。
我对移动端没什么研究,所以就不聊移动类的了。
最常见的操作系统是windows系和linux系的,可以去学习一下操作系统的发展历史,还蛮有趣的。
po大学时曾经跟着《一百天写一个操作系统》实践过一次,如果有精力的话,这本书是不错的操作系统理解用书籍,毕竟实践出真知。

>下面想到什么聊什么,尽量是入门知识,方便肥哥理解什么是操作系统
操作系统实际上就是硬件与软件的“中间件”,通过将硬件调用的细节抽象化来降低用户的使用成本。
我们熟悉的很多词汇都是由这个思路而来的,例如:内存、文件系统、设备管理、网络。
它们都是操作系统帮我们抽象简化之后的硬件系统。

linux系统的设计理念是“一切皆文件”,将所有的东西都抽象为或视为一个文件,从而简化系统编排与管理,提高系统的一致性与可预测性,这种方式令linux的访问简易性更强,也就是为什么linux更多使用命令行,因为调用轻松,编程模型简单。
windows系统的设计理念更像是“面向对象编程”,给用户提供一个又一个单独的小模块,再提供功能,结果就是我们看到的windows在图形用户界面(GUI)方向的快速发展,这也是windows的主要优势,即易用性。
这两者没有对错之分,优势区间与设计理念不同。

linux系统是开源的,而windows系统是闭源的
PS:虽然计算机开源精神我们很欢迎,但是开源精神也荼毒了不少软件,是一个有趣的观点,有兴趣的肥哥可以去看看开源协议的发展与不同协议的要求。

相对linux而言,windows是庞杂的,因为linux更希望提供给用户一个简单的系统,用户在之上进行拓展,进而得到自己想要的功能。
而windows希望能够提供足够完善的功能,在用户需要的时候进行调用,所以windows会有更多的冗余。
PS:linux用户也有想要完整功能的,所以linux有众多的分支系统。

由于windows庞杂与闭源的特性,windows的安全性问题要远超于linux,并且windows的运行效率要低于linux,这就是为什么在服务器中我们更多的使用的是linux系统而不是windows系统。

系统设计时还是有很多设计者的巧思在,进行系统的逻辑分析还是蛮有趣的。

先写到这,肥哥有什么好奇的可以再问。
今天上午就到这里了,午饭肥力测试!
无标题 无名氏 2024-09-09(一)12:10:34 ID:6S0Btd7 (PO主) [举报] No.63715097 管理
才发现串首的计算机答疑串写成计算机答题串了,我的答疑串・゚( ノд`゚)
无标题 无名氏 2024-09-10(二)00:14:52 ID:6S0Btd7 (PO主) [举报] No.63723095 管理
>>No.63708522
抱歉肥哥,这个问题我这里没能力“解释”。(;´Д`)
今天看了一些相关的paper,但是由于没有实践测试过,我只能“理解”相关概念与实现原理,无法解决你的疑问。

po接触AI主要还是数据方向,实现逻辑涉猎不深。
只能交给看到这个串的其他肥哥了(;´Д`)7
无标题 无名氏 2024-09-10(二)00:29:36 ID:6S0Btd7 (PO主) [举报] No.63723253 管理
>>No.63717278
肥哥聊聊人与AI的差异。
我这里聊一下AI在工程实践中能够起到的作用与问题吧。(ゝ∀・)

po本身是做安全方向工作的,以我较为熟悉的领域举例。
在生产实践中,我们是很推荐工程师使用AI作为“编程辅助”的,AI可以帮你实现简单逻辑,而后修改添加入代码,AI也可以帮你对刚刚完成的代码进行安全性校验。
AI也可以帮你分析需求逻辑。
但是AI“只能做到这些最基础的工作”。

它目前没有决策能力,只能提供建议。
并且AI的理解能力是不满足大规模项目需求的,我们需要有人“理解”这个项目,以便于后期在出现问题时能够及时改正保证业务的稳定性,也需要人能够理解与修改项目。
AI还没发展到能够完全信任与托付的阶段。(PS:这个也很难,毕竟正如肥哥说的,AI不能担责任与扯皮。)

但是与此同时,AI确实可以提高我们的生产力与生产效率,减少我们对基础工作的投入时间。
管理者—工程师—AI
这样的未来是可见的。
生产力大幅提高的情况下,岗位就会有相应的缩减,并且人员能力也需要提高。

与其担心AI不可阻挡的发展,不如提高自己,当有一门技术精通时,哪怕这门技术被AI完全替代,你也已经是有足够学习能力为自己谋划未来的人了。(〃∀〃)
无标题 无名氏 2024-09-10(二)17:25:33 ID:6S0Btd7 (PO主) [举报] No.63729647 管理
>>No.63728917
个人用内网安全的话最重要的就是访问限制,其他方式的投入成本就比较高。

建议使用VP—N做访问限制,账号密码的复杂度够高,VP—N定期升级,基本就没什么问题。
这种是访问IP不固定的情况下,比较麻烦。

若远程访问IP固定也可以直接使用IP白名单。
例如只在公司于家庭内部使用,进行白名单控制即可。
国内的话也可以进行区域白名单,只给特定的网段,这样访问的自由度较高。
优点是使用无感,缺点是有一点点安全风险,至于是否有这个价值,就看肥哥对自己信息价值的评价了。
PS:物联网部分是有摄像头的,建议还是限制级别高一些。

至于应用安全性等方向,安全成本过高,不建议个人用户去考虑这方面的问题。
只用UDP的话也可以做一些端口访问限制(ACL),或者进行端口映射,降低发现率。
有具体需求也可以追加问问( ´∀`)
无标题 无名氏 2024-09-10(二)21:40:36 ID:6S0Btd7 (PO主) [举报] No.63731875 管理
>>No.63730503
拿不到公网地址确实需要转发,我这边之前使用的是多级代理+隧道+网络隔离的策略。
原因是自己服务器存的数据比较敏感。
N2N+内网跳板+验证代理。
肥哥也可以考虑简单搭一个socket5隧道之类的用反向连接实现,家里服务器进行对外访问限制,之后安全措施在跳板服务器搭建,出现问题服务器关了再排查也方便。
无标题 无名氏 2024-09-10(二)21:41:26 ID:6S0Btd7 (PO主) [举报] No.63731885 管理
今天状态不太行,鸽一天,有问题会迟一天回复|-` )
无标题 无名氏 2024-09-11(三)12:32:02 ID:6S0Btd7 (PO主) [举报] No.63737022 管理
>>No.63735457
现在ipv6好像也不好要,之前朋友试过没拿到,能拿到的话就可以直接访问了,确实省去了麻烦,IPV6的扫描访问也不多。
域名的话国内域名都需要先备案才能去申请解析,国内拿到域名的意思就是解析备案完成了。
带宽就一个人用的话带宽等几乎没有要求,买最低配的服务器就好,我白嫖的朋友在校学生优惠,一年不到三位数,成本不高。
( ´∀`)
无标题 无名氏 2024-09-14(六)01:56:52 ID:6S0Btd7 (PO主) [举报] No.63765702 管理
这几天出门没时间回复,明天都回一下,抱歉(*´∀`)
无标题 无名氏 2024-09-14(六)13:06:25 ID:6S0Btd7 (PO主) [举报] No.63769478 管理
>>No.63729936
经典的图论的可达性问题。

在代码实践中,我们需要先定义四种箱子的类型,即翻译成“被检测到为下一个时的状态”。
例如:
栅栏:如果是下一个则停止移动。
冰面:如果是下一个,则需要滑行直至遇到箱子/栅栏/边界。

而后建立模型,进行连通性检测。(深度优先广度优先都可以)
这样就解决了问题1。

而后是问题2最优策略。
这个就和图的形状有关了,每种策略适合的情景不一样。

肥哥这里是答疑串,具体算法实现我就不举例了,串首是我写错了(*´д`)
无标题 无名氏 2024-09-14(六)13:15:37 ID:6S0Btd7 (PO主) [举报] No.63769569 管理
>>No.63744820
流程我在用gitlab,方便部署和加流程。
开发个人使用idea比较多,因为我经常得做多语言环境的代码分析,不运行情况下作为文本阅读器还是不错的。

家里服务器比较大可以用vm vsphere做虚拟化管理,不多的话docker或者k8s这种的也很方便。

这种和开发场景有关,并不通用。
我工作里面还经常用vi和vim改代码,不具有参考性(*´д`)
无标题 无名氏 2024-09-14(六)13:38:04 ID:6S0Btd7 (PO主) [举报] No.63769800 管理
>>No.63756747
你得先搞清楚计算机网络的理念你晓得伐(范志毅音)

还是不泛讲了,计网这样聊名词太多也不好听懂。|-` )
聊一下在计网中需要重点关注的东西,方便你学习。
PS:这些是我认为重要的东西,欢迎肥哥补充。

>不要轻视计算机网络的发展史,认真听认真看
计算机网络是由小到大推广开的,小规模的网络在生产实践中也有使用场景,了解计算机网络的历史,才能知道计算机网络是如何“搭建与探索”的。

>网络的结构决定了它的特性
如何实现“万物互联”,网络的连通访问,信息的传输。
在学习时可以思考一下网络的整体结构,与信息传送时是以什么形式发送的,有整体观念会便于后续的细节理解。

>协议是网络的具体实现
学习计算机网络,最后还是会落到协议上,那么协议具体是处于哪个部分,是用于处理哪些问题,在有了整体概念之后就很好解决了( ´∀`)
协议大多数时候是为了认证与效率这两件事存在的,同类型的不同协议也是在这种地方做了差异化,按需学习即可。
有能力的话推荐深度分析一两种协议的实现,难度不高,但是有助于学习理解。
(可以不分析偏向与目的,看看参数与交换包情况与认证情况之类的,这就看学习深度需求了。)

po之前工作需求做过一些域内的票据协议的深入分析,还蛮有趣的(〃∀〃)
无标题 无名氏 2024-09-14(六)13:51:44 ID:6S0Btd7 (PO主) [举报] No.63769952 管理
>>No.63757005
肥哥,跨方向的岗位指点不可信——

不过我可以给你一些我自己的选择分析思路参考,希望肥哥能够找到适合自己的方向。

通常我会将现有岗位分为四种类型,以其主要代表的工作属性进行划分,再深度就是工作内容了,完全是喜好领域。
分为销售,管理,工程,科研。
po做过工程,科研,管理,这三类岗位。
PS:虽然都不长,但是都接触与实践过。

本来想挨个说说特性,但是肥哥一眼名字也就知道了。
它们就好像在一条线上,左边是与人接触,右边是与项目接触,肥哥可以先根据自己的性格偏向,选择属舒适的岗位类别,而后再确认这类岗位通常有哪些可选内容,最终进行选择。

po是那种性子散漫的人,所以最终还是没安分下去主动辞职了,让一个不喜欢工作的人推荐工作,很困难(*´д`)
无标题 无名氏 2024-09-14(六)15:59:38 ID:6S0Btd7 (PO主) [举报] No.63771247 管理
>>No.63770573
好popo听到了你的呼唤并予以回复,po门。
首先可以参考一下我前面写的这个回复中对于“面向过程”与“面向对象”的区别定义>>No.63714490
肥哥的思维还是局限在面向过程的范围中,所以当你需要搭建一个东西的时候,会首先想到需要怎样从零去搭建这样一个产品。
但是在面向对象的思维中,你的第一反应应当是我需要这样一个东西。
来举个例子,就用你说的窗口框体举例。(我没写过只是随便举例思想,实现与拆解不一定准确。)

>首先,你需要一个框体,那么我们创建一个框体类。
框体类里面需要什么东西呢?
我们要装进去十个小框框。
先定义一个小框类,然后放到框体类里面。(PS:这里可能就需要你的数组能力,因为数组让这十个框互相有了联系,而不是十个独立的框。)
那么这个框体类现在的内容就是十个小框。

>接下来我又想要小框有功能了
这样就需要对小框类进行具体的功能实现。
可以选择抽象小框的共性:比如他们都是小框。
而后对每个不一样的小框进行具体的实现,塞进去具体的功能。(PS:这里就需要你拥有字典,调用等等多方面的能力了,具体的最小逻辑的实现就是“面向过程”的,这也是为什么这些语言比面向过程语言高级,因为他们更好理解,逻辑层级更高。)

>小框都实现完成了,我需要大框
假设我们只需要一个大框,那现在对这个大框类进行调用与实现。
一个大框加十个小框框的场景我们就解决了。

要理解所谓的“高级”,并不是语言更高级了,而是你的思维角度更高了。
你不需要考虑底层实现,要考虑项目需求。(PS:这里的意思不是说不去实现,而是实现相对低级,不是一开始要考虑的。)
举个不恰当的例子:高级语言就像画图纸,是一个确定项目需求与拆分需求的过程,低级语言是实际板砖实现的人。
当了解了这一点再去学习所谓的特性等技术时,思考角度便从“这个特性有什么用”变成了“我在什么时候需要用到这个特性”,也就是你的思维更加高级了。
别人写好的库只是写好了过程等待你去调用。
这就是我理解的“面向对象的思维”,但是很多地方都没有讲清楚,我也不确定我是否讲清楚了,肥哥觉得不清楚还可以追问,我再尽量明晰一下。

编程语言只是实现功能的工具,而不是功能本身,特性亦然。
(PS:以上提到的的高级与低级无歧视意味,只是进行类别区分。)
(*´∀`)
无标题 无名氏 2024-09-14(六)18:27:17 ID:6S0Btd7 (PO主) [举报] No.63772736 管理
>>No.63771802
只是说最本质的东西倒也没错,但是太模糊了。
python作为解释性语言,它的设计目的是使编程易于学习与使用,所以它会尽量去减少“非必要的”编程能力的输入,希望你能够学最少的东西干最多的事情。
(关于什么是解释性语言,肥哥想深入学python可以去了解一下。)
C++如其名,它想保持C语言的高可用和高效性,希望能够更加接近硬件结构,可读性之类的就不在第一位,会发现编写的难度较高,通常追求效率的地方会用C++编写。
JAVA是追求跨平台与安全性的产物,丰富的特性决定了它有更好的复用性与安全性,企业开发用的比较多,但是江湖人称“裹脚布”,用起来是又臭又长,个人觉得写着很折磨。

总来说“高级编程语言”只是一个大类,它们生存至今还是有自己独特的受众与设计目的,了解这些有助于区分语言与实际项目中进行语言选型。

(PS:实际还区分纯面向对象设计语言与部分面向对象设计语言,这个就肥哥接触到再去了解吧。)

肥哥也不要心急一开始就搞完全懂,可以尝试写两个小型的完整项目或者下载别人的项目,参考一下代码结构,思考架构设计原因与分类原因,这样就能逐渐提高理解深度了,循序渐进(=゚ω゚)=
无标题 无名氏 2024-09-18(三)14:16:16 ID:6S0Btd7 (PO主) [举报] No.63812648 管理
>>No.63790963
这种可能是检索时出现重名之类的问题,可能出现问题的地方很多,po这里也解决不了,可以直接发在相关板块问问肥哥( ;゚д゚)

UP主: