自由泳抱水和推水的体会

用核心来推水 有两个陆上辅助练习: 滚动带动推水 前伸臂做出抱水姿势, 保持肘部和两肩成一条直线。 通过肩膀滚动,形成入水手一侧的伸展。 同时,抱水一侧尽可能长的保持肘部和两肩一条直线。 以上关注点是抱水肘部和两肩三点一线。 肘尖沿着两肩延长线向前上方顶出去,前臂自然下垂。 通过这个关注点,体会通过肩膀的滚动和后撤来完成推水。胳膊只关注稳定好抱水的形状,不要发力主动推。尤其是在前半程。后半程退肩到一定程度后,肩胛骨处在发力的有利位置后可以主动推。 用腰部的力量 在上一个练习基础上, 抱水时候,体会抱水侧腰部伸展。 滚动,退肩的同时,同侧腰部也有意收紧。 以上,通过腰部伸展抱到更多的水,通过腰部带动背阔肌发力推水。 2022 PB 今天泳池人很少,游出了2022年的PB。

2022年2月20日 · 1 分钟 · 费小慢

Leo editor在python下的开发即将结束

Leo 要停止开发了 早上在邮件列表里面读到EKR的一封信: Leo 6.6 may be the last substantial release in Leo’s history. At present, the 6.6 to-do list contains five items. There are no items at present on the 6.7 to-do list. Many open items remain, but I have little desire to do any of them. Expect 6.6 final in a month or so. The leojs project now seems like the future of Leo. Indeed, it melds Leo with vs code, an unbeatable combination imo. ...

2022年2月19日 · 1 分钟 · 费小慢

JavaScript的异步执行机制

回顾: JavaScript语言定义的 callback, promise, await, asyc JavaScript/NodeJS 引擎(libuv) 操作系统IO多路复用(epoll). 了解 JavaScript 异步函数的运行和实现机制,方便阅读和调试JavaScript代码。 1. 简介 对于习惯了线程池/多进程/消息队列的程序员,使用JavaScript/NodeJS,有几个概念需要了解。 Callbacks, Promises, Async Await IO多路复用和异步访问 2. Callbacks, Promises, Async Await Youtube有个视频Async JS Crash Course - Callbacks, Promises, Async Await, 用24分钟把这几个概念演示的很清楚。 Callback是最基本的,但是Callback有一个问题,在写异步函数的时候,需要把callbank函数作为参数传进去。 如果这个函数本身是个异步函数,它也有一个callback函数作为参数。如果层数很多,就产生了callback hell。 函数可读性很差。 为了解决这个问题, Promise引入了一层封装, 在定义异步函数时候不需要指明callback函数了。 可以在Promise定义后再: 通过then来定义执行成功后的回调 通过catch定义执行异常情况下的回调 Async Await是对Promise的进一步封装。让异步函数看起来象同步函数(不再需要Promose里面的then来显式定义回调)。 下面抄自google官方文档 async function myFirstAsyncFunction() { try { const fulfilledValue = await promise; } catch (rejectedValue) { // … } } 如果在函数定义之前使用了 async 关键字,就可以在函数内使用 await。 当您 await 某个 Promise 时,函数暂停执行,直至该 Promise 产生结果,并且暂停并不会阻塞主线程。 如果 Promise 执行,则会返回值。 如果 Promise 拒绝,则会抛出拒绝的值。 ...

2022年2月12日 · 2 分钟 · 费小慢