V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  DOLLOR  ›  全部回复第 10 页 / 共 151 页
回复总数  3015
1 ... 6  7  8  9  10  11  12  13  14  15 ... 151  
@cz5424
application programming interface 是一种输入输出规范,定义了甲方向乙方发起调用( call )或请求( request )的时候,甲方需要提供什么样格式的数据,乙方又需要返回( return )或响应( response )什么样格式的数据。
108 天前
回复了 iorilu 创建的主题 Rust rust 用来开发一些命令行程序是不是神器
@charlie21

Dart SDK 本身就可以开发命令行程序,比如简单的 HTTP 服务器,不需要 flutter SDK 之类。
然后给你的编辑器(比如 vscode )装个语言扩展。

纯 Dart 语言开发照着官网教程就可以
https://dart.dev/language
https://dart.dev/resources/dart-cheatsheet
Dart SDK 相关
https://dart.dev/get-dart/archive
https://dart.dev/tools/dart-compile
109 天前
回复了 iorilu 创建的主题 Rust rust 用来开发一些命令行程序是不是神器
我推荐 dart ,也可以像 go 一样编译成一个几 MB 的可执行程序。(似乎 Google 家的东西都喜欢这样?)
而且 dart 语法基本跟 js 、java 大同小异,容易入手。
看过小日子的科普,日语就是这样的,书写具有不稳定性,没有很严格的规则,全部取决于作者心情。
上一句明明写成「二人」,下一句又变成「ふたり」了。
上一句明明写成「出会う」,下一句又变成「出逢う」了。
110 天前
回复了 RiverRay 创建的主题 Node.js 还有多少前端搞不懂 package 的版本号规则...
@LandCruiser
程序员严重过剩了,v2 上只要是询问转行当程序员的,我都是一刀切反对。
@CodeCodeStudy
Double x = null 恰好体现了 java 一个天坑,没有 null safety 。

null 居然可以赋值给任意类型,方法的参数总要不厌其烦地判断 if (obj != null)。
特别的是那个 Boolean 类型,相当于有了 null/true/false 三个值,也得先判断是否为 null 才能在判断 true/false 值。这在别的编程语言看来,都是很荒唐的现象。
@CodeCodeStudy
你说说哪些编程语言是能够通过 type 来区分 NaN 的?
反正 java 和 python 都不行,都需要专门的 isNaN 来判断。

// java
double x = Double.NaN;
System.out.println(x == Double.NaN); // false
System.out.println(Double.isNaN(x)); // true

# python
import math
x: float = float('nan')
y: float = float('nan')
print(x == y) # False
print(math.isnan(x)) # True

你也认为这是 java 和 python 的“坑”吗?
不要用时间戳,可以用 symbol 来标记状态。Symbol()创建的每个 symbol 都是唯一的。
@yolee599
如果你说的 Java 的 var 和 C++的 auto ,它们都不是“通用类型”。
那只代表类型自动推导,开启 inlay hints ,或者把鼠标 hover 上去,就能看到真实的类型。
如果你只是嫌弃“分号表示 ing”,可以考虑转自然码。
自然码跟微软只有很小的区别,几分钟就能转换。
我写 Python 都会写 type hints ,写 JS 都会写 jsdoc 。
有的人嫌弃写 type 浪费时间,我觉得不然。写 type 能让编辑器自动提示对象里的成员,反而更能节约调试时间。
以前写 JS 的时候,最烦的事情,比如对象成员的字段名拼写错误,或者调用 async 函数忘记 await ,写一段代码,还要花同等的时间来调试。后来坚持写 TS/JSDOC ,代码跑起来经常都是一次通过,效率高多了。
111 天前
回复了 RiverRay 创建的主题 分享发现 我擦,原来 QWERTY 键盘如此会营销…
@furlxy “降低打字速度”、“减少冲突”的说法其实也是谣言。
现在大家吵的“跨域”,其实有两件事。

一是写代码期间,为了让前端程序员能调取任意地址(比如生产机、测试机,甚至隔壁后端同事的电脑)的数据,利用本机的 vite 服务劫持,欺骗了浏览器,实现了类似“跨域”的效果。
这其实不是真正的“跨域”,只是方便写代码,临时开后门而已。

二是代码部署到生产服务器上后,因为某些原因(比如动静分离),前端的代码和后端的代码不在同一个“域”,浏览器就默认你们不是一家人,拦截了请求结果。这时就需要后端配置 HTTP 响应头,告知你们是一家的,让浏览器网开一面。

第一种开后门的“跨域”全程只需前端自己解决,但这只是写代码期间的临时开后门行为,并不是真的解决跨域问题。
而第二种才是真正的跨域,只有后端、运维才能解决的,跟前端没有任何关系。

但某些水平不足的后端混淆了两种“跨域”,遇到同事要求配置 HTTP 响应头的时候,他们百度一下看到了第一种,把开发期间的 hack 当成“解决方案”,反问“你们前端不是可以自己解决吗?”,就把工作甩给前端,自己撒手不管,反倒还说别人是水货了。
@shadowyue
跨域请求,后端是有日志的。
而且如果是 GET 请求,在后端看来,甚至是一次成功的请求,它感知不到自己返回的结果被浏览器拦截了。

我们看到的“Access to fetch at 'xxxx' from origin 'xxxx' has been blocked by CORS policy”异常,是发生在接受返回值的阶段,而不是发请求的阶段:
JS——>浏览器——>服务器——>浏览器— ⛔—>JS
vite 里的“代理”,是给 coding 时候用的,又不是给你打包上生产的时候用的。
你打包之后,它肯定管不了你配置的那些东西了。
113 天前
回复了 hansam47 创建的主题 程序员 数字区的`()=`符号输入速度
输入 [0] [9] 的时候,右手食指保持在 J 位置悬空或者轻触,然后伸出小指、无名指去按 [0] [9] 键。
输入 [-] [=] 的时候,右手小指试探退格键右侧边缘,用食指和中指按 [-] [=] 键。
这事儿我有点不理解,浏览器底层自己收集数据发给 google 自己服务器不就好了,为什么还要拐弯抹角给自家网站开个白名单,暴露 JS 接口,然后用 JS 来收集呢?🤣
“程序员向机器传递需求的环节”
“严谨准确的描述问题的能力”
——这不就是程序员用编程语言来编写程序吗?你这不是在把我的观点再复述一遍吗?
1 ... 6  7  8  9  10  11  12  13  14  15 ... 151  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1518 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 51ms · UTC 23:58 · PVG 07:58 · LAX 16:58 · JFK 19:58
Developed with CodeLauncher
♥ Do have faith in what you're doing.