自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 在MacOS 10.15上使用MongoDB

尝试使用Homebrew安装MongoDB失败(提示需要更新版本的xcode)。改去官网下载MongoDB 6.0.20安装包,参考README成功运行起来了MongoDB,并且顺利安装MongoDB Compass,不再赘述。这次是在MacOS 10.15上使用MongoDB。先在豆包问支持MacOS 10.15的MongoDB最新版是什么,答案是MongoDB 5.0。又找deepseek问了一下,得到的答案和MongoDB官方一致。抱着谨慎怀疑的态度去官方网站查询了一下,答案如下。

2025-04-04 22:04:15 283

原创 使用scrapy爬取数据时遇到的一个坑

有意思的是,在代码里并没有主动设置filter的地方。排除权限问题后,又看了一下scrapy的源代码,没有找到任何线索。逐一排查Trae所做的代码修改,发现是把dont_filter参数设置为True解决的问题,如下。参考官方文档写完代码后,无法下载封面图片。根据错误提示,我扩充了allowed_domains,把错误过滤掉的图片地址的domain添加到list中,于是变为。现在不需要Trae所做的修改(把dont_filter参数设置为True)也可能正常下载豆瓣电影的封面图片了。

2025-04-04 00:17:57 188

原创 AI编程工具的简单对比

本文简要对比了一下当前主流的AI编程工具。

2025-03-26 15:01:28 225

原创 浅尝AI编程工具Trae

记录一下今天试用AI编程工具Trae的两个场景。

2025-03-25 22:24:24 444

原创 在MacOS 10.15上安装Node.js

看起来并不是Node.js 18依赖更高版本的xcode,而是Node.js 18的某个依赖组件需要依赖更高版本的xcode。使用Homebrew安装Node.js,命令brew install node安装当前最新版本的Node.js,提示xcode版本太低,如下图。使用命令brew install node@16尝试安装Node.js 16的版本,提示node@16已经被禁用了,如下图。使用命令brew install node@18尝试安装Node.js 18的版本,得到了同样的错误提示。

2025-03-17 09:38:44 279

原创 使用InputLeap把沉睡的老旧电脑利用起来

这个iMac的MacOS版本更加老旧,是10.12版本的;使用Synergy可以把这个老旧的iMac作为Macbook的扩展屏幕来使用,并且在使用时不需要在Macbook和iMac之间频繁切换鼠标键盘。但可能是因为是系统兼容性做的不好,免费的老版本的Synergy可以运行在MacOS 10.12上,但无法运行在MacOS 10.15上。在github的release页面还能找到支持MacOS 10.12的二进制安装包,实测Barrier 2.1版本完美运行在MacOS 10.12和10.15上。

2025-03-05 18:30:09 231

原创 MacOS 10.15上使用Docker遇到的几个问题

提到我最终在MacOS 10.15上安装了Docker Desktop 4.15.0,这里记录一下使用中遇到的几个问题。

2025-03-04 15:35:18 452

原创 如何在MacOS 10.15上安装Docker Desktop

提到MacOS 10.15上无法通过Homebrew安装最新版本的docker,自然想到了去安装更早版本的docker。在MacOS上安装Docker Desktop比安装Docker Engine要更方便一些,具体原因可以自己搜索。通过Docker Desktop的。解决方法很简单,修改dockerfile,把base image从python:alpine改为python:3.12-alpine,也就是使用了python 3.12的alpine即可(更多python版本的image可以在。

2025-03-03 15:41:18 637

原创 如何在Apple不再支持的MacOS上安装Homebrew

找到的最早的一个pkg是4.1.2版本的,要求最低的系统版本是MacOS 11(正式发布于2020年11月12日)。无奈只能放弃通过pkg安装Homebrew的想法,乖乖使用脚本的方式来安装Homebrew。可以通过Homebrew安装指定版本的tomcat,但docker只能安装最新版本。里最新的pkg安装包不支持MacOS 10.15.7,提示要求最低的系统版本是MacOS 13(正式发布于2022年10月24日)。提示需要Xcode 12.4,但系统安装的是10.1版本的Xcode。

2025-02-28 15:59:32 608

原创 Android native调试利器

Android native调试利器

2015-12-03 17:28:05 1369

原创 在开源库中输出log到adb logcat

在开发集成了开源库的Android app时,有时想获得开源库运行的log。但开源库并没有将log输出到adb logcat中,那怎么办呢?只需简单的修改开源库的代码,并重新编译开源库就可以了。1.生成standalone的toolchainandroid-ndk-r8e/build/tools/make-standalone-toolchain.sh \ --platform=a

2015-12-03 15:59:25 1654

原创 MacOSX下编译OpenJDK7openjdk-7u40

在http://jdk7.java.net/source.html下载打包好的源代码我下载的是openjdk-7u40准备环境unset CLASSPATHunset JAVA_HOMEexport ALT_BOOTDIR=`/usr/libexec/java_home -v 1.6`解压后,直接在根目录执行make命令报错,找不到FreeType 2.

2014-04-03 21:35:06 2331

原创 如何自定义Intent.createChooser的显示结果

Intent是android核心的概念之一,Intent为android系统提供了真正的开放。android的姿态是开放了,但却没有做到位。拿“发邮件”这一功能来说,为了使用Intent机制来发送邮件,调用方需要知道Intent的规则,如action、uri、MIMEtype和category。但是在哪里能找到这些规则呢?官方文档里没有,还好能求助google,然后就发现StackOv

2013-09-15 12:04:52 5565

原创 游戏《部落战争》clash of clans 就是残酷世界的真实写照

从4月份开始玩《部落战争》,到现在算来有4个月了。从开始的每天不离手,到现在几天看一次,感受到游戏就是当今世界的真实写照。游戏一开始,建筑的建造时间比较短,在几分钟到几小时之间。在建造建筑的时候,可以用廉价的士兵掠夺其他玩家的资源,用掠夺得到的资源来升级自己的建筑,从而快速的发展自己的部落。有人会问,为什么不使用自己的资源?答:自己资源开采的速度太慢,无法满足高速发展的要求;相反,掠夺

2013-08-10 18:45:34 2675

原创 对OutputStream类的flush()方法的误解

最近使用java的FileOutputStream写文件,调用到了flush()方法。在Code Review时,同事指出没有调用flush()的必要。于是查看了FileInputStream类的源代码,发现flush()其实是继承于其父类OutputStream的。而OutputStream类的flush()却什么也没做,恍然大悟,真是“看源代码者得真相啊”。其实flush()是

2013-08-10 14:30:18 7811 1

原创 android设备连接蓝牙外设导致activity重启(recreate)的问题

最近遇到个bug,在android连接蓝牙设备后,程序异常退出(仅在部分nexus设备上出现)。从logcat发现在JNI层报了一个错(我的程序使用了JNI),一路追上去发现程序的异常是因为activity的onDestroy被调用了。这就好办了,肯定是因为设备连接后,触发了configChange,而程序又没有正常处理这种情况。检查了一下AndroidManifest.xml,发

2013-06-14 14:48:11 4719

原创 三星在Android上的改进对Developer的影响

今天读到一篇很有意思的文章《Battle of the Androids : Google Android vs Samsung Android》,从使用角度讲述了Google Android和Samsung Android的差别。我在这里就从开发者角度,罗列一下两者的差别为Samsung Android设备外接键盘(usb/bluetooth)时,Activity.onConfi

2013-05-23 15:19:03 2117

转载 字符编码笔记:ASCII,Unicode和UTF-8

转载自 http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html作者: 阮一峰日期: 2007年10月28日今天中午,我突然想搞清楚Unicode和UTF-8之间的关系,于是就开始在网上查资料。结果,这个问题比我想象的复杂,从午饭后一直看到晚上9点,才算初步搞清楚。

2013-04-04 22:28:14 1680

原创 理解EditText的InputFilter

使用EditText的过程中,有时会遇到disable(禁止输入)的需求,直接使用setEnabled(false)是无效的。网上搜索发现可以通过设置InputFilter来实现myEditText.setInputFilters(new InputFilter[]{ new InputFilter() { @Override filter(CharSequenc

2013-03-06 14:15:25 3503

原创 android源代码中repo升级后出现的问题

早上在电脑上同步android的源代码(使用 repo sync),提示“A new version of repo is available”,于是下载了最新的repo(curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > repo)再次执行repo还是同样的提示,仔细看看下面还有几行error: cannot ru

2013-01-04 15:47:28 3798

原创 使用Google Docs的Form创建在线投票时出现的问题

在Google Docs中创建Form后可以实现简单的匿名在线投票系统,但在使用过程中却发现一个问题。创建完Form后,可以点击“Email this form”将投票的链接地址发送给别人。但是一旦这个编辑Form的窗口关闭,就再也找不到能以“投票”方式编辑这个Form的地方了。点击之前创建的Form只会看到一个类似Excel的表格(也许是我没找到正确的入口)。分析了URL发现后,可以

2012-12-11 10:40:55 3669

转载 MotionEvent事件在onInterceptTouchEvent()、onTouchEvent()中的传递顺序

onInterceptTouchEvent()用于处理事件并改变事件的传递方向。处理事件这个不用说了,你在函数内部编写代码处理就可以了。而决定传递方向的是返回值,返回为false时事件会传递给子控件的onInterceptTouchEvent();返回值为true时事件会传递给当前控件的onTouchEvent(),而不在传递给子控件,这就是所谓的Intercept(截断)。onTouchEv

2012-12-03 18:09:53 1478

原创 纠结的Java7和applet

今天准备试用下公司提供的VPN,走到最后一步却遇到了让人纠结的问题在Chrome浏览器上,得到了这样的提示既然装了Java7会导致Java6不可用,那么还是用Java6吧可是来到Java6的下载页面,提示使用Apple自己的Java,已经集成在Mac OS X中了既然系统中有Java6,在终端(Teminal)中执行java -version能看到已

2012-11-24 10:01:24 2516 1

原创 2012年10月底的家乡

10月底,看了柴静的一个纪录片《没有深夜痛哭过的人,不足以谈人生》,产生强烈的回家念头。于是,订机票,拎包回家。一路上用手机自带的相机记录了家乡的点点滴滴,现在拿出与大家分享,分享故乡的美丽,分享思念故乡的那份情。手持联想android平板的乌鲁木齐机场服务人员,家乡信息化的速度也很快与爷爷一起去卖废纸,这么多年,这辆三轮车一直陪伴着爷爷镇中心的小广场,秋冬季节

2012-11-21 01:01:22 2265

原创 Linux下设置Android SDK Manager代理的问题

有太多的原因会导致Android SDK Manager无法进行下载,这个时候理所当然的会想到“设置代理服务器”可悲剧再次上演,我下载的android sdk manager(版本号是20.0.3)设置了代理却没法正常使用最后在 http://stackoverflow.com/questions/10634202/android-sdk-manager-proxy-s

2012-11-07 18:23:24 4430

原创 ESXi无法安装win2008 server 64位的解决办法

今天第一次在PC上裸装了VMware ESXi,在其上安装64位的win2008 server时出现了一些问题。在vSphereClient中创建虚拟机后,在Summary中看到了一个warning 出现这个warning时,64位的win2008也是无法正常安装的,win2008系统的安装程序会提示“64-bitunsupported…”等等。 点击链接http://vmwa

2012-11-05 17:53:10 5170

转载 TCP协议三次握手过程分析

原文出自 http://www.cnblogs.com/rootq/articles/1377355.htmlTCP(Transmission Control Protocol) 传输控制协议TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowle

2012-10-21 22:18:32 1648

原创 Mac OS与Windows之间文件共享/传输的最简便方法

使用mac os有一段时间了,可与我的windows系统的笔记本一直没有方便的传输过文件,都是通过QQ。今天实在无法忍受,决定找一个简单的办法方法一:通过SSH方式(截自http://www.maciverse.com/how-to-turn-on-your-macs-sftp.html)To enable SFTP access to your Mac:Ope

2012-10-20 14:12:19 38584

转载 android Memory Management, OutOfMemoryError Note

原文来自:http://www.cnblogs.com/qiengo/archive/2012/04/25/2468372.html1     Android框架强制每个进程的24 MB内存限制。在一些旧的设备,如在G1,限制为16 MB 更低,更重要的是,由位图使用的内存限制。处理图像的应用程序,它是很容易达到此限制,并获得与OOM 异常死亡 的过程:

2012-10-17 17:29:16 1709

转载 【Android工具】被忽略的UI检视利器:Hierarchy Viewer

原文出自:http://blog.youkuaiyun.com/ddna/article/details/5527072        Hierarchy Viewer是随AndroidSDK发布的工具,位置在tools文件夹下,名为hierarchyviewer.bat。它是Android自带的非常有用而且使用简单的工具,可以帮助我们更好地检视和设计用户界面(UI),绝对是UI检视的利器,但是好

2012-10-17 16:49:04 919

原创 公共自行车相关

十一去杭州用上了当地的公共自行车,不得不说确实给我带来了很多方便。杭州对我来说是一个陌生的城市,我在这里的出行选择无非就这几个:出租车、公交车、自行车。先说说出租车,鉴于最近手机叫车异常火爆,我特地选择杭州很火的快的打车,总计叫车三次,无一次成功用车。再者出租车费用高而且不够绿色,所以不是我的出行首选。公交车的最大问题是,很多想去的地方,比如某个美食店、某条小吃街,公交车是无法直达的,下车

2012-10-12 23:41:43 1370

原创 windows平台下通过blat发送邮件用法小结

在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的 blat,其官方主页为 http://www.blat.net/blat的使用非常简单,仅需两步1.使用 "blat -install "进行发送邮件服务器的配置2.使用 "blat -to -subject -body -attach a.txt,b.xls"

2012-05-31 00:42:23 7681 2

转载 让ListView记住上次滑动到的位置

转载自:http://blog.youkuaiyun.com/l_yqing/article/details/7067648最近在应用开发中为了做到更好的用户体验,需要让ListView记住上次滑动到的位置,使用getScrollY()方法总是返回0,到最后也没搞懂是为啥。最后在谷歌上找到了这个,实验了一下,还真可以~原文链接:http://stackoverf

2012-02-29 14:37:47 1692

原创 使用ViewPager时,如何对view进行更新

ViewPager是个好东西,但往往有些业务需要是android无法满足的,比如要更新ViewPager的特定view本帖其实就是StackOverflow的总结帖原帖见http://stackoverflow.com/questions/7263291/viewpager-pageradapter-not-updating-the-view一种简单快速的办法:Ov

2012-02-28 15:41:44 8288

原创 android模拟器安装android market只是一个美好的愿望

最近要在模拟器上安装google的android market,baidu和google都发现很多相关帖子本人花1天时间试验了能够找到的所有方法,均以失败告终主要现象为:1.直接向模拟器的/system/app安装market相关的apk:这种方法都需要对模拟器进行重启,重启后刚才传入模拟器的apk都消失了2.直接使用包含android market的img文件:这种方法一

2012-01-18 18:17:13 2044

原创 使用android兼容包android-support-v4.jar出现的一些问题

项目需要用到ViewPager,毫不犹豫的引入了官方提供的android-support-v4.jar开发过程平淡无奇,签名打包时出现了两个问题1.使用eclipse导出签名apk出现错误[2011-11-03 16:07:52 - AndroidViewPager] Proguard returned with error code 1. See console[2011-11

2012-01-17 17:41:48 15475

原创 android中<shape>圆角的bug

android的兼容性真是一个不可忽略的问题,今天测试时发现使用xml定义Shape drawable在android 2.1上存在bug<shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android"> <corners andr

2012-01-17 17:01:43 1996

原创 android多屏幕适配(1)

基于android官方doc,力图以较为简洁的方式说明android多屏幕适配的相关技术。屏幕尺寸(Screen size)        屏幕对角线的物理尺寸。android将所有屏幕尺寸分为四类:small、normal、large和extra large屏幕密度(Screen density)        单位(屏幕)物理区域中像素的数量,通常使用dpi(dot

2011-10-29 01:07:27 3290

转载 ThreadPoolExecutor使用和思考(上)-线程池大小设置与BlockingQueue的三种实现区别

原文转载自http://dongxuan.iteye.com/blog/901689工作中多处接触到了ThreadPoolExecutor。趁着现在还算空,学习总结一下。 前记: jdk官方文档(javadoc)是学习的最好,最权威的参考。文章分上中下。上篇中主要介绍ThreadPoolExecutor接受任务相关的两方面入参的意义和区别

2011-10-24 17:42:24 690

原创 android eclipse开发插件ADT 14.0.0 更新记录

安装 android-14 (4.0的sdk) 后,eclipse的adt插件进行了配套升级,发现adt新版本还是挺大的,简单将英文版翻译了一点(中括号包含的部分是我自行添加的说明),内容如下编译系统(这一部分的变化较大)1. 将default.properties改为project.properties,将build.properties改为ant.properties2.

2011-10-20 16:32:54 1864 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除