Justchenhao's Blog

keep forward and never give up.


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 项目

  • 搜索

arxiv_alerts

发表于 2021-08-23 评论数:

利用Github实现自动化筛选日更Arixv文章

配置日更arxiv文章的自动化流程

需求分析

1、及时获取最新的感兴趣的arxiv论文,可以通过预设关键字,并匹配文章摘要,抓取感兴趣文章;

2、自动化流程,通过github的action方法自动实现,定时操作(比如,每日更新一次),我们仅需查看特定仓库issue即可。

总体方案

1、python抓取特定arxiv文章并推送到github某仓库中,推送信息以issue的形式呈现,方便删除与关闭操作;

2、利用Github的Action功能实现定时抓取流程;

1、抓取文章并推送

这里使用 https://github.com/kobiso/get-daily-arxiv-noti 中的方法。

将该仓库克隆到本地后,需要配置config.py的内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
# Authentication for user filing issue (must have read/write access to repository to add issue to)
USERNAME = 'changeme' #你的github账户名
TOKEN = 'changeme' #你的个人访问令牌

# The repository to add this issue to
REPO_OWNER = 'changeme' #推送到的仓库拥有者账户名
REPO_NAME = 'changeme' #推送到的仓库名

# Set new submission url of subject
NEW_SUB_URL = 'https://arxiv.org/list/cs/new'

# Keywords to search
KEYWORD_LIST = ["changeme"]

本地运行方法:

1
python PATH-TO-CODE/main.py

这时,我们已经可以实现手动推送功能了,但是如果要自动化该流程,我们需要把本地代码上传到github某仓库中,并借助Action功能实现自动化流程。

2、在github上配置Action实现自动化

在仓库中新建文件夹.github/workflows/,新建main.yml文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
name: "daily alerts"

on:
push:
branches:
- master
schedule:
- cron: "0 0 * * *"

jobs:
backup:
runs-on: ubuntu-latest
name: Backup
timeout-minutes: 15
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
python-version: 3.8

- name: Setup dependencies
run: |
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
- name: Run backup
run: python main.py

- name: Commit changes
uses: elstudio/actions-js-build/commit@v3
with:
commitMessage: Automated snapshot

根据以上yml文件,github会定时触发预定流程(这里是每天0点更新,或者是在更新仓库后也会触发动作);
具体触发过程:在指定系统下,安装依赖指定文件(可以由requirements.txt指定),然后执行main.py文件,最后,提交变化更新本仓库;

推送效果样例

这里展示一个样例,https://github.com/kobiso/daily-arxiv-noti/issues

参考

arxiv文章自动issue:https://github.com/kobiso/get-daily-arxiv-noti

配置github个人访问令牌:https://docs.github.com/cn/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token

修复EFI引导文件

发表于 2020-06-23 评论数:

修复win10 EFI系统引导文件

问题描述

一句话描述:拆除“非系统盘”的硬盘后,系统盘内系统无法正常启动。

本计算机包括一个固态硬盘0,一个机械硬盘1,以及机械硬盘2。该固态盘为系统盘,但是其EFI引导文件存储在机械硬盘1中。而机械硬盘1损坏,无法读取文件内容。于是,将机械硬盘拆除,而计算机将无法正常机动。

目标:希望修复EFI系统引导文件,正常启动系统盘中的系统。

方式:在机械硬盘2中开辟一个EFI系统分区,并将正确的引导文件拷贝到其中。

0,一些科普

硬盘分区类型

硬盘分区表有两种类型:

  • GPT(GUID分区表)

    新型分区表类型,需对应UEFI启动,支持快速启动,支持2TB以上硬盘,目前的计算机普遍是该种类型。

  • MBR(Master Boot Record)

    传统分区表类型,需对应Legacy(BIOS)启动,旧机器上比较常见。

可以cmd键入diskmgmt.msc,在磁盘管理中查看硬盘的分区表类型。

BIOS类型

BIOS有两种模式,传统的legacy模式和UEFI模式。

  • 传统BIOS只认识设备,不认识分区、不认识文件。
  • UEFI认识设备,还认识设备ROM,还认识分区表、认识文件系统以及文件。

可以cmd输入msinfo32查看系统摘要获取BIOS类型。

EFI系统分区(ESP)

UEFI模式在GPT分区表的基础上,规定了一个EFI系统分区(EFI System Partition,ESP),ESP要格式化成FAT32。

EFI启动文件要放在\EFI\<厂商>文件夹下面。

  • 比如Windows的UEFI启动文件,都在\EFI\Microsoft下面

  • 比如Ubuntu的UEFI启动文件,都在\EFI\ubuntu下面

    \EFI\Boot文件夹中存放要启动的efi文件,无论是\EFI\Microsoft\Boot\Bootmgfw.efi,还是\EFI\ubuntu\grubx64.efi,只要放到\EFI\Boot下并且改名bootX64.efi,就能在没添加文件启动项的情况下,默认加载对应的系统。
    UEFI固件可从ESP加载EFI启动程式或者EFI应用程序。

UEFI引导原理

引导过程:上电–>UEFI–>GPT分区表–>EFI系统分区(esp)–>\EFI\Microsoft\Boot\bootmgfw.efi–>\EFI\Microsoft\Boot\BCD→\Windows\system32\winload.efi。

1,制作winPE启动盘

PE是windows预装环境,在电脑无法开机时,可以通过PE系统修复电脑里的各种问题。这里我们选择IT天空的优启通这一PE。

  • 1)下载优启通PE,链接,

  • 2)解压缩,点击EXE,选择U盘模式,选择U盘路径,开始制作启动盘;

    20200622191720-image.png

2,准备EFI引导文件

这里,我从正常的笔记本电脑中,利用DiskGenius工具将EFI引导文件拷贝出来。

但是,我们有个问题,从电脑A中提取出来的EFI引导文件,是否能够直接在电脑B中使用?若都是Windows10系统,是否能够直接使用?
若想启动windows,需要经过UEFI找GPT分区表,找EFI分区,载入bootmgfw.efi文件,载入BCD文件,最后加载winload.efi文件的过程。其中的BCD文件记录着Windows在“某某GUID的分区上”,如果换了一个电脑,windows的GUID位置可能不一样。如果直接使用,那么就可能找不到对应的GUID了,也就会启动失败,出现类似的启动错误:

20200622192407-image.png

3,修改BCD文件

为了获得正确的适用于损伤电脑的BCD文件,我们需要读取该电脑的文件。这里,我们利用之前制作好的U盘启动工具,进入PE小系统。

1)首先是要获得BCD文件所在盘的盘符,如果该盘符已存在则跳过这一步,若不存在,则:

打开cmd,输入diskpart,进如diskpart命令模式

查看硬盘(disk)信息:输入list disk
查看分卷(vol)信息: 输入list vol
找到EFI分区所在的disk和vol,假设为disk 0,vol 2
选择对应的disk和vol: sel disk 0, sel vol 2
给EFI分区分配一个唯一的盘符: assign letter=G:
退出diskpart模式:输入exit

2)生成新的BCD文件

回到cmd,cd到BCD所在的目录,比如:
cd /d G:\EFI\Microsoft\Boot\
备份先前的BCD文件
ren BCD BCD.bak
生成新的BCD文件,其中,C盘对应位置为windows安装路径,/s表示目标系统分区的盘符,/f指定目标系统分区的固件类型(UEFI’, ‘BIOS’, or ‘ALL)
bcdboot C:\Windows /s G: /f ALL
于是,我们得到了更新后的引导文件。

4,新建EFI系统分区并拷贝引导文件

在PE系统中,打开DiskGenius,首先在新的硬盘中开辟中一块EPS,而后将前一步得到的引导文件拷贝到该EPS的根目录中。

到这一步为止,我们已经将正确的EFI引导文件考入到指定的ESP中,接下来,我们只需要重启计算机,引入BIOS,修改引导项,即可顺利进入win10~

一些小想法

  • Windows安装盘和EFI启动盘,可以是一个硬盘,也可以是不同的硬盘。UEFI启动模式下,EFI引导文件和windows系统文件可以在不同的分区。这就给后期的拔出硬盘操作带来了”系统崩溃“风险。如果拔出了一个硬盘里刚好有EFI启动文件,那就会导致系统无法正常启动。因此,一个明智的做法是,将引导盘存在一个比较稳定的磁盘里,该磁盘拔出概率小。
  • 我们在安装第一个系统时,需要由系统自动或手动建立一个EFI分区,用来存放启动文件,之后在其它分区安装系统时,会在之前的EFI分区存在对应的启动文件。这也就是为什么在多个磁盘中各装系统,结果引导文件仅存在于某单个盘中。这给我们的提示是,新电脑装备第一个系统时,最好将引导分区建立在某个稳定的磁盘上(SSD),以减少“磁盘损坏,引导文件丢失,而无法进入各个系统”的情况发生。
  • 我发现,在ntfs格式下的分区中,保存EFI引导文件,我的电脑也可以从利用该分区中的引导文件启动系统盘。(不道该方法的适用性如何,也许与主板有关。涉及到主板UEFI固件能够识别ntfs格式的引导文件)。在这种情况下,该分区在windows中是可见并可以编辑的,而FAT32格式的EFI分区不可见。
  • 可以在u盘中建立一个esp分区,引导正常的系统盘启动。
  • 在经常性断电的使用环境下,机械硬盘相对于固态硬盘更容易受损。我们需要留意机械硬盘的状态,减少硬盘损坏带来数据丢失的发现。当硬盘读取声音很大,或者出现拷贝硬盘数据十分缓慢的情况时,我们需要排查硬盘是否故障。磁盘的磁头很可能损坏,如果继续使用,会造成磁道不可逆的伤害。

参考

https://zhuanlan.zhihu.com/p/31365115

https://blog.csdn.net/liao20081228/article/details/82591728

https://neosmart.net/wiki/fix-uefi-boot/#Fix_UEFI_Boot_in_Windows_8_81_or_10

定时自动校园网登录

发表于 2019-10-28 更新于 2021-08-23 评论数:

模拟网页自动登录校园网并定时登录

问题描述

近些天,某校园网出现频繁断线问题,需要我们需要频繁重网络,同时给远程办公TV的使用带来困难。因此需要设计一个自动重连校园网的方案。

使用环境:XXX校园网;

目标:每日定时自动连接校园网;

为了自动连接校园网,我们需要准备好校园网账号密码,以及编写程序模拟网页点击登录按钮,并且设定windows定时计划;

先验知识

传统CURL式爬虫过程

curl是利用URL语法在命令行方式下工作的开源文件传输工具。它能模拟浏览器请求,接收、处理数据流并保存数据;

python语言curl的实现:requests模块;

由于requests模块是一个不完全模拟浏览器行为的模块,只能爬取到网页的HTML文档信息,无法解析和执行JavaScript代码,无法获取由Js脚本动态生成的网页信息;

Headless浏览器实现页面解析

无头浏览器类似于在流行的Web浏览器的环境中提供对网页的自动控制,利用浏览器对目标URL进行HTML解析,CSS渲染,Js执行,借由API甚至可以模拟用户行为(鼠标点击,键盘输入),但不提供UI渲染。它们特别适用于测试网页。

常用的无头浏览器有:chromedriver;FireFox;

为了控制浏览器实现自动化web应用,需要安装Selenium。

selenium模块本质是通过驱动浏览器,完全模拟浏览器的操作,比如跳转、输入、点击、下拉等,来拿到网页渲染之后的结果,可支持多种浏览器;

实现方法

模拟网页登录

1,首先需要配置python环境:如再win下配置anaconda环境。

2,安装selenium包:

1
pip install selenium

3,下载chromeDriver驱动

下载对应版本的chromedriver到本地;

将exe拷贝到C:\Program Files (x86)\Google\Chrome\Application下,并将该路径配置至环境变量中;

配置好后在shell中输入:chromedriver无错误即安装成功!

4,编写自动登录脚本,新建auto_login.py文件,按如下填写:

1
2
3
4
5
6
7
8
9
10
11
12
from selenium import webdriver
user_name='****'
pwd='****'
driver = webdriver.Chrome()
# 设置浏览器窗口的位置和大小
driver.set_window_position(20,40)
driver.set_window_size(1100,700)
# 打开一个页面(如校园网登录页面)
driver.get("****")
driver.find_element_by_id('username').send_keys(user_name)
driver.find_element_by_id('password').send_keys(pwd)
driver.find_element_by_id('login').click()

5,编写bat脚本

新建auto_login.bat文件,输入python {path2here}/auto_login.py

设置定时计划

要求每天上午8点定时执行自动登录脚本;

win中搜索任务计划程序;按需填写相应内容,选择启动时间,选择脚本位置,即可;

注意配置完成之后,还需要其安全选项,选择再“不管用户是否登录时都要运行”,这样可以在用户没有登录时执行计划;

参考

Python+Selenium+ChromeDriver之浏览器爬虫入门,

健身从零到1

发表于 2019-10-13 更新于 2019-11-03 评论数:

健身从零到1

这里记录一些常见的健身动作,以备不时之需;

TIPS

想要训练好目标肌肉群,必须要让动作的走向和肌纤维的走向一致;

肌肉训练ABCD

肌力训练:肌肉渐进式负荷增长,逐渐增加负荷强度,如负重引体;

爆发力训练:确保训练动作的速度要快,用以锻炼爆发力,如硬拉式哑铃划船;

肌肥大式训练:尽可能地激励你的目标肌群,让训练负荷都施加到目标肌群上,需要更强大的离心负荷作用来刺激肌肉生长,肌肉的离心过程比向心过程更加有力,当我们力竭时还不够,要超越力竭,用渐降组来实现;如哑铃提拉;

代谢压力积累训练:追求肌肉的灼烧感,持续的泵感,力竭之后超越力竭,如胸部支撑触碰式划船,躺在上斜哑铃板上;

全身性训练:需要全身肌肉肌群的参与;

矫正型训练:决定你训练寿命的长短,如,W形伸展;

对瘦子的健身建议

农夫行走:哑铃置于两侧,肩胛骨收紧,收紧臀肌保持稳定,注意将哑铃牢牢地握于掌心,不能滑到手指上,防止手肘受伤;

每次健身后,都可以做农夫行走,这是练习稳定性的方法,保持稳定性是肌肉增长的基础;

每次训练完的收尾动作

每次训练结束,都可以做的两个动作,可以帮助锻炼我们平时练不到的部位,需要借助滑轮或绳; 1,面拉,手握绳的两端,往后拉,两边手臂外旋,注意手肘高度,在肩下方不要太高,大拇指往后伸;练习肩部旋转肌肉群; 2,过头的斜方上拉,双手抓绳,高举过头顶,用大拇指向上引导;锻炼斜方下部;

如何解决脖子前倾(驼背、圆肩、含胸)问题

养成日常习惯:

  • 坐直,伸展腰椎,骨盆向下保持前倾;
  • 挺胸,抬高胸骨,肩胛骨打开;
  • 伸展颈椎;

每日可做动作:

  • 找一个长椅,背靠在长椅上,用最受限的位置抵住登沿,挺起胸膛,然后下沉骨盆使骨盆前倾,再强化颈深屈肌,收住下巴,保持头部水平,使得颈部做等长收缩,保持1分钟,每天三分钟;
  • 进阶1:把两只手举起来往后靠,以增加额外的胸椎伸展;
  • 进阶2:双手握住杠铃片,置于额头,使头部向下倾斜,再回复水平,感受颈深屈肌的离心作用。

体态校正

由于长期的不良体态,如坐姿不正,肩膀前倾,导致肌力不足的问题,包括肩袖肌群、中下斜方肌、上背肌群;

弹力带开拉;

弹力带外旋:针对肩袖肌群的动作;

面拉:肩袖肌群;

胸部练习

胸肌包括上胸、中胸和下胸;上胸的肌纤维走向是从锁骨开始,一路向下到大臂的肱骨,中胸的走向是从胸骨开始一路向外到大臂肱骨,下胸则是从胸骨下沿一路向上到大臂肱骨。

注意:胸部的各个动作都需要挺胸,体会胸部拉伸的感觉;

20191101194235imagepng

胸部拉伸

胸椎伸展:上背躺在泡沫轴上滚动,伸展胸椎,保证胸椎有足够的活动度;

胸小肌拉伸:依靠着一根杆,胸部贴着,手顺着杆往上滑,拉伸胸部;

基本动作

卧推

哑铃卧推(练习中胸):肩在胸后,斜方肌往下,推举向上后往中心靠,在动作最底部停留2秒钟,保持胸部的拉伸;

哑铃上斜卧推(上胸);

交叉夹胸

水平交叉夹胸(练习中胸);

上斜交叉夹胸(上胸);

下斜交叉夹胸(下胸);

3D胸前交叉,加强内收作用,可以提高强度做大重量,需要利用核心肌肉群;

仰卧飞鸟

躺在地面上,将下背拱起,让臀部与保持地面接触,将肩胛骨收紧,把胸部挺出去,让手肘保持弯曲;

可以用更重一点的哑铃,因为有地面的保护,不会伤到肩膀;

用力推上去,再缓慢地离心下来;

铁片夹心

让铁片在我的面前,放正中间位置,夹住铁片,上下移动;

可以在训练前用来做肌肉启动,或者在卧推动作结束后,结合逐减少训练法来做;

哑铃仰卧肩伸

(练上胸)让双手靠在一起,不用抬到太高,因为要维持上胸的绷紧感,充分伸展后,再往上30到40度即可;

(练背动作)让手肘往身体两侧展开;

ucv肩前举

练上胸,可以顺着上胸肌肉生长方向运动;改善肌肉的收缩能力;

徒手胸部练习

下斜伏地挺身,加单侧旋转;

平板伏地挺身,加单侧旋转;

上斜府邸挺身,加单侧旋转;

提肩伏地挺身:通过转动身体角度,可以让手臂更靠近身体,

臂屈伸

臂屈伸也可以用来练胸,(练习下胸);可以增加胸的宽度;

挺胸,增加胸肌的起点与终点,给胸肌施加预先的额外拉伸;然后开始做臂屈伸,在动作底部停留2秒钟时间,感受额外的胸部拉伸;

背部练习

背部肌群包括了背阔肌、斜方肌、下背、肩袖肌群、大圆肌等;

20190922223528imagepng

20190922221429imagepng

20190922220935imagepng

基本动作

硬拉

硬拉热身:可以作腿部拉伸确保大腿内收肌的活动度,可以用小重量硬拉热身,还可以加上直臂下拉做热身;

硬拉动作要领: 骨盆朝下,朝向地面, 两脚之间距离为肩宽, 腿与杠距离为2.54cm, 双手位置,刚刚好放在小腿两侧, 胫骨碰到杠铃,臀部下降,胸部向上, 硬拉分两步:1,腿推,到膝盖水平位置,2,臀部下背参与拉起;

引体

刚开始做自重的引体,练到力竭后,借助弹力带继续引体,练到超越力竭;

负重反手引体(窄距):反手的姿态可以让手臂更向前,更远离背部,更大程度地拉伸背阔肌;

宽握引体:更多地针对大圆肌,而不是背阔肌;

划船

单手哑铃划船:

让手臂外展,上臂更靠近脊椎,可以让背肌最大程度的收缩;

杠铃硬拉式划船:

练习背部的爆发力;与硬拉动作很像,膝盖以下用力蹬地,爆发力拉起来,做成划船;(该动作需要有强力的下背)

下拉

单臂绳索下拉:手臂最大程度前伸,然后用力收回来,甚至可以向内收来充分收缩背阔肌,在动作底部,可以旋转身体来更大程度收缩背阔肌;可以用大重量,加强离心作用的负荷,可以用双手帮忙以加强离心的锻炼;

攀岩式高位下拉;与普通的滑轮下拉不同,这里下拉到最后,使单侧手臂靠近背部,从而更程度收缩背阔肌;

脊柱伸展YW组合

可以在器械上或者理疗球上做;

脊柱Y字伸展:训练下部斜方肌,将手臂举过头顶,双手可以拿一点铁片,它有稳定肩胛的作用,;

脊柱W字伸展:外旋肩膀,锻炼肩袖肌肉群;

站姿杠铃耸肩

锻炼上部斜方肌;让手臂的方向平行于上部斜方肌的肌肉走向;做耸肩后,需要在上部停留几秒钟;

下背专项练习

锻炼下背的专项训练:面朝哑铃凳,上半身趴在哑铃凳上,髋关节卡在凳子的最下端,双脚卡住一个哑铃,收紧臀肌,然后把腿近来年个伸直,往上抬;这个动作刚开始对臀肌刺激比较大,然后会传导到下背,这需要臀肌与下背协同发力;

面拉

机械 :使用绳索器,一根绳索器不够,用两根绳索并联,使得我们有足够的长度来做充分的外旋;把机械调到最高,保证阻力是从上到下的,当我拉过来时,我就是在向心收缩,对抗阻力,这就锻炼了我们的肩袖肌群,以及三角肌后束,也有棱形肌和斜方肌;

站姿:两只脚略比肩宽,平行对称地站好;如果你的平衡力还差了,就前后脚站,但是要确保身体和肩膀正直,正对前方;

握姿:两只手对喔,大拇指朝后;

面拉的终点在脸上,将绳索中心拉倒脸上;以手掌主导往后拉,而不是用手肘主导;这样可以确保肩膀的外旋。我们要追求:肩胛骨关门的感觉,打开胸肌,充分外旋,让肩袖肌群发力,然后斜方肌也参与发力。确保主导发力的是肩袖肌群,而不是三角肌后束,这是两个完全不一样的训练动作;

变式1:如果站着很难做到,那么可以躺着完成:让绳索末端接触到地面,这时手肘是没有接触地面的,用力收缩一两秒,然后再回复动作;

变式2:面拉的最后,加上肩推,两边分别往上抬在放下。可以把下部斜方肌加入到训练动作中,传统的面拉能够激活整个上背了,而这时对于肩胛稳定性极其重要的下部斜方肌也不能放过;这个动作需要一定的肌力;

徒手练习

腿部练习

基本动作

杠铃深蹲

热身运动:增加活动度 1,抓住脚尖,试着往下蹲到最低,再起来, 2,胸椎伸展,蹲下,双手抱头,挺起胸膛, 3,胸椎旋转,蹲下,左手抓住右脚,利用左边手肘帮助你向右旋转,将手举到天空, 4,胸椎伸展2,蹲下,双手从脚两侧抬起,高举过头顶,

深蹲之前先要用小重量热身,正式练习时,从大重量开始,慢慢减少;

因为脊柱受到挤压,组间休息30秒时,我们可以挂在单杠上拉伸脊柱;

注意要点:起身时,胸部和臀部一起移动(挺胸,伸展胸椎),这样能带动核心肌肉群,保持稳定;

双脚的间距,脚掌向内或向外,由我们自身状态决定,找到最舒服的感觉;

杠铃臀冲

背靠在平台上(或者躺在地面),杠铃放在腿上,往上顶杠铃。激活臀肌,让你的臀肌发力,然后让腘绳肌协助发力;

该练习要从轻到重,体会臀肌的发力;

器械臀腿起(GHR)

练习臀部;

哑铃保加利亚分腿蹲,高低交替版本

一只脚踩在高处,一只脚踩在地面,单脚下蹲,双手可以各拿一个哑铃;

通过调整我们身体和大腿的角度,我们可以针对训练不同的肌肉群;

(高)当我们竖直下蹲时,挺胸抬头,收紧肩胛,直上直下,这样会刺激股四头肌;

(低)当我们俯身下蹲,身体更靠近大腿,这样更刺激腘绳肌和后链;

高脚杯博士深蹲

相当于做一个侧边箭步蹲;双手可以握一个哑铃;在下蹲的同时单侧脚向一边滑动,起身时,利用内收肌,慢慢把脚滑着收回来,有把两脚挤到一起的感觉;

锻炼大腿内侧肌肉;

弹力带侧步行走

脚踩着弹力带,手拿弹力带,用手卡住,关键是不要让你的脚尖向外;保持两只脚平衡,一步向左,一步向右,两步向左,两步向右,一直到10步;

锻炼腿部外侧肌肉;

后侧步箭步蹲

(肌力训练)练大腿前链,可以使用超大重量的哑铃,用于练习单腿;

哑铃罗马尼亚硬拉

(肌力训练)练大腿后链,当你放下哑铃的时候,注意力要放在髋关节铰链上,要注意向后顶屁股的过程,保持哑铃直上直下,关注髋关节在矢状面运动,把哑铃下放到你的腘绳肌柔韧性能支撑的最大程度,等你的腘绳肌拉伸到极限,你就收紧臀大肌,髋关节向前顶,把哑铃拉起来;

哑铃单侧箭步蹲

(薄弱环节)锻炼臀中肌,单侧手拿哑铃,箭步蹲下去,锻炼另一侧的臀中肌。

肩部练习

肩部肌肉包括三角肌前束、中束和后束;

首先就是肩部的热身很重要,因为肩膀很灵活,也很容易受伤,当你开始正式训练之前,一定要确保肩膀以及肩袖肌群的充分热身!

热身:弹力带举过头顶;

小技巧:使用更小重量训练肩部,在举起来之前,先让肩膀往下走,减少上斜方肌借力,让我们更充分地锻炼到三角肌;比如,当我们做肩侧举的时候,我们要让肩胛骨往下收,再启动肌肉,控制住斜方肌,不要让它发力;

20191101195522imagepng

基本动作

前部:上斜躺椅,手臂上下,离心收缩, 中部:一手倚着卧推床,双腿交叉,让哑铃若在中间,45度, 后部:头靠卧推床,水平内收,类似反向飞鸟

弹力带举过头顶

用弹力带做一个过头举,注意阻力的方向,不是和哑铃杠铃过头举那样向下,而是向前,这样可以激活后束,更重要的是激活了肩袖肌群,注意要在最高处保持三秒钟的时间,保证动作质量;

很好的热身动作,热身肩袖肌群;

杠铃肩前举

绳索三角肌拉伸三连

后束绳挺举:俯身,肩后束发力将滑轮拉起,,要充分刺激后束,要把手臂越过身体,伸到后面去,肩膀向上,然后回复,让手臂被拉走,越过身体中线,充分拉伸后束;

中束绳挺举:抓住绳索,举起手臂,但放下的时候,手臂从背后被拉走,每一下都可以拉伸中束;

前束绳挺举:与练中束差不多,举起手臂的方向稍微有不同;

肩推

站姿哑铃肩推(单手)

借力侧平举

练习爆发力,不单是肩部发力,练习协同发力;

手臂练习

三头肌

三头肌包括外侧头、长头以及内侧头,其中长头占比最大;

20191018195557imagepng

臂屈伸;身体尽量保持前倾,当你推起来时,可以松开手掌,减少手臂的发力,尽可能用到三头发力;三头肌的训练,屈伸之后,最好是要有充分的伸展;

三头肌拖拽式绳索下压:与传统的绳索下压不同,手臂不是远离身体,而是沿着肋骨两边下滑,在下压过程中保持肘部尽可能向后,能够充分收缩三头的长头;

反向手臂过头绳索下压:这让三头出于拉伸,尽力达到离心控制,每一下到最高点,让手臂被拉伸更多一点(尽可能抬高手臂),这样可以保证三头的长头被充分拉伸;

曲杠/哑铃仰卧三头臂屈伸:为了加强三头的发力,全程保持手臂略微往后,充分拉伸三头;

后侧步绳索下拉:使用传统绳索下拉时,刚开始绳索压力与小臂垂直,随着小臂移动,压倒最低点时,压力与小臂平行,这锻炼不到三头了,我们想要的是让绳索的压力一直垂直于小臂。使用后侧步绳索下压来改善这一点,利用身体姿势的改变,刚开始,一条腿往后放,身体前倾,手臂更前,使用传统绳索下拉,刚快压倒最底部时,开始向后侧步(注意不是按照身体惯性下压),使得绳索压力和小臂保持垂直;

上斜哑铃三头肌伸展;

二头肌

二头肌是使得手臂弯曲的肌肉,包括长头、短头和股肌;

20191028193711imagepng

小技巧

通过牵张反射(拉伸到最长后再收缩),来增强二头弯举的收缩强度,通过更加肌纤维的轻微撕裂,更好地促进二头的增肌效果;

基本动作

反手引体;

杠铃弯举;

上斜哑铃弯举:躺在上斜椅上,注意二头的拉伸,控制离心作用,主动收缩三头,来充分拉伸二头;当我们向心力竭之后,可以立起身,借力把哑铃抬起,再靠在躺椅上,把手背慢慢下放,控制整个离心过程,充分拉伸二头。

哑铃弯举三连:单手;

小臂

小臂的训练包括手腕的屈和伸,尺骨和桡骨的侧偏,以及手指的收缩。

基本动作

内旋手臂弯举:借助绳索或弹力带,手臂向前弯举,而不是弯举的其他变式(如,跪倒在哑铃板前面,手放在凳面上做弯举,或者站立,在背后做弯举,这些动作都有一个问题,当我们疲劳时,杠铃会滑落到手指远端,这会导致手肘疼痛的问题);

哑铃农夫行走:每个其他的动作结束后来一组农夫行走,该动作需要一定的耐力;

手腕旋转:该动作练习手臂的伸直动作,站立,抓着杠铃,左右手交替旋转,这样能够保持发力与重力平行,提高训练效果;

正握弯举:站立,掌心向下,抓住杠铃,往上抬;正握弯举与手腕旋转两个动作是可以交替进行的;

尺骨\桡骨侧偏:锻炼桡骨侧偏,使用滑轮绳索;

手臂内旋、外旋:借助滑轮绳索,身体朝向与绳索方向垂直,抓住绳索上部,手掌侧面顶住绳索头,外旋(把朝外面的小拇指转过来),内旋(那朝向自己的小拇指转出去);

静止小臂悬挂:悬挂一分钟,注意不要让滑落到手指远端;

腹肌练习

腹肌包括腹直肌,腹斜肌,腹横肌,前锯肌;

基本动作

龙旗, 旋转侧傍举, 杠铃片卷腹,离心练习,满满躺下,与重力对抗, 加强版登山者,

参考

Jeff健身视频合集-持续更新

微信-Jeff-完美训练计划合集-兔子的健身杂谈

利用github搭建项目主页

发表于 2019-09-14 评论数:

制作github托管的project page

概述

由于项目需求,需要给项目做一个展示主页,本文主要记录我使用Jekyll和github搭建Github project page的全过程;

先验知识

Github page

github仅允许用户创建一个个人或组织主页(以用户名.github.io为仓库名),但允许用户创建N个项目主页,浏览器访问地址为用户名.github.io/项目名;

而gitthub为了方便用户部署项目主页,提供了许多Jekyll主题模板;这里,使用比较常见的The Cayman theme;

Jekyll

Jekyll是一款静态网站生成工具,允许用户使用HTML、Markdown或Textile通过模块的方式建立所需网站,然后通过模板引擎Liquid(Liquid Templating Engine)来运行或者生成对应的静态网站文件。

Jekyll在GitHub上使用较多,通过GitHub搭建自己的博客很多就是使用Jekyll;因为GitHub的渲染引擎默认为Jekyll。当然,也有很多用户使用Hexo不部署个人主页,可以在本地编译好网页后上传到github托管,这里就不再赘述,详情参考该文章。

本地配置

环境配置

1,安装Ruby

Jekyll是一款基于Ruby的插件,安装Ruby是必须的.

下载链接中选择推荐版本安装即可,

  • 如,Ruby+Devkit 2.5.5-1 (x64);

安装完后弹出 CMD 安装 MSYS2 的窗口,选择关闭即可,不影响后续配置;

命令行输入查看是否安装完成:

1
2
ruby -v
gem -v

2,安装bundler

1
gem install bundler

bundler:The best way to manage a Ruby application’s gems

3,安装 jekyll

1
gem install jekyll

搭建项目

1,在任意文件夹下,创建一个模板,输入以下命令

1
jekyll new project-name

如果想要用其他模板,比如,我想要搭建一个项目的主页,参考模板The Cayman theme,将其clone到本地,cd到该文件夹中即可,进而继续后续操作;

2, 在该文件中,安装依赖,命令行中运行:

1
bundle install

3,启动服务,输入以下命令:

1
jekyll server

4,在本地浏览网页,进去浏览器,输入http://localhost:4000/,你就可以浏览主页了。

本地编译好之后呢,会在根目录看到一个_site的文件夹,里面就是编译好的网站文件,但是呢,如果你进入该文件夹,点击index.html,你会发现网站的风格有问题,那是浏览器没有找到对应Style样式,你可以用编辑器打开index.html找到 stylesheet这一行,改为如下即可,这样就能用相对路径关系找到对应的样式文件了:link rel=”stylesheet” href=”assets/css/style.css”;

部署到Github

到现在为止,我们已经能在本地部署项目主页了,那么下一步就是如何将本地的主页部署到github上,让github托管我们的主页。

1,新建一个仓库,仓库名可以是项目名;

2, 点进仓库,点击右侧的Setting,页面下拉到Github Pages部分,在source中我们选择master branch,项目主页将会从该分支创建出来;

3,clone仓库并更新仓库

你将远程仓库clone到本地后,进入根目录,将之前在本地编译好的_site文件中的所有文件拷贝到该目录中;

4,推上云端,浏览网页

然后再git三连(add,commit,push),这时内,你的网页就被推上云端了,过个几秒钟,你再访问用户名.github.io/仓库名,就能看到与本地部署一样效果的网页啦。

参考

博客-使用 Jekyll 搭建 Github Pages 个人博客

GitHub 托管项目主页

改善颈部状态

发表于 2019-07-04 更新于 2019-09-14 评论数:

前言

练习方式

参考

视频-10分钟瑜伽改善斜方肌粗大、肩膀脖子疼痛、溜肩圆肩富贵包、背厚、高低肩!,

视频-如何:缓解脖子肌肉酸痛难受?3个步骤,5分钟自我松解:颈椎活动如获新生,

视频-如何预防:落枕? 脖子酸痛,僵直的人,训练提高这个弱项:斜方肌!一招儿预防落枕,和脖子僵直说再见,

知乎-最详细肌肉拉伸教程一:颈部拉伸,

全身疼痛拉伸指南一:颈部疼痛,

系统之美

发表于 2019-06-29 更新于 2019-09-14 分类于 notes 评论数:

系统之美

作者: [美] 德内拉·梅多斯
出版社: 浙江人民出版社
出品方: 湛庐文化
副标题: 决策者的系统思考
原作名: Thinking in Systems: a Primer
译者: 邱昭良
出版年: 2012-8
页数: 290
定价: 56.90元
装帧: 平装
ISBN: 9787213050114

“系统论”能教会我们“关联地,整体地,动态地”看待问题。当你懂得用系统论看待世界时,发现,最美妙的不是这个世界,而是这个世界背后的规律。

关系图

系统思考”是一种与“还原论”对立的一种思考模式,采用“整体论”的哲学思想,整合了现代复杂性科学的最新研究成果。
研究系统的结构与各要素之间的动态关系,
介绍了系统动力学的一些概念,存量、流量、反馈回路(从存量的自身状态出发,经过一系列决策、规则、物理法则或者行动,影响与存量其相关的流入量或流出量,反过来改变了存量)、延时效应等,
介绍了两种基本回路:增强回路、调节回路。

单存量系统:

  • 两个调节回路:温度调节器、库存量
  • 一个增强回路、一个调节回路:人口、工业经济
    双存量系统:
  • 一个再生性存量收到另一个不可再生性存量约束的系统:
    • 石油经济
  • 两个再生性存量的系统:
    • 渔业经济,畜牧业、养殖业、
    • 感冒病毒感染(易感人群为可再生性资源)、日用品销售(潜在消费者为可再生的存量)

build-blog-with-github-hexo

发表于 2019-06-29 更新于 2019-07-03 评论数:

本文章记录本人利用hexo搭建博客并发布到github的全过程。

配置流程:

1安装Node.js,

命令行中输入 node -v,查看是否正确安装;

2安装Hexo:

命令行输入:

1
npm install -g hexo-cli

3初始化blog

安装完成后,在blog文件夹中初始化我们的博客,输入:

1
hexo init blog

4小试牛刀

cd到blog文件夹中,执行以下命令:

1
2
3
hexo new test_my_site #新建一个名为***的文章
hexo g # 编译
hexo s # 在本地部署,默认本地服务端口为4000

这些命令在后面作介绍,完成后,打开浏览器输入地址,即可查看本博客:

localhost:4000

5发布我的网站

将我们的Hexo与GitHub关联起来,我们打开blog根目录里的_config.yml文件(称为站点配置文件),翻到最后,找到deploy:其中type填写为git,repo项后添加我的git仓库位置,branch填写master;

之后,需要安装git部署插件,输入命令:

1
npm install hexo-deployer-git --save

这时,我们分别输入三条命令:

1
2
3
hexo clean # 清理本地缓存
hexo g #编译文件
hexo d # 发布网站

这时,访问你的github个人主页(https://XXX.github.io),就能看到本网页了。

给网页舔砖加瓦

网站基本配置

在站点配置文件_config.yml中,在site的配置中,可以对是网站标题、副标题、网站描述、作者、网站头像外部链接、网站语言等做修改。

添加图床

简单说图床就是一个在网络上存储图片的地方,目的是为了节省本地服务器空间,加快图片打开速度。个人用户一般不会使用,主要是个人博客和小网站使用。常见的简易的图床网站有:贴图库图片外链 和七牛云。

修改网页主题

如果你不喜欢Hexo默认的主题,可以更换不同的主题,主题传送门:Themes 我自己使用的是Next主题,可以在blog目录中的themes文件夹中查看你自己主题是什么。
在blog根目录,输入命令,将Next主题下载到blog目录的themes主题下的next文件夹中:

1
git clone https://github.com/theme-next/hexo-theme-next themes/next

打开站点的_config.yml配置文件,修改主题为next。

打开主题的_config.yml配置文件,找到Scheme Settings,我选择的是Pisces。

增加侧栏菜单

默认的侧栏菜单条目有:首页、归档、标签、关于、搜索等。如果你想要增加其他的菜单条目,修改主题(theme)配置文件_config.yml里的Menu Settings中的menu和menu_icons两个地方。

比如你要添加菜单项love,则需要在menu配置中增加love:/love设置好后,在命令行里输入:

1
hexo new page "你所要增加的菜单项名称(比如,love)"

这时会在博客根目录下的source文件里新建一个love文件夹,并生成初始化的index.md文件,你可以双击md文件对新建的页面自定义设计。

添加分类和标签

如果写了很多文章,不同文章有相应的类别和标签,我们想要在菜单栏中展现它们,并索引到具体的文章,就需要利用该主题的自动给生成类别和标签的功能。注意哦,该功能只能对附加有对应标前的文章起作用。

首先在主题配置文件中,找到菜单栏,添加分类以及标签这两项:

1
2
tags: /tags/ || tags
categories: /categories/ || th

1、创建“分类”选项

生成“分类”页并添加tpye属性

1
$ hexo new page categories

找到categories中index.md这个文件,添加type: "categories"到内容中。

2、创建“标签”选项

生成“标签”页并添加tpye属性

1
$ hexo new page tags

打开tags目录下的index.md文件,添加type: "tags"到内容中。

添加标签云

在主题配置文件中,找到tagcloud配置,把enable改为true。

另外,还需要再安装标签云的插件:hexo-tag-cloud。该插件针对Hexo博客的标签云插件,旨在直观的展示标签的种类,美观大方且非常优雅。
插件的GitHub地址,说明地址,

安装插件

进入到 hexo 的根目录,在 package.json 中添加依赖: "hexo-tag-cloud": "2.0.*" ;

打开命令行,输入以下命令安装插件:

1
npm install hexo-tag-cloud@^2.0.* --save

使用命令行安装插件包的过程中可能会出现问题,安装失败,安装不完全。可以直接克隆插件到博客的插件文件夹blog/node_modules里。或者克隆到桌面,复制到博客的插件文件夹blog/node_modules里。

1
git clone https://github.com/MikeCoder/hexo-tag-cloud

配置插件

swig 用户 (Next主题在列)

在主题文件夹找到文件 theme/next/layout/_macro/sidebar.swig, 在倒数第三行以上的间隙,添加如下代码:

1
{% if site.tags.length > 1 %}<script type="text/javascript" charset="utf-8" src="/js/tagcloud.js"></script><script type="text/javascript" charset="utf-8" src="/js/tagcanvas.js"></script><div class="widget-wrap">    <h3 class="widget-title">Tag Cloud</h3>    <div id="myCanvasContainer" class="widget tagcloud">        <canvas width="250" height="250" id="resCanvas" style="width=100%">            {{ list_tags() }}        </canvas>    </div></div>{% endif %}

添加评论功能

配置LeanCloud

进入LeanCloud官网,进入注册页面注册。完成邮箱激活,实名认证后,点击头像,进入控制台页面。创建应用,并获得你的appid和appkey;

配置主题配置文件

打开主题配置文件搜索 valine,填入appid 和 appkey。

最后!记得在Leancloud -> 设置 -> 安全中心 -> Web 安全域名把你的域名加进去 ;

某页面拒绝评论的设置方式

在页面的front matter中添加

comments: false

删除不必要的评论

进入你之前创建的应用,点击存储,再点击Comment,你就可以看到所有评论了。你可以选择你想要删除的评论。

使用不蒜子计数

我使用的主题是NexT,可以很方便的进行不蒜子的访客统计设置,仅仅只需要一步,打开主题的配置文件/theme/next/_config.yml,找到busuanzi_count,仅需要将enable的值改为true即可;

添加本地搜索功能

在博客根目录下执行以下命令:

1
$ npm install hexo-generator-searchdb --save

安装完成,编辑博客配置文件_config.yml :

1
2
3
4
5
search:
path: search.xml
field: post
format: html
limit: 10000

编辑主题配置文件,启用本地搜索功能: 找到 Local search local_search,将 enable的值改为true。

使用MathJax渲染LaTeX数学公式

hexo主题Next中已经集成了对mathjax的支持。在主题配置文件中,定位到math,将enable的值改为true,把per_page的值改为false。

添加google/baidu收录功能

网站地图

网站地图,又称站点地图,它就是一个页面,上面放置了网站上需要搜索引擎抓取的所有页面的链接(注:不是所有页面)。大多数人在网站上找不到自己所需要的信息时,可能会将网站地图作为一种补救措施。搜索引擎蜘蛛非常喜欢网站地图

Hexo博客生产站点地图

进入Hexo博客根目录,安装百度和Google的站点地图生成插件

1
2
$ npm install hexo-generator-baidu-sitemap --save
$ npm install hexo-generator-sitemap --save

在博客根目录的_config.yml中改url为你的站点地址;

在博客根目录的_config.yml配置文件种添加一下代码

1
2
3
4
5
# 自动生成sitemap
sitemap:
path: sitemap.xml
baidusitemap:
path: baidusitemap.xml

编译完成后,你会发现你的博客编译完成的代码目录public种生成了baidusitemap.xml和sitemap.xml;

这时,你可以通过访问这两个文件:你的网址//sitemap.xml、你的网址//baidusitemap.xml;这也是百度或google爬虫抓取的文件;

验证google网站

–>进入Google站点提交入口,添加你的站点…,

–>验证站点…,这里选择html文件验证,下载对应文件,将验证文件放在所应用的主题的source下/themes/主题/source/;google可以说是秒验证;

–>提交站点地图,google search console的在索引中点击站点地图,添加你的站点地图;(本处使用sitemap提交方法)

google收录的速度很快,隔天就能收录;(0701验证通过,0702收录成功)

1
2
3
4
5
TIPS:向搜索引擎提交站点链接的几种方式
1、主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。
2、自动推送:最为便捷的提交方式,请将自动推送的JS代码部署在站点的每一个页面源代码中,部署代码的页面在每次被浏览时,链接会被自动推送给百度。可以与主动推送配合使用。
3、sitemap:您可以定期将网站链接放到sitemap中,然后将sitemap提交给百度。百度会周期性的抓取检查您提交的sitemap,对其中的链接进行处理,但收录速度慢于主动推送。
4、手动提交:一次性提交链接给百度,可以使用此种方式。

验证百度网站

–>百度链接提交,提交你的域名,

–>验证站点,这里选择html文件验证,下载对应文件,将验证文件放在所应用的主题的source下/themes/主题/source/;因为我是先验证的google,成功后再验证百度,提示失败;于是第二日继续验证,提示校正将在一天内完成,大概过了半个多小时,提示认证失败,原因是“您的站点有链接未通过https检验”;

点击数据引入汇总的链接提交,选择sitemap提交方式,直接提交https://xxx/baidusitemap.xml 就行,因为我的https没有验证通过,所以无法访问该sitemap;

确认是否被收录

确认博客是否被搜索引擎收录,在百度或者谷歌输入下面格式来判断,如果能搜索到就说明被收录,否则就没有。

1
site:写你要搜索的域名 # site:xxx.github.io

参考

Hexo博客建立标签云及效果展示,

GitHub+Hexo 搭建个人网站详细教程,

Hexo使用攻略-添加分类及标签,

为你的Hexo加上评论系统-Valine,

Hexo: 添加Valine评论(邮件通知、评论列表头像) ,

Hexo+Github+coding搭建个人博客 - 百度和Google收录篇,

Hexo + GitHub (Coding) Pages 搭建博客,

GitHub Pages 禁止百度蜘蛛爬取的问题,

test_My_site

发表于 2019-06-29 评论数:

Hello World

发表于 2019-06-29 评论数:

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

1
$ hexo new "My New Post"

More info: Writing

Run server

1
$ hexo server

More info: Server

Generate static files

1
$ hexo generate

More info: Generating

Deploy to remote sites

1
$ hexo deploy

More info: Deployment

Chen hao

Chen hao

justchenhao
10 日志
1 分类
13 标签
GitHub

Tag Cloud

  • UEFI1
  • automation2
  • blog1
  • body building1
  • boot1
  • github3
  • health2
  • hexo1
  • jekyll1
  • project page1
  • research1
  • system2
  • windows1
© 2021 Chen hao
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Pisces v7.1.2
|