- 博客(97)
- 资源 (20)
- 收藏
- 关注
原创 CDockablePane使用心得
最近做项目使用到了MFC的CDockablePane进行布局,下面将应用心得以九个例子进行总结如下: 1. CFrameWndEx 在框架类的头文件中定义一个CDockablePane的数组CDockablePane m_Panes[5];//一个CDockablePane的数组2. CFrameWndEx:: OnCreate() 在Create函数中自动生
2013-05-16 21:05:04 8176 9
原创 利用反射动态调用C#嵌入到资源的托管DLL
以前写了一篇博客《C#嵌入dll到资源释放的问题》讲到了DLL文件嵌入到程序后,程序运行时自动释放的问题。很多读者都问到了一个同一个问题:文章针对的是非托管的Win 32 DLL,那么托管的DLL怎么嵌入并释放呢?这篇文章就来聊一下这个话题。
2017-09-28 22:32:56 1771
原创 C++嵌入DLL到资源运行释放的问题
以前写过一篇博文C#嵌入dll到资源释放的问题。虽然相对于C#,C++中嵌入DLL到程序资源中,然后再释放出来的应用场合并没有那么多,但是还是有必要了解下一般的过程。结合本人在实际工作中解决此类问题的实践思路,这里介绍下最基本的一种解决方案。1 嵌入DLL到资源有些程序运行的时候,可能调用外部的DLL,用户使用时可能会不小心丢失这些DLL,导致程序无法正常运行,因此可以考虑将这些DLL嵌入到资源中,
2017-09-16 18:29:08 6084
原创 C#调用Win32 C++动态链接库那些事
利用C#设计前端显示界面,C++完成后台算法和功能,是现在比较流行的一种桌面软件研发搭配。通常的做法就是C++封装成动态链接库接口,供C#来调用。这种做法最麻烦的是两者之间数据传递的问题,因为C#和C++之间的数据类型是不一样的,而且在实际应用中还存在一些未知的坑。
2017-09-08 10:20:23 1627 1
原创 构建Visual Studio Code编译调试Linux C++环境
Visual Studio Code是微软公司推出的一款可以跨平台(Mac OS X、Windows、Linux)的轻量级IDE,支持C/C++/C#/Python等多种语言环境,与其说它是IDE,还不如说是代码编辑器,只不过可以进行合理的配置,来实现IDE的功能。默认的界面风格类似于Sublime,我比较喜欢,与一些重量级C++ IDE相比,也比较小巧,是非常值得推荐的一块编译调试工具。
2017-08-23 10:31:32 5196
原创 Flask结合APScheduler实现定时任务框架
APScheduler是一款功能非常强大的定时任务框架。利用APScheduler框架我们可以很方便实现一个基于Python的定时任务系统。Flask提供了对应的Flask-APScheduler来集成APScheduler功能。
2017-06-11 20:22:57 21377
转载 C++通过Callback向C#传递数据
现在比较流行C#与C++融合:C#做GUI,开发效率高,C++做运算,运行效率高,二者兼得。但是C++与C#必然存在数据交互,C#与C++dll的数据交互从来都是一个让人头疼的问题。
2017-05-31 11:03:45 3072
原创 Flask框架在Ajax请求中开启CSRF保护
前面Flask学习总结笔记(5)– Form表单中对表单提交中开启CSRF保护进行了详细讲解。虽然Ajax不同于表单提交,但是我们同样可以手动利用相同的办法,开启CSRF保护。
2017-03-19 02:08:16 3252
原创 Python动态加载模块的实现
Python是通过import来实现模块加载的。有时候我们在事先并不知道到底需要加载哪些模块,只有在程序运行到一定阶段后才能够明确加载模块的信息,这就涉及到动态加载的问题了。
2017-03-10 09:33:20 2508
原创 BeautifulSoup基本用法总结
BeautifulSoup是Python的一个库,最主要的功能就是从网页爬取我们需要的数据。BeautifulSoup将html解析为对象进行处理,全部页面转变为字典或者数组,相对于正则表达式的方式,可以大大简化处理过程。
2017-02-24 15:07:51 80275
原创 Python学习笔记:Python字符编码问题的经验小结
Python字符编码确实是一个让人头疼的问题,但是只要使用正确的方式,还是可以较好解决的。
2017-02-23 23:00:56 1964
原创 利用Editor.md构建Markdown富文本编辑器
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。就像我们使用的CSDN Markdown编辑器一样。下面我们利用开源的Editor.md来构建属于我们自己的markdown编辑器。
2017-02-12 21:56:32 12370 14
原创 利用SQLAlchemy和Bootstrap实现数据分页显示
随着Web业务拓展,数据量会不断增长,如果在一个页面上将全部数据一次性显示出来,服务器和浏览器都会受到很大影响,不切合实际。一般的解决方式是采用分页显示的办法。在Flask框架中,可以利用SQLAlchemy实现分页查询,结合Bootstrap提供的强大CSS分页效果,完美地实现分页导航的效果。
2017-02-07 11:55:02 5917 1
原创 利用ForgeryPy生成虚拟数据
在程序研发过程中,我们往往需要大量的虚拟实验数据。Python中有多个包可以用于生成虚拟数据,其中功能较为完善的是ForgeryPy。
2017-02-07 09:11:54 3300
原创 Flask学习总结笔记(12) -- 利用ajax进行前后端数据交互
Web应用基于ajax进行前后端数据交互,一般利用Get或者Post方式来实现。比较流行的做法是前端提交表单数据,后端处理完毕后返回Json数据到前端进行显示。
2017-02-06 00:03:47 21804 2
原创 Flask学习总结笔记(11) -- 利用itsdangerous实现用户身份确认
当用户注册后,Web服务需要提供一个身份真实性认证的过程,比如发送确认邮件等等。只有用户点击了确认的邮件,注册的账号才能被激活。我们可以将http://www.site.com/auth/conmfirm/id的激活链接方式作为邮件内容发送给注册者,其中id是数据库分配给注册用户的自增编号。但是这种方式很不安全,恶意者可以伪造id值。因此,我们需要对信息进行加密处理,将id换成携带身份信息的令牌值。
2017-01-18 16:40:33 5563
原创 Flask学习总结笔记(10) -- 利用Werkzeug实现账号密码加密存储
在用户注册中,我们需要把账号密码存储到数据库中,为了账号安全,需要对密码进行加密。在Flask中,Werkzeug中的security模块能够很方便地实现密码加密计算。
2017-01-17 19:29:51 3257 1
原创 Flask学习总结笔记(9) -- 利用Flask-Login维护用户登录状态
HTTP 协议是无状态的,无法记录用户的访问状态,但是在Web应用中我们需要知道用户的状态,尤其是用户登录的状态,这样在页面跳转后,才知道用户是否有权限来操作页面上提供的功能或是查看页面上的数据。Flask-Login为Flask应用提供了用户session的管理机制,可以很好地帮我们维护和管理用户的登录状态。
2017-01-15 17:25:28 9372 1
原创 Flask学习总结笔记(8) -- 利用Flask-mail实现电子邮件发送功能
很多Web应用需要在诸如用户注册、密码找回等过程中,进行用户身份的有效性认证。采用电子邮箱进行确认是一种常用的方式。Python标准库smtplib可以实现发送电子邮件的功能,Flask框架的Flask-mail包装了smtplib库,扩展了对电子邮件发送的支持。
2017-01-11 22:32:11 4227
原创 Flask学习总结笔记(7) -- 程序文件组织结构
前面在Flask学习中我们采用了一种简单的文件夹组织形式。但是对于大型程序而言,将所有的代码放在一起不是一种明智的选择。Flask提供了一种蓝本(Blueprint)的程序组织方式,可以对大型程序进行模块化的分割,使得代码扩展性和可读性大为提高。
2017-01-03 22:11:00 1897
原创 Flask学习总结笔记(6) -- Flask-Moment本地化日期和时间
访问Web服务的客户端来自世界各地,服务器需要统一时间单元,这和用户的地理位置无关。因此一般采用的是世界时间(Coordinated Universal Time,UTC)。不过作为客户来说,仍然希望看到的是他处在的当地时间。Flask-Moment是Flask对其的一个拓展,能够将moment.js集成到Jinja2模板中。
2016-12-29 22:59:21 3906
原创 Flask学习总结笔记(5)-- Form表单
Form表单是Web应用中最基础的一部分。为了能处理Form表单,Flask-WTF扩展提供了良好的支持。0x01 安装Flask-WTF的安装在前面的博客Flask学习总结笔记(1)– 环境配置中介绍过了:pip install flask-wtf具体的过程就不再赘述了。0x02 开启CSRF保护Flask-WTF提供了对所有Form表单免受跨站请求伪造(Cr...
2016-12-18 01:00:32 12916 11
原创 Python学习总结笔记(10)-- MySQL数据库操作之SQLAlchemy使用总结
SQLAlchemy是一个著名的ORM框架,使用ORM操作数据库,不用去关注SQL语句本身,这样可以提高开发的效率。同时使用ORM框架虽然可以减少代码编写的消耗,但是可能也会执行很多冗余的数据库操作,降低程序的运行效率。不过总的来说,合理利用ORM框架与数据库交互还是一个比较不错的选择。
2016-12-13 22:47:02 11418
原创 Bootstrap学习总结笔记(24)-- 基于BootstrapValidator的Form表单验证
Form表单进行数据验证是十分必要的,我们可以自己写JS脚本或者使用jQuery Validate 插件来实现。对于Bootstrap而言,利用BootstrapValidator来做Form表单验证是个相当不错的选择,两者完全兼容,我们也不用去关注CSS样式等美工效果。
2016-12-11 22:09:18 5794 1
原创 Python学习总结笔记(9)-- MySQL数据库操作之mysql-connector
MySQL数据库是使用最广泛的关系型数据库之一,其性能优良,能够承受高并发的访问,非常适合作为Web应用的后台数据库。Python中操作MySQL数据库的适配器主要有两个,一是MySQLdb(即MySQL-Python): 封装了MySQL C驱动的Python驱动器;另一个是mysql-connector:MySQL官方的纯Python驱动器,这里我们就以mysql-connector为例进行学习。
2016-12-11 01:36:13 10739
原创 Flask学习总结笔记(4)-- Jinja2模板引擎之二
Jinja2模板引擎官方文档详细介绍了其中的API函数、沙箱、模板设计文档等,这里主要就一些常用的知识点进行总结。
2016-12-09 16:04:47 13373
原创 Flask学习总结笔记(3)-- Jinja2模板引擎之一
在MVC架构中,使用模板实现页面的设计与布局是一种非常常见的方式,比如PHP的smarty、J2ee的Freemarker和velocity、.NET的velocity.net等。Jinja2是基于python的模板引擎,具有相似的功能,完全支持unicode,具有集成的沙箱执行环境,应用广泛。
2016-12-08 20:07:40 1174
原创 Bootstrap学习总结笔记(23)-- 基本插件之轮播幻灯片
Bootstrap 轮播(Carousel)插件是一种灵活的响应式的向站点添加滑块的方式。
2016-12-07 23:59:52 1118
原创 Bootstrap学习总结笔记(21)-- 基本插件之按钮
前面已经介绍过Button的使用。通过button按钮,我们还能实现一些诸如按钮状态控制等形式的交互。
2016-12-07 23:42:13 415
原创 Bootstrap学习总结笔记(19)-- 基本插件之Popover提示框
Tooltip采用的是hover方式弹出提示框,适合提示内容比较少的情况,要是内容较多,就可以应用Popover提示框。
2016-12-07 23:11:17 542
原创 Bootstrap学习总结笔记(18)-- 基本插件之Tooltip提示工具
提示工具(Tooltip)插件根据需求生成内容和标记,默认情况下是把提示工具(Tooltip)放在它们的触发元素后面。
2016-12-07 23:05:52 431
原创 Bootstrap学习总结笔记(16)-- 基本插件之模态对话框
Bootstrap自带了很多JQuery插件,给用户做前端开发提供了很大的方便。对于每一个插件,有2种引用方式:一是单独引用,即使用Bootstrap的单独*.js文件,这种方式需要注意的是一些插件和CSS组件可能依赖其他插件,所以单独引用的时候,需要弄清楚这种包含关系并一并引用;二是直接引用完整的bootstrap.js或者压缩版的bootstrap.min.js,需要注意的是不能同时引用这2个文
2016-12-07 22:18:55 685
Drupal 7.31最新SQL Injection漏洞利用脚本支撑库文件
2014-10-23
虚拟仪器,Visual Studio.net,Measurement Studio的使用手册
2009-05-16
C#窗体贴边自动隐藏组件 By Red_angelX
2009-04-18
用C#实现office2003风格的菜单组件
2009-04-17
C#调用word的实现
2009-03-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人