Posts

Showing posts from September, 2019

vim

1. Introduction 2. Two modes, insert and normal 3. Basic movement: h, j, k, and l 4. Word movement: w, e, b 5. Number powered movement, e.g. 5w 6. Insert text repeatedly, e.g. 3iYes 7. Find a character, f and F 8. Go to matching parentheses, % 9. Go to start/end of line, 0 and $ 10. Find word under cursor, * and # 11. Goto line, g and G 12. Search, /text with n and N 13. Insert new line, o and O 14. Removing a character, x and X 15. Replacing letter under cursor, r 16. Deleting, d 17. Repetition with . 18. Visual mode, v 19. Real Vim awaits I, A首尾插入字符

移动端 H5 中百度地图的点击事件

Image
根据百度地图官方解释,在移动端 H5 页面中可监听下面这 4 个事件: touchstart, touchmove, touchend, longpress 而如果地图上监听了  click  事件,在移动端是 不会执行 这个事件里面的代码的。 我之前做一个需求时,给地图监听了 touchend 事件,不曾想当我拖动地图时,也执行了 touchend 里的代码。所以需要模拟一个像 zepto 中的 tap 事件,就能解决这个问题了。 我的代码是: function initMap ( baseData ) { var mp = new BMap.Map( 'map' ); var point = new BMap.Point( baseData.data.gardenLongitude, baseData.data.gardenLatitude ); mp.centerAndZoom(point, 15 ); // 保存 touch 对象信息 var obj = {}; mp.addEventListener( 'touchstart' , function ( e ) { obj.e = e.changedTouches ? e.changedTouches[ 0 ] : e; obj.target = e.target; obj.time = Date .now(); obj.X = obj.e.pageX; obj.Y = obj.e.pageY; }); mp.addEventListener( 'touchend' , function ( e ) { obj.e = e.changedTouches ? e.changedTouches[ 0 ] : e; if ( obj.target === e.target && // 大于 750 可看成长按了 (( Date .now() - obj.ti...

Youtube 快捷键

Image
Keyboard shortcuts for YouTube Save time navigating YouTube on a computer with keyboard shortcuts. To access the list of Keyboard shortcuts, go to your profile picture  , and select Keyboard Shortcuts  . You can also type SHIFT+? on your keyboard. When you hover over certain player buttons, you’ll see the relevant keyboard shortcut. For example, when you hover over the full screen icon, you'll see 'Full screen (f),' indicating you can type f to open full screen. Keyboard shortcuts If you're using the  new computer experience,  you must click the video player before using keyboard shortcuts. To return to the classic computer experience, go to the profile picture   and click Restore old YouTube. Keyboard shortcut Function Spacebar Play/Pause when the seek bar is selected. Activate a button if a button has focus. Play/Pause Media Key on keyboards Play / Pause. k Pause/Play in player. Stop Media Key on keyboards Stop. Next Trac...

髋关节的理解

如今,平板支撑、仰卧起坐(卷腹)、俯卧两头起练背肌等核心训练的经典动作大行其道。广大业余跑者,特别是初级跑者,为了防止受伤、或是跑得更快,都纷纷对自己下狠心“虐腹”。 但是,为什么很多跑者练就了一副好身板、甚至练出令人羡慕的腹肌,却还是跑不快、易受伤、甚至动作越跑越僵硬? 因为,很可能你忽略了“髋”的作用 髋关节——跑步中承上启下的“铰链” 首先要清楚,跑步是一项运动在于下肢、发力在于全身的运动。那么,跑友们苦练猛练的(躯干)在跑步中究竟起到什么作用呢?在跑步时,下肢通过臀部肌肉、大腿肌肉、小腿肌肉的交替协调收缩,起到支撑、传递力量和缓冲的作用,不断重复蹬腿摆腿动作;上肢通过摆臂主要发挥维持平衡及动力辅助的作用;而核心(躯干)在跑步时保持收紧稳定状态,目的是为下肢蹬地摆腿和上肢摆臂提供有力支撑,是整个动力链的源头。 然而这个过程中,扮演重要支点角色的,是髋关节。髋关节是连接躯干与下肢的唯一关节,对躯干和下肢的协调发力起着承上启下的枢纽作用。跑步时躯干稳定,下肢摆腿就可以理解为是以髋关节为中心,下肢完成抬腿迈步和蹬地后摆动作。只有髋关节这个“铰链”强大了,躯干这个火车头才可以带动腿部,提高跑步时蹬腿摆腿能力。下肢形成系统运作,不仅省力,而且高效。 【感】 跑步中如何学会用髋发力 很多入门跑者跑步时以大腿带动髋的动作是错误的。不是在跑步中有意识的抬高大腿就可以。正确的技术是,以髋为轴,核心发力,来带动腿。 要学会“送髋”,也就是后蹬腿进行充分伸髋(蹬伸)的同时,前摆的腿充分屈髋(抬起)。除了送髋,还要学会收髋。在蹬出去之后依靠臀部、背部、大腿后侧的力量把腿收回来,避免“拖步子”,这样才能保证高步频和较短的着地时间。 用髋发力,你的核心力量可以主动带动你的下肢,与下肢力量叠加形成合力,发力集中、协调而流畅。 当然,送髋并不是外观上剧烈的摆动、不是让你大幅度扭腰,否则就变成跳舞了。跑步中髋部发生“角位移”而不是“线位移”。说的通俗一点,应该是“转动”而不是“平移”。这种轻微隐蔽的侧腰发力和自然送髋的小细节,需要大家慢慢去体会,感觉髋部的转动,将髋视为发力的支点,提高神经肌肉对髋的本体支配。 【思】 髋部力量?其实还是核心力量 提到用髋发力,可能大家会首先想到“髋部力量”。但准确来说,“髋部力量”这个名词是不存在的,非...

跑步如何加强下肢力量

Image
半蹲 蹲至大小腿约成90度,注意膝盖不要过度超过脚尖;挺胸收腹,感觉腿部和臀部用力 深蹲 相比半蹲,难度加大,蹲至大腿与地面平行;要求与半蹲基本相同 原地弓箭步 注意重心向下,膝盖不要过度超过脚尖;该动作与下蹲一样,是下肢经典训练动作 宽距下蹲 双脚距离较大,脚尖朝外,该动作可刺激到股内侧肌起到平衡股外侧肌的作用,对于纠正髌骨运动轨迹异常,减少膝痛有一定帮助。 仰卧挺髋 该动作是可以有效增强臀肌和大腿后群肌肉力量;这两个部位是跑步发力非常重要的原动肌。 蹲跳 该动作是提高下肢爆发力的经典训练动作。 五、针对中级跑者的准专项力量训练 针对有一定基础的中级跑者来说,就可以从基础力量训练进阶为准专项力量训练。 什么是准专项? 是指动作模式已经接近跑步,同时难度中等,比较专门化的力量训练,它们可以帮助中级跑者提高下肢专项力量,也比下蹲更接近跑步动作。 弓箭步 左右腿交替向前迈出,除了锻炼下肢力量同时对于平衡稳定也有一定要求;相比原地弓箭步难度增加,也更加结合跑步。 单腿上台阶 该动作可以有效提高下肢蹬伸力量及上摆腿力量。 保加尼亚剪蹲 将后腿放在台阶上,前腿做下蹲,对于稳定、力量均有一定要求。 单腿硬拉 该动作主要训练臀部肌肉和大腿后群肌肉协调发力能力,在跑步过程中,后腿蹬地发力是推动身体前进最主要的动力; 仔细分析该动作,后腿蹬地实际上是臀肌发力伸髋和大腿后群肌肉发力折叠小腿的协同用力过程,这个动作就是训练臀肌和大腿后群肌肉协调用力能力。 单腿仰卧挺髋 相比基础力量训练中的仰卧挺髋,单腿增加了难度强化了核心控制,同时也符合跑步单腿蹬伸的技术特点 弓箭步跳 相比蹲跳,弓箭步跳是腿的运动方向与跑步更接近,是比蹲跳更专项的爆发力训练动作。 六、针对高级跑者的专项力量训练 对于资深跑者,或者有较高要求的跑者而言,你需要高度结合跑步动作的专项力量训练,才能帮助你跨越瓶颈期,实现力量与速度的同步提高。 因为,对着这部分跑者而...

ZFS 基础教程

Usage ZFS includes already all programs to manage the hardware and the file systems, there are no additional tools needed. Preparation ZFS supports the use of either block devices or files. Administration is the same in both cases, but for production use, the ZFS developers recommend the use of block devices (preferably whole disks). To take full advantage of block devices on Advanced Format disks, it is highly recommended to read the  ZFS on Linux FAQ  before creating your pool. To go through the different commands and scenarios we can use files in place of block devices. The following commands create 2GB sparse image files in /var/lib/zfs_img/ that we use as our hard drives. This uses at most 8GB disk space, but in practice will use very little because only written areas are allocated: root # mkdir /var/lib/zfs_img root # truncate -s 2G /var/lib/zfs_img/zfs0.img root # truncate -s 2G /var/lib/zfs_img/zfs1.img root # truncate -s 2G /var/lib/zfs_img/zfs2.img ...