VanJay's Blog

一个爱折腾工程师的全栈梦

背景

新入职的公司内部同步一些文件使用的 Seafile,没部署远程,只使用的内网,由于这个 seafile 是一个前同事搭建的(之前的 iOSer,我来替代他了,阴差阳错。。。),可能那时他也不是太熟吧,把文件存放目录放在了安装位置的挂载分区,导致长时间使用下来,该分区磁盘空间满了,无法继续运行,于是我简单 google 了一番,开始转移目录,找到了 seafile-data 目录之后,发现查看都没权限,包括 cp -R、mv 都无法运行,直接给了755权限,mv seafile-data 目录至新目录,更改 seafile.ini 文件,指向新目录,重启 seafile,发现 seafile 已经无法启动……下意识重启一下电脑,还是不行,这时看下禅道,测试又提了一堆 BUG,就先放下开始修 BUG 了。第二天早上过来继续,发现系统都进不去了,登录界面无法输入密码,没办法只好命令行登入系统,再次 google 了解到 seafile 存放文件的形式类似于 svn 或 git ,也是那种打散存放并内部记录 state 和带有 commit log 的,看到了官方有修复工具,尝试无果,放弃了,系统也崩了(多年linux 经验解决不了,尝试了几个小时,google 了解到貌似是 Ubuntu 16.04 LTS 的 bug 所致,有个旧内核依赖怎么都干不掉,导致所有的 dpkg -i 都运行不了),这台机器上安装了 jenkins 和 seafile,问过了别无其他,心想 jenkins 我也熟练部署了,只能硬着头皮去跟组长说要重装系统,于是有了这篇文章。

阅读全文 »

App 开发显示 XX 万 xx 亿

APP开发中界面显示很多地方需要显示数字,但是如果数字过大,可能会有将数字显示成 xx 万、xx 百万、xx 亿的需求,简单封装了一下,备忘,以便日后使用。

这是声明文件,调用者可以决定保留几位小数,是否需要四舍五入,也可依据代码自行扩展方法。

阅读全文 »

前言

工欲善其事,必先利其器

打包是开发过程中必不可少的一步,随着项目的壮大,打包时间越来越长,如果一直手动操作,浪费时间不说,还容易出错。记录一下安装Jenkins的过程,以备不时之需。

阅读全文 »

背景

来到新公司也有一个月了,完成 iOS 端洞客项目V1.3.0-V1.4.0的升级,虽然只是一个小版本的升级,但我在熟悉项目过程当中发现项目垃圾代码实在太多了,别说我了,一般的接锅人看了也难以忍受,在痛苦了几天之后我默默拉了一个新 git 分支改起来,使用 clang format规范化了整个项目的代码,后面结合git hook在git commit前自动reformat代码,这一步可以说是非常爽了。直到今天,我之前简单看了一下,check out到我改之前和改之后的代码,少了有5000+行代码,删除了几十个类文件,但里面还是充斥着大量的垃圾或者不合理的代码。开发完1.4.0,稍微看起来闲了一两天,被个喜欢行使小权利的前端小组长安装研习 React Native,准备接入原生项目,暂时用于替换一个改动比较频繁的详情页,之前就有自己学习过,但是都忘光了,又复习一遍,趁热记录一些小 tip。

阅读全文 »

基本要求

  • 对 Cocoapods 使用熟悉
  • 熟悉 Mac 基本操作
  • 解决问题的基本功

官方示例

这是官方给出的教程,集成到现有原生应用,按照这个集成的跑起来没啥问题,但是后期等你用了一些组件,或原生或 RN 的,比如自定义 UIView 给 RN 用,RN 里用的第三方的 component 调用了原生的 API,官方的这些默认的 pod 库就是缺少一些的,跑项目会出一些莫名其妙的问题,我在用了react-navigation后各种运行时红屏报错问题,错误提示也看不出个所以然来,折腾好久才解决问题,这里我将直接记录主要过程和注意点,以备不时之需。

阅读全文 »

介绍

block实际上就是Objective-C语言对于闭包的实现。
block配合上dispatch_queue,可以方便地实现简单的多线程编程和异步编程。
(闭包是一个函数(或指向函数的指针),再加上该函数执行的外部的上下文变量(有时候也称作自由变量)。)

阅读全文 »

前言

随着互联网的快速发展,有时我们需要一个能快速、稳定且安全地存取和分享文件的在线服务。可能你是一个开发者,需要分享你的代码库;也可能你是一名摄影师,想要分享你的作品;或者你只是希望能在不同设备之间方便地存取文件。无论哪种情况,一个Web文件服务都可以满足你的需求。

阅读全文 »

前言

不能畅游墙外没法好好生活和工作

本来手里有着五六个 Shadowsocks 帐号,但体验都不佳,一直也没怎么用,是因为一直使用公司搭建的 Cisco Anyconnect,科学上网后百兆带宽可以满速使用,速度虽快,但是客户端软件默认是全局代理的,虽然可以走IP route list达到和Shadowsocks 的PAC同样的作用,但效果慎微,而且IP要自己去填,所以公司IT直接没搞这个route list,因为我们大部分电脑和手机APP都在墙内,这就导致在使用了Cisco Anyconnect后大部分电脑或者手机上的APP网络访问困难,常开VPN还是需要Shadowsocks 等可根据 PAC清单自动代理 或者 分应用代理 的一类软件。

阅读全文 »

经过了一个多月,加班加点,总算完成基本完成了这个Wap APP,可以作为 Version one 面见客户了,感受不多。

MUI 结合 Hbuilder 使用 HTML5+ 开发APP整体来说还是挺顺畅的,虽然文档不完整,但是有开发经验的一眼看过去就知道怎么用了,以后做些不是大型的APP或许会成为我的首选。

阅读全文 »
0%