作者归档:在线疯狂

RSS feed of 在线疯狂

Django框架特性

Django框架图

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.

Django是一个鼓励快速开发与简洁、务实设计的高层Python Web框架。


Object-relational mapper

Define your data models entirely in Python. You get a rich, dynamic database-access API for free — but ...

继续阅读

TinyMCE4集成CodeMirror插件

TinyMCE wysiwyg 编辑器是一款非常基本的HTML源代码编辑器。作者实现了一款针对TinyMCE的插件使得编辑HTML源代码的经历更加令人愉快。这款插件基于卓越的CodeMirror代码编辑器,由Marijn Haverbeke开发。

CodeMirror4TinyMCE项目链接:http://www.avoid.org/codemirror-for-tinymce4/

这款插件提供了如下功能:

  1. HTML, Javascript和PHP代码语法高亮
  2. 显示行号
  3. 高亮当前编辑行
  4. 自动缩进
  5. 多重Undo/Redo
  6. 搜索/替换功能
  7. 等等...

说明:

  • 下载和安装TinyMCE4并确保其可以在缺省设置下运行
  • 下载CodeMirror插件的源文件(codemirror.zip 或者 codemirror.tar.gz)
  • 将下载到的文件解压至tinymce/plugins目录。新建一个文件夹命名为codemirror
  • 下载CodeMirror(3.13或以上版本),链接地址:https://codemirror.net/codemirror-latest.zip
  • 解压codemirror-latest.zip到刚才创建的plugins/codemirror目录下。一个命名为CodeMirror的目录将被生成。

在TinyMCE中激活codemirror插件:

plugins:['codemirror']

可选的,在TinyMCE工具栏中添加代码按钮:

toolbar: 'undo redo | styleselect | bold italic | ...

继续阅读

表达式括号补全与求值

编写程序,从标准输入得到一个缺少左括号的表达式并打印出补全括号之后的中序表达式。

例如给定表达式: 1 + 2 )* 3 - 4 )* 5 - 6 ) ) )

程序可以输出:((1 + 2 )*((3 - 4)*(5 - 6)))

并计算结果,Java代码如下:


import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Stack;

/**
 * 表达式求值
 * 
 * @author 在线疯狂 ...

继续阅读

django-blog-zinnia更新django-tinymce版本4.0

从链接下载django-tinymce4的分支版本:django-tinymce-v4-branch

注:此版本尚在开发过程中(最后一次更新于2013年12月初),许多功能还未实现,但并不影响主要功能的使用。

更新zinnia/templates/admin/zinnia/entry目录下的tinymce_textareas.js

替换为如下内容:


tinymce.init({
	id: "id_content",
	valid_elements : '*[*]',
	selector: "textarea",
	language: "zh_CN",
    theme: "modern",
    plugins: [
        "advlist autolink lists link image charmap print preview hr anchor pagebreak",
        "searchreplace wordcount visualblocks visualchars code fullscreen",
        "insertdatetime media nonbreaking save ...

继续阅读

程序员的《权利法案》

“程序员应有的权利你都要去争取!而且记住:你可以让公司做出改变,要不然你就换一家公司。”

一个公司愿意付给一个开发人员6万~10万美元的薪水,却用糟糕的工作条件以及破烂的硬件设施摧残他,这对我来说是难以置信的。不管怎么说,这买卖一点都不划算。然而,我却总能看到这样的事情。这让人很震惊,竟然有这么多公司依然没有为软件开发者的成功提供必要的基础条件。

我提议,我们应该制定一个针对程序员的《权利法案》,以防止公司拒绝给程序员提供取得成功所必需的基础条件,最终达到保护程序员权利的目的。

1. 每个程序员都应该有两个显示器

在LCD价格跳水以及双输出的显卡如此普及的情况下,如果你还把你的开发者限制在一个屏幕上,那你一定是疯了。通过把电脑桌面双倍扩大可以获得生产力的提升,这已经被充分论证过了。如果你想把开发者的生产力发挥到极致,请确保每个开发者都有两个显示器。

2. 每个程序员都应该有一台快速的电脑

程序员必须运行很多软件才能完成他们的工作:开发环境、数据库引擎、网络服务器、虚拟机,如此等等。运行所有这些软件需要一台快速的电脑,再配上很多内存。程序员的电脑越快,他们每次编译、调试的周期就越短。我不是让你当“发烧友”,花天价去购买最新、最顶级的配置——但是,你也得向高配置看齐吧。给你的开发者配备快速的、带有很多内存的电脑吧。眼巴巴地盯着进度条等待绝对是一种浪费!

3. 每个程序员都应该自己选择鼠标和键盘

在大学的时候,我经营过一个代客油漆的业务。我雇用的每一位油漆工都需要他们自己购买刷子。这是我早期积累的经验之一。将一把标准的刷子扔给一位新的油漆工是行不通的。这些“公司标配的”刷子不被爱惜,很快就会沦落到破损不堪的状况。但是,那些自己买刷子的油漆工很珍惜他们的刷子。他们懂得欣赏花20美元买来的专业刷子与那些从一元店里买来的一次性刷子之间的差别。拥有自己的刷子让他们产生一种持久的责任感和手艺人的感觉。程序员应该和他们的鼠标以及键盘保持一种相同的关系——它们是我们用来实践我们手艺的最基本的日常工具,我们应该加以善待。

4. 每个程序员都应该有一把舒适的椅子

别小看这个问题!很大程度上来说,我们靠屁股每天坐上8个小时来谋生。为什么不在一把舒适的、设计优良的椅子上度过那8小时呢?要坐8个小时啊,仅仅给程序员提供勉强过得去的椅子是不够的,要让他们坐得愉悦才行!当然,你雇用程序员主要是为了他们聪明的脑袋,但是也别忘了照顾他们的其他重要部位。

5. 每个程序员都应该能快速接入互联网

任何东西只要能“偷”来的,好的程序员从来不会自己去写。互联网是有史以来“偷”东西的最佳去处。我完全赞成“读万卷书”,但如果没有快速响应的互联网搜索、不能弹指间找到我想要的东西,很难想象我是否还能正常开展工作。

6. 每个程序员都应该有安静的工作环境

编程需要全神贯注。程序员在一个嘈杂的环境里是没法高效工作的。请确保你的工作环境能够保护程序员的“心流”状态,否则他们宝贵的时间将在各种干扰之下消耗殆尽。

译者注:心理学家米哈里齐克森·米哈里(Mihaly Csikszentmihalyi)将心流(flow)定义为一种将个人精神力完全投注在某种活动上的感觉;心流产生时会有高度的兴奋及充实感。

我们要求的这几个基本权利是容易办到的。这些要求并不过分,但它们对于软件开发者工作生活的质量起着关键性的作用。如果你所在的公司在这方面做得不好,那就改善一下吧,这既不需要大量的资金投入,做起来也并不难。作为程序员,你要去争取应有的权利!而且记住:你可以让公司做出改变,要不然你就换一家公司。

译文来自:呦呦鹿鸣

原文链接:the-programmers-bill-of-rights