8 months ago

程序员不小心删库然后‘被跑路’的新闻每隔几个月都要爆出来一次
原因是各式各样五花八门:看错库,看错生产环境,甚至还有前员工泄私愤故意为之
仿佛删库是在所难免的事情,就连数据库专业书籍也被人恶搞


如何有效避免‘被跑路’,我觉得应该从公司管理层面和个人层面解决

公司管理层面:权限,权限,权限

  • 严格管理工程师账号权限:每人的权限仅与工作相关,不应赋予超越工作范围的权限
  • 开发数据库和线上数据库分离
  • 与设置专门DB岗位,线上数据库只允许查,改的话要有审批流程
  • 做好权限回收:及时清理临时账号和离职员工账号
  • 线上数据库管理权限(一般指修改表结构权限与删表权限)禁止回收,也不提供给业务直接用
  • 公司清理数据库要有下线流程。下线一定要走流程。宁愿多租几天机房也不要丢掉数据

个人层面

  • 数据是公司重要资产,即便清理无效数据也尽量使用逻辑删除而非物理删除
  • 坚守自己的岗位职责:删库的事情还是交给DB吧
  • 重定向 rm 命令:嫁接为 mv 命令

下面详细介绍重定向rm命令


将上述脚本写入 /etc/bashrc,并立即执行命令 source /etc/bashrc 即刻生效

这个脚本定义了几个命令:

  • rl:查看回收站下的文件;
  • unrm 文件名或目录:恢复到当前的路径下;
  • rmtrash:清空回收站,不过会友好提示。

执行 rm 不会真正删除,而是使用 mv 移动到我们指定的回收站。实在真的想删除可以 /bin/rm 来进行删除。另外,需要注意的时,之前 rm 指令的一些参数可能不再使用,因为 rm 现在其实是 mv 了。

使用示例:

什么?你说自己就是DB!那只好放大招了
  • 不要走神。不听歌,不聊天,不吃东西,不喝饮料,头脑清醒,知道自己在做什么,要做什么。
  • 写出步骤。连接到哪个数据库,ip是什么,运行什么命令,先做什么,后做什么,出了问题怎么roll back,我知道你都懂,但要写出来,不要相信自己的记忆。
  • 在测试环境验证。拿来写好的步骤,在测试环境中跑一遍,一半以上的可能会发现问题,然后再修改步骤,不要直接在产品环境中跑。
  • delete 和 update 前,先查询,用同样的 where 语句 select,至少知道有多少记录会被影响到。
  • drop 和 truncate 之前,检查三遍,连接的是不是正确的数据库。
  • 一次只连接一个DB,不要开几个窗口,有的连测试,有的连产品,或早或晚,你会出错。
  • 备份,备份,备份——冷备,热备,异地容灾——不遇到是无用功,遇到了没有,等死吧

参考资料:
程序员如何优雅地防止从删库到跑路
顺丰删库跑路事件后,你必须掌握的 8 大对策!

 
8 months ago

洪蜀宁何其人

提到国内数字货币的早期布道者,大名鼎鼎的有“比特币首富”李笑来,巴比特创始人长铗(jia)

在2013年,长铗等准备写一本书向国内大众普及比特币知识的时候,蓦然发现早在2011年11月份就有体制内高人——时任中国人民银行南京分行研究员洪蜀宁在《中国信用卡》杂志上发表题为《比特币:一种新型货币对金融体系的挑战》的文章并对政府提出了在今天看来依然超前的三点建议:

1.政府和中央银行应正视比特币的存在,主动出击,动用国家巨大的计算能力,抑制私人挖掘的动力,将绝大多数比特币集中在国家手中。

2.研究成立比特币银行,在比特币交易中推行中间机构,以消除其匿名性,使其可以被监管。

3.国际联合发行比特币本位的信用货币,从而促进非主权货币体系的建立。通过这种新型的国际结算货币来挑战美元霸权地位,使国际金融体系更加和谐、稳定。

当我在2018年初看到7年前这篇文章时(彼时比特币刚刚从两万美金的神坛跌落不久),顿觉这位洪蜀宁同志惊为天人,不得不佩服体制内果然有高人,洪蜀宁的特殊身份使得我非常佩服人民银行研究的前瞻性。印象中人民银行从15年开始,每年都会在公开场合表示要发行数字货币,原来他们早在比特币诞生之初就开始关注了。

很遗憾的是这篇文章纯属洪蜀宁的个人兴趣,想象中引起央行和政府的重视也并没有出现。真实的情况是,当时很少人能看懂,文章发出后并没有什么音信。洪蜀宁本人当时也有其他工作,就没有再继续过多关注。

公开资料无法找到洪蜀宁的履历,以下内容摘自2018年巴比特与洪蜀宁本人的采访记录。

  • 92年从清华大学计算机科学与技术系毕业,一直做软件开发方面的工作。
  • 很快就到了人民银行,先是做了几年的银行IT系统,04年05年的时候转到支付清算。
  • 在11年年初的时候,在互联网上无意中看到了比特币的介绍,出于个人兴趣和职业敏感性花了大概几个月的时间,仔仔细细的把比特币彻底研究了一下,觉得这个东西可以为我所用。 所以写了一篇工作论文,给央行提了三个建议。还有一个背景,当时的央行行长周小川提出应创造可保币值稳定的超主权国际储备货币,用以对抗美元霸权。比特币天生就是用来对抗美元霸权的,又是一个非主权货币。 所以我就站在这个角度写了那篇文章。
  • 2013年12月,中国人民银行等五部委发布《关于防范比特币风险的通知》认为:比特币是一种特定的虚拟商品,不具有与货币等同的法律地位。洪蜀宁认为比特币就是货币,由于当时央行员工身份,就没有再公开发声谈论比特币,不过他个人还是在继续关注比特币和区块链社区进展。
  • 到了2017年的时候,区块链开始热起来了,人民银行也成立了数字货币研究所,但他认为人民银行本身是中心化的,做区块链很难有前途。正好当时苏宁金融想利用区块链做一些应用,于是他就跳槽到了苏宁金融,创建了苏宁金融区块链实验室,完成了苏宁银行区块链国内信用证信息传输系统和苏宁金融区块链黑名单共享平台两个项目的落地。
  • 2018年6月,来到上海金丘,金丘2015年开始探索区块链,也做了十多个联盟链的项目,遇到了和他在苏宁的时候同样的问题:联盟链项目几乎不能落地。所以他加入到金丘成立区块链研究院,就是要想办法解决这些问题,如何让区块链为中小企业服务,怎样把区块链技术能够应用到实体经济当中。

区块链的核心应用是密码货币

洪蜀宁离开央行后,从事的都是联盟链项目,深感联盟链由于缺少数字货币的激励,推广非常困难
从全国乃至全球来看,联盟链项目的推动都是非常的困难。能够成功落地的项目无外乎两种情况:

  • 一种是大型企业在生态内部可控范围内,使用区块链打通上下游。
  • 另一种是有一个强有力的机构通过行政化手段强行推动,比如政府。 像比特币完全靠社区来推动的成功的案例,还没见到过,之前有个R3联盟,目前看来也是失败了。

尽管联盟链在落地过程中存在难点,但银行业对区块链的热情看起来很高涨

除了很小的农商行以外,几乎所有的大中型银行基本上都在区块链上有所尝试,
POC的项目涵盖了从清结算到供应链金融,贸易金融,征信,票据等场景。
因为金融业是一个中介,一定是多方合作。区块链是解决信任问题的。
银行自身的可信度相对较高,但是在某些情况下,银行希望自己能够证明自己更加可信,所以银行有动力去使用区块链去。

  区块链+,目前不是一个很适当的时机

之前出现过的互联网+,其实没有太多成功的案例,成功的都是纯互联网企业,
传统企业通过互联网改造成功的,苏宁算一个,但是苏宁到现在也不是一家互联网企业。

区块链+,利用区块链改变企业的商业模式,管理模式,甚至一些管理思路,这个难度非常之高。

改造现有的行业,不是最好的思路,更好的做法应该是用区块链创造出一个新的场景或者新的行业出来。
类似于支付宝,在它诞生之前,我们谁也想象不到会有这么一个东西。
未来区块链也会产生一个像支付宝一样所有人都没想到的东西,这才是区块链应该去做的事情, 我个人称之为“区块链X(乘)”。

数字货币是货币,可以作为外币来管理

货币:法币(纸币),黄金

仅仅是承认一下它是货币,而且它对人民币不会造成任何冲击。

这样监管的好处是:第一,不改变现有的法律法规;第二,对现有的金融稳定不会造成影响;第三,又能鼓励创新。

密码货币的使用场景其实是有限的,它不可能像法币一样应到生活的方方面面。
比如比特币的使用场景,实际上就两个:一个就是匿名的支付需求,第二个就是跨境支付。
这种需求的体量相对于整个人民币体系来说,完全可以忽略不计。

去中心化不是反政府

很多人在认识上存在一种误区,认为去中心化就是要反政府了,其实并不是这样。
去中心化,其实是保留了现有的中心,只不过现有的中心机构没有一个能够控制整个系统,
就像联合国,大家联合起来开会讨论达成共识。
去中心化,不是把中心去没了,而是削减中心的权力,让中心互相制衡。

去中心化,反应到现实就是去中介化,通过应用区块链技术可以将商品和服务的生产者和消费者直接连接到一起,
无需中介机构和中间组织的介入,从而减少信息不透明性、提高业务效率、降低成本、减少风险。

稳定币是伪需求

首先,真正的稳定币是做不出来的(与其锚定美元、房产、股票,不如直接拿比特币作为稳定币)
第二,现在所有的稳定货币的解决方案都是中心化的。
有些虽然采用了智能合约,或者有些通过智能合约做一些监管,但是都离不开oracle,
因为它需要和外部世界打通,要稳定就必须和外部世界打通。

目前来看,所有的稳定币的解决方案都规避不了中心化这个问题。
既然我要用中心化的稳定币,莫不如就用法币。
但是区块链上的法定数字货币,又是一个伪命题。因为法定数字货币它是不会用区块链去实现的,
因为区块链这种去中心化的技术,它的效率一定很差,成本一定很高。所以做中心化的系统一定比不上传统的技术。

区块链技术目前情况

区块链技术目前还处于非常早期的阶段,公链基础设施还很不完善,无法满足绝大多数业务的需求
预计1-2年内会有较为成熟的公链出现,之后才会出现“杀手级”应用,3-5年左右会迎来第一轮区块链应用热潮。

洪蜀宁的关注点

  • 利用密码货币的激励机制来打通实体经济
  • 目前区块链技术遇到了不可能三角,走向两个极端,一种解决方案就是像比特币,过于强调的去中心化,在可扩展性或者性能方面无法满足需求。另外一种是以EOS为代表的,过于强强调性能,完全放弃了去中心化。 我觉得,这两个极端是不可取的。所以我也在思考怎样用新的技术达到一种平衡,在保证安全性和去中心化的情况下,尽可能的提高性能。没必要达到百万TPS,对于绝大多数场景来说,有个几千的TPS就足够应用了。

2018年初预言未来比特币40万美金一枚

洪蜀宁认为比特币是未来互联网的主流货币,他讲比特币与黄金进行类比,预测未来比特币将达到黄金的同等地位,有理有据得出预言
同时宣传自己不炒币(言外之意他一定在屯币)

参考资料:
比特币:一种新型货币对金融体系的挑战
比特币:一个虚幻而真实的金融世界
洪蜀宁:加密货币应作为外币监管 法定数字货币等是伪需求
比特币真的会成为未来货币吗?
上市公司扎堆区块链,绝大多数是“伪项目”
何玺对话苏宁金融洪蜀宁:区块链是颠覆性技术,意义远超互联网

 
8 months ago

中国的儒家教育是春秋笔法的隐恶扬善教育:告诉学生的都是理想的模式是什么样子,为什么说这是理想的等等。
教的那一套与实际情形相去甚远。
也就是说,一个满脑子教条和理想的书生,就是这种制度所能提供的最好的管理者。
这不过是一个有德无能的最高管理者,而更大的可能是碰上一个无德又无能的管理者,一个既缺乏理想又没有头脑的败家子。
这两种人都缺乏管理国家的能力,很需要一些助手协助他处理现实的复杂问题。
因此那些没有编制却能解决实际问题的临时工————吏————在维持封建官僚体系中起到举足轻重的作用

儒家蔑视任何民生技能蔑视任何形式的劳动,在所有学派中独获“四体不勤,五谷不分”之殊荣。
见诸政治实践,入仕多居“清要”之职,对需要专业技能的领域涉足极少,譬如兵事譬如工程譬如经济等等等等。
喜欢做官,却不喜欢做事,尤其不喜欢做那种既辛苦又专业的苦差事,美其名曰‘君子远庖厨’,‘万般皆下品,唯有读书高’。
由此造成中国古代科技先天性缺失:勤劳智慧的中国人虽然有四大发明,却并没有转化成实际生产力
这正是科技创新基因缺失的后果
执著处,只在专一的扫天下而不扫庭院,只在专一的坐而论道,最热衷于担当道德评判角色。
此风流播后世,便有了一班“清流”儒家文人以做官不做事为名士作派,终日玄谈,在职酗酒,观赏性事,竞赛颓废,其作为直比当时腐败的社会更腐败,实在令人齿冷。这正是传说中的‘尸位素餐’。

儒家垃圾文人迂阔处,还在于言论多大而无当
此风在原生态时期以孟子为甚,雄辩滔滔云山雾罩,似乎有着某种精神指向,却不知究竟要你做甚。
“笔下空有千言,胸中实无一策”之评,可谓传神。
凡此种种迂阔处,若仅仅是个人作派,自是无可无不可。
然则,儒家文人将这种迂阔带进了庙堂官署,带进了学堂书房,不敬业,不成事,不务实学,不通民生,酿成官场流风,酿成治学恶习,且沾沾自喜不以为非,实在教人不敢恭维。
导致中国原生多元文明的骨质流散。

参考资料:
吴思《潜规则》
孙皓晖《强势生存————中国原生文明的核心力量》

 
8 months ago

默认情况下,Python中的成员函数和成员变量都是公开的(public)
在python中没有类似public,private等关键词来修饰成员函数和成员变量。
在python中定义私有变量只需要在变量名或函数名前加上 __两个下划线,那么这个函数或变量就是私有的了。

在内部,python使用一种 name mangling 技术,将 __membername替换成 _classname__membername
也就是说,类的内部定义中,所有以双下划线开始的名字都被"翻译"成前面加上单下划线和类名的形式。
例如:为了保证不能在class之外访问私有变量,
Python会在类的内部自动的把我们定义的__spam私有变量的名字替换成为_classname__spam
(注意,classname前面是一个下划线,spam前是两个下划线)
因此,用户在外部访问__spam的时候就会提示找不到相应的变量

python中的私有变量和私有方法仍然是可以访问的,访问方法如下:
私有变量:实例._类名__变量名
私有方法:实例._类名__方法名()

其实,Python并没有真正的私有化支持,但可用下划线得到伪私有。
尽量避免定义以下划线开头的变量!
(1)_xxx "单下划线 " 开始的成员变量叫做保护变量,意思是只有类实例和子类实例能访问到这些变量,
需通过类提供的接口进行访问;不能用from module import *导入
(2)__xxx 类中的私有变量/方法名 (Python的函数也是对象,所以成员方法称为成员变量也行得通。),
" 双下划线 " 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。
(3)__xxx__ 系统定义名字,前后均有一个“双下划线” 代表python里特殊方法专用的标识,如 __init__()代表类的构造函数。

下面我们看几个例子:

【1】

class A(object):
    def __init__(self):
        self.__data=[]  #翻译成 self._A__data=[]
    def add(self,item):
        self.__data.append(item) #翻译成 self._A__data.append(item)
    def printData(self):
        print self.__data  #翻译成 self._A__data
   
a=A()
a.add('hello')
a.add('python')
a.printData()
#print a.__data  #外界不能访问私有变量 AttributeError: 'A' object has no attribute '__data'
print a._A__data #通过这种方式,在外面也能够访问“私有”变量;这一点在调试中是比较有用的!

运行结果是:

['hello', 'python']
['hello', 'python']

【2】
获取实例的所有属性 print a.__dict__
获取实例的所有属性和方法 print dir(a)

class A():
    def __init__(self):
        self.__name='python' #私有变量,翻译成 self._A__name='python'
    def __say(self): #私有方法,翻译成 def _A__say(self)
        print self.__name #翻译成 self._A__name
    
a=A()
#print a.__name #访问私有属性,报错!AttributeError: A instance has no attribute '__name'
print a.__dict__ #查询出实例a的属性的集合
print a._A__name #这样,就可以访问私有变量了
#a.__say()#调用私有方法,报错。AttributeError: A instance has no attribute '__say'
print dir(a)#获取实例的所有属性和方法
a._A__say() #这样,就可以调用私有方法了

运行结果:

{'_A__name': 'python'}
python
['_A__name', '_A__say', '__doc__', '__init__', '__module__']
python

从上面看来,python还是非常的灵活,它的oop没有做到真正的不能访问,只是一种约定让大家去遵守
比如大家都用self来代表类里的当前对象,其实,我们也可以用其它的,只是大家习惯了用self

【3】小漏洞:派生类和基类取相同的名字就可以使用基类的私有变量

class A():
    def __init__(self):
        self.__name='python' #翻译成self._A__name='python'
    
class B(A):
    def func(self):
        print self.__name #翻译成print self._B__name
 
instance=B()
#instance.func()#报错:AttributeError: B instance has no attribute '_B__name'
print instance.__dict__
print instance._A__name

运行结果:

{'_A__name': 'python'}
python
class A():
    def __init__(self):
        self.__name='python' #翻译成self._A__name='python'
    
class A(A): #派生类和基类取相同的名字就可以使用基类的私有变量。
    def func(self):
        print self.__name #翻译成print self._A__name
 
instance=A()
instance.func()

运行结果:

python

参考资料:
https://blog.csdn.net/sxingming/article/details/52875125

 
8 months ago

一、为什么要使程序在后台执行

我们计算的程序都是周期很长的,通常要几个小时甚至一个星期。我们用的环境是用putty远程连接到日本Linux服务器。所以使程序在后台跑有以下三个好处:

1.我们这边是否关机不影响日本那边的程序运行。(不会像以前那样,我们这网络一断开,或一关机,程序就断掉或找不到数据,跑了几天的程序只能重头再来,很是烦恼)

2.不影响计算效率

3.让程序在后台跑后,不会占据终端,我们可以用终端做别的事情。

二、怎么样使程序在后台执行

方法有很多,这里主要列举两种。假如我们有程序pso.cpp,通过编译后产生可执行文件pso,我们要使pso在linux服务器后台执行。当客户端关机后重新登入服务器后继续查看本来在终端输出的运行结果。(假设操作都在当前目录下)

方法1在终端输入命令:

./pso > pso.file 2>&1 & 

解释:将pso直接放在后台运行,并把终端输出存放在当前目录下的pso.file文件中。

当客户端关机后重新登陆服务器后,直接查看pso.file文件就可看执行结果(命令:cat pso.file )。

方法2在终端输入命令:

nohup  ./pso > pso.file 2>&1 &

解释:nohup就是不挂起的意思,将pso直接放在后台运行,并把终端输出存放在当前

目录下的pso.file文件中。当客户端关机后重新登陆服务器后,直接查看pso.file

文件就可看执行结果(命令:cat pso.file )。

三、常用任务管理命令

jobs //查看任务,返回任务编号n和进程号

bg %n //将编号为n的任务转后台运行

fg %n //将编号为n的任务转前台运行

ctrl+z //挂起当前任务

ctrl+c //结束当前任务

注:如果要使在前天执行任务放到后台运行,则先要用ctrl+z挂起该任务,然后用bg使之后台执行。

附:

在Linux中,如果要让进程在后台运行,一般情况下,我们在命令后面加上&即可
实际上,这样是将命令放入到一个作业队列中了:

$ ./test.sh & 
[1] 17208  
$ jobs -l 
[1]+ 17208 Running                 ./test.sh & 

对于已经在前台执行的命令,也可以重新放到后台执行
首先按ctrl+z暂停已经运行的进程,然后使用bg命令将停止的作业放到后台运行:

$ ./test.sh 
[1]+  Stopped                 ./test.sh  
$ bg %1 [1]+ ./test.sh &  
$ jobs -l 
[1]+ 22794 Running                 ./test.sh & 

但是如上方到后台执行的进程,其父进程还是当前终端shell的进程
而一旦父进程退出,则会发送hangup信号给所有子进程,子进程收到hangup以后也会退出。
如果我们要在退出shell的时候继续运行进程,则需要使用nohup忽略hangup信号,或者setsid将将父进程设为init进程(进程号为1)

$ echo $$ 
21734  
$ nohup ./test.sh & 
[1] 29016  
$ ps -ef | grep test 
515      29710 21734  0 11:47 pts/12   00:00:00 /bin/sh ./test.sh 
515      29713 21734  0 11:47 pts/12   00:00:00 grep test 
$ setsid ./test.sh & 
[1] 409  
$ ps -ef | grep test 
515        410     1  0 11:49 ?        00:00:00 /bin/sh ./test.sh 
515        413 21734  0 11:49 pts/12   00:00:00 grep test 

上面的试验演示了使用nohup/setsid加上&使进程在后台运行,同时不受当前shell退出的影响。
那么对于已经在后台运行的进程,该怎么办呢?可以使用disown命令:

$ ./test.sh & 
[1] 2539  
$ jobs -l 
[1]+  2539 Running                 ./test.sh &  
$ disown -h %1  
$ ps -ef | grep test 
515        410     1  0 11:49 ?        00:00:00 /bin/sh ./test.sh 
515       2542 21734  0 11:52 pts/12   00:00:00 grep test 

另外还有一种方法,即使将进程在一个subshell中执行,其实这和setsid异曲同工。
方法很简单,将命令用括号() 括起来即可:

$ (./test.sh &)  
$ ps -ef | grep test 
515        410     1  0 11:49 ?        00:00:00 /bin/sh ./test.sh 
515      12483 21734  0 11:59 pts/12   00:00:00 grep test 

注:本文试验环境为Red Hat Enterprise Linux AS release 4 (Nahant Update 5),shell为/bin/bash
不同的OS和shell可能命令有些不一样。
例如AIX的ksh,没有disown,但是可以使用nohup -p PID来获得disown同样的效果。

还有一种更加强大的方式是使用screen
首先创建一个断开模式的虚拟终端,然后用-r选项重新连接这个虚拟终端,在其中执行的任何命令,都能达到nohup的效果
这在有多个命令需要在后台连续执行的时候比较方便:

$ screen -dmS screen_test  
$ screen -list There is a screen on:
              27963.screen_test       (Detached) 1 Socket in /tmp/uscreens/S-jiangfeng.  
$ screen -r screen_test 

参考资料:
http://www.cnblogs.com/lwm-1988/archive/2011/08/20/2147299.html
https://www.cnblogs.com/zhming26/p/6089928.html

 
8 months ago

在使用Ubuntu系统后发现与Windows系统的文件不能相互复制
网上查了很多教程,发现都是不能用的,能实现的方法如下所示:
第一步:sudo apt-get autoremove open-vm-tools
第二步:sudo apt-get install open-vm-tools-desktop
第三步: reboot

参考资料:
https://blog.csdn.net/rooki_men/article/details/78967840

 
8 months ago

1.问题描述

用django生成了一个注册页面的图片验证码显示视图,代码如下:

class ImageCodeView(APIView):
"""
图片验证码
"""
# image_code_id从url正则表达式中提取而来
def get(self, request, image_code_id):
    """
    获取图片验证码
    """
    # 生成验证码图片
    # 使用第三方应用capcha:image表示验证码图片,text表示图片里的内容
    text, image = captcha.generate_captcha()

    # 使用redis保存text:该redis数据库名称为 verify_codes(需提前配置)
    redis_conn = get_redis_connection("verify_codes")
    redis_conn.setex("img_%s" % image_code_id, constants.IMAGE_CODE_REDIS_EXPIRES, text)
    # 固定返回验证码图片数据,不需要REST framework框架的Response帮助我们决定返回响应数据的格式
    return HttpResponse(image, content_type="images/jpg")
通过以下方式进行前端测试:

1.访问方式:GET /image_codes/(?P[\w-]+)/
2.请求参数:路径参数

参数 类型 是否必须 说明
image_code_id uuid字符串 图片验证码编号

3.期望返回参数:图片验证码

4.实际返回情况:前端页面无刷新,直接开始下载验证码图片

2.如何解决问题

将返回数据格式从"images/jpg"改为"image/jpg"
前者直接下载,后者是图片类型正确返回content_type

3.学到了什么

关于图片,不同浏览器有不同的MIME类型

(chrome和firefox正规很多)

常见的MIME类型(通用型):

超文本标记语言文本 .html text/html
xml文档 .xml text/xml
XHTML文档 .xhtml application/xhtml+xml
普通文本 .txt text/plain
RTF文本 .rtf application/rtf
PDF文档 .pdf application/pdf
Microsoft Word文件 .word application/msword
PNG图像 .png image/png
GIF图形 .gif image/gif
JPEG图形 .jpeg,.jpg image/jpeg
au声音文件 .au audio/basic
MIDI音乐文件 mid,.midi audio/midi,audio/x-midi
RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio
MPEG文件 .mpg,.mpeg video/mpeg
AVI文件 .avi video/x-msvideo
GZIP文件 .gz application/x-gzip
TAR文件 .tar application/x-tar
任意的二进制数据 application/octet-stream

参考资料
conten_type
百度百科MIME

 
8 months ago

现在做社群的人特别多

懂懂一家生活在四五线小县城,最近他老婆开始搞社群运营卖花儿了,九块九一朵儿,卖的不亦乐乎

我觉得,单纯做9块9的鲜花团购一定是亏损的。

隐性开支太大。

不能算帐,一算怎么不赔上一两千块钱?这还不包括人工成本、资源成本,例如我还委派了两个同事去帮忙。

赔本为什么还这么足的干劲?

人都喜欢展望未来。

意思是,先积累粉丝,以后去团贵一点的花,慢慢就赚回来了,9块9只适合用一次,不能总是赔本赚吆喝。

除非?

你不指望鲜花赚钱,这就如同蝉禅也进军了这个领域,但是他切入点非常的准确,只做9块9,用这种方式为他在各地的实体店引流,这个思路非常好。

9块9一定亏损吗?

当然不是,我媳妇之所以会亏损,是因为三点:

第一、她多采购了一些,用于送朋友的。

第二、她随机赠送了一些花瓶出去。

第三、运费太高,机场离我们还是比较远的,派车过去接的,虽然是顺风车,也是蛮贵的,若是找货拉拉呢?

接近300块钱。

看着媳妇忙的团团转,我是蛮心疼的,主要是劳动价值太低了,你要这么想,若是一件事出力不讨好,我们做着又有什么意义呢?

团花赚钱吗?铁定是亏的,我媳妇每次都要亏一两千,为什么还乐此不疲?
她觉得自己终于有了归属感,不到一个月,她在本地有1000多个粉丝了,众人环绕着,这哪是钱能买来的享受?

这个亏只是明面上的。

隐性的更多,例如花来了,要接吧?花要拆分吧?这都需要大量的人力资源,好在我团队里美女多,大家一起帮着嫂子,我从旁观者的角度去看,我觉得一般人做不了,因为这是一个烦琐的大工程。

然后需要送到各个网点。

例如我们是一座县城,方圆3公里,交通又方便,大家不介意多走几步,倘若是城市大一点呢?这个问题就很复杂了,停车是问题吧?你真的能花30分钟的交通成本去取一束9块9的花吗?

本地可以,因为地方太小了。

还有就是网点,例如我媳妇谈的几个网点都是大店,例如知名的烘焙店,知名的进口水果店,我曾经想过一个问题,若不是我媳妇,别人能否谈下来?

我媳妇对此表示不屑一顾:啥?他们不愿意合作?都是人家找咱好吧?想合作的有的是……

我不这么认为。

鲜花很高,需要用皮卡拉着挨着送,需要我去帮忙送,我就在想一个问题,女人为什么做生意不考虑人力成本呢?

例如我的人力成本。

最容易出错的还是人员统计,例如200人参团了,你要挨着统计吧?肯定有统计错的时候,还有人去店里拿花结果没有自己的名字,很生气……

每次团花,媳妇都要熬上几个通宵,就在统计这些。

我觉得最大的问题,就是托管式拿花,例如你到服装店拿花,若是你只是去拿花不看衣服,老板是不热情的,客户体验很不好,为什么我们家做的还不错,我们是各个网点各派了一名同事过去,这也是巨大的人力成本,你若是全盘交给了店里,老板基本是不管不问的状态,你爱挑就挑,你爱拣就拣,最终弄的乱七八糟。

这个模式,怎么说呢,我作为局外人,我觉得一般人做不了,只是热闹热闹而已,是需要有操盘手的格局。

假如让我们做酒的团队去做花呢?

那肯定很厉害,我们可以优化的地方更多,例如我们可以把花都给醒好,给剪的美美的,可是这个人力成本更高了,若是从投资回报比而言,我们不会做的,没有意义。

指望这个引流来做红酒如何?

白搭。

因为做红酒必须要建立在势差之下,就是她们能接受我的科普,这太难了,因为你做花她们买花,这不存在势差,即便存在,也是她们在上,我们在下。

她说,是的,其实你们做做就知道了,很快就有渠道商联系你,鲜花批发商太多了,你不用找他们,他们自然会找你,这是其一。其二呢,你慢慢发现,鲜花渠道不重要了,重要的是有什么后端,倘若后端给力,其实免费送都行,若是没有后端只指望鲜花来赢利,不可能的,你要这么想,鲜花店老板不比大家更熟悉这个行业吗?他们的渠道资源不是更丰富吗?他们为什么没有这么做?因为知道这么做是没有意义的,大家动不动就说要颠覆实体店,那是太低估他们了,他们都是真正的业内人士,鲜花需求的主流还是艺术插花,就是把零散的鲜花插成花篮、捧花、周花,而不是卖散花。

我说,这点我认同,因为我本身也投资过花店,我觉得花店的核心竞争力是插花审美力,而不是鲜花渠道,指望大家自己拿回家插?不现实!我很喜欢看人插花,每周花店老板都到我办公室来送花,她不是插好了送过来,而是现场插,很有感觉,真的是一门艺术,跟穿衣打扮相同。

她说,9块9的玫瑰花,其实是开发了没有鲜花消费需求的群体这个市场,大家只是图个新鲜,也不贵,买束吧,真正的鲜花消费家庭,他们都会选择消费成品

群,只有三类是稳定的

一类是工作群/亲友群,就是现实生活中本身是一个群的群。
一类是爱好群,例如羽毛球群,机车群。
一类是粉丝群,就是群上有粉丝,有偶像,这种群之所以稳定是因为有只无形的手在掌控着。

大家现在总是谈社群营销,意思是建很多群。

其实这类群是一点都不稳定的,说的通俗一点,没有主心骨的存在,主心骨就是群主,群主天天想着怎么让大家买东西……

久而久之,没活力了。

为什么刚开始很有活力?

新鲜新鲜而已!

应该这么讲,大部分客户群都是应该解散的,因为你给客户带去的不是便捷,而是骚扰,例如我们本地有家汽车装潢店,也建了一个群,拉了我N次,我进去就退了,我觉得你没必要拉我进去,有活动我也不愿意参加。

羊汤店也搞了个群,每天发两次红包,手气最佳者将有赠品,赠品24小时内有效,所谓的最佳手气也抢不到2毛钱,赠品要么是半斤羊汤,要么是啤酒免费。

我倒觉得,真做鲜花就不要建群了,因为会给客户,特别是高端客户带去打扰,就如同我把买红酒的朋友都喊到一个群里?

没意义。

相反,大家觉得尴尬,退群吧,觉得得罪了懂懂,不退吧,又觉得太烦人。

鲜花是奢侈品,例如你买个珠宝,戴几年没问题,而鲜花呢?几天而已,我们不能总是谈9块9的花。

我觉得鲜花最终还会回归它的奢侈品属性。

9块9,大家参团一次两次行,十次八次就没人团了,因为大家的生活、审美没有跟上,最终想了想,算了,还是用绢花吧。

插花市场真正的消费人群,是周花群体。

就是生活水平达到了,每个月在鲜花上预算不低于1000元,从花器到花种都会有不同的变化……

我自己就是周花的消费者,我媳妇卖的花我会买吗?

不买,因为我觉得太麻烦。

而我的周花多简单?每到周一,人家就上门给插好了,连瓶子也给搭配好,把换下来的瓶子带走,就这么不停的循环。

周周都有惊喜。

奢侈品就该有奢侈品的价,这是我对鲜花的认识,对于已经达到这个生活品位的家庭而言,再贵也会消费,对于没有达到这个生活品位的家庭而言,再便宜也太贵。

鲜花有多么奢侈呢?

北京有家超五星酒店,经理在介绍酒店特色时说了一句:我们酒店里所有的花都是鲜花,这也是超五星与五星最细节方面的差别。

这就是为什么鲜花团购做着做着做不下去的根源,做团购的生气,靠,你们太不识货了,这么好的花我亏本给你们,你们还抱怨?而她们是怎么觉得?这玩意不好吃不好用,只是为了好看,貌似是笔不必要的开支,就跟旅游一样,偶尔体验一下就行了,不能成为生活的常态,砍了吧。

参考资料:
手忙脚乱

 
8 months ago

我们谈生活,其实不该只谈工作,应该谈环境,谈婚姻

我觉得去西安好,毕竟有你的根,深圳也很好,但是一直都是流浪模式,你可能30岁也是居无定所模式,而那时同学家的孩子都很大了。

折腾是没有太大意义的,又有几个人折腾出花样了?多数都是把自己折腾得筋疲力尽了。

人有个误区,总觉得到了大地方才有精彩的人生。

这里面有两个潜意识。

第一、小地方没有精彩的人。

第二、自己应该有个大舞台。

实际上,到了30来岁你就懂了,你即便是回到县城,也很难成为一座县城里的佼佼者,虽然现在提起县城你总是如此的不屑。

我不就是很好的例子吗?想当年我刚回来,有个朋友回来探亲,他也计划回来,我们俩路过一个公示牌,上面是纳税50强,朋友跟我讲:等我回来,这个排名就变了,你第一,我第二。

我点点头。

我们回来,不就是君临天下,王者归来吗?!

现在回头想想,真幼稚!

我不能跟白老师说实话,说实话太打击人,我只能鼓励她,告诉她还年轻,会有属于自己的舞台,我要是告诉她实话,我就会这么讲:即便你到了西安,十年内也很难立住脚,所谓的立住脚就是不再为生计奔波,包括买房,买车,结婚,生子,你想想这样的生活在一座省会城市,只能是中等以下。

这就是真相。

因为父母没有给你传递上接力棒,父母那一棒跑的太慢了,你这一棒已经落后了,你进入一座城市,什么都没有,只有一张学历。

当然,胸怀,抱负,我是理解的,每个刚从大学出来的人,都是来改变世界的。

使我想起了师妹W,也是硕士,中文系的,山师毕业的,她老家是胶州的,为什么跑到了我们这里呢?是因为她老公是我们这里的,老公毕业后回老家工作,她就跟过来了。

师妹W有抱负不?

绝对的。

不说具体的目标了,反正肯定是鸿鹄之志,什么咪蒙,什么李银河,都不在话下,她们写的啥呀?等我出道秒杀她们。

我们经常在一起小聚。

她让我帮她分析。

我认为,两重因素约束了她,一是没有行走过世界,甚至没有行走过山东。二是具体工作约束了她,工作的过程其实也是同化的过程,刚开始会特立独行,用不了多久,她就会跟本地老师没啥不同。

你觉得文章是否吸引人真的与写作能力有关?

错了,而是你的眼界,你的思考,这些都基于你站的高度,就是你不可能写出吸引月薪5000元以上的人的文章,因为你自己都没达到这个收入水平。

后来,她花大价钱去学心理学,营销学。

咨询过我。

我都是持反对意见,我觉得那些东西是双刃剑,不学还好点,学了以后就变得神神叨叨的了,动不动就叫住我:董老师,我做几项测试,请你配合我……

从没结婚到结婚,从没娃到有娃,娃读幼儿园了。

她依然没有动。

去年又找到我,意思是她终于找到自己的目标了,六妈罗罗,意思是履历也像,都是原先的上班族,后来辞职了,而且她现在也是宝马了。

问我?

我说,挺好。

又过了半年,她又问我:倘若我就这么安安心心上班,做一个普通的老百姓,大家能接纳我不?

我说,能。

她说,那我觉得现在就挺好的。

她一直都在如此的反复,一会觉得应该飞,一会觉得应该稳,我前面写过一句话:为什么非让我认识你?不认识你我的生活至少是平静的。

就是她跟我说的。

她觉得我的出现扰乱了众人的心,大家原本上班好好的,为什么非要想着去做什么自媒体?想当什么网红?

我什么都没变过。

是她动心了又灭了心。

风动?旗动?

而是心动。

其实,这也可能是白老师的轨迹,从心比天高,到慢慢的接受了一个现实,我就是一个普通人,只能做这份普通工作,也不普通呀,家长求着自己,在社会上也很有身份地位。

为了证实这一点,还一定要拉上懂懂垫背,否则没有安全感。

你看懂懂那么牛B,不照样只是个临时工嘛?有啥了不起?!

讽刺了一番,心里舒坦多了。

最近,媳妇在团花,搞得风风火火的,人越加越多,同时呢,花店们也纷纷上阵了,都搞起了9块9,什么都是9块9。

于是几方开始了抢人大战,一会踢了别人,一会被人踢了,理由就是拉人。

大家谈社群营销,总是谈忠诚度。

其实,哪有什么忠诚度?

我若是1块钱1束,她们肯定都跑来了……

我之前就写过,忠诚度是个伪命题,因为整个圈子没有向心力,只是一群乌合之众,另外你真的会为了买花而天天蹲在一个群里吗?

媳妇赚钱吗?

一直都在赔钱,因为要拉人,意思是谁把自己的闺蜜拉进群,送花一束,谁加她的微信点赞,逢8送花瓶。

一晚上送出去几十个花瓶。

这都是学来的经验吧?

媳妇想在高校里做教师节活动,就需要联系学校里的领导,媳妇让我给问问,因为这些领导都喜欢打球,都是球友,天天见。

我怎么问?

做200束向日葵?9块9一束,一分钱赚不到不说,人家还觉得是个超级大的人情,我哪怕随便送几瓶酒,请吃顿饭,也不止2000元吧?

而且,我不喜欢张口求人。

但是我又要打发媳妇开心,那咋办?我就要跟领导协商,这样吧,我赞助你们200束向日葵作为教师节礼物,你们可以发下去。

我转给媳妇2000元就是了。

我只能这么做。

这不是一个能赚钱的事,做社群营销的人总是喜欢谈未来,意思是一旦聚集了这么多粉丝,卖什么不发财?

我作为旁观者,我觉得鲜花团购这个游戏,就是当年的团购网,玩的是一阵风,最简单的一个道理,亏损的游戏你能坚持多久?

我媳妇忙得如此的团团转,我真的很心疼,因为她这么忙的目标是多赚点钱,当然未必能赚到,即便能赚到,也很难达到100万/年吧?若是能有这个收入,可能本地人都去做鲜花团购去了。

但是,消耗的是她的生命。

倘若,她是按照高中课程一般,去学习,把时间安排的如此满,我觉得是蛮支持的,例如健身、读书、弹琴、旅行、摄影、义工……

让自己如一朵鲜花一般,缓缓的绽放,那该是多么的美妙!

我要跟她谈谈,她会大声地问我:你有病是吧?我在家你嫌我不赚钱,我去赚钱你嫌我不在家?你到底想让我怎么着?你看我不顺眼是吧?

媳妇反复叮嘱:我的事,求求你,不要写,你写了让其他人怎么做生意?!

参考资料:
http://chuansong.me/n/2527278644104

 
8 months ago

中国人习惯于采取一种世俗的、理性的方式来解决问题,这种文化直到今天仍深深影响着我们这个民族的思维方式和行为方式。

西方政治里一个很重要的概念叫“宪政”,如果我们挖掘它的历史根源,其实它来自于教权。
就是宗教权力在世俗权力之上,给国家提供一个终极的合法性来源。

中国的知识分子在春秋战国时期是具有独立人格的

这一时期有思想的知识分子,面对现实的社会问题、人生问题等,提出了不同的解决办法。
各种学说,思想纷纷出现。代表各阶级、各阶层,各派政治力量的学者或思想家,都企图按照本阶级(层)或本集团的利益和要求,对宇宙对社会对万事万物作出解释,或提出主张。
他们著书立说,广收门徒,高谈阔论,互相辩难,于是才出现了一个思想领域里“百家争鸣”的局面。
从深层次上说,这也是由当时统治集团不同的政治需求、价值取向所决定的,或者说是由于中国社会的一种不统一造成的。
随着封建大一统王朝的建立,中国历史上再也没有出现战国时“百家争鸣”的壮观场面了。

自汉初董仲舒与汉武帝达成妥协统一,知识分子从此依附与统治阶级,成为皇权统一思想笼络人心的工具

自秦统一,推行“焚书坑儒”,至汉“罢黜百家,独尊儒术”,直至明清时期科举考试、八股取士和大兴文字狱,我国的文化基本定格于儒家大一统的主导地位,辅之以佛、道。

中国的“天”不同于政教合一国家的“神”,“天”是一个抽象的东西,儒家的知识分子,掌握着“天”的解释权。
由此形成了:皇权压倒贵族和官僚的权力,保障国家的统一性;皇权的扩张受到所谓“天”的制约;而这个“天”由儒家知识分子来进行解释;最后,儒家知识分子又构成了官僚制度的主要成员。

没有秦朝短命的暴政,恐怕就不会有汉朝的“独尊儒术”。这个前车之鉴使得儒家的威胁显得比较可信,仁政和王道的主张也显出了皇帝认可 的好处。因此,以董仲舒为代表的儒生才有资格与皇上讨价还价,达成一 个双赢的协议:皇上获得儒生的支持和代理天道的地位,儒生也获得了表 述天道的特权。

董仲舒的原意可能是想用儒学对皇帝有所约束,但是儒家所主张的以德治国、行仁义、“内圣外王”那一套在实践中是行不通的,所以历代统治者都是外儒内法,并杂以黄老之术。

中国从孔子往后,提出了一种观念,一个国家或者一个统治者的终极合法性来自于人民反抗的权力。
人民对你不满意了,是可以把你推翻的。

知识分子的独立人格在魏晋南北朝和民国时期短暂出现过

知识分子由于缺乏保护自身的有力手段(包括最基本的谋生手段),只有服务、服从与统治阶级才能更好生存
只有当统治阶级放松或者无力管制时,才有机会发表自己的独立思想,展示人格魅力

先秦时期,社会动荡分裂,诸侯国林立,没有统一的、主流的政治、文化与意识形态,私学兴盛,诸子百家,相互争鸣。
各家各派的课程与知识都承载着各自的立场、价值、政治主张与意识形态,且展开激烈的交锋、斗争与融合。
正因如此,成就了春秋战国时期的学术繁荣。

参考资料:
范勇鹏:中国为什么能早早世俗化
从‘什么知识最有价值’到‘什么知识最有价值’
中国古代统计阶级如何禁锢人民思想
吴思《潜规则》