0%

一般的网站在移动设备上的效果都不佳,最近在做一个 app 的分享页面的时候就遇到过一些问题

微信内的浏览器是封装了 webview, 然后绑定了点击事件实现长按出现二维码界面,以及通过劫持页面跳转来封杀正常的应用分发(apk 和跳转 app store)

连跳转 app store这一正常操作都被禁用了,只能跳转到腾讯自家的应用宝为了KPI也是拼

iOS 上大部分应用的内部浏览器封装自 webview,所以我们在调页面的时候要遵循苹果官方文档中关于 webapp 在 safari 的优化说明

Read more »

从 windows 迁移到 mac 之后, 命令行操作的时候 rm 永远是一个痛点

人总难免操作出一些失误,上次就听过一个信科的同学在命令行下用 rm -rf / 的悲剧,然后用移动硬盘恢复了半天233

所以我现在采取了下列做法

  1. 用一个移动硬盘做 time machine 备份
  2. 每天下班后,把代码 push 到 vps 搭建的一个私有 git repository 上
  3. 将 rm 命令替换为移动到废纸篓

mac 的垃圾箱目录为 ~/.Trash

(mac 被吐槽废纸篓不能恢复文件, 就是因为 mac 只是简单地将文件移动到这个命令, 而没有像别的操作系统那样追踪文件行为)

因为我是 zsh 用户,所以我通过编辑 ~/.zshrc 下做一个 alias 来替换 rm
(bash 用户编辑 ~/.bashrc)

Read more »

1
2
3
最近有个同学问我一个问题:给一串拼音,怎样得到所有可能的合法拼音组合,即拼音分词
输入:luosicheng
得到:lu,o,si,cheng 和 luo,si,cheng
Read more »

1
2
3
4
Given a linked list, determine if it has a cycle in it.

Follow up:
Can you solve it without using extra space?

可以使用快慢指针判断,快指针每次走两步,慢指针每次走一步
如果有环的话快慢指针一定会相遇,注意判断指针是否为空

Read more »

最近有点无聊,于是想研究一下微信公众号,发现免费的应用就只有订阅号了

于是把微信订阅号和上学期做的刷课脚本结合一下,中大课程助手(公众号)就完成了

开发环境

  1. 杂牌电脑一台(win 8)
  2. python,使用 flask 框架做后台处理
  3. 笔和纸

###微信公众号申请
微信公众平台提交订阅号的申请(还要交身份证照片,怕怕的)

Read more »

HTML Geolocation API 可以用来获得用户的地理位置

支持 Geolocation API 的浏览器/设备:

  • IE9.0+
  • Firefox
  • Safari
  • Chrome
  • Opera
  • iPhone 3+、Android 2.0+

也就是说除IE6~IE8外,其它最新的浏览器基本上都支持,包括最新的移动手机

Geolocation API 存在于 navigator对象中,只包含3个方法:

  1. getCurrentPosition
  2. watchPosition
  3. clearWatch
Read more »

找出N个整数里面前K大的整数

  • 思路1: 使用选择或冒泡算法,排出前K个元素,时间复杂度为O(N*K)
  • 思路2: 对这N个数排序,输出最大的K个,时间复杂度O(N*log(N))
  • 思路3: 快速排序的变种。前面寻找数组中第K大数的过程中,当找准数组中第K大数的位置时,数组中比K大的数据都在K的左边,比K小的数据都在K的右边。从而获取前K大的数据。其实也是部分排序。算法复杂度:O(N)
  • 思路4: 将前面K个元素构建为最小堆,将后面N - K个元素一次与堆顶比较,如果比堆顶元素大,则与堆顶交换,并将前面K个元素调整为最小堆,时间复杂度为O(N*log(K))
Read more »

这周研究了树莓派的应用, 基于 Debian 的 Linux 系统 Raspbian

编写的第一个 C code, 用 ssh 连接命令行和 vnc 登录图形化窗口

Read more »