V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  stach  ›  全部回复第 3 页 / 共 4 页
回复总数  80
1  2  3  4  
2021-08-24 11:12:23 +08:00
回复了 SystemLight 创建的主题 Python 有没有人觉得 Python Flask 写后端很难用?
楼主的焦点更多的是 python 是一门 `动态` 语言, 如果要解决这个问题, 考虑 `静态` 语言会更好, 比如 Go 就很不错.

另外, Flask 写后端是体验是非常好的, 觉得复杂的话, 可以不用 sqlalchemy, 直接用 PyMysql.
我个人使用 Flask 本身的组件就很少, 主要是冲着 Python 这个语言优势去的, 再配上 gevent, 性能也够用.
写过的业务也非常复杂, 可读性非常好, 如果用 Go 写就差一点了.

个人认为, Flask 的优势在于它简单, 其实, 你可以改造成你想要的样子, 你习惯的姿势, 而改造没有啥成本.
我可以像写 Go 后端 connection-per-goroutine 这样写 Python 后端 connection-per-gevent.
这个 Tornado, Django 对于我个人而言就是难用.

人生苦短, Python 真的不错, Flask 只是个工具.
- 1. 不要用 tornado, 你显然搞不定
- 2. 百度一下怎么用 gevent monkey patch flask
- 3. 最好用 gunicorn 部署 flask
js python php 这一类语言比较符合楼主的需求, go 一般都是做纯 api 的服务.
2021-06-28 16:47:48 +08:00
回复了 wowbaby 创建的主题 Go 编程语言 都说 go 挺好使的,准备用 go 写几个接口
- go 的语法确实没有什么亮点, 甚至是糟糕, 写业务不比 python, php, java 等语言有优势.
- go 的优势在于 `协程` 做的好, 标准库完善, 且性能好, 因此, 菜鸟写出来的代码性能也不会太差.
- go 的出发点是替代 c++, 针对性解决了 c++ 的痛点, 例如编译速度, 语法指针过于复杂, 等等.

没有完美的语言, 我个人常用 python, go 两种语言.
2021-06-23 17:20:16 +08:00
回复了 Elliota 创建的主题 程序员 大家在 Python 下都用什么 MySQL 客户端库?
pymysql 连接池
2021-03-08 17:10:48 +08:00
回复了 nagatoism 创建的主题 程序员 用 redis 做分布式锁这种骚操作是怎么流行起来的?
请教一下楼主:

1. ZK 或者 ETCD 为什么是设计来做分布式锁的, Redis 哪里不合适 ?

2. 基于 Redis 实现分布式锁, 各个语言都有实现的开源库, 可以直接用, 官网都有链接.
你为啥还看一堆垃圾文章, 手撸轮子呢 ?

3. 楼主所谓的 "大量的垃圾技术文章", "中文技术社区真是垃圾堆" 是不是因为你英语不及格 ?

如有冒犯, 请楼主 diss 回来
2021-01-21 10:47:59 +08:00
回复了 qtoq126 创建的主题 程序员 独立开发 iOS App,后端用什么语言写合适?
Ruby 国内用的少, 不考虑;
C# 是 Windows 家的, 你用 mac 开发就不考虑了;
Go 和 Python 完全符合你的需求;
Python 比 Go 更合适.


Go 比较适合做分布式项目, 高并发的项目, 基础架构等
Python 适合快速迭代的项目, 快速验证想法, 对于 Web api 这种 io 密集型业务, 性能影响不大.
一个人开发, 还是 Python 更舒服, 包袱最少.
如果选择 Python, 推荐使用 Flask 框架, 部署采用 Gunicorn gevent 部署.
如果选择 Go, 推荐使用 Gin 框架, 部署无需其他工具.


建议你可以写一个 hello world, 再考虑自己真的想用哪种语言, 以上只是建议.
不管是实习生, 还是资深工程师代, 码逻辑清晰是业务系统最关键的地方. 当然楼主可以优化代码组织方式, 封装一下, 我相信改起来没有任何压力 (这代码蛮清晰的嘛, 没有暗坑).

不过要提醒的是, 楼主也不要过度封装, 没有哪种模式是普适的, 过度封装的副作用更大.
2020-09-03 00:43:16 +08:00
回复了 cavendish0 创建的主题 程序员 Websocket 报错 1002 有大佬遇到过吗?
@cavendish0
从服务端的日志来看, 无疑是服务端报错了, 才导致的主动关闭连接。
(和心跳包没有关系, 虽然这个空包很诡异)

1. 让服务端排查一下网关,比如 Nginx, 看看 websocket 配置的 proxy_read_timeout 是多少秒, 网络差的情况下是否会超时, 从而导致上述问题

2. 让服务端发一下 onError,onClose,两个方法的代码截图, 排查一下是否有 Bug
(这两个方法,不会涉及什么公司机密)

3. 如果还是没有解决, 让服务端排查一下 websocket 授权的 session 管理是否出错, 导致用户新建连接和老连接的切换出错, 导致反复重连

PS:
猜测最可能是第 1 点问题, 可以依次排查, 你只要配合就好了。
2020-09-02 14:20:08 +08:00
回复了 cavendish0 创建的主题 程序员 Websocket 报错 1002 有大佬遇到过吗?
@cavendish0 目前的过程大致是:
- 1. websocket 连接建立成功了
- 2. 服务端在成功后, 马上给客户端发送了一个`文本报文`的空包
- 3. 客户端收到空包, 没有做任何响应
- 4. 服务端可能认定客户端异常, 主动发送`close`包, 表示断开 websocket 连接

因此分析一下:
- 服务端的问题:
- 确认一下 2 中的空包, 是否有给到协议文档. 比如, 服务端将该空包定义为 "心跳包", 需要客户端回应一个 "心跳包"
- 客户端的问题:
- 如果确实服务端有要求需要响应`空包`, 如何响应, 符合服务端的要求(极有可能也是一个空包)
- 如果服务端没有给协议, 回应"心跳包"也还是有报错, 试试其他第三方的 websocket 服务, 确保客户端代码是 OK 的, 然后将 bug 反馈给你的客户.
2020-09-02 11:37:06 +08:00
回复了 cavendish0 创建的主题 程序员 Websocket 报错 1002 有大佬遇到过吗?
看看抓包截图里面, 第一个 websocket 报文是什么
2020-08-04 10:36:30 +08:00
回复了 zzhpeng 创建的主题 MySQL 大佬们求救,慢 SQL 问题
倒数第三的 sql 完整语句是什么?
MySQL 是否有定时高频执行的存储过程, 以及是否有定时高频访问 mysql 的脚本?
2020-06-11 12:00:36 +08:00
回复了 gaigechunfeng 创建的主题 程序员 怒发一贴: go web 框架选哪个
go 不适合做 web
2018-12-21 14:55:34 +08:00
回复了 kindjeff 创建的主题 全球工单系统 QQ 授权登录,你们的证书过期了
目测, 已经恢复正常了
2018-12-03 17:44:52 +08:00
回复了 Phoa 创建的主题 生活 19 届毕业生,对未来的生活感到有些迷茫
几个可能的场景:
1, 女友也去一线城市
2, 你在一线城市奋斗, 她在老家带娃 (先领证结婚)
3, 分手
以上, 全凭楼主选择和本事了.
2018-11-22 13:38:38 +08:00
回复了 vvvvvicky 创建的主题 随想 下个月就满 29 了,还是一个人,焦虑......
不是打击你, 29 了, 留给你的男生不多了.
这个年纪, 你不主动, 别人也不一定想追你; 你没有时间谈恋爱, 想追你也没有机会.
所以, 你要主动些, 可以通过各种途径认识人.
微信聊天诚心点, 约出来吃饭给点面子, 多花点时间, 工作可以先排第二.
行动起来吧, 妹子加油!
2018-11-22 10:40:03 +08:00
回复了 vvvvvicky 创建的主题 随想 下个月就满 29 了,还是一个人,焦虑......
听我一句, 缘分是等不到的, 焦虑也是没有用的.
无论何种渠道, 找亲戚朋友介绍, 多出去社交活动, 留心留意, 适当主动.
碰到合适的, 互相看对眼, 这个事情就很快了.
(在你看对眼之前, 还会碰到很多看不上的, 或者看不上你的, 所以要趁早行动, 我们都是找对象, 不是等对象哦)
1  2  3  4  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5104 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 45ms · UTC 03:56 · PVG 11:56 · LAX 19:56 · JFK 22:56
Developed with CodeLauncher
♥ Do have faith in what you're doing.