使用第一性原理思维思考如何打造提高生产力的平台
引言 现在全社会都在搞数字化转型,从政府到企业,那么为什么要进行数字化转型呢?本质上还是社会治理和企业经营难度变得更大了。 以企业来说,转型的目标是为了实现有质量的活着,比如能赚更多的钱或者持续保持稳健运营,转型的核心是期望借助数字化技术构建一个管理体系,以应对外部环境动荡、企业竞争变化和技术更新发展带来的不确定性。 数字化转型会带来大量的研发需求,如何更好更快的交付这些需求成为一个突...
引言 现在全社会都在搞数字化转型,从政府到企业,那么为什么要进行数字化转型呢?本质上还是社会治理和企业经营难度变得更大了。 以企业来说,转型的目标是为了实现有质量的活着,比如能赚更多的钱或者持续保持稳健运营,转型的核心是期望借助数字化技术构建一个管理体系,以应对外部环境动荡、企业竞争变化和技术更新发展带来的不确定性。 数字化转型会带来大量的研发需求,如何更好更快的交付这些需求成为一个突...
前言 最近意外发现家里用的移动宽带已经获取到了 IPV6 地址,然后又意外发现移动 4G 也是可以访问 IPV6 的 Windows 网络情况 iOS 网络情况 2010 年开始在校园网用 IPV6, 到现在已经过去 9 年了,现在终于开始普及了 需求 我们有时候需要访问家中的电脑,如果没有公网 IP 的话,实现起来就比较麻烦 在 IPV4 环境下,IP 数量比较少,很多运...
composer 包安装方式有哪几种? 一般来说开源的 PHP 包都会放在 packagist.org, Composer 直接安装就行 私有包有以下几种安装方式 在 packagist.com 购买付费服务, 不用自己维护, 省心 搭建 Satis 实例, 相当于搭建了私有的 packagist.org, 需要自己维护服务器 购买了 GitHub 企业版, 将包托管在企业版...
为啥要用 Markdown 去写 PPT? 相比 PowerPoint 更轻量, 更灵活 能够高亮代码 专注文字内容, 节省排版和制作动画的时间 用什么工具去生成 PPT? 有以下几个工具可供选择 reveal.js Hakim El Hattab 创造了 reveal.js, 他随后创建了 Slides, 这是一个使用 reveal.js 创建幻灯片的网站 clea...
简单介绍 NDK 是干啥的? 全称 Native Development Kit, 允许你在 Android 应用中使用 C 或 C++ 代码 NDK 的好处 NDK 可以生成 .so 文件, 方便代码共享 增加反编译的难度 提高性能 使用示例 版本说明 Android Studio: 2.2 Android Plugin for Gradle: com.an...
需求 我经常在家和公司的不同电脑上开发一个Web项目, 代码托管可以用GitLab或者GitHub, 这解决了代码的多地同步问题, 但是MySQL一直没发现一个好的方式来同步。 目前MySQL多地同步的方案主要有以下几种 使用可远程连接的MySQL, 多地开发时直接连接这个数据库, 这个方案如果网速不好的话,就不合适 A 地使用mysqldump导出sql文件,发送给 B 地,B...
条件准备 iTerm2 version 3 nightly builds 动手 需要在你自己的机器和想通过ssh远程连接的机器上都安装shell integration 自动安装 curl -L https://iterm2.com/misc/install_shell_integration.sh | bash 手动安装 下载这个脚本 curl -L https:...
运行环境 Android 5.1.1, API 22 解决方案 下载新版本的 apk public void downloadNewVersion() { mDownloadManager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); // apkDownloadUrl 是 apk...
初始化 Fragment 对于不需要接收参数的Fragment,只需要实现 public View onCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) 方法即可 传参给 Fragment Fragment需要提供一个静态的创建方法, 通常叫做newInstance p...
需求 versionCode是android应用内部用来识别版本,判断新旧用的, 希望每次发布新版本时能够自动化的自增,避免人工修改可能带来的问题 更好的做法 import java.util.regex.Pattern task('increaseVersionCode') << { def buildFile = file("build.gradle") d...