- 博客(68)
- 资源 (1)
- 收藏
- 关注
原创 Android ToolBar标题居中显示
class CenterTitleToolBar @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defStyleAttr: Int = R.attr.toolbarStyle) : Toolbar(context, attrs, defStyleAttr) { override fun setTitle(title: CharSequence?) { add
2021-10-13 10:27:04 459
原创 kotlin排序
private fun IntArray.print() { this.forEach { print("$it ") } println()}private fun IntArray.swap(i: Int, j: Int) { val tmp = this[i] this[i] = this[j] this[j] = tmp}/** * 冒泡排序:比较相邻的两个元素的大小 */fun bubble(nums: IntArr
2021-09-02 10:40:27 869
原创 Android 字母导航栏
/** * @date 2021/07/28 * @desc 字母导航栏View */class LetterView @JvmOverloads constructor( context: Context, attributeSet: AttributeSet? = null, defStyleAttr: Int = 0) : View(context, attributeSet, defStyleAttr) { private val letters = ('
2021-07-29 11:42:57 465
原创 uwsgi 报错 --- no python application found, check your startup logs for errors ---
报错uwsgi --ini /etc/uwsgi.ini原因所用的uwsgi的版本和项目中的python版本不一致解决重新安装uwsgi,使用与项目对应的uwsgi版本
2020-11-27 10:12:05 5473 3
原创 pipenv ModuleNotFoundError: No module named ‘virtualenv.seed.via_app_data‘
问题:pipenv 无法创建虚拟环境原因:virtualenv 问题解决:pip3 uninstall pipenvpip3 uninstall virtualenvpip3 install pipenv
2020-11-20 15:39:24 3823 1
原创 Kotlin 使用属性代理读写 Properties
package com.example.kotlinlibimport java.io.Fileimport java.io.FileInputStreamimport java.net.URLimport java.util.*import kotlin.reflect.KPropertyclass PropertiesDelegate(private val path: String, private val defaultValu: String = "") { priva
2020-11-03 14:51:06 1089
原创 Kotlin 委托封装 SharedPreferences
1、代码package com.example.myapplication.utilsimport android.content.Contextimport android.content.SharedPreferencesimport com.example.myapplication.Appimport java.io.*import kotlin.reflect.KPropertyclass Preference<T>(val name: String, private
2020-10-31 10:50:20 803
原创 鸿蒙IDE和SDK的安装
一、DevEco studio 下载地址鸿蒙IDE下载二、鸿蒙开发者文档鸿蒙开发者文档开源地址三、SDK 安装和配置1、sdk 在 安装ide时会自动安装2、安装好之后需要重启电脑3、需要提前下载好 nodejsnodejs下载4、项目结构...
2020-09-11 09:46:35 6912
原创 kotlin 中 run、with、apply、let、also
返回 计算结果返回 this传 thisT.run {} with(T) {}T.apply {}传 itT.let {}T.also {}import java.lang.StringBuilderval msg: StringBuilder = StringBuilder()一、T.run { this } : result传 this (可省略)返回计算结果val result = msg.run { append(111)...
2020-09-01 11:22:51 108
原创 Android 计时器实现
Android 计时器实现一、handler.postDelayed二、Handler + Timer + TimerTask三、Handler + Thread.sleep()一、handler.postDelayedprivate Handler handler = new Handler();private Runnable runnable = new Runnable() { @Override public void run() { Log.d("TAG"
2020-06-23 17:34:42 9665 1
原创 Java 拦截器模式
Java 拦截器模式一、拦截器接口二、拦截器具体实现三、调度器具体实现四、具体调用五、结果查看一、拦截器接口package com.example.study.interceptor;/** * 拦截器接口:看具体操作,也可以加入泛型,灵活变化 */public abstract class Interceptor { // 在 action 之前调用 abstract void before(ActionInvocation invocation); String
2020-06-20 17:53:08 771
原创 Java 观察者模式(发布-订阅模式)
Java 观察者模式一、抽象观察者接口二、抽象被观察者接口三、实例化被观察者接口四、实例化观察者接口五、测试调用一、抽象观察者接口package com.example.study.observer;public interface IObserver { void update(String msg);}二、抽象被观察者接口package com.example.study.observer;public interface ISubject { void regis
2020-06-20 15:42:15 243
原创 Java 策略模式代替大量 if-else
Java 策略模式一、抽象策略类二、具体策略类三、策略Context,获取具体策略实例四、测试调用一、抽象策略类package com.example.study.strategy;public interface IColor { void describe(ResultCallback callback); String argb(); interface ResultCallback { void result(String msg); }
2020-06-20 14:59:14 995
原创 Android 中获取目录路径的方法
Android 中获取目录路径的方法总结一、SD 卡路径解释二、Environment1、Environment.getExternalStorageState()2、Environment.getExternalStoragePublicDirectory(String type)3、Environment.getExternalStorageDirectory()4、其他 Environment 相关三、context四、获取缓存路径一、SD 卡路径解释/storage/emulated/0 是
2020-06-12 10:16:06 4497
原创 Android 获取屏幕的宽高(包含虚拟键盘)
一、不包含虚拟键盘1、通过 getResources 获取DisplayMetrics displayMetrics = getResources().getDisplayMetrics();int width1 = displayMetrics.widthPixels;2、通过 WindowManager 获取,不包括虚拟按键DisplayMetrics dm = new DisplayMetrics(); // 屏幕分辨率容器this.getWindowManager().getDefau
2020-05-21 14:44:21 404
原创 python中pypy解释器
pypy 的下载、安装、测试一、Windows 中 pypy 下载与安装二、pip 的安装1、例如把下载下来的 zip 直接解压到 D 盘 D:\pypy3.6-v7.3.0-win322、pypy 的 pip 安装命令:pypy3 -m ensurepip三、创建 pypy 虚拟环境并简单使用四、排序算法测试一、Windows 中 pypy 下载与安装下载链接:https://www.py...
2020-04-10 14:44:26 2157
原创 python中logging模块显示不同颜色的日志
一、logging 基本使用日志级别: NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICALmylog2.pyimport loggingdef test(): logging.warning('12345')if __name__ == '__main__': test() #...
2020-04-06 16:09:49 11842 2
原创 python中xml.dom.minidom常用方法
一、加载和读取 xml 文件import xml.dom.minidom doc = xml.dom.minidom.parse(xmlfile)二、常用操作以下方法,对根节点 root 和子节点 node 都适用:1、获取 xml 文档对象root = doc.documentElement2、节点属性root.nodeName # 每个节点都有它的 nodeName,n...
2020-04-03 16:21:34 13871 2
原创 python中一句代码获取最长公共前缀
一、python中os模块实现,及其内部源码def longestCommonPrefix(self, strs) -> str: # python 中 os 模块中的方法及其源码 # import os # return os.path.commonprefix(strs) if not strs: return '' s1 ...
2020-04-02 17:24:49 377
原创 python中yield 理解
python 中 yield 理解一、yield 可以用来为一个函数返回值塞数据二、包含 yield 的函数三、应用实例1、列表数据去重,并保留顺序2、展开嵌套序列一、yield 可以用来为一个函数返回值塞数据# 取出 alist 的每一项,然后把 i + 1 塞进去def addList(alist): for i in alist: yield i + 1if __name__...
2020-03-25 17:08:37 264
原创 python首字母大写
一、capitalize()data = 'i aM chIneSe'data.capitalize() # I am chinese二、title()data.title() # I Am Chinese三、切片data[0].upper() + data[1:].lower() # I am chinese' '.join(map(lambda item: item...
2020-03-25 16:26:00 455
原创 python 中 os 模块和 shutil 模块
os 模块和 shutil 模块一、文件路径相关(os)1、当前脚本及路径2、遍历目录(1)os.listdir()(2)os.walk()3、路径及文件名的获取(1)os.path.split()(2)os.path.dirname()(3)os.path.basename()(4)os.path.splitext()(5)os.path.realpath() 和 os.path.abspath...
2020-03-25 15:56:41 561
原创 mysql 命令
mysql 命令一、连接二、数据库相关三、表相关四、插入五、通配符六、别名七、join八、外键八、查询语句九、常用内置函数十、自定义函数十一、case ... when ... then ... else ... end一、连接-- -u 用户名-- -h host-- -P port-- -p passwordmysql -u root -h 127.0.0.1 -P 3306 -p...
2020-03-24 11:09:49 98
原创 python实现几种常用的排序算法
python实现几种常用的排序算法一、冒泡排序二、选择排序三、插入排序四、shell 排序五、快速排序六、归并排序一、冒泡排序# 冒泡排序:每次循环比较相邻的两个元素def maopao_sort(nums): for i in range(n - 1): for j in range(n - 1 - i): if nums[j] > nums[j + 1...
2020-03-12 11:46:20 141
原创 Gitlab 数据迁移和升级降级
CentOS 7 中搭建 Gitlab 服务一、数据迁移1、准备工作2、备份原服务器上的数据3、把步骤2生成的 tar 文件拷贝到新服务器相应的 backups 目录下4、在新服务器上面恢复数据5、问题记录(1)当提示权限不够时(2)数据迁移后检查登录 Gitlab ,有时会跳出 500 报错(Something went wrong on our end),以及无法正常新建用户二、升级降级一、...
2020-03-09 17:19:35 1560
原创 Gitlab服务搭建记录(CentOS6)和 git 升级
CentOS 6 中搭建 Gitlab 服务一、环境搭建二、下载,安装 Gitlab三、配置四、生成秘钥,创建项目五、邮箱配置1、配置2、邮件测试六、问题记录1、内存不足2、502(1)检查是否端口冲突(2)日志文件权限(3)开启 swap 分区3、403 Forbidden七、汉化1、git 问题记录原因:CentOS 自带 git 版本太低解决:(1)更新 curl 库(不更新 git)(2)...
2020-03-09 17:15:38 216
原创 Gitlab服务搭建记录(CentOS7)
CentOS 7 中搭建 Gitlab 服务一、环境搭建二、下载,安装 Gitlab三、配置四、生成秘钥,创建项目五、邮箱配置1、配置2、邮件测试六、问题记录1、内存不足2、502(1)检查是否端口冲突(2)日志文件权限(3)开启 swap 分区3、403 Forbidden一、环境搭建yum -y install curl policycoreutils-python openssh-se...
2020-03-09 17:11:30 323
原创 docker常用命令与容器中安装python
docker 常用命令与容器中运行python一、基本命令二、容器操作命令三、镜像操作命令四、实例(安装python3.9.0a4)一、基本命令# 查看 docker 版本docker version# 查看镜像、容器、数据卷所占用的空间docker system df二、容器操作命令# 登录docker login# 查看运行中的容器docker ps# 查看所有容器...
2020-03-07 17:34:17 1045
原创 CentOS7 安装 Kafka
CentOS7 安装 Kafka一、安装 java1.81、卸载系统自带的 java2、下载安装3、java 环境变量二、安装 Zookeeper1、下载安装2、修改配置文件3、环境变量4、防火墙添加端口5、常用命令6、systemctl 服务控制三、安装 kafka1、下载安装2、zookeeper.properties 配置3、server.properties 配置4、环境变量5、开放端口6...
2020-03-06 16:26:52 398
原创 JavaScript 正则表达式操作方法
JavaScript 正则表达式一、定义一个正则表达式二、调用 RegExp 对象中的方法1、test()2、exec()3、compile()三、正则表达式拓展方法1、match()2、search()3、replace()4、split()四、其他扩展表示一、定义一个正则表达式// js中定义正则表达式有两种方法:// 1、“/正则表达式/修饰符”:var reg1 = /hello ...
2020-03-05 11:50:20 342
原创 JavaScript 数组操作方法
JavaScript 数组一、数组的创建二、数组的访问三、数组元素的添加1、array.push([item1 [item2 [...]]]) 在最后添加2、array.unshift([item1 [item2 [...]]]) 在最前添加3、array.splice(insertPos, 0, [item1 [item2 [...]]]) 指定位置添加四、数组元素的删除1、array....
2020-03-05 11:25:18 712
原创 python虚拟环境管理(virtualenv + virtualenvwrapper)
一、安装1、Windows 中pip install virtualenvpip install virtualenvwrapper-win2、Linux 中pip3 install virtualenvpip3 install virtualenvwrapper如果报错:pip3 install -i https://pypi.tuna.tsinghua.edu.cn/s...
2020-03-02 14:28:52 107
原创 CentOS7 中查看进程端口号
一、通过进程名、进程id(pid)、端口号查询进程信息ps -ef | grep [ 进程名 | 进程id | 端口号 ]netstat -tunlp | grep [ 进程名 | 进程id | 端口号 ] # 或者 netstat -nap二、通过端口查询进程lsof -i :6379 # 需要提前安装 yum -y install lsof三、根据进程 id 杀死进程ki...
2020-03-02 09:02:53 4444
原创 python调用java代码,模块JPype
一、安装1、下载地址: https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype2、然后用 pip install ****.whl3、还需要安装 numpy4、测试 import jpype,如果报错(ImportError:DLL load failed:找不到指定模块),需要进行如下安装5、下载链接: https://www.microso...
2020-02-28 16:00:12 630
原创 python常用模块之itertools
python常用模块之 itertools一、对迭代器进行切片(islice)二、计数器,指定起始位置和步长(count)三、累加(accumulate)四、连接多个列表或者迭代器(chain)五、类似数学排列组合1、列表或迭代器中指定数据的元素不重复的所有组合,无顺序,类似概率学的 C(combinations)2、允许重复的组合(combinations_with_replacement)3、...
2020-02-28 15:38:09 596
原创 python中日期和时间 datetime
本文章参照 《Python Cookbook 第三版》并加上自己的理解;python中日期和时间 datetime一、基本的日期与时间转换二、需要查找一个星期中某一天出现的日期三、计算当前月份的日期范围四、字符串和日期的相互转换一、基本的日期与时间转换from datetime import timedelta, datetimetimedelta:时间段;datetime:时间点;...
2020-02-28 15:05:44 273
原创 python同一个例子工厂模式、策略模式、建造者模式和观察者模式
一、实例类定义一个父类 Dog,三个子类 Erha、Samoye、Tugou;class Dog: def walk(self): pass def run(self): pass def bark(self, msg=''): passclass Erha(Dog): def walk(self)...
2020-02-27 16:34:38 385
原创 python理解适配器模式
适配器模式:由于系统调用方式的原因,需要把不同类里面的方法(名字不一样),用同样的方式来调用;# -*- coding: utf-8 -*-class Bird: def fly(self): print('bird is flying ...')class Dog: def bark(self): print('dog is ...
2020-02-27 11:56:19 160
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人