RCalculator可能是全世界最好用的图片压缩工具

thunkli

干支历,八字排盘 – 钦天

钦天 iOS App

钦天主要功能包括阳历、农历、干支历、二十四节气、七十二候。可以用来指导农业生产,推测运程。 下载(APP Store)

Posted in 产品 |
thunkli

《毛泽东:忆往昔峥嵘岁月稠》

北平在我看来非常浪费,我是向朋友借钱去北平的,所以一到就得找事。那时,湖南师范学校的伦理教员杨杨昌济在北京大学做教授。我就去求他帮助我找事。他将我介绍给北大的图书馆长,这人就是李大钊,后来变成中国共产党的创立人,结果被张作霖杀害。李大钊给我工作做,叫我做图书馆佐理员,薪俸是每月8块大洋。 我的职位如此之低,以致人们都不屑和我来往。我的工作之一就是登记来馆读报的人名,不过这般人大半都不把我放在眼里。这许多人名之中,我认为有几个新文化运动著名的领袖,是我十分敬仰的人想和他们讨论关于政治和文化的事情,不过他们都是极忙的人,没有时间来倾听一个南边口音的图书馆佐理员所讲的话。 但是,我并不因此而丧气,我仍然参加哲学研究会和新闻学研究会,想借此能听大学里的课程。在我服务北大时,所遇到的人中,有两个现在是南京高级的官吏,一个是中国苏维埃政府的副主席,还有个加入共产党随后又成了所谓“第三党”的党员,再有一个则后来加入加利福尼亚的“三K党”。在这里我也遇到了杨开慧,而且发生恋爱,后来结了婚,她是我的好友杨教授的女儿。 我对政治的兴趣继续增高,同时我的头脑愈来愈激进。至于所以会如此的背景,则上面已经讲过了。不过,当时我还彷徨,还在“找出路”。我读了几本无政府主义的小册子,很受影响。我和一个常来看我的北大学生时时讨论无政府主义和它在中国的可能性。 我自己在北平的生活是十分困苦的。我住在一个叫“三眼井”的地方,和另外七个人合住一个小房间。我们全体挤在炕上,连呼吸的地方都没有,每逢我翻身都得预先警告身旁的人。不过,在公园和故宫的宫址,我看到了北国的早春;在坚冰还盖着北海的时候,我看到了怒放的梅花;北京的树木引起了我无穷的欣赏。[我看到北海的垂柳,枝头悬挂着晶莹的冰柱,因而想起唐朝诗人岑参咏雪后披上冬装的树木的诗句:“千树万树梨花开。”北平数不尽的树木引起了我的惊叹和赞美]

Posted in Memo |
thunkli

从阿里出山的CTO用孙子兵法管理团队

以退为进 这个CTO一上来还是比较老实的,也就是采用孙子兵法中的“以退为进”,一个个的去摸底,且单独沟通聊天。 这位CTO按照职级,先从技术总监开始,并从技术总监口中得到一手情报“哪些员工是这位技术总监眼中的红人,哪些是刺头,哪些是技术很厉害,哪些是刚过来的专家”,当然这位CTO肯定不会直接相信这位技术总监的汇报,他只需要将这个汇报的书面材料记录下来。 接着这位CTO就开始摸底一线技术Leader,并从他们口中了解“他们眼中的技术总监是一个什么样的人”,这样有助于他来判断技术总监的忠诚度。当然他也需要从技术Leader口中得到情报“比如目前他负责什么业务,具体规划要做什么,技术Leader下面的员工在做什么,以及对这些员工的评价”。 接着这位CTO就要一一找一线的开发去沟通,并从他们嘴里得到业务最新的进展,以及他们对自己的技术Leader的评价。 也就是说这位CTO开始工作的第一个星期就是沟通,没错就是找自己的员工挨个去聊天。 经过一个星期的沟通之后,这位CTO就基本的掌握了自己即将要管理的团队的员工的想法以及具体的工作现状。 当然光靠这些,这位CTO是不能够快速的熟悉现有团队业务和流程的,于是他需要技术总监去帮他整理业务文档和技术文档,当然技术总监肯定不会自己的整理,他就任务下放给下面的技术Leader,一般技术Leader碰到这样的事情,只能自己去干。 CTO沟通的主要目的是要搞清楚目前团队中哪些人可以利用,哪些人呢是目前自己惹不起的,得先养成,等自己时机成熟了就可以将他废掉。当然他也会分析出哪些人是老实人,可以随意的摆弄,比如利用KPI将他撸掉,并给他挖一个大坑,自己往里面去跳也不会吭声的职场情商小白。 总之,这位CTO就是要尽快的让自己熟悉自己的手下,并实事求是的把自己从阿里学来的管理知识运用到这家公司。 玩弄权术 当这位CTO彻底拿下这个部门之后,他就开始将自己的影响力扩散到兄弟部门(一般公司会有多个子公司或者合作部门),也就是说他需要对方的最高决策人有自己人。 当然大Boss之间搞合作,绝对不是什么称兄道弟,而是相互输送利益关系,这个时候,阿里的PUA理念就体现出来了。 这位CTO就疯狂的PUA技术总监以及这些技术Leader,总是在给他们洗脑,别的部门有的,你们一定也要有,只有这样他才会满意,还有什么自己只拿结果说话,其他的都是扯蛋。 也就是说,他会立起来一个个的新项目,当然这个就是和其他部门沟通的过程中,他抓住的所谓的机会,也就是他需要利用这些机会去做大和做强,这样自己就会站稳脚根。 当然这个时候,老员工千万不要出风头,否则你会死的很惨,就算是这个CTO玩弄不了和他同级别的老员工,但是对于自己的手下那可是像捏死一个蚂蚁一样简单。 CTO一般都是会玩弄权术的,尤其会做平衡,也就是无论是部门与部门之间,还是小组和小组之间,他都会想着利用平衡去管理团队,也就是你们争论的越凶,他越获益,这个时候他会充当和事佬,总是会把事情摆平,也会收拢一部分人心。 所以我这位朋友总是看到这个CTO平常对谁都是笑嘻嘻的,但是真正去事情,那是雷厉风行,绝不手软。 这个就是告诉我们,假如你的领导表面上看起来很温顺,你怎么挑衅他,他都不敢拿你怎么样?我这里就想告诉大家,其实这个不是人家不敢整你,只是时机未到,只要合适了,他会毫不留情的把你抖出来,那么你就等着公司开除你吧。 这位CTO就是这么干的,前期沟通再加上后面工作的开展,他会快速的定位一批需要走的人,并且从这些人当中划分要走的人的优先级,也就是哪些人现在必须走,哪些可以晚一点走。 当然CTO玩弄权术之后,整个公司都震荡了,很多人都是悄悄的被HR劝走了,这个就说所谓的优胜劣汰制度,人家要你走,总得给你安上一个罪名,且走还得悄悄的走,否则就给你的离职证明写上污点,让你这一辈子都翻不了声。 转自:知乎 ali-cto

Posted in 工作 |
thunkli

空降领导的套路和招数

给大家个忠告,如果你直系领导换了,建议赶紧看新的工作机会,因为对新领导来说,常规操 作是培养新人做自己的嫡系,听话的老人先留下来做一阵苦力然后干掉;不听话的老人,直接 干掉… 可能有人会说我不争不抢不站队,就踏实干好我自己的活都不行?我只能说如果你真这么想, 那么你属实太天真了… 因为对于一个新领导来说,他空降到这个部门,最先考虑的大都是建立自己的嫡系。因为这样 才安全… 而建立自己的嫡系,最安全的方式就是培养新人。为什么不拉拢老人做嫡系?谁知道老人有没 有什么背景关系? 在这个时候,大多数领导都会遵照“宁可我负天下人,不可天下人负我”的打法来。在我不确定 这个人是不是绝对可靠的时候,那我就选择不用他。 所以如果你正在或者已经经历了更换领导,但是对你却没有动刀。那么千万别觉得“这个领导 不是那样的人”,他只不过是还在观察,还在等时机动刀而已… 他在观察什么?观察你这个老人是不是老实,这个老实可不止是老实的干活,还要能积极的向 新领导靠拢! 如果你能做到上面两点,那么你还有可能成为那个做苦力的牛马;如果你只是老实的干活,那 你早晚得被干掉。毕竟新领导在扶持自己嫡系的时候,也要考虑平稳和部门的正常运转… 而对于不听话的老人,那就直接干掉了,毕竟新领导空降新团队,不树权威怎么活得下去?! 所以总结下来,只要换了领导,你作为老人,赶紧考虑换新环境绝对错不了! 转载自:脉脉

Posted in 工作 |
thunkli

招商银行(China Merchants Bank)Cnaps Codes

招商银行(China Merchants Bank)Cnaps Codes Cnaps Codes 银行名称 Bank 308100005264 招商银行股份有限公司北京金融街支行 Branch of China Merchants Bank Co., Ltd. Beijing Financial Street 308100005272 招商银行股份有限公司北京静安里支行 China Merchants Bank Co., Ltd. Beijing Branch of Jingan 308100005289 招商银行股份有限公司北京安定门支行 China Merchants Bank Co., Ltd. Beijing Branch of Andingmenwai 308100005297 招商银行股份有限公司北京海淀支行 China Merchants Bank Co., Ltd. Beijing Haidian Branch 308100005301 招商银行股份有限公司北京世纪城支行 Beijing Century City branch of China Merchants Bank Co., Ltd. 308100005310 招商银行股份有限公司北京望京支行 Wangjing Beijing Branch of China Merchants Bank Co., Ltd. 308100005328 招商银行股份有限公司北京朝外大街支行 China Merchants Bank Co., Ltd. Beijing Branch of Wai Avenue 308110023085 招商银行天津新港支行 China Merchants Bank branch in Tianjin Xingang 308110023093 招商银行天津分行解放路支行 China Merchants Bank branch in Tianjin Branch Jiefang 308110023108 招商银行天津分行平山道支行 China Merchants Bank branch in Tianjin Branch Road Flat 308110023116 招商银行天津分行南门外支行 China Merchants Bank branch in Tianjin, outside the South Branch 308110023124 招商银行天津分行保税区支行 China Merchants Bank branch in Tianjin Free Trade Zone Branch 308110023132 招商银行股份有限公司天津西康路支行 Branch of China Merchants Bank Co., Ltd., Tianjin Xikang 308110023149 招商银行股份有限公司天津塘沽营口道支行 China Merchants Bank Co., Ltd., Tianjin Tanggu Branch, Yingkou Road 308221009019 招商银行沈阳分行 China Merchants Bank, Shenyang Branch 308221009027 招商银行沈阳分行营业部 China Merchants Bank, Shenyang Branch Office 308221009035 招商银行沈阳分行兴顺支行 China Merchants Bank branch in Shenyang Branch Xingshun 308221009043 招商银行沈阳分行北市支行 China Merchants Bank, Taipei Branch, Shenyang Branch 308221009051 招商银行沈阳分行太原支行 China Merchants Bank branch in Taiyuan, Shenyang Branch 308221009060 招商银行沈阳分行南顺城支行 China Merchants Bank, Shenyang Branch South Branch of Shun Cheng 308221009078 招商银行沈阳分行长江支行 China Merchants Bank branch in Shenyang branch of the Yangtze River 308221009086 招商银行沈阳分行南湖支行 China Merchants Bank branch in Shenyang Branch Lake 308221009094 招商银行沈阳分行北顺城支行 China Merchants Bank, Shenyang Branch, … Continue reading

Posted in Memo |
thunkli

Serif 和 Sans Serif 字体区别

Sans-serif字体的笔画宽度变化往往比Serif字体小。它们通常用于传达简单性,现代性或简约性。 某些字体的笔画结尾处的小特征称为“Serifs”。 Sans-serif font Serif font Serifs (coloured in red) 一些常见的Serif字体是Times New Roman,Georgia,Palatino和Garamond。 相反,常见的Sans Serif字体包括Arial,Helvetica和Tahoma。 在不同的设计中同时使用Serif和Sans Serif字体有很多优点。简单来说,Serif字体在小尺寸正文中易于阅读,而Sans Serif字体在大字体中确实脱颖而出 由于大多数显示器的分辨率不如印刷介质,因此Serif字体在小尺寸显示时可能效果不佳。随着视网膜显示器等技术的改进和4k屏幕的普及,这已不再是一个问题,但是与印刷相比,绝大多数显示器的分辨率仍然很低。因此,目前最好还是将大部分Sans Serif字体用于Web。

Posted in Memo |
thunkli

macOS中staff和wheel是什么?

“staff”和“wheel”是“Groups”。 Unix权限分为User(Owner)、Groups、World(Other),并为每个用户类别分别设置了读取,写入和执行权限。 “staff”和“wheel”是标准Groups。 通常,向所有用户帐户授予“staff”成员身份。因此,如果您在系统上创建另一个用户帐户,则它们将具有唯一的用户ID,但也将被授予“staff”成员身份。可以分配权限,允许其他Staff成员访问您的文件,但拒绝World/Other访问(注意:World并不真正意味着地球上的所有成员,只是系统上不是您而且不是成员的其他进程;这些术语是在计算机没联网时发明的,他们是自己的小世界。 就像“大轮子“中的“wheel”一样,它是具有重要意义和权威的人,是一个针对管理员的团体。许多文件是wheel组的一部分,这些文件允许wheel组中的用户访问它们的权限,但不允许其他用户访问wheel组。 在macOS系统中,staff和wheel很常见。

Posted in Memo | |
thunkli

通过font-display控制字体行为

web font的生命周期 在讨论什么是font-display之前,让我们先讨论一下web font的生命周期。 在block期间,浏览器将以不可见的字体呈现文本。 这就是为什么在很多使用web font的网站上,在页面的第一次加载期间,您不会看到任何文字或更糟的幻影下划线的原因。 在swap期间,浏览器将以fallback字体呈现文本(在该图中的示例中,这将是默认的“serif”字体)。 failure期意味着未找到字体,在这种情况下,浏览器将使用fallback字体呈现文本,如上所述。 使用新的font-display属性,您可以控制每个周期的长度,以及其中一个周期失败时会发生的情况。 有4个不同的值:block,swap,fallback和optional。 还有auto,通常最终与block相同。 所有现代浏览器(不包括IE)都支持这些值,但是请仔细检查兼容性表以获取最新的信息! font-display用于@font-face内部, @font-face {   font-family: ‘Arvo’;   font-display: auto;   src: local(‘Arvo’), url(https://fonts.gstatic.com/s/arvo/v9/rC7kKhY-eUDY-ucISTIf5PesZW2xOQ-xsNqO47m55DA.woff2) format(‘woff2’); } Google字体现在允许您使用display查询参数控制字体加载: <link href=”https://fonts.googleapis.com/css?family=Roboto&display=optional” rel=”stylesheet”> font-display参数 font-display接受以下值: auto:默认值。使用用​​户代理使用的任何字体显示策略。当前,大多数浏览器的默认策略都类似于block。 block:赋予字体较短的阻止时间(大多数情况下建议为3s)和无限的swap时间。 换句话说,如果未加载字体,浏览器将首先绘制“不可见”文本,但是在加载后立即swap字体。 为此,浏览器将创建一个匿名字体,其字体与所选字体相似,但所有字形均不包含“墨水”。 仅当需要使用特定字体呈现文本才能使页面可用时,才应使用此值。 swap:给font-face提供零秒的block周期和无限的swap周期。 这意味着如果未加载字体,浏览器会立即以备用字体绘制文本,但是在加载后立即swap字体。 与block相似,仅当以特定字体呈现的文本对页面很重要时才应使用此值,但是以任何字体呈现仍会得到正确的消息。 Logo文字是进行swap的理想选择,因为使用合理的fallback显示方式来显示公司名称会传达信息,但最终您将使用正式字体。 fallback:使font-face的block周期非常小(大多数情况下建议100ms或更短),而swap周期则很短(在大多数情况下建议三秒)。换句话说,如果未加载字体,字体会首先呈现fallback效果,但是一旦加载,字体就会被swap。但是,如果经过的时间过多,则会在整个页面的剩余生命周期中使用fallback。fallback是诸如正文文本之类的不错的选择,在这种情况下,您希望用户尽快开始阅读,并且不想在加载新字体时四处移动文本来打扰他们的体验。 optional:为字体提供了非常小的block周期(在大多数情况下,建议为100ms或更短)和零秒swap周期。与fallback类似,当下载字体更像是“不错”但对体验并不重要时,这是一个不错的选择。可选值由浏览器决定是否启动字体下载,它可以选择不执行字体下载,也可以将字体下载作为低优先级,这取决于它认为最适合用户的方式。在用户连接较弱并且拉下字体可能不是资源的最佳使用的情况下,这可能是有益的。 放到一起,看起来像这样: 一个简单的示例。 所以我该怎么做? 这在很大程度上取决于您使用Web字体的方式,以及使用fallback字体呈现文本是否有意义。 例如,如果要在网站上呈现主体文本,则应使用font-display:optional。 在实现它的浏览器上(2019年更新本文时所有现代浏览器),体验会好得多:您的用户将获得快速的内容,并且如果Web字体下载花费的时间太长,他们将不会获得页面在阅读您的文章时进行重排。 如果您使用web font作为图标,则没有可以使用的fallback字体可以渲染这些icons(除非您使用emoji或其他东西),因此唯一的选择是使用font-display:block完全阻止字体,直到字体准备好为止。 Controlling Font Performance with font-display Font-display

Posted in Memo |
thunkli

ES5中新增的方法

Array filter 对数组中的每个元素都执行一次指定的函数(callback),并且创建一个新的数组,该数组元素是所有回调函数执行时返回值为 true 的原数组元素。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略,同时,新创建的数组也不会包含这些元素。 //过滤掉小于 10 的数组元素: //代码: function isBigEnough(element, index, array) { return (element >= 10); } var filtered = [12, 5, 8, 130, 44].filter(isBigEnough); // 12, 130, 44 map //将所有的数组元素转换为大写: var strings = [“hello”, “Array”, “WORLD”]; function makeUpperCase(v){ return v.toUpperCase(); } var uppers = strings.map(makeUpperCase); // uppers is now [“HELLO”, “ARRAY”, “WORLD”] // strings is unchanged some 对数组中的每个元素都执行一次指定的函数(callback),直到此函数返回 true,如果发现这个元素,some 将返回 true,如果回调函数对每个元素执行后都返回 false ,some 将返回 false。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略。 //检查是否有数组元素大于等于10: function isBigEnough(element, index, array) { return (element >= 10); } var passed = [2, 5, 8, 1, 4].some(isBigEnough); // passed is false passed = [12, 5, 8, 1, 4].some(isBigEnough); // passed is true every 对数组中的每个元素都执行一次指定的函数(callback),直到此函数返回 false,如果发现这个元素,every 将返回 false,如果回调函数对每个元素执行后都返回 true ,every 将返回 true。它只对数组中的非空元素执行指定的函数,没有赋值或者已经删除的元素将被忽略 //测试是否所有数组元素都大于等于10: function isBigEnough(element, index, array) { return (element >= 10); } var passed = [12, 5, 8, 130, 44].every(isBigEnough); // passed is false passed = [12, 54, 18, 130, 44].every(isBigEnough); // passed is true forEach //打印数组内容: function printElt(element, index, array) { document.writeln(“[” + index + “] is ” + element + “<br />”); } [2, 5, 9].forEach(printElt); // Prints: // [0] is 2 // [1] is 5 // [2] is 9 lastIndexOf 语法 var index = array.lastIndexOf(searchElement[, fromIndex]); 参数说明 searchElement: 要搜索的元素 fromIndex : 开始搜索的位置,默认为数组的长度(length),在这样的情况下,将搜索所有的数组元素。搜索是反方向进行的。 功能说明 比较 searchElement 和数组的每个元素是否绝对一致(===),当有元素符合条件时,返回当前元素的索引。如果没有发现,就直接返回 -1 。 //查找符合条件的元素: var array = [2, 5, 9, 2]; var index = array.lastIndexOf(2); // index is 3 index = array.lastIndexOf(7); // index is -1 index = array.lastIndexOf(2, 3); // index is 3 index = array.lastIndexOf(2, 2); // index is 0 index = array.lastIndexOf(2, -2); // index is 0 index = … Continue reading

Posted in JavaScript |
thunkli

泰然金融CTO付银海是如何迫害员工的

泰然金融(小泰科技)CTO付银海,曾任职阿里巴巴、oracle,回流蚂蚁金服失败。 2017年中,付银海被王梅招聘入职,作为泰然金融董事长潘宝锋的幕僚,付银海通过卖弄爬虫技术(获取京东/微信/支付宝订单信息)、裁员、打散、架空、孤立、离职证明威胁、明升暗降、提拔前同事、鼓动上市套现等一些列操作,深得泰然金融董事长潘宝锋信任。 潘宝锋在员工大会上满心欢喜任命付银海为泰然金融CTO,将所有权利交给付银海,潘宝锋提到他想实现的付银海都可以帮他实现,潘宝锋信心百倍讲到小船哺育大船,泰然金融目前市值100亿,我们要将泰然金融打造成1000亿市值的公司。 2022年一审案中,潘宝锋被判无期徒刑,付银海将责任甩锅潘宝锋,在供词中讲到自己是被潘宝锋指使的。 我于2016年8月-2018年7月任职泰然金融旗下泰然鲸数云计算,付银海对新员工赔偿低的员工采取裁员,对老员工打散、孤立、边缘化,让他们自己离职。先后将我的同事打散,领导架空逼走。为逼迫我离职达到不赔偿的目的,在掌权的第一个工作日早上9点以前将我招聘的两名员工调走,孤立我。在2017年底绩效考核中将我叫至付银海的单独办公室,将我的工作总结全部否定,挑衅的强调:“我觉得你做的不怎么样,我可以明确的告诉你,以前的团队是不可能给你们恢复的!”。抑扬顿挫的重复4次80分是最低分我是80分,提醒我3次没有低于80分的。付银海接二连三提拔自己的前同事为负责人或项目经理,在半年左右的时间里将我的岗位调换5次,其中4次(米粒钱包、蜂贷前端组、数据盒子、丁亮ATS项目组)上级为其前同事。2018年中付银海伙同其前同事丁亮侮辱我骚扰女同事,我在丁亮挑衅眼光与无尽的悲愤中离职。在接下来的几年里我忍不住叹气,呼吸系统受损。 泰然金融-董事高管 泰然金融(小泰科技)CTO付银海 潘宝锋 泰然金融(小泰科技)CTO付银海 审判

Posted in 工作 | |