微信安装旧版本方法,版本过低,请升级最新版本

先安装最新版本微信,并登录。

使用cmd命令行保存用户数据方式卸载应用:

adb shell pm uninstall -k com.tencent.mm

重启手机

adb root
  • 这一步非常重要,否则会出现错误提示adb: failed to install xxxxxx Failure [INSTALL_FAILED_VERSION_DOWNGRADE]

使用cmd命令安装旧版本apk(后面跟安装包路径):

adb install -r -d

在旧版本上登录微信账号。

Python3面向对象编程

面向对象编程

class Student(object):

    def __init__(self, name, score):
        self.name = name
        self.score = score

    def print_score(self):
        print('%s: %s' % (self.name, self.score))

SpringBoot DevTools的大坑,没有之一

最近在SpringBoot的项目中新增了不少改动,然后就碰到了一个非常奇怪的问题。

Hibernate数据库查询报错

2021-03-03 17:08:28.016 ERROR 36216 --- [  XNIO-2 task-1] o.h.p.access.spi.SetterMethodImpl        : HHH000123: IllegalArgumentException in class: net.margrop.racentity.entity.Race, setter method of property: raceType
2021-03-03 17:08:28.016 ERROR 36216 --- [  XNIO-2 task-1] o.h.p.access.spi.SetterMethodImpl        : HHH000091: Expected type: net.margrop.raceapi.entity.permanent.RaceType, actual value: net.margrop.raceapi.entity.permanent.RaceType

这简直就是奇了怪了
Expected typeactual value完全是一模一样,可Hibernate认为不一样,这可咋整。

Python3错误、调试和测试

错误处理

  • try
try:
    print('try...')
    r = 10 / 0
    print('result:', r)
except ZeroDivisionError as e:
    print('except:', e)
finally:
    print('finally...')
print('END')

Java / C开发人员应该知道的三个JavaScript怪癖

JavaScript可能是一种欺骗性的语言,并且可能会造成极大的痛苦,因为它不是100%一致的。众所周知,它确实存在一些不好的,令人迷惑的或冗余的功能:臭名昭著的with语句隐式全局变量不稳定的比较可能是最著名的。

JavaScript是历史上最成功的火焰生成器之一!除了它所存在的缺陷(在新的ECMAScript规范中部分解决了这些缺陷)之外,大多数程序员都讨厌JavaScript的原因有两个:

  • 他们错误地认为DOM等同于JavaScript语言,该语言具有相当糟糕的API。

  • 它们来自C和Java等语言的JavaScript。他们被JavaScript的语法迷住了,以为它的工作方式与那些命令式语言的工作方式相同。这种误解将导致混乱,沮丧和错误。

因此,通常JavaScript的声誉比其应有的差。

在我的职业生涯中,我注意到了几种模式:大多数具有Java或C / C ++背景的开发人员所使用的语言功能在JavaScript中都假定相同,而又完全不同。

本文收集了最麻烦的文章,将Java方式与JavaScript方式进行比较以显示差异,并重点介绍JavaScript的最佳实践。

Python3 IO编程

文件读写

读文件:read()会一次性读取全部内容

  • with 和 try...catch一样,更简介,自动调用close方法
with open('/path/to/file', 'r') as f:
    print(f.read())

如何在Mac上执行一行命令,同时运行多个Python脚本?

目前有4个Python脚本,打算使用一条命令,同时执行这4个脚本,如何操作呢?
我目前采用的办法比较简陋,使用了5个shell脚本来实现,不知道还有没有更好的方法。

shell脚本runAll.sh

#!/bin/bash
ls
open -a Terminal.app run17688821.sh
open -a Terminal.app run49763693.sh
open -a Terminal.app run857413.sh
open -a Terminal.app run856853.sh