由于种种原因,Jerry最近加入了SAP成都研究院的一个演讲俱乐部,这个俱乐部主要是提高大家的英语演讲能力。
说来Jerry也是大一下期和大二上期一次性高分通过四六级考试的,但是当毕业进入SAP成都研究院后,通过和同事比较才知道自己口语有多烂。在SAP成都研究院,我能听到同事们地道的伦敦腔,纽约腔,曼彻斯特腔,当然还有Jerry的成都腔。
本文是我参加最近一期演讲俱乐部的演讲稿。下面是正文。
目录
-
搭环境
-
找教程
-
跟着视频学
-
Jerry对双截棍表演动作的理解
-
程序猿用的开发工具和双截棍爱好者用的双截棍
-
如何快速上手一门编程语言/双截棍
-
双截棍对SAP开发有什么帮助?
Jerry为什么会接触到双截棍这项运动呢?在Jerry对游泳上瘾之前,我并没有什么爱好的运动。足球,篮球,羽毛球,网球。。。我统统不感兴趣。2012年我的孩子出生了,是个男孩。我想:我现在这么宅,以后没法给我儿子树立一个好的榜样,得练点什么。于是在2012年时,我选择了双截棍,其中原因也包括了我非常喜欢的歌手周杰伦,那一首火遍大江南北的《双截棍》。我在接触双截棍很久之后,通过网络上双截棍爱好者写的周杰伦《双截棍》MV里的动作分解,才知道周杰伦当时为了拍这首歌的MV,也曾请名师学过双截棍。
网络上对于双截棍最早源自中国还是外国一直争论不休,因为这个器械的历史实在是太悠久了,以致无法考证。对于一个对双截棍一窍不通的程序猿来说,从哪里开始自学呢?作为一个时刻都得学习新知识的SAP从业人员来说,我觉得这难不倒我。
搭环境
自学双截棍其实和程序猿自学一门新的编程语言差不多,首先是搭环境。我从淘宝上买了一根不锈钢制成的双截棍,我还记得价格,30多块钱。
找教程
环境搭好后,然后是网上找教程。我当时到百度贴吧的双截棍贴吧里一看,发现里面很热闹,从业余界的顶尖高手到菜鸟都有。很多朋友都上传了自己的练习视频到贴吧里,其中不乏一些女性爱好者。我想:既然他们能学会,我为什么不能?于是,我兴致勃勃地投入了自学中。
我阅读了百度贴吧精华区的新手指南贴,知道了国内双截棍界有一位很厉害的高手——剑舞狂沙,他出了很多面向新手的双截棍教学视频。
下图是百度百科里对剑舞狂沙的介绍。
下面是剑舞狂沙2012年珠海市棍道交流会表演的视频,只有1分多钟。
https://v.youku.com/v_show/id_XMzg2NDQ2MjQ0.html?spm=a2h0k.11417342.soresults.dtitle
和游泳视频一样,Jerry曾经在网络上观看了大量的双截棍教学视频,绝大多数都是业余爱好者录的,视频里的动作确实非常炫目,然而缺少一些力量。打开上面我提到的剑舞狂沙的表演视频,您会发现视频里的动作确实完美阐述了百度百科这句对他的评价:
"在轻盈灵动基础上明显增加了力量和刚硬的风格。 刚柔达到了新统一,这在中国甚至世界双节棍界都是一个了不起的成就。"
视频里第45秒开始的螺旋花转棍算是轻盈灵动的代表动作,而第51秒迅速衔接成了劈棍。
这种短时间内化刚为柔的急剧转折,另一位高手张无忌在把乾坤大挪移练到level 7后才能办到,有书为证:
“灭绝师太好容易反宾为主,长剑颤动,直刺他后心。张无忌听到背后风声,
只得回刀挥出,当的一响,手中宝刀又断去了半截。灭绝师太的长剑跟着刺到,张
无忌反手运劲,掷出半截宝刀,这一下使上了九成力。灭绝师太登时气息一窒,不
敢举剑撩削,伏地闪避。半截宝刀从她头顶掠过,劲风只刮得她满脸生疼。张无忌
眼见有机可乘,不及放下周芷若,随即抢身而进,右手前探,挥掌拍出。灭绝师太
右膝跪地,举剑削他手腕,张无忌变拍为拿,反手勾处,已将倚天剑轻轻巧巧的夺
了过来。
这般于一刹那间化刚为柔的急剧转折,已属乾坤大挪移心法的第七层神功,灭
绝师太武功虽高,但于对方刚猛掌力袭体之际,再也难以拆解他转折轻柔的擒拿手
法。”
Jerry后来螺旋花转棍练熟以后,也想模仿剑舞狂沙这种转棍->劈棍的转换,但马上就发现完全控制不住棍的运行轨迹——从初始状态开始劈棍和从转棍状态开始劈棍发力的方式完全不同。
跟着视频学
视频找好后,终于可以开始照着视频编写第一行代码,哦不,进行第一次有棍练习了。
我非常尊敬剑舞狂沙的一点是,尽管他在双截棍上的造诣已经是国内顶尖的了,然而他的入门教学视频,却能够放下大师的身段,从最最基本的手法开始教。
有多基本?Jerry打个比方,有个前端开发的教学视频,视频里教你如何打开IE下载Chrome,如何安装Chrome,如何在电脑上新建一个txt文件,重命名成html,如何在html里编写代码,如何用Chrome打开这个html文件查看效果。剑舞狂沙的教学视频就是这种风格,造福了众多像我这样的双截棍门外汉。
他的教学视频完全是免费的,包含了文字讲解和动作示范。
文字讲解:
动作示范有正常速度和放慢30%的动作示范,然而Jerry一开始学的时候,放慢30%在我眼中仍然快了,我是用播放器放慢50%来学习的。
Jerry对双截棍表演动作的理解
双截棍的实战和表演性质的动作练法完全不同,本文只讨论后者。
Jerry自己对双截棍表演动作的理解:任何外行的朋友们看起来很酷炫的动作,最终都可以分解成舞花和转棍两种基本动作。如果说程序=算法+数据结构,那么Jerry认为,面向新手的双截棍表演动作=舞花+转棍。
剑舞狂沙的教学视频里,把通过铁链连接的两根棍分别标记成A和B棍。作为一个程序猿,我喜欢把单手握住的棍称为支撑棍, 用程序猿的术语就是local stick,由铁链链接的另一根棍称为游离棍:remote stick。
-
舞花:单手始终握住支撑棍,手腕发力,这股力由铁链传递到游离棍,产生各种圆周运动轨迹。
-
转棍:单手给支撑棍一个初速度,利用惯性,支撑棍和游离棍以手为圆心,通过连接的铁链绕手旋转一周。
下面是剑舞狂沙写的周杰伦《双截棍》MV里动作解析,可以看到周杰伦的动作主要也是以舞花为主。
①“岩烧店的烟味弥漫”(斗室中Jay在空中挥舞二节棍作右手前舞花)
②“从小就耳濡目染,什么刀枪跟棍棒,我都耍得有模有样”(搏斗中,Jay一记右扫棍击中对手,然后棍舞至身前,一个右手侧舞花)
③“飞檐走壁莫奇怪,去去就来”(Jay在斗室中前舞花)
④“干什么,干什么,我打开任督二脉”(Jay左手托棍于右腋下,右手握棍于左肩前,向右扫击接侧舞花)
⑤“东亚病夫的招牌,已被我一脚踢开”(Jay在斗室中跳下,右手前舞花)
⑥“如果我有轻功”(Jay双手持棍在胸前转来转去做假动作)
⑦“快使用双截棍”(Jay在黑色背景下作前舞花)
⑧“什么刀枪跟棍棒”(Jay在黑色背景下作右手舞花)
⑨“学少林跟武当”(Jay在斗室中右手前舞花)
(附:Jay的右手舞花全解——
ⅰ、棍在体前8字横舞一周
ⅱ、转腕,棍在右侧转一周
ⅲ、棍摆至左侧转二周
ⅳ、棍摆至右侧,向上向前向下,腋下收棍 )
舞花和转棍两个动作练熟后,就可以按照视频里前人总结出来的各种套路,或者自己发明一些新套路,把各种角度进行的舞花和转棍衔接起来。
作为一个程序猿,日常工作少不了和设计模式打交道。如果说设计模式是通过前人的经验千锤百炼总结下来,每种设计模式描述了某一特定场景下设计的最佳实践,那么双截棍表演动作的套路,Jerry把它们理解成和编程中的设计模式起到同样的作用:比如小螺旋花转棍,可以说每个双截棍表演视频里都会出现,就像单例和工厂模式,稍稍复杂点的项目里都会用到。双截棍的套路和设计模式当然也有区别,比如即使再复杂的项目,也很难出现用到全部23种设计模式的情况,然而双截棍的很多表演视频,出于展示目的,很多朋友都倾向于把尽可能多的套路放进去。
另一个区别就是,和编程设计模式那些干巴巴的名称不同,双截棍的招式套路极富美感:
流星赶月:
狂龙乱舞:
雪花盖顶:
白蛇吐信:
双截棍爱好者们光听这些招式的名称就能想象出棍的运行轨迹和速度感,仿佛置身于金庸笔下的江湖中。
程序猿用的开发工具和双截棍爱好者用的双截棍
我知道有些朋友能在Mac下不用IDE进行Java开发,我很佩服。可我做不到,我在SAP成都研究院的编程工作还是在各种各样的IDE里完成的,详情见我这篇文章:Jerry和您聊聊Chrome开发者工具。
而双截棍爱好者们,也有各种类型的双截棍可供选择。
淘宝上除了不锈钢制成的双截棍之外,还有海绵棍和木棍。有的店家打的广告是这些海绵棍(就是上图最左边那根)专门用于双截棍初学者的练习。Jerry也买过一根,然而很快发现对我这个初学者没什么用,因为海绵棍几乎没有重量,初学者用它来做舞花和转棍练习根本无法控制棍的运行轨迹。
那么木棍和不锈钢棍比起来有何区别?Jerry的答案,对新手来说没啥区别。就像我觉得Eclipse和IntelliJ IDEA区别不大一样。编程大师们很少会拘泥于某种IDE,而剑舞狂沙,用两本《读者》卷起来作为棍体,用一张报纸卷起来作为绳索连接两根棍,用这种自制棍也能舞出双截棍的精气神出来。
如何快速上手一门编程语言/双截棍
关于如何快速上手一门编程语言或者框架,Jerry的经验是,除了多练以外,还要做好随时受打击的心理准备,即按照教程上介绍的步骤,一步步做下来,最后得不到期望的结果。此时要有足够的耐心去分析问题。
同样,双截棍贴吧里有新人发了一些请教贴 : "如何快速学会双截棍”?一些老司机的回答:多练,多挨打。Jerry的学习经验就是,正如希望不呛水就能学会游泳是一件不现实的事情一样,双截棍的初学者也免不了被舞花或转棍时不听指挥的双截棍所误伤。我的一个窍门是,在练习一些很危险的动作,比如双截棍距离头部很近的转棍动作时,我会拿毛巾提前把头部包起来,带上口罩以免把门牙打落,最后再戴上帽子。
下面是我的双截棍练习专用帽。
双截棍对SAP开发有什么帮助?
付出这些代价,我们能从练习双截棍中得到什么好处呢?SAP开发人员的职业病,像鼠标手、键盘手、颈椎病、腰椎病、肩周炎这些,都可以通过双截棍来防治,当然游泳也行。
英国大脑基金会总裁,英国记忆力之父---东尼博赞说:每个人都是天才,都具有巨大的潜能等待自己去开发和利用,特别是右脑的潜能90%都没有被利用,就需要锻炼我们的左手和左脚,从而开发我们的右脑,激发我们的潜能。
我相信每位SAP开发人员身上都有巨大的潜能尚未开发出来,而坚持用左手练习双截棍,也是一个很好的激发潜能的方式。
在我第一次尝试用左手做出各种右手能轻松做出的舞花和转棍动作时,我发现非常困难。大家如果想体验,可以尝试在日常工作中用左手使用鼠标,如果不是天生的左撇子,一定都会觉得很别扭。但是左手使棍也是能通过努力练习而熟练的。经过一段时间的练习,我已经能做到,右手能够做出的动作,左手一样能熟练做出来。
对于一个SAP开发人员来说,左右手均能熟练使棍还有一个象征意义。SAP公司本身也在进行云转型,SAP越来越多的云产品的标准开发采取的是和传统的Netweaver上On-Premise开发完全不同的技术和架构。对于一个有追求有抱负的SAP开发人员来说,除了追求右手熟练地掌握传统地基于Netweaver平台的On-Premise开发技术外,也要提高自己左手在SAP云平台上进行Cloud开发的能力。
作为一个SAP开发人员,不断学习新的开发知识和技术是必须的,自学过程中总是挫折感和成就感并存。当学习一个新的知识点,在实践中发现不能按照自己期望的情形工作时,是就此放弃,还是和问题死磕到底?同样,在新手学习双截棍时,挫折感是不可避免的,尤其是看到视频里的双截棍,在一些高手使来仿佛成为他们身体的一部分那样熟练,而到了自己手里,只会在自己身上增加伤痕,这真是情何以堪。如何把这种挫折感转换为坚持学习的动力,是每个SAP开发人员和双截棍爱好者需要终生修炼的能力。
Jerry今天的演讲就到这里。大家如果听了之后对双截棍产生了兴趣,可以试着按照剑舞狂沙的教学视频,去开始您的双截棍学习之路。感谢阅读。
更多阅读
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:
相关推荐
"SAP SAP开发自学入门到精通完整版HANA开发"提及了SAP HANA,这是一个高性能的数据分析平台。在SAP HANA环境中,ABAP开发者需要学习如何利用HANA的特性,比如列式存储、实时分析和计算视图,来优化业务应用的性能。 ...
一个典型的SAP程序由以下几个部分组成: 1. 头部(Report Header):包含程序的元数据,如名称、作者等。 2. 数据声明(Data Declaration):定义变量和内部表。 3. 选择屏幕定义(Selection Screen):根据用户输入...
SAP ABAP 开发环境和开发工具是 SAP 系统中最重要的组件之一,它提供了一个强大的开发平台,允许开发者创建、测试和部署 ABAP 程序。ABAP 是 SAP 系统中的主要编程语言,用于开发业务应用程序。 在 SAP 系统中,...
SAP Web UI(用户界面)方面,文档可能会涵盖Web Dynpro ABAP,这是一个用于构建企业级Web应用程序的框架。你将学习如何设计复杂的用户界面,创建视图、控制器,并实现业务逻辑。此外,还有可能涉及HTML5和SAPUI5,...
SAP高级应用开发是SAP技术领域中的一本重要著作,该书由黄佳编著,是黄佳在SAP实施、配置与开发方面经验的结晶,为SAP技术人员及ABAPER提供了宝贵的学习资源。本书系统地介绍了SAP NetWeaver架构下的关键技术,包括...
SAP高级应用开发SAP高级应用开发SAP高级应用开发SAP高级应用开发
SAP系统是一个功能强大且集成的管理信息系统,旨在帮助企业实现业务流程的自动化和优化。该系统包含12个主要模块,每个模块都具有其特有的功能和特点,共同发挥作用来执行公司的业务管理任务。 财务会计模块(FI)...
SAP B1 SDK教材,包括UI和DI的开发。对SAP B1的二次开发必不可少。有提供例子作参考。
SAP报表开发的基础课程是为那些想要入门SAP报表开发的人员设计的,旨在帮助他们理解和掌握SAP报表开发的基本概念和工具。 首先,要了解什么是报表。报表通常是指企业日常或定期汇总信息的文档,例如日报、月报、...
SAP程序设计--为SAP系统开发人员量身定做 详细讲解SAP ERP 系统实施中的各个环节、 具体开发步骤等,是SAP项目技术人员 的必备参考书。 总共6个压缩分卷。 请将6个压缩分卷一起解压。
本书不仅适用于SAP技术人员和Java\.NET平台下SAP接口程序的开发人员,对于SAP功能实施顾问、项目经理以及所有希望把握SAP最新发展方向的专业人士来说,都是非常值得阅读的图书,称得上是SAP中文专业书中不可多得的...
文档的后半部分深入到ABAP开发平台ABAP Workbench,它是SAP系统中一个关键的开发工具。开发者可以通过ABAP Workbench进行各种开发活动,包括程序设计、调试、测试和维护等。文档还介绍了ABAP数据字典,它是存储了...
资源名称:sap abap开发从入门到精通 内容简介: 《SAP ABAP开发从入门到精通》以应用实例的形式,讲解了SAPABAP开发的相关知识点,详细介绍了SAPABAP开发者必须掌握的包与变更传输系统(CTS)、数据类型、数据库...
在这个过程中,Java作为一种流行的编程语言,经常被用于开发SAP Business One的接口和自定义模块。 首先,让我们来了解一下SAP Business One的API和SDK(Software Development Kit)。SAP提供了API和SDK,使得开发...
在SAP系统中,"SAP角色人员设置"是一个关键的概念,它涉及到权限管理和用户访问控制。SAP角色是预定义的一组权限,用于限制或允许用户在系统中执行特定的任务。这些角色根据业务需求和职责划分,确保了数据安全性和...
SAP HANA开发人员指南是一个为SAP HANA开发者提供的详细指南,旨在帮助开发者快速了解SAP HANA平台的开发环境和开发流程。该指南涵盖了SAP HANA开发者的各种需求,从设置开发环境到设计和构建企业级应用程序。 知识...
本压缩包“SAP开发培训资料(包含代码)”提供了一个全面的学习资源,帮助初学者和有经验的开发者深化对SAP ABAP的理解。 1. SAP ABAP基本语法: SAP ABAP是一种结构化编程语言,其语法与传统的编程语言类似,包括...
SAP 开发平台介绍
通过“实战SAP程序开发——从实例学SAP ABAP编程”这个压缩包文件,你将有机会亲自动手实践上述知识点,从案例中学习和理解SAP ABAP编程的实际应用。这个实战教程将帮助你从理论到实践,全面掌握SAP程序开发的核心...