清除提交到github上的账号密码

一、删库 。。。。 二、使用BFG Repo-Cleaner 地址: BFG Repo-Cleaner 简单使用 #克隆副本 git clone --mirror git://example.com/example.git #清理分支 java -jar bfg-1.13.0.jar --replace-text pwd.txt example.git cd example.git & git reflog expire --expire=now --all && git gc --prune=now --aggressive & git push git 取消对某个文件的track .gitignore无法对已经track的文件忽略 git rm --cached example.files git commit git push

2018-11-01 · 1 min

Java8 Stream

代码示例: public class Java8Stream { public static void main(String args[]) { System.out.println("使用 Java 7: "); // 计算空字符串 List<String> strings = Arrays.asList("abc", "", "bc", "efg", "abcd", "", "jkl"); System.out.println("列表: " + strings); long count = getCountEmptyStringUsingJava7(strings); System.out.println("空字符数量为: " + count); count = getCountLength3UsingJava7(strings); System.out.println("字符串长度为 3 的数量为: " + count); // 删除空字符串 List<String> filtered = deleteEmptyStringsUsingJava7(strings); System.out.println("筛选后的列表: " + filtered); // 删除空字符串,并使用逗号把它们合并起来 String mergedString = getMergedStringUsingJava7(strings, ", "); System.out.println("合并字符串: " + mergedString); List<Integer> numbers = Arrays....

2018-10-07 · 3 min

Java8 Date AND Time API

Java8 引入了新的时间类 使用 LocalDate 和 LocalTime 创建 LocalDate 对象并读取值 //2013-03-06 LocalDate date = LocalDate.of(2012,03,06); //2012 int year = date.getYear(); //MARCH Month month = date.getMonth(); //TUESDAY DayOfWeek dow = date.getDayOfWeek(); //6 int day = date.getDayOfMonth(); //31 int len = date.lengthOfMonth(); //false boolean leap = date.isLeapYear(); //使用工厂方法获取系统日期 LocalDate today = LocalDate.now(); LocalTime time = LocalTime.now().withNano(0);//去除毫秒 TemporalField 是一个接口, 定义了如何访问 temporal 对象某个字段的值. ChronoField 枚举实现这一接口. int year = date.get(ChronoField.YEAR); int month = date.get(ChronoField.MONTH_OF_YEAR); int day = date....

2018-10-05 · 1 min

JSP 九大内置对象常用方法

1. request 对象常用方法 request 是来自客户端的请求. 客户端的请求信息封装在 request 对象中. 以下 HttpServletRequest 类的实例. 方法 ( 类型 + 方法名 ) 描述 String getParameter(String strTextName) 获取表单提交信息 Enumeration getParameterNames() 返回可用参数的枚举 String[] getParameterValues(String name) 返回包含参数 name 的所有的数组 Enumeration getAttributeNames() 返回所有属性名的属性值 Object getAttribute(String name) 返回指定属性的属性值 String getCharacterEncoding() 返回字节编码方式 String getProtocol() 获取用户使用的协议 String getServletPath() 获取用户提交信息的页面 String getMethod() 获取客户提交信息的方式 BufferReader getHeader() 获取 HTTP 头文件的 accept、accept-encoding 和 Host 的值 String getRemoteAddr() 获取客户的 IP 地址 String getRemoteHost() 获取客户机的名称 String getserverName() 获取服务器的名称 int getServerPort() 获取服务器端口号 2....

2018-10-01 · 2 min

位运算笔记

位运算 & 、|、 ^ a & a = a a | a = a a ^ a = 0 a & 0 = 0 a | 0 = a a ^ 0 = a a | ( a & b ) = a a & ( a | b ) = a a、b值交换 a ^= b; b ^= a; a ^= b; 判断奇偶(取最后一位) a & 1 <==> a % 2 i+1位置为1 // 1110 => 1111 a |= 1 << i i+1位置为0 // 1111 => 1101 a &= ~(1 << i) 取出i+1位 // i = 2, 7 => 4 a = a & (1 << i) 删除最后的1 // 1100 => 1000 a = a & (a-1) 在对应i+1位,插入b的对应位 a |= 1 << i; (a的bit位置1) a & (b & 1<<i) (与b的bit位相与) 得到最高位的1 a = a |(a>>1); a = a |(a>>2); a = a |(a>>4); a = a |(a>>8); a = a |(a>>16); return (a+1)>>1; 检测一个无符号整数是否是2^n -1的形式 x&(x+1) 移位 在Java中正数>>等价于>>>,负数在内存中已补码形式保存,>>>表示无符号右移。...

2018-08-01 · 1 min

20行代码的签到脚本(Python)

懒得每天在某个网站签到,写了一个python脚本扔在云主机上。网站很简单,代码就几十行。 签到脚本 import requests username = "####" password = "####" loginUrl = "登录路径/auth/login" s = requests.Session() logindata = { 'email':username, 'passwd':password, 'remember_me':'ture', } r = s.post(loginUrl,data=logindata) r = s.get(loginUrl) checkinUrl="签到的路径/user/checkin" rr = s.post(checkinUrl)#执行签到 rr = s.get(loginUrl) # print(rr) # print(rr._content.decode()) exit() 在Linux上定时执行这个脚本 crontab -e 进入编辑模式,设置每天8:00运行一次。 crontab的语法规范 分钟 小时 日期 月份 周 命令 00 8 * * * python /opt/checkin.py

2018-07-28 · 1 min

Django重置后台密码

emmm时间长忘记密码了 执行 $ python manage.py shell 修改 In [1]: from django.contrib.auth.models import User In [2]: user = User.objects.get(username='Username') In [3]: user.set_password('Password') In [4]: user.save() In [5]: exit()

2018-07-15 · 1 min

lambda表达式

lambda表达式是一行函数,是函数式编程的一种特性。 python lambda <参数>: 表达式 >>> f = lambda a,b: a + b >>> type(f) #<type 'function'> 获取整除2的数字 >>> list(filter(lambda x: x%2==0, range(10))) #[0, 2, 4, 6, 8] 列表并行排序 >>> list1 = [1,2,3,2,3];list2 = [9,4,3,5,6] >>> data = zip(list1, list2) >>> data = sorted(data) >>> list1, list2 = map(lambda t: list(t), zip(*data)) cpp c++里的形式是这样的 [capture list] (parameter list) ->return type {function body} 示例 #include <iostream> #include <string> #include <algorithm> #include <vector> using namespace std; int main() { //call the func....

2018-07-15 · 1 min

nothing added to commit but untracked files present解决方法

问题描述 $ git commit On branch master Initial commit Untracked files: .gitignore Test/ blogpost/ manage.py nothing added to commit but untracked files present 文件被追踪,但是没有被添加git中 解决 git status 列出当前目录所有还没有被git管理的文件和被git管理且被修改但还未提交(git commit)的文件 $ git add manage.py $ git add blogpost\ $ git add Test\ $ git add .gitignore

2018-05-30 · 1 min

c++枚举next_premutation

平均复杂度即为O(n) next_permutation() 会改变区间[begin,end)内的元素次序,使它们符合“下一个排列次序”; prev_permutation() 会改变区间[begin,end)内的元素次序,使它们符合“上一个排列次序”; 示例 #include <iostream> #include <algorithm> #include <vector> using namespace std; void f(vector<int> v){ for(int i=0;i<v.size();i++){ cout<<v[i]<<" "; } cout<<endl; } int main() { vector<int> v; v.push_back(1); v.push_back(3); v.push_back(2); cout<<"原排列 : "; f(v); for(int i=0;i<10;i++){ next_permutation(v.begin(),v.end());//升序序列 或者下一个排列次序 按照字典序生成下一个序列 f(v); } //for(int i=0;i<5;i++){ // prev_permutation(v.begin(),v.end());//降序 // f(v); //} return 0; }

2018-05-28 · 1 min