我从事安卓开发工作已经六年有余,对安卓开发甚至软件开发的价值,每年都有更进一步的认识。对未来的方向,也从刚入行的迷茫到现在逐渐清晰。我想是时候做一个回顾和展望了。这篇文章会先回顾我从入行至今的一些关键点,然后讲一下经过这些年,我对软件开发的认知变化,最后分享一下后面的规划。# 回顾> 人太容易在琐碎生活中迷失,我们总是需要记住自己从哪里来,才能清楚要到哪里去。## 入行至今的一些关键节点### 20...
近期我们完成了一款 AI 变脸类应用在 GooglePlay 的上架,此应用可将用户自己的头像图片经算法加工成各种艺术效果。应用一经上架便广受好评,这一切正是得益于我们在项目中对 MAD 技术的综合运用,我们在最短时间内完... 应用情况![image.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/27cd0e723a1242ccb391d7163901fdf3~tplv-k3u1fbpfcp-5.jpeg?)接下来,本文将分享一些我们在对 MAD 实践过程中的心得和案例# 1. Kot...
`Layout Editor` 拥有诸多优点,不知大家熟练运用了没有:* 可以直观地编辑 UI:随意拖动视图控件和更改约束指向* 在不同配置(设备、主题、语言、屏幕方向等)下灵活切换预览,免去实机调试* 搭配 `Tools` 标签自由... 并直观地显示其中每个组件消耗的电量,了解应用在**哪里耗用了不必要的电量*** Network:显示实时网络活动,包括发送和接收的数据以及当前的连接数。这便于您**检查应用传输数据的方式和时间**,并适当优化代码##...
探讨其在云原生生态系统中的重要性和潜力。KubeWharf 项目地址:[https://github.com/kubewharf](https://xie.infoq.cn/link?target=https%3A%2F%2Fgithub.com%2Fkubewharf)## 场景分析- **大规模多租集群支持——** KubeWharf 的设计注重提高系统的可扩展性,使其成为管理大规模多租集群的理想选择。在当今云原生时代,许多企业面临着庞大的服务规模和多元化的应用负载。KubeWharf通过与Kubernetes的深度集成,为用户提供了...
memory.high 中配置的 Throttle 阈值可能不生效。2. 按照上述方式计算出的 memory.high 可能较低,导致频繁的 Throttle,影响业务性能。3. throttlingfactor 的默认值 0.8 过于激进,一些 Java 应用通常会用到 85% 以上的内存,经常被 Throttle。因此进行了以下优化:1. 对 memory.high 的计算方式进行改进:``` memory.high = floor{[requests.memory + memory throttling fa...
越来越多的技术:深度学习、AI、大模型、虚拟现实VR等慢慢进入我们的生活。**基于大模型的图像去雾**在今年这个阶段,我的主要工作是研究基于深度学习的图像去雾工作。随着现代工业文明的发展进步,大气污染现象愈... 能够使模型能够自适应地为感兴趣的特征分配更多的权重。用浅显易懂的话来说就是对于图像去雾的效果更加理想了。 一些模型引入与通道注意模块串联或并行的空间注意模块,使网络集中在雾霾难以去除的区域,能够更加彻底...
可以看到不同应用场景下的参数和数据集、模型训练过程中的网络通信带宽、训练资源数和时长都不尽相同。所以面对丰富的机器学习应用,我们的需求是多样的。针对这些需求,底层的计算、存储、网络等基础设施要提供强大... 里面有大量 GPU 和 CPU。在保证不同用户计算容器间的隔离的前提下,不同的 toB 客户共享整个资源池,从而提高集群的利用率,保证每个客户的申请率可接近 100%。平台提供的资源包括虚拟机资源、裸金属资源。有的资源...
一个月后的你依然记得自己在某个迭代版本做了哪些工作。规范的更新日志,对大家的 git commit message 做到了统一约束,统一 git commit message 提交方式使项目迭代内容更趋于工程统一化,一目了然。得物前端团队已... 并且在项目成功发布后实时自动在飞书群里进行通知,在调研 conventional-changelog 和飞书机器人后,设计了一套解决方案。方案分2个大模块,生成 CHANGELOG.md 模块和飞书机器人通知模块。**怎样生成 CHANGELOG.md*...
描述了各种许可下的软件分类。这里我们可以先将开源软件等价于图中的 FOSS 软件,然后根据这张图可以有以下解读:* **开源软件 ≠ 免费软件**“自由软件”是关乎自由的问题,与价格无关。要理解这个概念,你要... 通常主流的开源许可证都会要求在发布代码和二进制应用的时候都需要携带 “许可与版权声明”,这是因为:如果你给别人一份软件的副本,你需要包括许可证文本和任何版权声明。这有几个关键目的: 1....
`memory.high` 中配置的 Throttle 阈值可能不生效。1. 按照上述方式计算出的 `memory.high` 可能较低,导致频繁的 Throttle,影响业务性能。1. `throttling factor` 的默认值 0.8 过于激进,一些 Java 应用通常会用到 85% 以上的内存,经常被 Throttle。因此进行了以下优化:1. 对 `memory.high` 的计算方式进行改进: 1. ``` memory.high = floor{[requests.memory + memory throttling factor * (limits.memo...
要求我们回答组件为何不工作。其更多的是对组件内部可见性的一个要求,我们通常可以引入日志和传统 APM 工具,来帮我们提高组件系统内部的可见性。前 2 层借助传统的观测能力就可以比较快速实现,但如果只达成这... 除了提供了很多预定义的 Hook 之外,eBPF 还允许我们创建内核探针 (kprobe) 或用户探针 (uprobe) 来将 eBPF 程序附加到内核或用户应用程序中的几乎任何位置。如下图所示,工程师几乎可以在任何内核子模块、系统库、...
来帮助不同行业中的企业实现自身增长和数字化转型。 大家知道,字节跳动内部一直在践行技术中台的技术文化。所以我们在做技术ToB过程中,也采取了这种机制,让技术中台直接实现自身产品的商业化。因此,火山引擎对外开... 技术中台、智能应用和行业解决方案。这四层从下至上,分别满足企业从运维、研发、产品、运营到营销,在不同行业、不同业务场景下的需求。 这是过去一年里,我们不断把字节跳动内部技术商业化后形成的结果,而在这个过程...
开源是软件世界的根基,字节跳动看重参与开源的长期价值,对于开源的态度一直是开放、鼓励的,愿与全球合作伙伴共同实现生态繁荣。本文由字节跳动开源委员会治理运营负责人,火山引擎副总裁张鑫在 OSPO Summi... 公司决定成立 OSPO 这样一个中台组织,主要有以下几个方面的目的:- 制定公司级开源战略:明确开源的价值、目标与策略,确保有体系、有目标地开展开源工作。- 明确开源项目评审标准:筛选聚焦出高价值的重点项目,确...