逸思杂陈

人类一思考,上帝就发笑。

git 简介

git是一个分散式版本控制软件,最初由林纳斯·托瓦兹(Linus Torvalds)創作,於2005年以GPL釋出。最初目的是为更好地管理Linux内核开发而设计。
初始版本由Linus大神在两个星期内写出来,之后基本一统文件版本控制的天下。

名词解释

工作区:就是你在电脑里能看到的目录。
暂存区:英文叫stage, 或index。一般存放在”git目录”下的index文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
版本库:工作区有一个隐藏目录.git,这个不算工作区,而是Git的版本库。
branch:分支,相当于不同的平行世界
remote:远程仓库
origin:默认的远程仓库名词
HEAD:一个指向当前版本号的指针

阅读全文 »

冒泡排序 BubbleSort

介绍

遍历序列,比较两个元素,如果前面的大于后面的就交换两者的位置。其实称之为冒泡排序不如加沉底排序,因为每一轮比较,这一轮轮最大都会被排到序列末尾,其实沉底更为贴切。

步骤

  1. 遍历序列,比较序列的相邻元素,比较n-1次,如果前面的大于后面的就交换两者的位置。
  2. 比较次数减一,重复步骤1
  3. 共遍历n-1次

代码

  1. 原始版本
1
2
3
4
5
6
7
8
def bubble_sort(arry):
n = len(arry)
while n > 1:
n -= 1
for x in range(n):
if arry[x] > arry[x+1]:
arry[x], arry[x+1] = arry[x+1], arry[x]
return arry
  1. 改进版本
1
2
3
4
5
6
7
8
9
10
11
12
def bubble_sort(arry):
n = len(arry)
while n > 1:
n -= 1
swap_flag = False # 增加一个标记,当排好序后直接退出
for x in range(n):
if arry[x] > arry[x+1]:
arry[x], arry[x+1] = arry[x+1], arry[x]
swap_flag = True
if not swap_flag:
break
return arry
阅读全文 »

说到python赋值语句,大家想必一个念头——so easy,不是lz = 'dashabi'吗。
确实,easy是easy,里面却有个小坑,虽小,却不易发现。在代码量多的时候,就有点恶心了。

正常的语句是这样

1
2
3
>>> aa = u'这是一个坑'
>>> aa
u'\u8fd9\u662f\u4e00\u4e2a\u5751'

坑在这里

1
2
3
>>> aa = u'这是一个坑',
>>> aa
(u'\u8fd9\u662f\u4e00\u4e2a\u5751',)

看出区别没有,坑的后面有个逗号,平时这逗号没什么卵用,但在赋值语句的末尾会将原来的对象转化为tuple。
aa = (u'这是一个坑',)是一样的效果。

总结

  1. Python2 中使用from __future__ import division就可以使用python3的除法。
  2. Python2 中/与操作数有关,x / y中x、y都为整型的话,为floor除法,否则为true除法也是日常的除法。
  3. Python3 中/true除法, 与操作数无关。
  4. //在 Python2 与 Python3 中并无差别, 都代表floor除法

Python3

1
2
3
4
5
6
7
8
>>> -5/3
-1.6666666666666667
>>> -5//3
-2
>>> -5.0/3
-1.6666666666666667
>>> -5.0//3
-2.0

Python2

1
2
3
4
5
6
7
8
>>> -5/3
-2
>>> -5//3
-2
>>> -5.0/3
-1.6666666666666667
>>> -5.0//3
-2.0

简介

谷歌百度一键搜索, 在百度页面上搜谷歌,在谷歌的页面上搜索百度,无需切换,无需重新输入搜索词。

详细描述:
虽然谷歌比较好用,结果也准确,但搜索中文这方面却也弱了点,百度还是有点用。谷歌百度一键搜索, 在谷歌的页面上搜索百度,在百度页面上搜谷歌,无需切换,无需重新输入搜索词。
目前支持http(s)://www.baidu.com, http(s)://www.google.com.hk, http(s)://www.google.com

创建:2015.11.25
作者:ponder.work
forked from: raywill/BaiGoogleDu

阅读全文 »

概述

在开发django网站时发现,用户登录后不能跳转到之前的页面,google了很多答案,讲得也不清楚。

其实就是渲染登陆表单时,将原链接带到action参数里,view函数接收到参数后进行重定向。

实现

登录链接

1
<a href="/account/login/?next={{request.path}}">登录</a>

view

1
2
3
4
5
6
7
8
def login(request):
next_url = request.REQUEST.get('next', '/')

if request.method == 'GET':
return render_to_response('account/login.html', {'next_url': next_url}, context_instance=RequestContext(request))

django_login(request, user)
return redirect(next_url)

登录表单

1
2
3
4
5
6
7
<form action="/account/login/?next={{next_url}}" method="post" >
{% csrf_token %}
用户名<input id="username" type="text" name="username" required/>
</br>
密码<input type="password" name="password" required/>
<input type="submit" value="登 录"/>
</form>

问题背景

在用django的admin进行管理的时候,对于指定的用户角色,不希望他看到特定状态的foreignkey,可以采用以下方案。

当然,也可通过自定义form解决该问题。

解决方案

1
2
3
4
5
6
7
8
9
10
11
12
class FactoryOrderItemInline(admin.TabularInline):
model = FactoryOrderItem
fields = ('order_item', 'product_sn', 'style', 'size', 'factory_sn', 'price', 'quantity', 'amount')
extra = 1

def formfield_for_foreignkey(self, db_field, request, **kwargs):
if db_field.name == 'order_item':
try:
parent_obj_id = request.resolver_match.args[0]
except IndexError: #仅在新建状态过滤
kwargs['queryset'] = OrderItem.objects.filter(order__status='2')
return super(FactoryOrderItemInline, self).formfield_for_foreignkey(db_field, request, **kwargs)


  下午去看了《小王子》电影,拍得很好,在忠实原著的基础上又有所发展。回来又把原著给温习了一遍,感触颇深。
  
  记得李安在拍《卧虎藏龙》的时候说过每个人心中都有把青冥剑,而我想说每个人心中都有个小王子
  作者说过,这是写给曾经是孩子的成人的童话。所以,不论文章还是电影,都比较有深度,适合我们这些曾经是孩子的人观看。

阅读全文 »

概述

  • 简介:政治寓言,可惜在过往历史中已经能找到他的影子了,老大哥、真理部等梗的来源。说的是在1984年世界被三个国家瓜分,他们均高度集权,改变历史,改变语言(所谓新话);建立健全的监控系统,控制人们的思想和行为。

  • 本篇文章仅为测试人工智能的最新研究进展。

阅读全文 »

  昨天晚上听到一则消息,小学一老师得骨癌,37岁,自杀了。
  
  不知怎的,心里乱乱的,就想起“生死之间有大恐怖”这句话来了。
  
  人生在世确如白驹过隙,忽然而已。而这白驹过隙却也还有快慢之分,如何不令人怅然。犹记得,《兰亭集序》里一句“修短随化,终期于尽。”,少时懵懂只觉语句优美,终不解其中深意。到如今,自己也算是经历了一些,才明白这寥寥数语却是道尽世间沧桑。个体寿命的长与短,都是由造化决定,最终都不免走向那个尽头。然而这个中差别,却让多少世人肝肠寸断。

  也曾想,自己的生命有多长,然后就是一阵惊惧。
  
  生命实在是太过短暂,而且很可能在你不经意时终结。

生死事大,无常迅速。

  唉!无法,徒增忧伤而已。

人生苦短,及时行乐。
有愿立偿,不余遗憾。

概述

  • 作者:[日]铃木俊隆
  • 简介:禅修的心应该始终是一颗初心(初学者的心)。初心是空空如也的,不受各种习性的羁绊。只有保持这颗初心,随时准备好去接受、怀疑,并对所有的可能性敞开,才能如实看待万物的本然面貌,一步接着一步前进,然后在一闪念中证悟到万物的原初本性。[1]
阅读全文 »

概述

  • 作者:A·阿德勒
  • 主要内容:讲述自卑感的形成原因以及解决方法。作者和弗洛伊德一样都认为童年对个人的心理成长有重大影响,不过着眼点有所不同,阿德勒着眼于社会合作,弗洛伊德主要研究个体、性。
阅读全文 »

如何理解新事物

  • 找到新旧的边界,也就是不能理解的最小单位。理解它并记住它,这样边界就往新的那个方向移动了。

关于智商题

  • 常考察思维的发散性,就是如何在有限的时间内尝试多种方法解决问题。多因素变动的组合,如图形规律题,有时是两个以上的变动叠加。
阅读全文 »

万物如何组织

区分联系

  • 所谓区分也就是一事物仅仅是它本身而不被认为是他物,有了区分才有了物与无之间的界线,没有和其他的“区分”就可以说该事物就不能存在。

  • 然后是联系,这体现了该事物存在的意义。如果该事物与其他事物之间完全没有关系,那么它也没有存在的必要了,因为有你没你并没有什么不同。

如何实现“区分”

包括以下两者:1、定义;2、作用。

  • 定义就是什么东西通过什么方式构成了它,也就是它从哪里来;
  • 而作用就是能干什么也决定了它能往哪里去。

在世俗,作用才是最重要的,因为你与他物的联系是由作用实现。

这世界就是这么势利,它第一句话总是问你:“你能为我做什么,你有什么用”。经济学告诉我们,价值是由别人对该事物未来的预期决定的,而不是它的成本。

而预期从何而来,根据就是一个事物的作用,一定意义上说也就是你所能带来的收益。

我觉得记忆(我认为学习的本质就是记忆,所谓的理解、融汇贯通),不过是构筑你脑中的世界,本质与现实世界的组织是一致的,让脑中概念各得其位。

0%