博文

目前显示的是 2018的博文

云栖小镇 参会感想 Day-1

最近过得有点无所事事,正好看到杭州开云栖大会了,挺想来的,便买了票,奔赴千里赶到杭州,参加一年一度的阿里巴巴云栖大会。 今天参会第一天,因为人生地不熟,并且被高德地图的公交换乘功能坑了一次,花了整整两个小时才赶到会场。下面开始切入正题…… 今天看了好几个分会场的演讲。给我印象最深的莫过于年轻人敢想,敢做的精神。听了新零售数据专场的几场演讲,演讲者说,年轻一代的互联网人,他们都非常有思想,头脑都转得很快。这一点是跟三四十岁的中年人的思维没办法比的。中年人的思维容易僵化,很多事情都不敢想。想做某些事情的时候,年轻人敢想就敢马上付诸行动。 他举了一个例子。几年前,他跟几十个老板聊新零售,绝大多数的老板都对这些事情不以为然,认为必然失败。只有一个从外国留学回来的年轻人,他觉得这个事情可以尝试做,因此他坚持了。现在,新零售遍地开花,新零售2.0已经出现,想再从0开始进入新零售1.0的圈子,显得有点晚了。 他举的这个例子,我感触很深。反思自己,首要的,我觉得我不缺机灵古怪的想法,缺的是对事物的思考和探索。觉得自己还是太浮躁,很多东西都没有静下心来自己好好想明白,为什么会这样。最主要是,当我知道这样之后,它可以为我们带来什么?有什么其他应用?自己有没有更好的想法去改进?确实需要这样的探索,才能深入挖掘事物的本质。 其次,例子中,抓住机遇的年轻人他的见识非常广。这也是我非常缺乏的。虽然自己上大学了,但是觉得自己虽然研究的东西越来越深,自己的知识面也越来越窄了。并且经常只专注技术上的某一点,而不结合其他方面做全局分析,我觉得这样下去是很危险的。这或许跟我的圈子太窄也有关系。圈子太窄,很少跟别人接触,自己就愈发容易自傲。来了云栖大会才知道自己知道的只是知识的冰山一角,还有很多领域自己是完全不懂的,比如说金融,零售,销售方面,他们都是怎么运作的?是如何与技术有机结合的?还是需要谦卑,不能把总自己关在自己的世界里。多出来走走,多读书,并且多接触社会,这样才能看得更广。 今天主要泡在数据智能实践专场会场里了。有个演讲题为“直播个性化推荐系统中的AI技术实践”。主要讲的是映客直播如何通过深度学习及文本挖掘技术,对直播内容进行快速准确地识别,进而更精确地将直播内容推荐给用户。他们主要用到的是将半结构化数据(如图像,语音,文本等)进行深度学习,找出其特征编码。再将...

macOS安装配置libnfc小记

今天尝试在自己的Macbook Pro上安装了libnfc。 我使用的是NXP PN532芯片,通过UART的形式,使用CH340G的uart转usb芯片接入Macbook Pro。系统是macOS High Sierra 10.13 安装步骤参考 libnfc的官方文档 ,总结如下: 1. 从github上clone libnfc的源码 2. 使用autoreconf -vis命令 3.  ./configure --with-drivers=pn532_uart --sysconfdir=/etc 4. make 5. make install 安装部分结束。接下来是配置部分。 我通过UART的方式连接PN532。使用CH340G芯片完成USB到UART串口的转换。macOS系统下,CH340G芯片可以从WCH的官网 这里 下载到。安装完成并重启后,在终端中查看/dev的设备,会发现多出来一个叫tty.wchusbserial1420的设备。记住它。 上述安装过程的第三步,指定了配置文件目录在/etc下。因此,新建/etc/nfc文件夹,并且新建libnfc.conf文件。添加内容如下: device.name = "NXP PN532" device.connstring = "pn532_uart:/dev/tty.wchusbserial1420" 然后保存。 接下来,将卡放在PN532读卡器上,并在终端运行nfc-list。 如果看到 NFC device: NXP PN532 opened 这行字的话,说明已经安装成功了。 更新:在编译依赖libnfc库的软件时,可能会出现找不到libnfc库的问题。 解决方法:参考了Stack Overflow上的 这篇文章 ,在编译mfoc、mfcuk等软件,configure时,加入如下代码: ./configure LDFLAGS=-L/usr/local/lib PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

省实附中 课间铃声

旧铃声( 2005 年建校 - 2009? 年) 上课铃:「口哨与小狗」(第一节课为完整版,其他课为短版) 第一节课( 8:40 )下课铃:未知 第二节课( 9:20 )下课铃:未知 课间操:「团结友谊进行曲」 第四节课( 12:00 )下课铃:「 Espana 」 - Paul Mauriat 午睡铃声:未知 午休起床铃声:「 Blue Sky 」 - Mantovani & his Orchestra 第五节课上课铃:未知 第五节课下课铃:未知 第六节课下课铃:未知 下午 5:30 铃声:未知 下午 6:40 晚读预备铃:「卡农」 晚上 9:50 睡觉铃:「 Ave Maria 」 - The Mantovani Orchestra 新铃声( 2009 年 ? 启用) 起床铃声:蓝色多瑙河 上课铃:「天上的星星下凡来」 课间操:「天上的星星下凡来」 - 胎教音乐 & 「 Слава Родине 」 - Парадный Марш 下课铃:未知 下午 5:50 放学铃声:「 Espana 」 - Paul Mauriat 下午 6:40 晚读预备铃:「 Blue Sky 」 - Mantovani & his Orchestra 晚上 9:50 睡觉铃:「 Ave Maria 」 - The Mantovani Orchestra

RecyclerView设计思想初体验

昨天看了Google I/O 16中关于RecyclerView的视频「RecyclerView Ins and Outs」,里面谈到了RecyclerView的一些设计思想。简单地说一下感受。 RecyclerView的设计初衷是为了更好地自定义列表显示。在RecyclerView的实际使用中,整体感受是职责做了更好的分离,使用起来自定义程度更高。 ListView与RecyclerView的对比 1、ListView列表显示提供的很多功能,本身可能并不需要。如Header、Divider等。RecyclerView中,把这些可选的功能划分到下属的组件中,用户可选进行实现,更灵活。 如item的点击事件 ListView的点击事件监听是对整个item进行点击监听。监听事件的设置是在ListView中通过setOnItemClick()进行设置的。 而现实情况中,每个item的需要点击的视图可能不单单只有整体的item,item的其他元素,如点赞按钮等,都需要实现局部点击。因此,ListView不能满足需求。 RecyclerView中,默认不提供点击事件的监听。如果开发者需要对RecyclerView中的item需要点击的View进行监听,需要在Adapter或者ViewHolder中自行监听相应View的点击事件。这样设置点击事件更灵活,自由度更高。 再如分割线的实现 ListView中,分割线可通过ListView.addHeader() / addFooter()方法添加分割线。但是这种方法的局限是只能传入View对象。 而在RecyclerView中,分割线等功能可以通过RecyclerView.ItemDecoration类实现。对视图的定制更灵活,可实现StickyHeader(分类悬浮Header)等酷炫功能。 2、职责分离,功能解耦 如RecyclerView与LayoutManager的职责分离。 在ListView时代,只能实现垂直列表。而若需要使用其他形式显示,只能替换其他View来实现。而在RecyclerView中,显示形式(垂直显示、网格显示)通过LayoutManager控制,与RecyclerView解耦。RecyclerView只需要通过setLayoutManager()方法,传入不同的Layou...

Python追加文件内容

Python中操作文件的open()方法,mode有下列几种属性: w 写入 r  读取 a  追加 因此,如果要往文件中追加内容,mode应该使用a