V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  lihongjie0209  ›  全部回复第 57 页 / 共 78 页
回复总数  1543
1 ... 53  54  55  56  57  58  59  60  61  62 ... 78  
2018-09-25 15:38:55 +08:00
回复了 skinny 创建的主题 Python Python 内存占用也太大了。
@skinny 所以我说给一份测试数据然后大家自己跑一跑, 一直在这里说最后还有人怀疑你硬件有问题呢
2018-09-25 11:17:20 +08:00
回复了 skinny 创建的主题 Python Python 内存占用也太大了。
要不这样, 你发一个测试文件出来, 大家一起用 python 标准库写一遍, 看看能不能在你的硬件条件下实现你的需求, 光说不做测试没意义
2018-09-25 11:07:07 +08:00
回复了 skinny 创建的主题 Python Python 内存占用也太大了。
sqlite 不需要安装吧, 可以试一下
2018-09-25 09:02:38 +08:00
回复了 rizon 创建的主题 程序员 想要买个迷你主机/服务器求推荐
树莓派集群了解一下
2018-09-23 22:24:03 +08:00
回复了 Hypixel 创建的主题 程序员 如何静默升级 Windows 10 ?
你以为升级 linux 呢?
2018-09-23 10:46:19 +08:00
回复了 kaoneiliusi 创建的主题 Python 如果能解决这种等级的问题,在码农里大概是个啥水平?
在文件系统中找出大文件是一件非常耗时的事情,当 inodes 数很大时尤甚。

好在 ncdu 高效地完成了扫描文件系统各文件、目录占用的工作,但是要达到我们的目标——直接将大文件展示出来,还需要做一些额外工作。



题目中要求的关键是展示!!!

文件系统遍历是 ncdu 帮你做的, 文件系统的扫描结果也是 ncdu 帮你定好了, 按照一个传统的三层架构来说,

presentation layer (你的任务)
service layer(ncdu)
dao layer(ncdu 导出的 json)

你的任务就是写一个展示层把 ncdu 的导出的 json 文件展示一下好了.




题目的关键: 但是要达到我们的目标——直接将大文件展示出来

这里我们可以做一些合理的推论, 要展示的不只是大文件, 还有大文件夹, 毕竟这个也是一个合理的需求.

那么你的程序在设计的时候主要的功能应该是大文件 /文件夹排序, 比如说展示 top10 的大文件 /大文件夹


其他可以想到需要优化的地方:

1. 缓存, 每次扫描整个文件系统其实还是很耗时的, 如果说你的文件系统在一定时间范围内是稳定的, 那么可以加一个缓存, 这样别人在基于你的命令开发的时候会感谢你, 不然调试一个 grep, awk 都需要几秒钟那就太痛苦了.
2. 导出你的结果, 类似于 ncdu 一样的提供一个 json 导出
3. 执行性能, 这个东西需要看使用场景才能优化, 没有 profile 就别优化, 但是你需要在你的程序运行时写出足够的日志来帮你做 profile.




----------------------至于说什么水平--------
我是 Java 开发, 无法评价运维水平. 这道题目中涉及到的 ncdu 是我第一次接触, 花了 15 分钟看文档和下载下来跑 demo, 还得感谢题主让我了解到一个好工具.
你把系统删了, 数据库还在?
2018-09-21 11:15:57 +08:00
回复了 mytry 创建的主题 程序员 有多少人觉得 nftables 比 iptables 更好?
生产环境有什么用什么, 没得选
+------+-----------+-------+------+---------+
| id | item_name | count |amout |nickname1|
+------+-----------+-------+------+---------+
| 3 | 椰子 | 666 | 22 |越王头 |
+------+-----------+-------+------+---------+


+------+-----------+-------+------+---------+
| id | item_name | count |amout |nickname|
+------+-----------+-------+------+---------+
| 3 | 椰子 | 666 | 22 |越王头 , 其他别名 |
+------+-----------+-------+------+---------+

上述这两种方法都违反了数据库设计的第一范式, 要确保每一列都不可再分.


这么设计的可以想到的坏处
1. 单独对于别名的创建 ,更新, 删除是不可能的, 但是也需要看你们业务需求, 如果没有这种需求, 那么这条可以忽略.
2. 扩展性不好, 第一中方式如果需要添加一个新的别名需要更新表结构
3. 不好查询, 这两种方式写查询都会很别扭, 特别是第二种会有性能问题.



所以还是单独建立一个昵称表, 然后关联
2018-09-20 19:18:19 +08:00
回复了 ai0by 创建的主题 程序员 PHP /JS 如何获取客户端的 Mac 地址?
@ligthdawn 你的报文传给网关之后, 网关转发给运营商, 运营商内部再转发, 最后到服务器, 每一次转发源 MAC 地址和目的 MAC 地址都会改变, 所以哪怕能获取也获取不到
2018-09-20 13:32:45 +08:00
回复了 ai0by 创建的主题 程序员 PHP /JS 如何获取客户端的 Mac 地址?
2018-09-20 13:30:13 +08:00
回复了 ai0by 创建的主题 程序员 PHP /JS 如何获取客户端的 Mac 地址?
假如 PHP/JS 是服务端, 答案是不可能.
你需要了解一下网络的下三层是怎么传输的, MAC 地址是二层地址, 在客户端到客户的路由器, 路由器到路由器, 路由器到你们的服务器之间的每一跳都会改变, 哪怕你拦截你服务器的所有二层流量, 那么你拿到的也是把流量转发给你的路由器的 MAC, 更不用说这些高级语言无法拦截二层流量.



假如你的 JS 是跑在客户的浏览器中的, 答案是不可能.
浏览器是七层的软件, 下三层传输对于浏览器是完全透明的, 你的浏览器都不知道有 MAC 地址的存在, 更不用说提供一个 API 让你获取 MAC 地址了.


假如你的 JS 是跑在客户端的 NodeJS 中, 答案是可能的.
但是看你的提问, 你应该不想开发一个 NodeJS 软件然后给客户安装, 最后只是获取客户的 MAC 地址.
2018-09-20 13:20:07 +08:00
回复了 ai0by 创建的主题 程序员 PHP /JS 如何获取客户端的 Mac 地址?
@ligthdawn 和网关有什么关系
2018-09-20 10:19:16 +08:00
回复了 Kcelone 创建的主题 Python 将 Excel 上传网站并导入数据库,如何进行设计?
@Kcelone 在 celery 处理过程中如果需要通知前端, 那就产生一个消息放到 redis 或者消息队列中, 前端轮询就好了
2018-09-19 17:58:46 +08:00
回复了 YuuuZeee 创建的主题 程序员 大家有什么好的管理代码片段的工具嘛
npm 3 行代码也能发一个包
最简单, 你给每个 IP 使用的时候计数一下, 切换的时候检测不就好了
2018-09-15 21:58:01 +08:00
回复了 ayconanw 创建的主题 程序员 请问下大家,平时用键盘,是否能用到小键盘?
ThinkPad 不用
2018-09-15 13:20:30 +08:00
回复了 ndht97 创建的主题 Java 二级 Java 大坑
没什么卵用
2018-09-15 12:38:52 +08:00
回复了 keventseng 创建的主题 全球工单系统 饿了么挂了?请相关人员前来认领
点两下就可以了
2018-09-13 09:07:29 +08:00
回复了 pinews 创建的主题 PHP 写了多年程序,突然想知道为什么函数可以连着用啊
@vegito2002 笑看这些人
1 ... 53  54  55  56  57  58  59  60  61  62 ... 78  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2991 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 31ms · UTC 13:55 · PVG 21:55 · LAX 05:55 · JFK 08:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.