• 2016-05-10

    一个 GUI 系统的组成部分

    Views: 12801 | No Comments

    在做 iOS 上的 XML+CSS UI 布局框架 CocoaUI 的过程中, 我体会到了 Apple 技术的强大之处, Apple 的底层框架和库提供了强大的功能和友好的 API, 我在开发 GUI 框架(上层 UI 框架)时用到的许多技术功能点都是信手拈来.

    现在总结, 有不少想法, 记下来分享一下.

    首先, iOS 系统为什么那么"好"? 不仅开发者觉得好, 最终用户用起来也觉得棒! 对比看 Android 的软件界面, 毛毛糙糙, 生硬, 总是缺了很多神韵. 这当然有屏幕硬件的功能, 但软件技术的作用更多, 因为从公开的资料上看, 不少 Android 厂商使用了和苹果同类的硬件.

    Continue reading »

    Posted by ideawu at 2016-05-10 16:31:03
  • 2016-05-06

    Mac 10.11 升级后无法修改 /usr/bin 等目录

    Views: 5672 | No Comments

    例如, 我想在 /usr/sbin 目录下创建一个文件, 如 nginx 软链, 会提示错误:

    .. Operation not permitted
    

    原来这是 Mac 所谓的 System Integrity Protection, 狗屎的东西! 这个所谓的保护, 苹果电脑只能作为上网本了, 还能做什么? 还算电脑吗!

    按下面的步骤关闭:

    1. 重启电脑, 在重启时按住 CMD + R 不放
    2. 打开终端 Terminal
    3. 执行 csrutil disable
    4. 重启

    Posted by ideawu at 2016-05-06 14:40:15
  • 2016-05-04

    ssh远程执行命令

    Views: 5564 | No Comments

    有时候我们希望在远程服务器上执行一些命令, 但不想ssh到远程之后再执行这些命令, 那么, 可以用下面的方法:

    ssh -t me@127.0.0.1 "sudo ls /tmp"
    

    -t 参数模拟一个终端, 以便 sudo 命令能够执行.

    Posted by ideawu at 2016-05-04 10:59:11
  • 2016-05-03

    Mac远程ssh出现LC_CTYPE错误的解决

    Views: 7581 | 1 Comment

    使用 Mac 系统的终端 ssh Linux 时, 总是提示

    -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
    

    即使在 Linux 上面修改了 locale 也没用. 原来, 这是 Mac 自己搞的鬼, 它会擅作主张地在你登录远程终端时设置 locale 为 UTF-8, 和服务器设置无关. 所以, 要解决只能修改 Mac 自己的配置文件.

    修改/etc/ssh_config, 注释掉下面的行即可:

    SendEnv LANG LC_*
    
    Posted by ideawu at 2016-05-03 10:03:50
  • 2016-04-04

    Nginx配置$request_uri与$uri变量的区别

    Views: 8547 | No Comments

    $request_uri

    这个变量就是HTTP头部的 path + query_string, 例如 /my/act?a=1.

    $uri

    这个变量对应到服务器上的一个文件(资源), 所以, 可能不等于 $uri, 因为可能被 rewrite 过. 例如浏览器请求 /my/act?a=1, 对应的资源(URI, $uri) 是 /dir/file.php, 当然, query_string 不属于 uri 的一部分.

    由此可见, $request_uri 这个变量的名字是有歧义的, URI 并不包含 query_string, 但这个变量却包含.

    Posted by ideawu at 2016-04-04 15:07:39 Tags:
  • 2016-03-22

    在Mac上删除Google的流氓软件

    Views: 7101 | 1 Comment

    什么? Google, 流氓软件? Google 不是 Don't Be Evil 吗? 它怎么会和流氓联系在一起? 没错, 说一套做一套.

    在 Mac 上运行一个名为 Console 的程序, 在里面搜索 "GoogleSoftwareUpdateAgent", 看看有没有下面这些日志? -

    3/22/16 10:04:41.070 AM GoogleSoftwareUpdateAgent[33639]: 2016-03-22 10:04:41.070 GoogleSoftwareUpdateAgent[33639/0xb029b000] [lvl=2] -[KSMultiUpdateAction performAction] KSPromptAction had no updates to apply.
    

    这说明, Google 的流氓软件在你的 Mac 系统里定期执行更新, 即使你不使用 Google 的软件! 你还可以在 Terminal 里运行下面的命令:

    defaults read com.google.Keystone.Agent
    

    如果你看到的是

    Domain com.google.Keystone.Agent does not exist
    

    那么恭喜你, 你没有被 Google 流氓沾上. 如果不幸被沾上了, 你可以强制删除 Google 的流氓软件:

    sudo ~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resour‌​ces/GoogleSoftwareUpdateAgent.app/Contents/Resources/ksinstall --uninstall
    

    参见: http://superuser.com/questions/730736/how-to-remove-google-software-update-from-mac-osx

    Posted by ideawu at 2016-03-22 12:32:38
|<<<2345678910>>>| 6/121 Pages, 723 Results.