‘壹’ 黄凯一共有多少笔画
广州菲音信息科技有限公司CEO黄凯就菲音科技在产品发展以及项目团队管理等方面的经验做了分享演讲。以下是演讲实录:首先感谢360和2366的平台给我们这个机会,让大家聚在一起。第二个也感谢在座的各位同行,以及在座的一些我们菲音的合作伙伴,对我们长期的支持。其实我们广州菲音在游戏这两三年来虽然取得了一些成就,但是和很多公司比起来我们还有很多需要学习的,接下来我就从几个方面简单的谈一些我们自己的经验。这是一个简单的目录,第一个是菲音产品和市场的回顾,第二个是有效的团队经验分享机制,第三个是灵活的团队管理策略,第四个是敏锐的市场判断和应变能力。广州菲音是2008年底的时候才开始做网页游戏的研发,2009年的时候基本上是一个探索的阶段;2010年飞速的发展,并积累了一些经验和教训;2011年是一个创新和优化的时间段。这是我们公司的游戏,《明朝时代》、《盘龙神墓》、《洪荒神话》、《九天仙梦》等。形成团队的分享制度和分享文化,其实这一点我觉得在整个网页游戏里面还是有一些心得,我讲一个小故事。我们经常在公司内部做团队培训的时候,我会强制的要求它们进行分享,或者说有同事在出现问题的时候,你必须要回答,而且是毫无保留的。我就讲一个道理,如果是一块猪肉十个人分,他肯定是每个人都有一小块,但是如果每个人有一个经验,每个人拿出来分享一下,那每个人都有十个经验了。第二个是把分享做的彻底,怎么样彻底法呢?我们公司内部的时候,刚才也说了是强制执行的,这包括什么分享呢?包括所有的文章,策划文章,以及技术的一些框架,一些文章及一些资料,一些技术的算法,以及一些美术的制作流程和图片,都是无条件分享的。在我们公司内部团队的资源以及经验、教训、源代码都是无条件分享。比如说我们一个项目的团队需要去借鉴一下另外一个团队的源代码,写一个申请,然后批一个单就把源代码拿到手,自己去研究去了。其实很多公司做到这一点是很难的,因为团队里面本身,那个团队相互之间就是一种竞争关系,他本身就会有那种自我保护的意识,你要把他的东西拿出来死活不肯,你跟他翻脸他也不肯。第三点就是让团队里面的每一个人都保持一种饥渴地状态,就是我们公司每个礼拜,每个月,甚至说每一个礼拜有好几场的分享会,我一般都会要求它们强制性参加,只要他们强制多了,他自然就养成了这个习惯,而且经常会告诉他,你不保持一种饥渴的状态,你不学习的话,就会被淘汰。第二块内容是灵活有效的管理策略,这里面我们有多款的产品上线,而且也取得不错的成绩,这里面有一个比较关键的因素,就是说我在这个团队成熟以后,我就把这个团队的三分之一的人,拆出来。其实要做到这一步是很难的:一方面他本身这个团队已经是做的比较成熟了,或者说稍微有一千万、两千万,三千万的收入了;一方面他是有一些既得利益,你想把人拔出来,团队也不同意,这个团队也磨合好了,也非常抱团,也很成熟了,你要把人拔出来很不容易。我的目的是什么呢?我要把这个团队里面一些相对比较有潜力的,经过这一个项目磨炼的人,把三分之一的人拆出来,放到新的团队里面去,把这个老团队里面积累的经验和教训,统统的转移到新的项目里面去。当然,这一点反过来,就是说你可能对老团队会有一点影响,所以说我在建团队的时候,我一般都是人会比较多,一般一个正常的网页游戏保证有40个人,我拆15个人也没有问题,也能够正常的走。这是第一个老的成熟项目团队拆分,精英人才到新项目团队。这句话应该是写错了,是老的成熟项目团队里面的精英分子还要坚固新项目团队里面的事情。比如说有一个人的管理能力和技术能力都比较强,他可能需要同时搞新项目的部分,两个项目同时搞。第三个是新的人才在老项目当中培养好,输送到新项目团队。就是我刚才说的,一个团队里面有四十个人,甚至有的团队有五十个人,甚至有可能是十个到二十个人,放在里面培养的,而且说好了,你学习半年差不多就要出来了。还有各项目冗余人才的调动,项目分成几个阶段,在研发期、测试期,以及正常刚上线的时候,以及正常稳定运营的时候。在每一个阶段,这个团队对人才的需要肯定是不一样的,在研发期你要去抽他的人肯定是抽不动的;一般在封测期的时候一大堆的BUG你想调人是调不动的,那个时候是需要人的;到一定的成熟阶段,或者是这个项目已经很平稳了,很稳定了,在那个时候这个人的培养也比较成熟了,所以那个时候就可以把人调出来了。第五个是团队问题者调离,其实我觉得每一个团队肯定都是有问题的,可能是主策划的问题,可能是运营的问题,那么你要保证你自己对这个团队的关注度足够的强,你对团队里面每一个人,每一件事情都要清楚,或者是对团队里面每一个人的能力都很清楚。你一旦发现这个团队里面一个人有问题,或者说在核心岗位上面这个人确实有比较大的问题,那这个时候就要当断立断,该砍就砍,马上调离。下面一个是团队缺陷的补充人手,这个就是团队补位,当发现这个团队有问题的时候,把问题的这个人清理掉,然后迅速的找一个人来补充进去,或者说这个团队运行两三个月之后,你发现弱项是哪里,你就要补充一个人去。比如你发现这个策划能力比较弱一点,你就要调一个经验多能力强的人过去,比如这个团队项目管理比较混乱,你就马上调一个项目经理过去,其实在我们公司里面,我这样的操作模式很多了,总体下来也还好。其实当时我和一些朋友在聊一个话题的时候,这个人员的调动,或者说对这个项目的人存在一些变动,可能会对这个项目产生一些影响,所以你在调离人的时候,你从别的地方抽一个人插进去也好,你都要做的非常好。
‘贰’ 过年余饺子皮和陷。欲意是什么
中国新年习俗急噪
我们的新年,一般从祭灶揭开序幕。民谣中“二十三糖瓜粘”指的是腊月每年也就是急噪23或24,有所谓“官三明4船家五”的说法,这是在腊月官方13日,一般民家在二十四日,水上人家25日举行祭灶。
祭灶是我国民间,流传很广习俗有很大的影响。旧,几乎每家都有灶间“灶王爷”的牌位。人们称这尊神为“司命菩萨”或“灶君司命”封印传说他是玉皇大帝,“九天司命东灶王府君”,负责管理各种灶火,作为保护神和崇拜。大多数灶在厨房王神社北部或东部,中部为神的灶王爷。没有灶王龛的人,会有直接贴在墙上的雕像。一些佛像画灶王爷只有一个人,还有一些同时拥有男性和女性,被称为女神“灶王奶奶”。这可能是模仿人类夫妇的形象。最上还印有今年的日历,像灶神,写着“厨司命东主”,“人间监察神”,“一家之主”等文字,以表明灶神的地位。双方打成“上天言好事,下界保平安”的对联,以保佑全家平安。
灶王爷自去年除夕一直留在家中,以保护和监测家庭;到腊月二十三日灶王爷将成为神,天上的玉皇大帝汇报的家人的下落善良或邪恶,宋遭哂仪式称为“自由厨房”或“讲话炉子。”玉灶君根据该报告,然后这一个在新的一年应该是一个吉凶祸福的命运交于灶王爷之手。因此,家庭,报告灶神真正伟大的利害关系。
送灶,黄昏时分多的夜举行。第一家庭的厨房,放在桌子上,厨房墙上的灶神香火的圣地,并提出与焦糖和糖瓜的表面等。竹纸再绑马和饲料牲畜饲料。与焦糖拜灶神,让他老人家甜甜嘴。在一些地方,灶神将是糖衣口周围,而詹姆斯说:“好东西说了,不说脏话”这是灶王爷的嘴堵塞糖,所以不要说他坏话。在唐代着作“辇心灵岁以下”,房间里的“应用酒糟放在炉子上使司命(灶王爷)醉酒”的记载。后用糖衣灶神的嘴说完,便将神像揭下,和纸的神和烟一起。在为讨好灶神神龛,连同纸马和草料,闪亮有些地方堆在院子里,晚上芝麻秸和松树枝,然后一年。院子被火照得通明,然后围着火堆磕头,家人而祈祷的同时燃烧:今年又到二十三日,灶王爷国王送走到西部。有壮马,有草料,一路顺风平安。糖瓜为甜,以甜,请进入玉好话。
灶神送的时候,有些地方有几个乞丐,伪装,挨家唱歌灶神送,送灶君跳跳舞,以换取食物叫做“宋遭深”。
送灶习俗在我国非常普遍遍及南北,路先生撰文称,“庚子送灶即事”诗:鸡胶牙糖,典衣供瓣香。家庭和财产,不仅在小羚羊。
在他的“征文送灶日”的文章说:“天上的那一天灶神,街上卖的也是一种糖,所以有柑子大小,我们有这个东西,但是平坦的,像一个厚厚的小烙饼。那个叫'胶牙星'了。请灶君目的是为了吃,坚持他的牙齿,所以他不能皇帝调鹦嘴说坏的东西。“鲁迅诗中提到的”瞪羚“的故事,为”汉书·尹知道传“:”玄,由至孝仁恩的女童侧十二月早上做饭,看灶神形,子方再拜受庆;家有黄羊,因崇拜。之后自然有,风暴富裕。要知道三,然后繁昌,所以经常在十二月拜灶之日起,经过推荐瞪羚焉。“尹昉看到了灶神星的孩子,杀黄羊祭祀,后来发了大财。从那时起,对传播造成黄羊祭灶下来的习俗。
唐宋时祭灶的产品是相当广泛的。宋代诗人范的“祭灶词”民间祭灶是为一个极其生动的描写:古传24,灶君朝天自由他们的意见非常重要。马云车风留连,家有杯盘丰仪式。双鱼座猪烂熟新鲜豆沙甘松敉饵圆。男人给了她自由裁量权,以避免,洒酒烧灶君喜。婢子斗争君莫闻,狗和猫接触犯规君莫愤怒。宋军醉登天门,勺长勺短勿复云,乞高利润回报点。
急噪腊月23日和新年有着密切的关系。因为,在一周后的大年三十晚上,灶王爷会与一个人应该得到的吉凶祸福,与其他诸神来到人间。灶王爷被认为是带路天上的神。在天堂别神再次新年过后,只有灶王爷会长久地留在人们的厨房。迎接众神呼吁灶王爷“接神”的仪式被称为“挑灶”。除夕一般是连接到灶具,仪式要简单得多,把一个新的厨房,只要灯烧香的炉龛前甚至逃脱。
说“男人不拜月,女不祭灶”的说法。在一些地方,女人是不祭灶的,据说,灶王爷看起来像一个小婊子,就怕女人祭灶,有“男女了。”对于灶王爷的来历,说历史悠久。在中国民间神,灶神星的资格是很老了。早在夏代,他已经是体现在一个大的民间神。据古书“礼记礼器”孔颖达疏:“有颛顼的孩子每天黎巴嫩,为火神,灶神星的崇拜”,“庄子人生”记载:“有灶馍”这句注释说:“髻,灶神星, “”驰毅,喜欢美女抱朴子微宗旨“,他还写道:”愿黑夜,灶神也白坐“这些记载,大概是祭灶神是它的源代码。还有,或说灶神是钻木取火的“燧人氏”;神农或者说“消防队长”,或者说“黄帝为灶”和“素肌丽”,或说灶神张名单,字子郭,每个人都不同。民间流传一个颇为有趣的故事。
据说,有古代人的姓,兄弟,哥哥是一个石匠,我的哥哥是个画家。我的哥哥是一个很好的现场光盘灶,请东街,西广场,邀请了他的手艺炉具所有的好评。众所周知,旧的漫长的几个月,千里方圆称他为“张灶王”。张某说怪厨王,是否有人屏障炉,万一发生纠纷别人家,他爱管闲事。遇到嘈杂说服他的妻子,他也遇到激烈的母亲说,好像一个老长辈。后来,邻居有一切去找他,每个人都尊敬他。王璋炉全程直播七岁的,仅仅是腊月23日晚上,当。张灶王了,张可能会造成混淆,原来张灶王是头部,家人听到他吩咐,现在她的哥哥离开这个世界,琴棋书画唯一的哥哥,虽然六十年代,但从来没有管家务。女儿的几个房间都吵着要搅得艺术家的分离是无奈,整天愁眉苦脸。有一天,他终于想出了一个好主意。在腊月二十张灶王纪念日的亡,在深夜的23周年,呼吁艺术家突然惊醒家人,说是大哥显灵。他的儿子,女儿,全家人会导致厨房,只见黑暗的厨房墙面,飘飘烛光若隐若现出张灶王和他已故的妻子的脸,家人都惊呆了。艺术家说:“我梦见弟弟和妹妹睡觉时已成为不朽的,玉帝封他为'九东厨司命灶王府君'你平时好吃懒做,妻子不和,不敬不孝,让神的家不安大哥知道。你麻烦的分离,很生气,准备宣布他的神皇,夏娃下界来惩罚你。“孩子直袭听说过这个,吓坏了,立刻跪了下去,连连磕头,张忙碌的厨房就取国王最喜爱的甜点平日的厨房,厨房神恳求宽恕。此后,叔伯和兄弟经常吵闹和女儿都再也不敢撒泼,家人平安相处,老少平安生存。这事以后,到附近的邻居和朋友都知道,十,百,张某来到打探虚实的。其实,腊月二十三日夜灶王灶壁预先绘制的艺术家。他是幻影假借哥哥吓唬孩子直袭镇,不料这个方法真的有效。所以,当邻居来到艺术家史努比情况下,他有一个严峻的现实,就像国王的画给了一个很好的炉子邻居。如果有人一起去乡镇蔓延,家家户户的厨房都标有像火炉王。随着时间的推移,形成腊月23到灶神坛,祈求家庭海关和平。后急噪定制蔓延,自周朝开始,皇宫节会还包括它在全国设立一个急噪规则成为固定的仪式。
回报扫尘
灶节日。从每年农历正月打除夕止23日,在此期间,全国民间所谓的“春日”,也叫“扫尘日”。灰尘是年终清理扫北叫“扫房”,南方叫“除尘”。在春节前扫尘,被称为我国人民的传统。每到春节,家家户户要打扫环境,清洗各种器具,拆洗的被褥窗帘,扫6路庭院,掸拂尘垢蛛网,疏浚明渠暗沟。南,北与喜悦搞卫生,干净的氛围欢迎春天的气息。
有趣的是,有关扫尘的起源古老,有一个比较奇怪的故事。传说,人们都伴随着一个三尸神是谁,他喜欢一个影子古人,后面那人的行踪,形影不离。三尸神是喜欢阿谀奉承,爱搬弄是非的家伙,他经常散布谣言在玉帝面前,世界被描述为丑陋。随着时间的推移,在玉皇大帝的印象中,世界上真的有一个肮脏的罪恶的世界。一次。三个报告亡神秘,诅咒大地在天堂,叛乱天堂。玉帝大怒,说话的速度快触犯法令人类混乱的事情,那里的神的斗气,人民的侮辱之神,它是根据这本书的屋檐,即属违法。让蜘蛛在网罩的标志。玉帝还下令王灵官太下界除夕之夜,作为标记每当人们,在斩杀了门,一个不留。三尸神见此即将得逞计,趁机飞落人间界,不管青红皂白,狠狠地用一个标记每家每户的屋檐一角,让王灵宫让她撕裂。就在三在邪恶之神,灶君发现了他的行踪,大惊失色,连忙起身各种灶王爷商量对策。于是,想出了一个好主意,从腊月发送到除夕,然后在炉子23日火炉之日,家家户户都要打扫屋子,它拒绝进入这户脏,厨房的房子。我们遵守灶王爷上天吩咐扫尘之前,抹了蜘蛛网,擦窗,把自己的房子打扫得焕然一新。王灵官视为理所当然,直到除夕夜看到的下界,我们发现,每一个房子是干净的,明亮的,人是快乐的团圆,很美丽的世界。王灵官找不到标记表示劣迹,很奇怪的想法,他们回来了天堂,地球与和平的幸福,祈求情况禀告新年如意玉皇大帝。玉石震撼听到,拘留三尸神的旨意下令掌嘴三百,从来没有被逮捕天牢。由于这一人类灾难灶神星救援,才逃过一劫。除了供人欣赏的厨房难消灾,赐福张祥,所以人们总是清扫灰尘后开始发灶直,直到除夕。
“24,尘扫房子”的风俗,由来已久。据“通志”记载,尧舜之春时代有扫尘的习俗。按民间的说法:因“除陈布新”的含义“尘”与“陈”谐音,春节扫尘有,其目的是让所有的“穷运”,“晦气”都横扫出局。这种风俗寄托着人民的意愿和新的渠道新年祈祷。
返回卷轴
楹联文学在中国的独特的形式有着悠久的历史。它开始从五代十国,特别是明,清两代盛行,到今天已经发展到了一千多年。
早在秦汉以前,我们的节日期间,与门游逛春节习俗乡下人。春节是通过两个大型红木面板,分别在上面写上大神的传说降鬼“屠(TU)”和“郁垒”恶驱魔压力的名字。这种做法持续了一千多年。五代时期,人们开始质疑欧盟的发言,而不是神的降鬼大牌子在红木板上。据史料记载,主舒萌畅(昌)在上卧室门除夕主题对联公元964年,“新年纳余庆,嘉节长春号”是中国第一这副对联。
宋代以后,民间新年对联悬挂已相当普遍,所以王的“元日”写的诗“千亿元瞳瞳,新桃换旧符总”那是真正的盛大的楹联写照。由于出现和春联有密切的关系,所以古人又称春联为“春节”。
明朝,朱元璋大力提倡对联。后来他金陵(今南京)资本,命令大臣,官员和普通百姓都必须回家之前除夕写在门上一副对联,他亲自穿便装巡逻,门对门的观赏乐趣。然后还一起称号反对文人温柔的乐趣,写春联已成为社会习惯的时刻。
到良好的相关权利明确以后,干隆,嘉庆,道光两朝,像盛唐对联诗句一样,已经有许多知名的名字。
随着各国文化交流的发展,对联传入越南,韩国,日本,新加坡等国家。这些国家仍然保留着贴对联的风俗。
<br元旦春节
/>回报,人们除了贴春联,剪窗花,还喜欢在客厅,卧室,挂画张贴。新图片的图片添加到每一个家庭欢乐的节日气氛。
图片是一种古老的民间艺术,他反映了人民群众的风俗和信仰,寄托着对未来的希望的人。绘画,也滚动在相同的起源“老板。”春联和屠郁垒的名字开发的文本,但仍在发展沿着新年的拉伸方向。
随着木印刷术的兴起,内容并不局限于绘画有门将之类的,并逐渐把财神回家,然后在一系列研讨会在新的一年产生了“福禄寿三星图”,“官方节礼物福“,”五谷丰登“,”六畜兴旺“,”迎春接福“等彩色绘画,以满足人们喜庆祈福的美好愿望。
倡导的春联明朝皇帝,绘画也影响了服务员为准,该国出现了三个重要的画作产地:苏州桃花坞,天津和山东潍坊杨柳青,形成三幅巨大的流派。
集合是最早的绘画之歌“与朝鲜进行反倾销窈窕国家芳容”木刻绘画,画的是王昭君,赵飞燕,班姬和绿珠古代四大美女。但我们的民间是一个流传最广的“老鼠娶亲”的画作。根据小鼠的习俗结婚的有趣场面,新娘这幅画描绘的世界。她的画组成活泼,热闹非凡。这幅画给鲁迅留下了不可磨灭的印象。正如他所说,这片寓教于乐的“老鼠会结婚,”不仅要唤起成年人的兴趣,感染了孩子们的艺术更加激烈。
除夕的传说是婚姻吉祥吉祥鼠,人要放一些食物在床上,灶间,给予鼠新郎的礼物,以祈求丰收明年。有些祖母经常逗孩子在睡前,说:“找好鞋身上,不要让老鼠偷当轿车。”此言一出即源于此。因此,新的一年,“老鼠娶亲”特别能引起孩子们的共鸣。
<br新年前夕的一天,中国人民
/>回报率是非常重要的。这一天人们准备除旧迎新,吃团圆饭。在古代中国,一些监狱官员甚至放囚犯回家过年与家人团聚,我们可以看到古代中国人是何等的重要“团圆饭”。
每年的团圆饭充分表现出互敬互爱,相互尊重的中国家人和爱,使一个人接近之间的这种关系。家庭团聚往往令一家之主精神上的安慰和满足感,老人看到儿孙满堂,全家人在家庭中的表,照料和养育子女的还没有被浪费了你的努力在过去,这就是幸福。年轻的一代,也可以借此机会,恩提高到父母表达感激之情。
孩子玩鞭炮时,家庭主妇谁是最忙的人在厨房里时刻盘片做了最后几天,和晚餐的厨师总是做出来在除夕当天。在北方,过年的饺子应该在晚上收拾它。然后每个人的砧板都在忙着噔噔噔砍肉,蔬菜。此时,家家户户传出的砧板声,大街小巷传来鞭炮声,传出店中店之声“噼里啪啦”的声音和节奏算盘报销的声音,然后用笑声混合无处不在,此起彼伏,海洋盈耳,交织成除夕欢快的音乐。
说到除夕的刀砧声,邓云乡写的“燕京原生记”记录了除夕是一个非常悲伤的故事:的可怜的老困难的社会生活,是在夜间关闭。有户人家,丈夫到三十晚上很晚尚未拿钱回来,“家在瓶子里用尽早期小米,没有备货。康瑞孩子的女人在家里,什么也不做,听我的邻居的砧板声,极度痛苦,我不知道是否她的丈夫收回一些钱什么的,我不知道明天怎么活,这几年,怕自己的家没有砍声惹人笑,斩刀来切空,而扑通扑通地切,而眼泪掉下来......杉杉,让人听了这个故事,真的很伤心。
吃晚饭,每一个家庭是最流行的新年快乐的时光。除夕。年夜饭桌上摆满了酣畅淋漓,家人团聚,围坐的团圆饭的桌子,我的心脏是履行真是难以形容的感觉。人们不仅能享受一个充满丰盛的食物表,但也有菜,凉菜,热菜,点心共享欢乐的气氛,表。,最终,一般的两件事情,一个锅里头鱼火锅煮,蒸,温馨撩人,说明红红火火,“鱼”和“我”的谐音,是象征“吉庆有余”,也喻示“年年有余”有俗称萝卜萝卜,祝愿好运;。“烈火烹油”龙虾,鱼等油炸食品的爆炸,我想发家繁荣作为最后大多是甜的,祝福未来的日子甜甜蜜蜜,这一天,如果不喝酒,喝的有点太多了。中国古代过年喝酒,非常注意酒的品质,有些酒现在都不见了,只留下了很多感人的酒名,如“葡萄醪, “”蓝尾酒“,”宜春酒“,”梅花酒“,”桃花酒“,”TuSuJiu“等等,在这些酒中间,流传最古老,最常见的,或TuSuJiu,但名称TuSuJiu怎么来的?生产什么?传说亘古未变。
屠苏是一种草名,也有人说,屠苏是一个古老的房子在这所房子,因为酒的结束,所谓的TuSuJiu。据说TuSuJiu创建从汉末坨,公式为大黄,白术,桂枝,防风,花椒,乌头,附子,如传统中国医学纳入酒从系统下跌。这避孕药有用的温度阳,祛风散寒,以避免加入邪恶的瘟疫疬的效果。唐代以后,孙思邈蔓延到医生。孙思邈腊月,每年总是向公众派发附近的乡亲药一包,告诉大家注入药物,饮料到除夕,可以防止瘟疫。孙思邈将自己命名为房子“屠苏屋”。后来,古老的传说后,喝TuSuJiu成为中国农历新年的习俗。古代饮料TuSuJiu方法很别致。大多数人喝,经常喝从老年人;,但喝TuSuJiu正好相反,是最年轻的起点从喝这时候,家人团聚的饮料喝TuSuJiu,从幼儿开始,以后年纪大了,聪明的人喝一点。宋代文学家苏辙的“除日”诗道:“年年屠苏最后喝,感觉比七十年。 “说的就是这个习俗有些人不明白这种习惯的意义,董勋解释说:”少者得岁,故贺之;老人失去岁,这是一个点球。 “这种习俗仍然盛行于宋代,如苏轼在”除常州市外的夜野宿“的诗中写道:”但是,穷愁博长健屠苏挨过去喝。 “苏虽然贫困老人,但精神是非常乐观的,只要身体健康,虽然年老也不在意最终的处罚酒后TuSuJiu自然不会拒绝。这壮观的饮料秩序,在古代往往都会引起感慨万千,所以给人留下了深刻的印象。直到清代,这种做法还算不错,虽然今天它已不再是这一传统的大规模流行,但平时喝的葡萄酒节日或习俗仍然存在。许多
晚餐技巧,不同的大江南北,有饺子,馄饨,长面,元宵等,并有讲究。吃饺子的北方人过年习惯,就是要把从旧的“多年的过渡岁交子“的意思。而且由于面粉的饺子形状像银元宝,放在桌子上盆象征着”新年发财,黄金滚滚而来“的意思。当一些饺子,还把发射了几枚硬币袋放入沸水中消毒后,说谁第一个吃,并能够赚更多的钱。吃饺子的习俗,通过从汉代下来。相传,医圣张仲景在寒冬腊月,看到穷人的耳朵被冻烂了,便产生了一种“缓解娇耳汤”给穷人治冻伤。他羊肉,辣椒和一些祛寒药材温暖,与像一个袋子塞进耳朵的脸,“娇耳”煲熟食穷人,百姓吃,感觉那么温暖,两耳发热,后来,人们遵循这样的例子,一直流传到今天。新年吃馄饨,取其意在打开的。传说中的前世界的开始产生混沌状态,盘古,只有宇宙四方,长面,也叫长寿面,新年面条,预生日几百年。
回报熬夜
乡下人有熬夜的习惯在除夕。保持从一开始吃晚饭,这顿慢慢吃晚饭,坐一坐的烛光,有的人不得不在深夜吃。根据被懔“荆楚记“记载,至少在南北朝时有吃年夜饭的习俗。
熬夜习惯,无论在水中每过一个告别与缅怀之情,同时也为即将到来的新年愿望发送到好的意思古人一个“熬夜”的诗中写道:“阿戎熬夜附近的家中红色蜡炬传递给碧纱;波超过3060顷,从爱情不幸偏晚。 “爱是人类唯一的珍宝,所以大诗人苏轼写的”熬夜“名句:”明年没有力量,恐惧浪费感情;尝试做金溪,男孩仍然可以夸耀! “这说明除夕的积极意义熬夜
除夕熬夜,俗名”熬年“为什么叫”熬年“呢民俗世代流传着这样一个有趣的故事:。?据传说,在远古洪荒时代,有一种凶猛的怪兽,人们叫他“年”。每一个除夕夜,野兽会伤害人与动物从海水里爬出来,摧毁田园,困扰着人们辛苦了今年,人们为了躲避野兽,腊月三十晚上,不黑门初期紧闭,不敢睡觉,等待黎明花时间,同时也为勇敢的,他们喝酒,于是在元旦清晨,兽不再出来,才敢出门。作揖的人,以满足对方的手,祝贺道喜,庆幸没受兽,其中有多年的吃,做任何事情的情况下,人们守护兽,只需30晚了一年,野兽突然跑到南部的一个村庄,一个村庄被野兽吃掉差不多,只有一个挂着红色的窗帘,身穿红色的婚礼的夫妇平安无事。有几个幼稚,点在院子里玩,火红色,竹烧了一堆竹子的“啪啪”爆响,兽去这里,看见火吓得转身而逃。此后,人们知道兽怕红,怕光,怕声,在今年年底的每一个开始,家家户户会贴上红纸,穿红袍,挂红,鼓,燃放鞭炮,所以兽就不敢再来了。在“书歌小雅。庭燎“篇,有”庭燎光“的记载。所谓”庭燎“生产用竹竿像一个火炬,燃烧的竹子,竹子的空气膨胀,竹腔爆裂,发出噼里啪啦的声音,这是一个“爆竹”的由来。但在有些地方,村民们不知道兽怕红,常常被野兽吃掉,这后来传到天上的紫的东西微星那儿,为了拯救他的人民,决心消灭野兽。有一年,当他出来是兽,用火球下来,然后粗链将它锁住柱子上,从那时起,每到过年,人们总要烧香,请紫微星低绑定的安全与和平。
晚上这个“一夜连双岁,年黎明,”合家团圆,欢聚一堂。家人围坐在一起,洋溢着水果和点心桌。大年摆幅苹果市场是不可缺少的,它被称为“和平”。在北方,有些人甚至对大米的锅,烧年前,供应新年,被誉为“每年饭”,是年年剩菜,吃一年四季,今年还吃谷物往年的意思。这个盆子是一般用于大米和小米混合和厨师的每年饭,北京俗话叫“2米子饭”是有一个黄白色,这就是所谓的“黄金与白银,金银满盆“和”金银饭。 “许多当地的水果和糖果时熬夜准备,所有他们想要寻求一个幸运的口彩:吃枣(早春),吃柿饼(事事如意)吃杏仁(幸福人),吃花生(长寿),吃年糕(一年比一年)。除夕夜,全家人,吃乐,笑喜人。有些家庭还Tuipai玖低俗,掷骰子,赌梭哈,打麻将,笑声嘈杂声汇成了欢乐的除夕高潮。
回报鞭炮
当午夜的工资经常午夜,新年的钟声敲响,整个中国在地上,鞭炮响了天空。在这“岁之每月人民币,而人民币”和“3”时刻,有的地方还在庭院里垒“旺火”,以示王学圻的天空,红红火火,拌入燃烧各地孩子们放爆竹,欢乐跳,然后,屋内是通明的灯火,庭前是灿烂的火花,屋外是震天的声音,高潮除夕的喜庆气氛古代诗人和诗人总是最好的诗句,赞美新年王某的“元日”诗:。1年除了鞭炮声,温暖的春风屠苏。一千万元瞳瞳日,总有新的换旧符。
描绘了中国人民欢度中国新年喜庆场面盛大,潘庆感谢。
‘叁’ 加州旅馆…沙建微,中文歌词…
《加州旅馆》中文版
厨师---沙建微
欣赏他沧桑的嗓音,唱出了我们游子漂泊的心声…
网上看到他的视频很感触,即兴做了这个歌词
走在空荡的街上
枯叶随风飘荡,仍是无眠的夜晚
走得没有方向,来到这城市两年
却没有归宿感,已回不去我来的故乡
只为了梦想,那就像远处的灯火
任然飘渺遥远,但始终有微微的光亮
让我继续向前,转身走进地下道
拿起红木吉他,轻轻弹起那旋律放声自由唱
这就是我最好表演的地方
远离了灯光,不需要混响
这就是我最好表演的地方
充满了力量,充满了希望
也许你也曾听过,这首哀伤的歌
走出这地下漆黑的路,为生活奔忙
我们都曾经怀揣,年少时的梦
也许你已经成长,已事故老成
但请你偶尔驻足,听听我的歌声
审视你现在走过的路,是否一切洪荒
请停下你的脚步,静静欣赏
这首献给青春的歌,和我一起唱
这就是我最好表演的地方
不需要灯光,不需要混响
这就是我最好表演的地方
充满了力量,充满了希望
当歌声渐渐传远,传到城市里面
是否有人会听见,我们的呐喊
无论走出了多远,终点总在前面
能听懂我声音的你,和我一起唱
这就是我最好表演的地方
不需要灯光,不需要混响
这就是我最好表演的地方
充满了力量,充满了希望
‘肆’ 最近微分销系统好像很火,很多人都去找了微三云,是不是真的有用啊
有用的吧,我有去帮你查一下资料;就是说系统更新快,和功能很齐全等等;我觉得值得关注的是提供整套的源代码,所以,你可以自己判断一下。
‘伍’ 如何从零基础变成java大神培训有用吗
现如今的计算机专业绝大多数的学生是零基础,毕业之际,有的成了大神。零基础的同学只有找对方向,才能成功,下面就源码时代的Java老师分享一下多年的教学经验,让你从零基础Java小白变成人人羡慕的Java大神。
1.学会写程序
程序就是,将自己的思考用程序表现出来。比如复杂的小工具、大数计算器等。这个过程中你逐渐了解数组、指针、内存布局、函数,了解递归、栈、链表,然后学习基本的数据结构。之后再写程序,你需要考虑代码的优雅、简单、时间空间效率高,使用什么样的方式来实现最好。最后你学会了复用,学会了调用系统API,学会了想什么就能用代码实现什么或者知道它不能被实现,最后你就学会了编程。
2.有毅力 不迷茫 不灰心
学习就不能着急,不能以你学了半年Java知识的水平去和所谓的Java程序大牛比,这是没有意义的。而且Java编程,入门可能会有困难,但是随着接触与练习的越来越多,Java水平进步也会越来越快。所以你的洪荒之力还没有被激发出来?毕竟每个Java程序大牛也是从牛犊子开始成长的。
3.关于编程语言
语言就是工具,没有所谓的好与不好,只有合适不合适,喜欢不喜欢。所以你可以任性了。
4.关于写代码
写代码是基本功,代码写不好的,嘴上说啥都没用,所有的都在弹指一挥间
5.善于总结
总结记录,加深记忆,方便以后查看。多进行总结记录也会起到不错的效果。毕竟好记性不如烂笔头。
武汉源码时代java培训热度高,在这里,你学到的不仅仅是全面的java理论知识,还有机会亲自参与多样的项目实训,在动手的过程中不断检验和巩固所学的知识,成长为满足企业发展需要的有用的人才。
‘陆’ 口碑营销有哪些方法
谈口碑营销,首要要知道什么是口碑?“口碑”意思是,口口相传,既可以是正向口碑,也可以负口碑,比如,常常听朋友介绍说,说某产品质量怎么怎么好,这便是典型的口碑相传,当很多人都在传的时候,久而久之就形成了口碑传播。
用户推荐除了高转化率,对于推荐者本身也会提高TA使用产品的活跃度和留存。因为人们人们潜意识里都会不断地维护自己的认知和决定是正确的,给别人介绍多了之后,自己也会对这个品牌更加忠诚。
津荐广告传媒
要激发更多的用户推荐,就要先搞明白用户为什么会帮你推荐?
用户产生推荐的驱动力主要有3种:
1. 产品驱动
因为产品或服务本身非常好,使得用户非常愿意将其分享给周边的朋友;用户用完之后,经常会感叹“真好用!”“真好看!”“真方便!”“体验真好!”这类的评价;这就需要产品在体验、模式、服务、性价比等其中一方面,打磨得明显优于同行。
2. 精神驱动
精神驱动不同于产品驱动的原因在于,用户并不是本身实际需求被解决,而是产品的灵魂人物的精神激发了用户。比如你听到的“这手机真有情怀!”、“我们都欠他一张电影票!”,这两句话非常熟悉了吧,这种用户的推荐就来自于满足用户精神上满足的驱动。
比如在鹿晗4月20日生日,鹿晗的粉丝自发组织号召其他粉丝大量评论,单条微博下面有20万条评论,只为了给他过个生日;然鹅粉丝们并不满足于此,在七夕节又冲刺到了1314万条,作为七夕节的粉丝表白,直接打破了吉尼斯世界纪录!过了一年又到了他生日,就变成了4200万条评论了,天啦噜!再然后粉丝们为了追求“一心一亿”,把评论冲到了超过1亿条评论,微博上#鹿晗#话题的阅读量已经到了700多亿!我看到的时候也是震惊了,这TM才叫洪荒之力啊!
3. 利益驱动
因为产品本身设计的推荐机制,通过分享推荐好友,可以获得一定的利益;这种好处既包括返现、送券、优惠、送产品等直接利益,也包括一些虚拟产品的使用。比如分享可以解锁某功能、可以延长VIP使用时长。
例如有一些拼团类的产品,直接买是一个价,三人成团又是另一个更低价格,这其实是发动用户拉好友一起使用的一个很好的方式。
做好以下这些点用户会主动帮你宣传
谈到口碑营销,我们很多企业存在认识上的误区,一些企业以为制造好的商品,让消费者满意,由此树立良好的口碑,使消费者口耳相传就是口碑营销。
其实,制造高品质的商品,使消费者满意只是进行成功口碑营销的基础保障,这一点必不可少,但仅仅如此还是远远不够的。
口碑营销作为一种营销形式,自然要包含很多市场营销的战术与实施技巧,其中口碑营销内容的设计更是非常关键。
一个成功的口碑传播内容应该包括:借势、利益、新颖、争议、私秘、故事化六项要素:
1. 借势
口碑营销的特点就是以小搏大,在操作时要善于利用各种强大的势能来为己所用——可以借助自然规律、政策法规、突发事件,甚至是借助竞争对手的势能。
下面讲一个经典案例:当年百事可乐刚刚创立时,受到了老牌饮料巨头可口可乐的阻击,可口可乐以自己悠久的历史与美国传统文化为卖点,嘲笑百事可乐是一个刚刚诞生,没有历史,没有文化的品牌,在广告中通过各种方式对比自己的“老”与百事可乐的“新”。
当时的百事可乐作为一个初创品牌,没有那么大的实力去通过广告战来反驳或对抗可口可乐, 他们就想出一个办法——借助可口可乐的“新老论”来树立百事可乐的品牌形象。
于是,百事可乐打出了“新一代的可乐,新一代的选择”为主题的广告,去宣讲新可乐的好处,并主攻喜欢尝试新鲜事物的年轻人,结果可口可乐铺天盖地的广告反到帮助百事可乐树立了新一代可乐的品牌形象。
2. 利己
生活中,我们关注与谈论最多的莫过于与自己利益相关的各种话题,口碑营销必须将传播的内容以利益为纽带与目标受众直接或间接地联系起来,这一点在中国市场尤为重要。
3. 新颖
在今天这个信息爆炸,媒体泛滥的时代里,消费者对广告,甚至新闻,都具有极强的免疫能力,只有制造新颖的口碑传播内容才能吸引大众的关注与议论。
4. 争议
具有争议性的话题很容易引起广泛的传播,但争议往往又都带有一些负面的内容,企业在口碑传播时要把握好争议的尺度,最好使争议在两个正面的意见中发展。
5. 私密
世界上很多传播最广泛的事件曾经都是秘密,这是因为我们每个人都有探听私密的兴趣,越是私密的事物,越是能激发我们探知与议论的兴趣。
秘密就像一只潘多拉的魔盒,不用刻意告诉别人打开,大家自己就会想方设法地主动去打开它;因此,涉及私密的内容是口碑营销传播方式中最有效也最有趣的一个手段。
6. 故事
我们在做口碑营销时最好忘记自己是在做一种广告宣传,而是在流传一段新奇有趣的故事,好的故事自然源远流长,而如何讲好这个故事,就要看这个故事的作者与主角的商业智慧。
如果我们要做口碑营销,应该怎么落地呢?
第一种:自己搭建网络推广团队。
第二种:找外包公司来完成。
找外包公司也是一件很有技术含量的事情,找的不好不仅影响公司生意还会断送自己的职业生涯,简单说一些外包公司坑甲方的套路:
做客服外包的,拿甲方个体数据,借甲方名卖自己货;
做电商代运营的,卖甲方小二资源,和小二对半分利润;
做自媒体代运营的,两千雇实习生一月写4篇推文就了事;
玩SEM的,和各地分公司谈返点,甲方烧得多自己赚得多;
发电子邮件的,反正开信率都低,发几封就停,把费用揣兜;
发软文新闻稿的,给甲方报高价,然后再转包给水军头干执行;
卖硬广的,直接从蓝标这样的大公司拿份刊例价,翻倍报给甲方;
做微博、微信营销推广的,从微播易内部拿刊例价,翻倍报给甲方;
做网络联盟广告的,买蚂蚁联盟源码做站,后台改数再流量精灵刷数;
网络视频广告,反正转化率基本是没有,和媒介谈好返点忽悠甲方猛投;
于是很多人都望而却步了。但是如果有这么一个平台,像天猫一样,上面有500多家优质服务商,平台还有专家根据你的需求来为你匹配最适合你的服务商,资金第三方存管,对整个服务进程也有监督,那你会不会放心很多?
‘柒’ jQuery $(window).scroll事件出现问题
web前端开发 20 年变迁史,让我们来看看这20年里,web前端究竟经历了哪些变革,web前端在这20年里又有哪些突破和成就,怎么样看待这20年的web前端开发!
1990年,第一个Web浏览器诞生,而WWW的诞生直接拉开前端史的序幕。
从静态页面到Java,从依赖后端到自主开发,前端开发者从不被重视的“页面仔”逆袭为如今很多前端工程师的薪资比后端还高,从前端技术由国外开发者主导到如今国内自主产生的小程序技术,我们走了20年。
了解web前端:http://www.cnite.cn/qianan/
作者 | 司徒正美
责编 | 伍杏玲
1990 年,第一个Web浏览器的诞生;1991 年,WWW诞生,这标志着前端技术的开始。
在这将近20年的前端发展史中,我们经历了从最早的纯静态页面,到Java跨时代的诞生;从PC端到移动端;从依赖后端到前端可自由打包开发;从早期的网景Navigator浏览器到现在各家浏览器百花齐放……
我们经历了前端的洪荒时代、Prototype时代、jQuery时代 、后jQuery时期、三大框架割据时代,这其中均是由国外开发者主导,直到如今的小程序时代,才是中国开发者独创的。
这是漫长的技术储备下的成果,最终促成了良好的技术成长收获。期间的前端发展之路,崎岖艰难:
洪荒时代(1990~1994年)
在1990~1994年期间,前端界发生的大事有:WWW(World Wide Web)的诞生、浏览器的诞生、Java的诞生,没有专业的前端,页面全是由后端开发的。
1990年,万维网之父蒂姆·伯纳斯-李(Tim Berners-Lee)在NeXT电脑上发明了第一个Web浏览器。
1991年8月6日,Tim在alt.hypertext新闻组贴出了一份关于World Wide Web的简单摘要,这标志了Web页面在Internet上的首次登场。
最早的Web主要被一帮科学家们用来共享和传递信息,全世界的Web服务器也就几十台。由于仅是用来传递信息,从可视化方式或从传递数量上看,仅比电报强一点点。
当时还没有Java,用的是纯静态的页面。
1993年,CGI(Common Gateway Interface)出现了,人们可以在后端动态生成页面。
Perl由于跨操作系统和易于修改的特性成为CGI的主要编写语言。当然,CGI也支持其他支持标准输入输出和环境变量的语言编写,比如Shell脚本、C/C++语言,只要符合接口标准即可。
但显然,页面的内容更新完全由后端生成,这带来一个明显的缺憾:每次更新都要整页刷新,加上早期的网速情况,这个操作是非常慢的。因此针对这情况,人们从多方面着手改进:编写语言的升级、浏览器的升级、HTML的升级。
1994年,网景公司成立,发布了第一款商业浏览器Navigator。自从这款浏览器面世后,微软推出IE浏览器。虽说有竞争才有发展,但这也埋下了Java分裂的种子。
(1994 年,网景浏览器的截图)
同年,PHP诞生。PHP能将动态的内容嵌入到HTML中,提升了编写页面的效率与可读性,其性能也比一般的CGI高。PHP的界定符、循环语句等的发明,深刻影响了后来的ASP、JSP,乃致后来的Java前端模板引擎。
1994年10月,W3C小组也成立了,他们负责HTML的发展路径,其宗旨是通过促进通用协议的发展。
待这一切就绪后, Java于1995年诞生了。
传闻,网景工程师布兰登·艾克(Brendan Eich)只花了10天时间设计出 Java 语言,近乎上帝七日创造世界那么高效。但也因为工期太短的缘故,导致许多瑕疵,因此一直被正统传序员所嫌弃,直到Ajax的出世,才让人们找到理由忍受它的畸形。早期的浏览器都配有一个选项,用来禁止Java语言运行。
Java主要语言特征[1]:
借鉴C语言的基本语法;
借鉴Java语言的数据类型和内存管理;
借鉴Scheme语言,将函数提升到"第一等公民"(first-class citizen)的地位;
借鉴Self语言,使用基于原型(Prototype)的继承机制。
时下,静态语言大行其道,类与接口被证明是构建大工程的最佳实践,人们想不出没有类的语言如何编写业务。因此当时的微软也打造了另一门运行于浏览器的语言——VB。
如果继续细探Java的能力,你会发现它早期真的非常空洞,一门没有灵魂的语言,没有包管理机制,也没有像Java与C++那样的打辅助用的SDK,内置的方法也屈指可数。比如说数组方法,早期只有push、pop、shift、unshift、splice、slice、sort、reverse、concat、join等操作。动态调用方面,Function的apply、call操作还没有出现!
早年的偷懒,导致后来不得不补课:到了2019年,数组上的原型方法,是原来3倍。
除了方法缺乏,还有性能问题,大家讨论用eval还是Function,用哪种循环方式,用parseInit还是~~,就是为了那一点点的性能提升。例如jsperf.com,就是一个专门研究Java性能的网站。
因此Java诞生后,其两大任务就是完善语言特性与提高性能。这两座大山分别由着名的prototype.js与jQuery来搬掉。
在搬掉之前,前端界还有一个曲折实践——第一次浏览器战争,并由其发展而来UA嗅深技术。
浏览器战争(1994~2005年)
浏览器战争一共打了三场,IE浏览器vs网景浏览器、IE浏览vs火狐浏览器、IE浏览器vs谷歌浏览器。
第一场浏览器之战打得尤其激烈。
微软的IE浏览器发布于1994年,但此时的网景已经占领绝对优势。微软在落后的情况,反编译Netscape的源码,推出IE与J。但是由于Bug非常多,大家不愿意为IE开发网站,因此发掘出UA,专门过滤掉IE浏览器。
UA即Navigator.userAgent ,是用一个字符串来记录用户当前运行在什么操作系统与浏览器中。当前IE3的UA是这样的:
Mozilla/2.0 (compatible; MSIE 3.02; Windows 95)
程序判断UA信息,假如发现当前运行的环境是IE浏览器的话,就提示用户用网景浏览器打开。因此微软不得不让自己的UA尽量伪装成网景的UA,欺骗用于检测UA的脚本,达到IE浏览器可以跑这些网站的目的。
最终,第一次浏览器之战以微软胜利,Netscape被美国在线收购,而落下帷幕。
第一次浏览器战争年代非常久远了,但其结局告诉我们,其实技术强弱并不重要。那时技术保护并没有这么重视,否则微软的行为可能会被告(谷歌的openSDK仅抄袭几十行代码,被Oracle公司诉讼赔88亿)。
第一次浏览器战争带来了一个问题:尽管当时有ECMA-262(Java规范文档)与W3C(HTML与CSS的规范文档),微软却没有照规范来实现Java、HTML与CSS,导致前端兼容问题的诞生。所以CSS Hack、浏览器判定、特性侦测,这些技术就应运而生。
这个时代最着名的人物是Dean Edwrad,他是最早的近乎完美解决事件绑定的兼容性大神,其addEvent()内置于jQuery最早的版本中。jQuery的作者John Resig看到其超强的技艺,最后放弃推出大而全的框架,专攻选择器引擎。
Dean Edwrad的IE7.js、IE8.js是早期处理浏览器兼容的良药,可以说是一切Polyfill[2]的起源。他写了大量的Hack, 比如在IE如何测量元素的宽高,许多操作DOM的兼容。
这时期太早,中国基本没有参与这次浏览器战争。
Prototype时期(2005~2009年)
Prototype是Sam Stephenson写的一个非常优雅的Java基础类库。他是Ruby的大牛,因此Prototype的许多方法名都是来自Ruby界。
Sam Stephenson最大的贡献是发掘了Prototype与创造了Function.prototype.bind,在数组上也写了一大堆方法,其中许多被标准化了。
同期的MooTools也是Prototype的方法,当时,大家还在前端论坛为这个争吵。还有前端工程师喜欢在当时很出名的前端聚集地——蓝色理想(现沦为设计师网站)上,讨论如何扒脚本、分享弹层、日历等小组件的技术,这在当时已经是非常了不起的事。
Prototype当时还解决两大问题:动画特效与Ajax请求。动画特效是由aculous提供,我们现在所熟知的各种缓动函数,各种特效的命名与大致的运行形态,都是由aculous确定下来的。
在早期,谷歌就开始使用iframe实现页面刷新。
2005 年2月,杰西·詹姆士·贾瑞特(JesseJamesGarrett)发表了一篇名为《Ajax:一种Web应用程序开发的新方法》的文章后,Ajax被挖掘出,大家才开始重视起这技术的应用。
例如IE下的ActiveXObject("Microsoft.XMLHTTP"),这是IE创建Ajax引擎的。假如当时有工程师开发出一个核心库,如果不包含Ajax的封装,便不好意思发布出来。
一些Ajax书藉
当时前端开发模式是选择一个核心库,找一些组件,或者扒别人的脚本进行开发
Prototype的源码挺好理解的,代码量也少,只有5000多行,里面的每个方法也很易扒出来,因此一些大公司总有高手能创造自己的Prototype。
但前端开发还是离不开后端,因为前端没有模块机制,当时我们需要用PHP进行打包。打包是雅虎34条军规之一,可以减少请求数。打包的同时也可以进行混淆,防止代码小偷来窥探。
N年前,前端面试必问的题目:
模块化的雏型, 在注释中标注它的依赖
这个时期,还没有前后端分离,可国内一些带着深厚后端背景的高手已经入场。
jQuery 时期(2009~2012年)
2006年,jQuery发布,它当时的竞争对手很多:Dojo、Prototype、ExtJS、MooTools。
所以那时jQuery的宣传口号仅能说是它的性能上升了100%、200%、300%。直到2009年,Sizzle选择器引擎研发成功,jQuery才取得压倒性的优势。
当时前端界首要面对的是浏览器兼容性问题,jQuery在处理DOM兼容上真是知微见着, 发掘出大量的DOM/BOM兼容方案(例如Dean Edwrad的addEvent(), IE的px转换方案,domReady的doScroll方案,globalEval的兼容方案等)
jQuery也打破了前端开发者的编程思维,之前是按照后端的开发思路来的:做一个业务就先封装一个类,有了这个类后,再想办法传入一个DOM,然后再通过类方法操作DOM。而jQuery是DOM为中心,开发者可以选一个或多个DOM,变成jQuery对象,然后进行链式操作。当时为了改变用户的思维,国内的高手写了不少文章来引导大家。
其次,开发者们已开始注重前后端分离,并要求不能污染Object原型对象,不能污染window全局变量。这样,jQuery只占用两个全局变量。
再次,jQuery非常轻量级,采用Dean Edwards编写的Packer压缩后, 大小不到30KB。并且里面实现得非常精妙,以令人瞠目的手段解决各种兼容痼疾。
为了学习这些技巧,高手们翻了一遍遍jQuery的源码,所以网上有大量关于其源码详解的书藉。甚至前端工程师在面试时也会被考到jQuery的源码实现,这样,jQuery在国内更加流行。
jQuery的流行间接带来以下的发展:
促使人们对CSS1~CSS3选择器的学习
促进了浏览器原生选择器引擎document.querySelectorAll、Element.matches的诞生
提高人们对domReady(DOMContentLoaded事件)的认识
促进了Promise与requestAnimateFrame 的诞生
最重要的是降低前端门槛,让更多人进入这行业,前端工程师的队伍越来越壮大。
这样的话,不断涌现出优秀的工程师,他们创造了大量jQuery插件与UI库。为后jQuery时代,人们研发前端模块加载、统一异步机制、 打造大型MVC框架, 甚至伸向后端,接管打包脚本而发明Node.js,来腾出大量时间。
这个时期涌现了大量jQuery-like的库,其中最着名的是Zepto.js。Zepto的出现也标志着我们进入移动互联网时代。那时配套出的着名库还有iScroll、fastclick、Lazy Load、Modernizr、fullPage。
jQuery的链式操作风麾一时,也带来许多问题,当Ajax出现依赖时,就不可避免就出现回调地狱。因此针对这方面的讨论,诞生Deffered与Promise。有关回调地狱的讨论,在后来讲Node.js异步处理时,将会再一次热烈地讨论。因此太阳下没有新事,我们总是遇到相似的问题。
jQuery如此多的选择器也法维护,随着越来越多人涌现这行业,页面的交互也越来越复杂,从Web Page向Web App进化,新的趋势带来新的开发方式。
后jQuery时期(2012~2016年)
这时期以RequireJS的诞生为起点,以RN的出现结束。同时解决了前端的模块定义问题,模块打包问题(通过Node.js),Java不依靠其他语言创造了一套自己的工具链。
jQuery的出现让前端工程师开发更加轻松,假如工程师想实现一个功能,现搜索出一个jQuery插件来实现。那时候大家在前端网站就整天介绍jQuery插件,很少讨论一些底层的实现。
前端工程师通常编写一个页面,会引入十多个乃至几十个jQuery插件,页面上塞满了标签。众所周知,浏览器是单线程,的加载,会影响到页面的解析与呈现,导致着名的白屏问题(当时前端用力过勐,body中的所有东西都是动态生成的)。
jQuery另一个问题是全局污染,由于插件的质量问题,或者开发的素质问题,这已经是IIEF模块或命名空间等传统手段无法解决了。
于是一些优秀的前端工程师们决定从取经后端,引入模块机制。早期,这种模块机制在Dojo、EXT这些框架中都是内置的,但是显然说服不了另一个框架的用户用对方的模块机制,于是有人立志要统一这种模块定义方式,成立了CommonJS。
但不料,CommonJS内部也有派系,谁也说不服对方。终于有一个人忍不住自己独立开发出RequireJS,其模块规范即为AMD。 AMD最大的优势是它支持各种插件,且简单明了,并且提供shim机制加载以非AMD规范编写的Java代码。
但在CommonJS诞生很久一段时间后,在后端的Node.js出现时才有用武之地。而国内,则流行另一种规范风格,背靠阿里的大旗,有人推出了SeaJS,号称其规范为CMD。其实无论国内还是国外,都产生许多模块加载器,但最后还是被淘汰了,规范一个就够了,不宜过多。
但是前端工程师的创造力就是这么惊人,从无到有,再到泛滥成灾,一年足矣。这可能与前端代码是开源的原因。最后有人统一了前两种规范(AMD、Node.js模块),同时还支持老式的“全局”变量规范。
自此,Java开发模式焕然一身了,大家只要在代码外面包一层就可以全世界通用,不用提心全局污染的问题。
其次,jQuery开发者需要解决大段HTML的生成问题,之前jQuery有$.html, $.append, $before等方法,可以将一大段符合HTML结构的字符串转换成DOM再插入到页面上。
但现在我们想分离出来,让HTML独立到不同的文件中,然后插数据,这就是前端模板。前端模板的情况与模板规范一样,从没有到多如芝麻的境地。这时筛选一个好用且性能高的模板是一件让前端工程师头疼的问题,那时网上有许多评测文章来介绍它们。
前端模板技术可以用一个公式来描述:
HTML = template(vars)
有了前端模板后,又诞生了前端路由,基于它们,人们发明一个新词汇SPA。作为这个时代的尾声,来自Ruby界的高手Ryan Dahl发明了Node.js。 前端工程师们欢唿:可以不用传统的后端就能自己写一个网站了!
Node.js的发展就不详述上,很快它就冒出海量模块、路由、状态管理、数据库、MVC框架都有了。这时,前端就缺自己的MVC框架了。Node.js转眼就十岁生日了。
着名的MEAN架构,是Java全栈开发的先锋。当时涌现了大量的MVC与MVVM框架。最先火起来的是Backbone.js,使用纯正的MVC模型, Backbone.js是jQuery最后的支持者,它强依赖于jQuery。
Backbone.js的作者还搞了另一套编译语言Coffee, 里面的箭头函数、类机制、 解构赋值等语法糖都深深影响了后来的ES6。
接着下来是谷歌的Angular,微软的Knockout.js,苹果的Ember.js这三个MVVM框架,MVVM就是比MVC多一个数据绑定功能,但这数据绑定功能是非常难实现。Knockout是使用函数代替属性的技巧实现,它的设计影响到后来的Mobx;Ember.js是基于Object.defineProperty;Angular是将函数体转译成setter()、getter()函数。
大公司的介入,对个人开发者影响是很大,毕竟大家都爱迷信大公司,因此局面一下子就稳定下来。大公司还带来了全新的开发模式,早期都是找一个核心库,再搜刮一大堆插件,然后自己写业务代码,最后后端打包。
大公司将后端开发经验挪用过来,用Node.js开发了一套CLI,里面包含了脚手架生成, 打包脚本、语法风格检测、环境变量插入,代码复杂度检测,代码提交时自动跑单元测试, 图片与JS压缩等功能。ESLint、JSLint、JSHint、CSS Lint、 htmllint等就是那时期出现的。
但CLI的出现导致了前端的分裂,以前大家都使用jQuery,但自CLI帮你建好项目的那一刻起,就将你划归某一子阵营,你是Angular?Ember.js?还是jQuery?对了,jQuery没有大公司支撑的阵营被快速边缘化。
对于个人开发者,他们是没有能力开发这么功能完备的CLI,于是出现了Code Climate、Travis CI、CircleCI这样的平台。它们的出现标志着jQuery小作坊时代的终结了。
CircleCI官网
前端开发者也出现分化:有些人转向后端,出现了CNode的门户网站。另外一些人开始搞工程化。一时间出现上百种构建工具,出名的有Grunt、Gulp、FIS3、webpack、 Rollup、npm-。
你方唱罢我登场,这些构建工具均会经历时代的考验,如大浪淘沙般,最后存活得仅为寥寥。
因此在这场工程化得盛宴中,注定把许多低层次的jQueryer淘汰掉。jQueryer在空闲之余培育出的前端模板、前端路由、MVC框架、模块加载器、Node.js构建工具,却不料最终成为它自己的挖墓人。
jQuery的时代一去不返了,再没有人关心拖堂拖了N年的Bootstrap 4终于发布了,没有人知道jQuery3.5的瘦身计划,也没有人问jQuery的源码,渐渐地,大家不关注jQuery的工具链了。
三大框架割据时代(2016~至今)
React是突然爆发的,虽然它是与Angular是同时期发布,但因为JSX怪异的语法让人们远离它。此时已经进入移动互联网的中期,大公司都有自己的App,或者基于原生,或者基于Hybird。
Hybird是用WebView加载一个网站或一个SPA。
由于原生成本太贵,需要招两套班子,一套安卓的,一套iOS的;而Hybird则一直存在性能问题。于是在2017年,Facebook推出了React Native(RN)。
RN的性能不比原生差多少,比Hybird能好些, 其次使用JSX开发界面比原生的快; RN 只需要低成本的前端开发人员就能上手了。中国国内经过瀑布流(图片导购)、团购、P2P、区块链等全新商业模式的开发浪潮后,前端人员数量大增。现在,他们只要稍微培训就可以转型为App开发。
在开发RN的过程中,人们开始了解React一系列的优胜之处。比如JSX背后的虚拟DOM技术,虽然事实证明虚拟DOM不会带来性能的巨大优势,但保证了你怎么写其性能不会太差。
React为了引入JSX,必须需要引入编译,这又间接促成Babel与webpack的壮大。尤其是Babel, 让我们在很旧的浏览器中使用非常新的语法,甚至一些还没有定案的语法。React从14升级到React 15,强制使用class语法,让这个推了好久的语法糖终于大规模落地。
之前如果Java想使用类,只能自己模拟类,由于没有官方的实现,只能任由各优秀工程师发挥。而普通人想用好类,需要了解很复杂的Prototype机制。
现在只用几个新关键字就可以得到这一切。
如果对比Python 2与Python 3间的升级,Java实在太辛运了!针对CSS逻辑功能过弱的问题,我们也有了新的解决方案:Less、Sass、PostCSS与CSS Moles!
谷歌在发布Angular的同时,也发布了一个叫Polymer的框架,那时它想推广一种叫Web Components的浏览器自定义组件技术。这其实是微软在IE5就玩剩的HTC技术的升级版。虽然它没有火起来,但它将、Style、Template三种内容混在一个文件的设计,启发一个留美华人,再结合当时的Backbone.js、Angular等设计,Vue.js横空出世。目前,这是国人最成功的前端框架了。
除此之外,国人也弄了好几套迷你React框架与迷你Vue框架。这有点像jQuery时代,大家疯狂做迷你jQuery框架一样。
总的来说,最有创造力的是React团队,做出状态管理器、CSS-in-JS、Flow静态类型检查、devTool、Fetch、前后端同构、Fiber、suspend、并发渲染等名词层出不穷。其中,状态管理器拥有上百套, CSS-in-JS也拥有上百套,Flow则让前端尝鲜到接口编程的好处,间接推动发Type发展。这三大框架无法比拼个一二出来:Vue.js有国人的拥趸,React与Angular有大公司光环。
三大框架的缠斗从PC领域扩展到移动端:React有RN, Vue.js有Weex,Angular有ionic。想当年我们为了兼容浏览器,攒了一大堆浏览器侦探的Hack,全部贬值为垃圾了。
在这时期,一种全新的后端渲染崛起,称之为前后同构,既拥有早期SEO的功效,又能复用大量的业务逻辑。随着国内移动互联网的发展,获客成本提高,各种有效的商业模式都进入红海,但只有头部用户能赚到钱,马太效应越来越严重,纯粹的技术解决方案已经无法满足商业诉求了。
小程序时代(2017~至今)
小程序时代与三大框架的时代几乎重合,但是出自不同一批人,决战的平台也不一样。
一直以来前端技术都是由国外开发者主导的,即便是Vue.js也是由美国的华人创造的。但是国内外的技术更新是存在代差,国内通常延期两三年,这个时间差可以让一些模仿者得以生存(如SeaJS、FIS、avalon)。但随着封闭的时间越来越长,国内肯会也会诞生自己的转有物种。小程序就是其中之一。
小程序的出现有着明显的商业诉求,因为马太效应,一些超大流量的App诞生了。这些大流量App集成了许多功能,但显然公司再多员工,也无法所有功能全是自己弄,于是产生小程序这种“外包”的手段。
小程序是国内前端技术的一次厚积薄发:底层运行的迷你React的虚拟DOM, 内置组件是使用Web Component,API来源于Hybird的桥方法,打包使用webpack,调试台是Chrome console的简化版, WXML、WXSS的语法高亮也应该是webpack或VS Code的插件, 模块机制是Node.js的CommonJS……其中最值得一提的是微信开发者工具,以后开发者工具成了各种小程序/快应用的标配。
但微信小程序一开始的复用能力非常弱,没有类继承,不能使用npm, 不支持Less、Sass, 因此基于它的转译框架就应运而生。第一代译转框架是wept、WePY、mpvue,它们无一例外是Vue风格的。因为WXML的模板指令与Vue非常相似,只是改一下就能兼容。当时也出现了一个MINA的框架,听说是微信团队开发的,可以单独架起Node.js后端,让小程序运于浏览器中,方便做单元测试。
第一代转译框架主要是基于Template标签实现组件机制,自定义组件机制是很后的事了。这就造成了利用第一代转译框架编写的小程序项目很难升级。那时候是个人开发者的天堂,这些框架都是某一大牛独力开发的。
第二代转译框架是大公司主导的,因为需要兼容的小程序越来越多,网络、支付宝、字节跳动、小米、华为等公司都推出自己的小程序和快应用。个人开发者很难凭个人力量去开发转译框架,这时候各大团队纷纷推出自己的轮子:如京东的Taro、滴滴的Chameleon网易的Megalo、去哪儿网的nanachi、网络的Okam等。
在这个时期,Angular显然落伍了,一是Angular升级太快,国内的高手还没有消化好,新一版的Angular又发布了。二是国内缺乏迷你Angular的轮子,导致庞大的Angular无法塞进小程序中。
国外谷歌发布了Flutter跨平台转译框架,但是它的编写语言是Dart,它也无法跨界到小程序中。
未来不仅国内一线巨头争夺小程序,二三线的巨头也可能会加入小程序的混战中,例如有人称360也在打造自己的小程序平台。小程序这种新的流量变现模式深刻地影响了国内的互联网布局。
结语
当初Java被误解为最糟糕的语言,时至今日它是最流行的语言:GitHub 60%的开源项目都是与Java有关。
以前,从事这行业的人被称为页面仔,现在他们的起薪有的比PHP、JAVA、C++等后端还高。甚至有人说,“任何可以使用Java来编写的应用,最终会由Java编写。”
我们前端开发者触及的领域不仅仅是浏览器,还可以做后端,做桌面端,做手机端,做小程序端,前端开发者的性价比越来越高,越来越重要。可谓是时代造英雄。
笔者有幸成为前端开发者大队伍中的一员,也坚信我们前端开发者以后的路会越来越宽,越来越好走。
资料:
[1]:计算机和编程语言的发展历史
[2]:Polyfill是一块代码(通常是 Web 上的 Java),用来为旧浏览器提供它没有原生支持的较新的功能。
作者简介:司徒正美,拥有十年纯前端经验,着有《Java框架设计》一书,去哪儿网公共技术部前端架构师。爱好开源,拥有mass、Avalon、nanachi等前端框架。目前在主导公司的小程序、快应用的研发项目。
本文链接:http://www.cnite.cn/qianan/share/20198308.html