最爱的 Catch Note 即将停止服务

CatchNote是一款非常好用的网络便签工具,手机app界面非常酷,操作也非常人性化。
 
可惜的是这样一个优秀的软件即将终止服务,终止日期为8月30号,届时将不能登录。不过这个公司还是非常负责任的,今天收到他们的邮件,告知即将停止服务,且他们已经提供了数据导出工具。为什么不敢轻易使用国内的云服务?看看国外的公司是怎么做的。
 
来自为知笔记(Wiz)

开发者最佳实践1 – 继续阅读现有的软件源码

在我们开始软件开发人员所需的最重要的一个练习之前,让我先问你几个基本的问题:
    你阅读电影杂志吗?
    你读报纸吗?
    你读路边的广告吗?
    你读各处写着的那些垃圾(信息)吗?

继续阅读 »

软件开发者最佳实践——什么是实践(What is Practice)

第一章 什么是练习(What is Practice)
当我说Practice时,我实际上是在说:
    练习是一个习惯、一件例行公事
    练习不是靠记忆
    练习通过实践来获得

继续阅读 »

Word2007批注与修订功能

Word文档初步完成以后,需要进一步进行批注、修订等工作。Word 2007提供了更高级的修订和批注功能。用好这些功能,您将制作出更人性化、更准确的Word文档来。
 
这里只简单的介绍如何插入批注和如何开启修订功能。
在工具面板中选择审阅,可以看到批注和修订菜单栏,新建批注就不用说了,实际拿个文档操作下就明白了。
 
 
修订功能是可以开启或关闭的,如下图,选中修订后,开启修订功能,这样Word就会同时记录文档的修改记录。
 
 
更多更详细的介绍可以参考这里(来源天极网):Word 2007教程:处理文档的修订与批注
来自为知笔记(Wiz)

入门Python

曾经很多次我都想放弃一直使用的脚本工具AutoIt,换用Python,可以一直没有入门。

记得第一次知道Python是四五年前,那时候还在上大学,那时候就看到网络上很多人说python很强大,尝试了学习,可惜没有入门,可能那时候的学习能力不够吧。后来又几次三番的想学习Python,也都因为遇到各种各样的困难而放弃。

这一次我有旧情复燃,原因是买了树莓派后看到了更多关于Python的应用,加之前几天在网上搜到了一篇介绍Python入门书籍的文章。下载了这篇文章里介绍的书籍,最大的收获是,学习一门知识,选择一本好书非常重要。通过相关介绍,我知道了Python2.7.5是最合适的版本。记得之前我一直以为那些教程使用2.7.5(而不是3.0)是过时的表现,所以自己去折腾3.0,遇到各式各样的问题,又找不到帮助和解决办法,最后只能放弃。

所以这里我跟大家分享下我正在使用的入门资料,方便大家学习。 继续阅读 »

产品与艺术品

记录一点工作感悟和想法。
每个程序员都不乐意来来回回地修改设计,我也毫不例外。当然,我们应该清楚的知道设计时一定会反复修改的,敏捷开发的一项特点就是能快速响应客户的需求,及时作出修改。所以,我们应该说,好好反省吧,程序员,修改时避免不了的。真的是这样吗?
是的,用户的需求我们是一定要尽力满足的。但我这里讨论的是产品发布之前的反复修改。我不知道是不是大公司就不会出现这种情况,但我现在确实遇到了这种情况。我刚刚根据讨论好的方案实现了代码,完成了单元测试,又被通知方案要做出修改;刚刚完成修改,又被告知这种方案对于服务器会造成很大的压力,还需要修改。

继续阅读 »

STM32 要使用一个定时器需要做哪些工作

1.配置该时钟的中断优先级,NVIC
    NVIC_InitTypeDef NVIC_InitStructure;
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);     //配置NVIC中断优先级编组
    NVIC_InitStructure.NVIC_IRQChannel = TIM6_IRQn;  //TIM6中断
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;  //抢占优先级1级
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;  //从优先级3级
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
    NVIC_Init(&NVIC_InitStructure);  //根据NVIC_InitStruct中指定的参数初始化外设NVIC寄存器
2.初始化该时钟的配置,包括:
开启该定时器的时钟源:RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE);
清空配置:TIM_DeInit(TIM6);
配置时钟的自动重装计数器:TIM_TimeBaseStructure.TIM_Period=200;
配置时钟源预分频数:TIM_TimeBaseStructure.TIM_Prescaler= (1600 – 1);
配置时钟分频数:TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
配置计数模式:TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;
让配置生效:TIM_TimeBaseInit(TIM6, &TIM_TimeBaseStructure);
清空溢出中断标志:TIM_ClearFlag(TIM6, TIM_FLAG_Update);
设置溢出中断使能:TIM_ITConfig(TIM6,TIM_IT_Update,ENABLE);
启动定时器:TIM_Cmd(TIM6, ENABLE);
3.编写该时钟的中断服务函数
void TIM6_IRQHandler(void)
{
    if(TIM_GetITStatus(TIM6, TIM_IT_Update) != RESET) //检查指定的TIM中断发生与否:TIM 中断源
    {
        TIM_ClearITPendingBit(TIM6, TIM_IT_Update  );  //清除TIMx的中断待处理位:TIM 中断源
        sysClockCount++;                                //用于滚动显示字符
    }
}
来自为知笔记(Wiz)

LED点阵屏接口

12接口图示:
                    OE     A
                  GND    B
                  GND    C
                  GND    CLK
                  GND    HS
                  GND    RD1
                  GND    GD1
                  GND    D
08接口图示:
                     GND       A
                     GND       B
                     GND       C
                       OE        D
                       R1        G1
                       R2        G2
                     GND       HS
                     GND       CLK 继续阅读 »
第 10 页,共 51 页« 最新...89101112...203040...最旧 »