V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  JoeJoeJoe  ›  全部回复第 94 页 / 共 96 页
回复总数  1915
1 ... 86  87  88  89  90  91  92  93  94  95 ... 96  
@JoeJoeJoe #176 感谢老板
171, 谢谢老板打赏
147 天前
回复了 Livid 创建的主题 V2EX 站点状态 20250721 - Solana 原生代币 SOL 打赏
已关联, 求大佬打赏, 另外打赏别人报了一个错 https://i.imgur.com/EmLTIfN.png
1 楼正解, ps: 可以贴代码
> 简单说一下我的技术选择路径: 15 年 c++入行, 16 年转了 iOS, 一直做到 20 年, 转了 python 后端, 同时也做 Flutter, 现在正在做 Unity 游戏开发, 期间一直有做个人跟私活项目.

掌握的语言: C++, C#, JavaScript, TypeScript, Objective-C, Swift, Go, Python, Lua, Kotlin, Dart, Rust, PHP.

掌握的框架: iOS 原生相关, Android 原生相关, Vue, React, ReactNative, Weex, UmiJS, Odoo, Django, FastAPI, Unity 游戏开发, Cocos2dx, Laravel.

说下自己的感受, 到现在工作 10 年了, 算上上学时候的开发时间, 差不多 13 年了.

刚入行的时候, 学一门新语言很痛苦, 尤其是 OC 这种奇葩语言(对其他语言学习基本没啥帮助, 只有学 C#的时候稍微有点帮助), 一直到学会 Swift 之后, 再学新语言就变的很快(现代语言的概念不能说一模一样, 只能说大差不差, 除了 rust), 后面的时间大部分都花在框架的阅读学习上, 看一遍框架的公共头文件, 在脑子里留个影, 就直接上手干项目了.

开始也是不顺利, 有坑趟坑, 没坑自己挖坑趟, 磕磕绊绊的学了一堆框架跟语言(基本都是项目或者需求驱动, 自己感兴趣学的那些基本都忘得差不多了), 等趟的坑多了, 经验多了之后, 发现其实学框架跟学语言差不多, 设计思想都是有迹可循的, 差异主要在针对语言特性的实现以及语法糖的封装上. 到这里差不多应该是 2020 年左右, 工作了 5 年多了.

因为慢慢的总结出自己的方法论之后, 加上工作稳定, 业务一直在舒适区, 慢慢的有点膨胀, 敢接一些自己不了解的领域的项目了, 然后就被现实狠狠地上了一课, 这里就不细说了, 只能概括为隔行如隔山. PS: 开发出身的创业者大部分都有这么一种思想: 只要我跨行, 那么就是降维打击, 实际上各行各业都有自己的壁垒跟潜规则, 有些跟 IT 行业的兼容性强, 可以无脑梭哈, 效果也不错. 但是有些兼容性不强的行业, 不了解行业基础的情况下无脑梭哈, 只能是事倍功半.

> 语言跟框架的学习使用经验其实对一般工作的晋升没有太大的帮助(掌握基础部分以及知道高阶部分咋用就能满足 90%的工作场景 ), 但是业务经验的积累可以让自己慢慢的变成业务专家甚至是行业专家, 当然, 在开发圈子里的鄙视链中, 业务开发一直是处在底层的. PS: 老板跟产品其实更喜欢跟懂业务的开发沟通

因为刚才说的跨行做项目踩了一些坑之后, 后面的项目选择也开始变的谨慎了, 对陌生行业的紧急项目基本都是拒绝或者转介绍给其他的伙伴, 随着接触的业务行业变多, 慢慢的也是总结出了一些经验(算是对自己的方法论做了补充), 新的业务做起来也没有那么吃力了, 毕竟业务经验多了之后, 还是有些相通之处的, 隔行不隔理诚不欺我.

不知不觉叨叨了挺多的, 因为确实是有点感触.

最后, op 其实也不用太迷茫, 只要保持对技术的热爱以及持续学习的状态就可以了, 拓宽一下收入来源, 应该能让自己安心一些.

以上 ~ 祝周末愉快!
@wuwuwuwuvincent 哈哈哈 感觉到了对 iOS 深深的恶意
> 支持命名空间的加不加前缀无所谓, OC 这种没有命名空间的语言是肯定要加前缀的, 要不集成容易冲突. java 跟 c++这种有包名/命名空间概念的加不加都行.
1. 跨平台 sdk 加不加的随意, 反正用户最终也看不到
2. 中间层的桥接 sdk 可以统一加一下, 用户调用的时候稍微方便一些:
2.1 调用你们方法的时候, 敲上前缀方便 ide 联想
2.2 避免引用的二义性, 不用给重名的类加别名
154 天前
回复了 i33 创建的主题 Flutter 求推荐一个基础框架
@whevether 哈哈哈 可能是用习惯了 一直没关注其他框架 有点认知偏差了
直接弄个微调模型吧, 让老板花点小钱, 这种活没必要自己做
155 天前
回复了 nvyao 创建的主题 信息安全 在写 Java 安全靶场
我都直接 [xctf]( https://adworld.xctf.org.cn/home/index)做题, 没事做点入门题还挺好玩的
@JoeJoeJoe #20 小数有点不太对 你可以再自己改改, 整数处理的感觉没啥大问题, 代码我也没细看😂
直接用 ai 生成了一个 python 的:

#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Author: Joe
# Description: 生成 10000 以内的小学计算题

import random

def generate_operation():
"""生成一个四则运算表达式,保证结果为整数"""
operators = ['+', '-', '*', '÷'] # 将 '/' 替换为 '÷'
# 计算长度 1 到 5 次
count = random.randint(1, 5)
# 减少小数出现的次数,约 30% 的概率为小数
numbers = []
for _ in range(count + 1):
if random.random() < 0.3:
num = round(random.uniform(1, 10000), 2) # 最多保留两位小数
else:
num = random.randint(1, 10000)
numbers.append(num)

ops = [random.choice(operators) for _ in range(count)]

expression = str(numbers[0])
for i in range(count):
while ops[i] == '÷' and numbers[i + 1] == 0: # 修改为 '÷'
if random.random() < 0.3:
numbers[i + 1] = round(random.uniform(1, 10000), 2)
else:
numbers[i + 1] = random.randint(1, 10000)
# 确保除法运算结果为整数
if ops[i] == '÷': # 修改为 '÷'
# 计算商并确保至少为 1
quotient = max(1, int(numbers[i] // numbers[i + 1]))
# 调整被除数使其为除数的整数倍
numbers[i] = numbers[i + 1] * random.randint(1, quotient)
expression += f" {ops[i]} {numbers[i + 1]}"

result = eval(expression.replace('÷', '/')) # 计算时将 '÷' 替换回 '/'
# 确保结果为整数
while isinstance(result, float) and not result.is_integer():
numbers = []
for _ in range(count + 1):
if random.random() < 0.3:
num = round(random.uniform(1, 10000), 2)
else:
num = random.randint(1, 10000)
numbers.append(num)
ops = [random.choice(operators) for _ in range(count)]
expression = str(numbers[0])
for i in range(count):
while ops[i] == '÷' and numbers[i + 1] == 0: # 修改为 '÷'
if random.random() < 0.3:
numbers[i + 1] = round(random.uniform(1, 10000), 2)
else:
numbers[i + 1] = random.randint(1, 10000)
if ops[i] == '÷': # 修改为 '÷'
quotient = max(1, int(numbers[i] // numbers[i + 1]))
numbers[i] = numbers[i + 1] * random.randint(1, quotient)
expression += f" {ops[i]} {numbers[i + 1]}"
result = eval(expression.replace('÷', '/')) # 计算时将 '÷' 替换回 '/'

return expression, int(result)

# 生成题目和结果
expression, result = generate_operation()
# 打印题目
print(f"题目: {expression}")
# 打印结果
print(f"结果: {result}")
158 天前
回复了 manami 创建的主题 程序员 微信小游戏如何防止被破解
单机游戏不需要防, 防了也没啥用
160 天前
回复了 qee 创建的主题 Kindle kindle 如何发挥余热
zlibrary 下载电子书 数据线导入 继续看电子书😂 本来就是个看书的设备, 做别的也不太合适
#56 换位思考 我也会删 毕竟大厂都有法务跟舆情监控部门等着吃点 kpi
1 ... 86  87  88  89  90  91  92  93  94  95 ... 96  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   1160 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 53ms · UTC 17:41 · PVG 01:41 · LAX 09:41 · JFK 12:41
♥ Do have faith in what you're doing.