编程笔记

  • python 简单搭建阻塞式单进程,多进程,多线程服务的实例

    我们可以通过这样子的方式去理解apache的工作原理 1 单进程TCP服务(堵塞式) 这是最原始的服务,也就是说只能处理个客户端的连接,等当前客户端关闭后,才能处理下个客户端,是属于阻塞式等待 from socket import * serSocket = socketAF_INET, SOCK_STREAM

  • Java完全二叉树的创建与四种遍历方法分析

    本文实例讲述了Java完全二叉树的创建与四种遍历方法。分享给大家供大家参考,具体如下: 有如下的一颗完全二叉树: 先序遍历结果应该为:1 2 4 5 3 

  • Android Studio多渠道打包套路

    说到多渠道,这里不得不提一下友盟统计,友盟统计是大家日常开发中常用的渠道统计工具,而我们的打包方法就是基于友盟统计实施的。按照友盟官方文档说明,渠道信息通常需要在AndroidManifest.xml中配置如下值: meta-data android:value="Channel ID" android:name=

  • Android studio 3.0上进行多渠道打包遇到的问题小结(超简洁版)

    Error:All flavors must now belong to a named flavor dimension. The flavor 'xiaomi' is not assigned to a flavor dimension. Learn more at a rel="external nofollow" href="https:d.android.comrtoolsflavorDimensi

  • Android利用ViewDragHelper轻松实现拼图游戏的示例

    前言 最近一段时间看了一些介绍ViewDragHelper的博客,感觉这是一个处理手势滑动的神奇,看完以后就想做点东西练练手,于是就做了这个Android拼图小游戏。 先上个效果图 img src="https:img.nhooo.comstaticupload2103

  • Java中long类型与Long类型的区别和大小比较详解

    前言 最近在学习java,接触到了long类型,发现网上这方面的资料较乱,所以决定总结一下,在Java中我们经常要做一些判断,而对于判断的话,用的最多的便是“”、“==”、“”的比较,这里我们进行一个Long类型数据和long类型数据的比较大小的讲解。话不多说了,来一起看看详细的介绍吧。 Java中Long和l

  • android studio 3.0 升级 项目遇到的问题及更改思路(问题小结)

    Android Studio从3.0版本新增了许多功能,当然首当其冲就是从3.0版本新增了对 Kotlin 开发语言的支持,除此之外还有其他一些新功能,例如:Android Profiler 其中包含了: CPU Profiler、Memory Profiler、Network Profiler ,APK Debugger,Device File Explorer,Java 8 Language Features等。

  • 吐血推荐珍藏的Visual Studio Code插件(推荐)

    作为一名Java工程师,由于工作需要,最近一个月一直在写NodeJS,这种经历可以说是一部辛酸史了。好在有神器Visual Studio Code陪伴,让我的这段经历没有更加困难。眼看这段经历要告一段落了,今天就来给大家分享一下我常用的一些VSC的插件。 VSC的插件安装方法很简单,只需要点击左侧最下方的插件栏选项,然后就可以搜索你想要的插件了。 p style="text-align:

  • C/C++字符串与数字互转的实现

    C数字转字符串 int sprintfchar *str, const char *format, ...; char c[10]; sprintfc, "%d", 15; 将整数转换成字符串 浮点数转字符串,number为要转换的数,ndigit表示要转换的位数 char *gcvtdouble number, int

  • C#连接SQL Server数据库的实例讲解

    C#连接数据库:Connection对象 1.Connection对象概述 Connection对象是一个连接对象,主要功能是建立与物理数据库的连接。其主要包括4种访问数据库的对象类,也可称为数据提供程序,分别介绍如下。 SQL Server数据提供程序,位于System.Data.SqlClientem

  • SELINUX工作原理详解

    1. 简介 SELinux带给Linux的主要价值是:提供了一个灵活的,可配置的MAC机制。 Security-Enhanced Linux SELinux由以下两部分组成: 1 Kernel SELinux模块kernelsecurit

  • SELinux 入门详解

    回到 Kernel 2.6 时代,那时候引入了一个新的安全系统,用以提供访问控制安全策略的机制。这个系统就是 Security Enhanced Linux SELinux,它是由美国国家安全局(NSA)贡献的,它为 Linux

  • linux系列之常用运维命令整理笔录(小结)

    本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 一、系统监控 1、free命令

  • C++11中std::future的具体使用方法

    C++11中的std::future是一个模板类。std::future提供了一种用于访问异步操作结果的机制。std::future所引用的共享状态不能与任何其它异步返回的对象共享与std::shared_future相反 std::future references shared state that is not shared with any other asynchronous return objects

  • 浅谈python之自动化运维(Paramiko)

    简介 使用开源的Paramiko,我们就可以用Python代码中通过SSH协议对远程服务器执行操作,不需要手敲ssh命令,从而实现自动化运维。 ssh是一个协议,OpenSSH是其中一个开源实现,paramiko库,实现了SSHv2协议底层使用cryptography。 项目文档:a rel="externa

  • 为什么黑客都用python(123个黑客必备的Python工具)

    文章开始前首先让我们来了解一下什么是Python。 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 重点是,Python 是一种对初学者非常友好的语言,从应用程序开发到文字处理、web甚至是游戏能提供支持,不少人也会将Python作为黑客攻击语言。 img src="https:img.nhooo.comstaticupload2103141

  • 基于Docker的MySQL主从复制环境搭建的实现步骤

    1. 前言 之前的程序架构可能是这样的一种形式: 当程序体量扩大后,我们进行扩展,可能会扩展多个后台服务实例,但数据库还是只有一个,所以系统的瓶颈还

  • laravel邮件发送的实现代码示例

    laravel自带SwiftMailer库,集成了多种邮件API,可以很方便的实现邮件的发送。在本教程中使用到的是SMTP(Simple Message Transfer Protocol)简单邮件传输协议,通常理解为邮件发送服务器。 以126邮箱为例 使用126邮箱的话,需要开启POP3和SMTP服务(设置-POP3SMTPIMAP) p

  • Java递归求和1+2+3+...+n实例详解

    Java递归求和1+2+3+...+n public class Sum { public static int countint n { if n 1 { return countn - 1 + n; } else { return n; } } public static vo

  • Win10里python3创建虚拟环境的步骤

    1、为什么要用虚拟环境? 为了解决一个环境多个项目的版本冲突问题 2、如何创建虚拟环境? 用窗口键+R来打开win10的运行窗口,然后在运行输入框输入cmd,确认将会弹出一个终端界面。 创建一个目录,比如我起名为myproject,则在终端窗口输入mkdir

  • Android使用注解代替枚举节省系统内存开销的方法

    Java5以后开始支持枚举类型,枚举类型使用起来非常方便,其重要的作用是作为类型安全使用的。如果在不考虑系统内存开销的情况下大量的使用枚举也不会有什么问题。但是移动端还是需要注意的。 android系统在应用启动后会给应用单独分配一块内存。应用的dex code、heap以及运行时的内存分配都会在这块内存中。而使用枚举类型的dex size是普通常亮的13倍以上。在运行时的内存分配,一个enum的声明至

  • 解决springboot 连接 mysql 时报错 using password: NO的方案

    最近使用 springboot 配置 mysql 时出现了一个错误 Access denied for user ''@'localhost' using password: YES 或者 Access denied for user ''@'localhost' using password: NO

  • 揭开正则表达式的神秘面纱(regexlab出品)

    引言 正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', 'abbbbbbbbbb' 都符合这个特征。 正则表达式可以用来:(1)验证字符串是否符合指定特征,比如验证是否是合法的邮件地址。(2)用来

  • 详解django中Template语言

    Django是一个开放源代码的Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。 下面看下本文重点给大家介绍的django中Template语言,详

  • 通过c++的sort函数实现成绩排序功能

    sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。sort函数进行排序的时间复杂度为n*log2n,比冒泡之类的排序算法效率要高,sort函数包含在头文件为#includealgorithm的c++标准库中。 题目描述: 有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母排序,如

  • 如何用Python和JS实现的Web SSH工具

    这个工具是使用Python开发,可以从下面地址了解详情。 官网: https:pypi.orgprojectwebssh webssh这个工具可以干啥: 在linux机器上安装python环境,并且使用命令pip3 install webssh,装上这个模块 我们就可以在l浏览器web页面登录我们的linux机器,是不是很强大!

  • IntelliJ IDEA 2021.1 EAP 4 发布:字体粗细可调整Git commit template 支持

    推荐 最新idea2021注册码永久激活激活到2100年 IDEA最新激活码2021IDEA2020.3.2最新永久激活方法 正文开始 关于IntelliJ IDEA2020.1这次,我们介绍了调整字体粗细,支持Git提交模板,在Kotlin中更快地突出显示代码问题,在IntelliJ IDEA Community Edition中嵌

  • idea切换分支的时候,忽略一些无用的修改设置

    git忽略的原理: git设置本地忽略必须保证git的远程仓库分支上没有这个要忽略的文件,如果远程分支上存在这个文件,本地在设置ignore 将不起作用。 所以一般是在.gitignore 文件里面加入 .idea workspace.xml 即可 但是如果你这样做之前已经将此文件提交到了git远程仓库,那就需要执行以下命令了: git rm

  • Python 带星号(* 或 **)的函数参数详解

    1. 带默认值的参数 在了解带星号(*)的参数之前,先看下带有默认值的参数,函数定义如下: def defaultValueArgscommon, defaultStr = "default", defaultNum = 0: print"Common args", common print"Default Stri

  • python解决OpenCV在读取显示图片的时候闪退的问题

    利用OpenCV练习读取图片的时候,图片总是一闪而过,不利于观察,这个时候需要利用到waitKey函数。 waitKey函数:用来等待按键,当用户按下按键后,该语句会被执行,并获取返回值。 语法格式为retval=cv2.waitKey[delay] retval:表示返回值; delay:表示等待按键触发的时间,单位是ms;l

  • IntelliJ IDEA 2021.1 EAP 1 发布支持 Java 16 和 WSL 2

    推荐: 最新idea2021注册码永久激活激活到2100年 IDEA最新激活码2021IDEA2020.3.2最新永久激活方法 正文开始 IntelliJ IDEA 2021.1 EAP 1现已发布,官方表示,其主要是将 IntelliJ IDEA 2021.1 作为一个高质量的版本来对待,它将增强产品的可用性和用户界面。以及关注用户在问题跟

  • Android实现滑块拼图验证码功能

    滑块拼图验证码应该算是很常见的功能了,验证码是可以区分用户是人还是机器。可以防止破解密码、刷票等恶意行为。本文将介绍Android拼图滑块验证码控件的实现过程。希望能帮助到大家。 先看最终的效果图: img src="https:img.nhooo.comstaticupload2103150827150.g

  • Android中使用itemdecoration实现时间线效果

    代码如下: 时间线装饰器 public class TimeLineDecoration extends RecyclerView.ItemDecoration { private Paint mPaint; public TimeLineDecoration { mPaint = new Paint; mPaint.setStylePain

  • Android实现动画效果的自定义下拉菜单功能

    我们在购物APP里面设置收货地址时,都会有让我们选择省份及城市的下拉菜单项。今天我将使用Android原生的 Spinner 控件来实现一个自定义的下拉菜单功能,并配上一个透明渐变动画效果。 要实现的功能及思路如下: 下拉菜单样式是自定义的、非原生效果:需要使用 setDropDownViewResource 方法来设置下拉视图的布局样式。该方法需要传入布局资源,该布局需要定义每个 I

  • git stash 和unstash的使用操作,git unstash failed

    场景如下,你正在开发需求1时,突然线上发现了一个bug,需要立即修复。需求1的代码因为不完善,也没经过测试,所以你希望针对需求1所做的修改先暂时隐藏,这样就可以使用 stash功能了。 VCS--git --stash 这个时候针对需求1做的修改都会隐藏掉。现在假设你处理bug完毕。需要继续开发需求,现在需要unstash VCS--git

  • 关于探究python中sys.argv时遇到的问题详解

    自动化任务 这是一篇关于我在自己学习python自动化办公中遇到的问题的笔记。 关于文章读写 我用到的书是《python编程快速上手》,在学习第八章时遇到了理解上的困难。问题主要是在接触sys.argv和在创建bat文件时,出现了理解上的障碍。 sys.argv这个函数是我们写python脚本中最常

  • 详解如何为SpringBoot项目中的自定义配置添加IDE支持

    导言 代码是写给人看的,不是写给机器看的,只是顺便计算机可以执行而已 ——《计算机程序的构造和解释(SICP)》 导言 在我们的项目里经常会出现需要添加自定义配置的应用场景,例如某个开关变量,在测试环境打开,在生产环境不打开,通常我们都会使用下面的代码来实现,然后在Spring Boot配置文件中添加这个key和Value Application.java:p

  • intellij idea中spring boot properties文件不能自动提示问题解决

    1.如图所示,Spring配置文件应该带有是树叶标识,但此处显示的为普通的properties文件 2.选择Open Module Settings p style="text-alig

  • intellij idea使用git stash暂存一次提交的操作

    分享一个小技巧: 在日常开发中有时候需要切换到另外的一个分支,但在某些条件下当前的分支上存在一些文件尚未提交,这时候就需要使用到idea自带的git stash功能来"暂存"一些尚未提交的文件,待切换到另外的分支上再提交到新的分支上去。 任意打开一个项目进行演示: step1:切换到分支a img src=

  • 解决idea 暂存文件或idea切换分支代码丢失的问题

    idea切换分支时,修改过的代码文件全部不见了 找了一下问题,切换分支时,idea自动会创建暂存文件, 点开,右边View -- 即可显示暂存文件。 点击Apply Stash 即可将暂存文件应用到当前分支。