自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 本地生成完全不重复字符(无需数据库查找验重)

这里写目录标题引介代码测试结果引介在本地生成不重复字符,该方式能够保证字符数量大概在 9 - 17这个区间,生成的字符完全不重复,无需要数据库验重操作。生成逻辑是根据时间戳进行生成,所以对于生成的字符完全不会重复。注意:这种方式生成的字符一般是用于作为一些文档-分类等数据进行唯一标识的编码,当然也可以通过UUID等方式进行生成,但是这种方式能尽量缩小字符串的数量。如果只是想生成6位不重复的字符或者直接递增的,建议直接查库。代码/** * +_! 用于生成不会重复的唯一编码对象工具。 * *

2021-02-24 16:09:56 661 15

原创 接口型模式之桥接模式(Bridge)

桥接模式 [Bridge]使用场景使用意图桥接模式种类使用总结实际应用场景代码演示使用场景解除抽象与实现之间的耦合,使得二者能够独立演化使用意图将抽象和抽象方法的实现相互分离来实现解耦,以便二者可以相互独立的变化。桥接模式种类常规抽象: 将已有的相似方法抽象到对象的通用模型当中。我们假设一种场景, 类B 和 类C 都实现了相似的方法但是方法名不同和方法操作不同,此时如果想要将 B 和 C抽象并统一管理,那么则需要将相似的方法抽象为一个接口或者是一个抽象类A,该接口或者抽象类统一方法名和方法,

2020-07-31 16:33:55 1248

原创 Java中使用发布订阅模式

发布订阅者模式概述使用意图使用场景与MVC模式之间的关系逻辑方法展示代码演示概述发布订阅者模式其实在意图上等同于观察者模式,但是在结构上又有所不同。 在意图上,两者都是为对象创建一对多的关联关系,并且在对象发生改变之后通知其他对象。在结构上,观察者模式只有对象和观察者,发布订阅模式中存在 发布者、订阅者以及中间的调度中心。使用意图发布订阅者模式可以为对象创建一对多的关系,并在发布者发生改变时通知其订阅者。使用场景发布订阅者使用场景较为广泛,如今我们使用的消息中间件,如 Rocket MQ ,

2020-07-31 16:13:04 3476

原创 个人SpringBoot开源项目分享

Github 开源项目地址: https://www.github.com/BinSSSSS

2019-12-24 09:49:00 413

原创 WebSocket 实现 简易在线聊天室

项目重点WebSocket的使用@ServerEndpoint该注解标注一个WebSocket服务器,该注解有几个注意点:value 表示能够使用 该 WebSocket 的 url.enconders 表示在写入对象进行的编码方式(向 session对象写入数据最终还是需要转换为 String)@OnOpen 参数列表为: Session在存在新连接时触发该...

2019-09-10 11:25:27 432

原创 利用 C/C++ 在 Windows 中书写全局钩子

因为平时时间不多, 在此只提供代码和代码内注释,如果想要深入了解,可以自行百度,这里提供一个很简单的例子用于做键盘全局钩子,当你书写完毕,就可以自己添加快捷方式来打开应用程序#include <Windows.h>#include <WinUser.h>#include <iostream>#include <sstream>#includ...

2019-08-27 14:46:02 1139

原创 书写类绘制图片验证码

如果当你需要在注册或者是提交表单的时候使用验证码的话, 那么则可以使用该类Captcha.java 图片绘制类,该类使用了一个工具类。用户产生 0-9 A-Z-a-z的字符数组。package cn.tblack.bookstack.util;import java.awt.Color;import java.awt.Font;import java.awt.Graphics2D;i...

2019-08-27 14:38:28 181

原创 使用 exe4j打包Java程序

**通过 使用 exe4j可以对java程序进行打包- 打包步骤如下**首先在IDE工具中进行Jar文件的压缩。也可以使用 jar 命令进行压缩jar cvf 使用的名字.jar 路径或文件夹试例: jar -cvf ProcessTimer.jar ProcessTimer.class在Eclipse中只要右键点击项目并且点击导出命令即可之后点击导出jar file勾选....

2019-05-22 19:41:44 438

原创 Eclipse 添加注释模板

点击菜单栏的 Windwos --> Perferences–>Java–>Code Style-> Code Template --> Comments -->**展开之后。可以自己选择添加何种形式的注释: Files则是文件注释、 Types 类型注释、Fields字段注释、Methods 方法注释、Constructors 构造函数注释等…点击需要...

2019-04-16 09:25:41 5589

原创 使用WebStorm自定义快捷模板

对于编写jQuery网页代码每次都要编写重复的代码非常麻烦,在WebStorm提供了一个自定义模板的功能可以简化操作1. 编写重复代码框架<script src="src/js/jquery.js"></script> <script> $(function(){ //编写jQuery代码 })</script>...

2019-04-09 19:35:33 2032

原创 自写服务器搭建网站

这篇教程主要是告诉大家如何利用TCP和HTTP协议来完成网站的搭建。首先你需要有C/C++语言基础,且有服务器、客户端概念,如果你了解TCP或者HTTP协议的话,那么将会帮助你更快的学会如何搭建个人网站。该服务器使用的Windows中的IOCP模式来进行,我将put代码中最为重要的几个部分,如果你想要完整的代码。请email我(mail@tblack.cn)1.准备好HTML文件,也就是你所...

2019-03-30 19:44:39 579

原创 清除浏览器网页劫持(最全方法)

方法一:首先检测浏览器快捷方式是否正常,右键查看属性。查看目标位置是否正常方法二: 打开注册表查找劫持你主页的网站使用 WIN+ R 输入 regedit 打开, 并使用 Shift+F的方式进行查找注册表方法三: 打开注册表依次找到计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main查看 START P...

2019-03-16 13:19:28 42444 2

原创 使用QT5书写的护眼程序

有时候看书的时候电脑没关,然后看着电脑桌面感觉图标太多很不舒服,所以突发奇想自己书写一个护眼程序,主要也就是实现全屏播放图片,隐藏桌面任务栏和鼠标。功能比较简单,直接讲解几个重要的函数使用单独的一个线程来实现隐藏任务栏。隐藏任务栏代码如下void MyThread::hideTaskBar(bool bHide){ int nCmdShow; HWND hWnd; ...

2019-02-14 19:28:37 631 6

原创 C++模拟标准库智能指针shared_ptr

利用模板模拟标准库智能指针代码如下:#pragma once#ifndef SHARED_PTR_H#define SHARED_PTR_H#include &lt;iostream&gt;#include &lt;functional&gt;///书写自己版本的Shared_ptrtemplate&lt;typename _Ty&gt;class Shared_ptr{ ...

2019-01-07 15:47:27 207

原创 C++模拟标准库容器vector

使用模板写出简易版的标准库容器vector。主要使用了allocator来进行分配内存。代码存在大量注释。故实现细节查看代码///头文件Vec.h#pragma once#ifndef VEC_H#define VEC_H#include &amp;lt;initializer_list&amp;gt;#include &amp;lt;allocators&amp;gt;#include &amp;lt;memory&amp;gt...

2019-01-07 15:44:41 176

原创 C++ 模拟标准库函数 replace 进行单词替换

自己编写的单词替换函数,主要是模拟出标准库函数replace的方法。 缺点是只能替换单词,而不是检测相符的字符并替换,如 给出 HiImLissy 需要将Lissy 替换为 lissy 则无法实现,如果需要实现对于字符匹配进行替换的话,推荐使用标准库函数。主要使用了两种方式来进行replace。 在代码中都给出了注释以及解释。代码如下:///使用迭代器及insert和erase函数来进行替...

2018-12-23 19:59:34 1037

原创 C++ 分割字符串

对于C++ 标准库中没有分割字符串的方法。所以需要自己编写,我主要是利用了标准库的泛型算法以及sstream。代码如下///分离字符串 s:需要分离的字符串 v: 分隔出来的单词存放的容器 sep 分隔符void SplitString( std::string&amp; s, std::vector&lt;std::string&gt;&amp; v, const std::strin...

2018-12-23 19:42:03 1578

原创 Qt利用Mutex防止应用程序多开

只适用Windows版本 。代码如下: HANDLE mutex = CreateMutexA(NULL,FALSE,&amp;amp;quot;MyApp&amp;amp;quot;); //创建一个互斥量对象 防止程序多开! if(GetLastError() == ERROR_ALREADY_EXISTS) //如果之前已经打开了一个程序的话!那么显示错误信息并退出 {...

2018-12-21 09:44:21 1075

原创 Qt 子窗口与父窗口背景图片保持一致

在子窗口的样式表中添加 backgroud: transparent;或者是调用子窗口函数 childWidget-&amp;amp;gt;setStyleSheet(&amp;quot;backgroud: transparent&amp;quot;);

2018-12-21 09:34:19 1166

原创 UDP多播进行Linux与Windows数据交互

对于Linux上与Windows数据交互有很多方法 ,此处我来探讨利用多播进行Linux上与Windows上的数据交互首先说明多播的一个性质。 简要来讲,多播就是相当于只发送一次数据包,但是传播多次。多播主要使用的是D类IP地址: 224.0.0.0 ~ 239.255.255.255创建多播的方式多播的发送端 Linux int snd_sock; struct sockaddr_in...

2018-11-30 11:12:54 675 1

原创 二叉查找树的删除操作

对于二叉树的删除操作来说,存在三种情况**1.**当删除节点为叶节点的时候,此时将节点置为空**2.**当删除节点为根节点且该根节点只有一个子树的时候,此时需要替换掉删除元素,最后再进行释放**3.**当删除节点为根节点且根节点存在两个子树的时候,此时我们可以选择替换左子树的最大元素,或者右子树的最小元素C代码如下Tree de_tree(Item data, Tree t) //二...

2018-11-14 09:31:17 329

原创 对于分治法求大整数相乘代码以及思路

分治算法步骤:1. 分解,将要解决的问题划分为若干个规模较小的同类问题2. 求解,当子问题划分的足够小时,用较简单的方法解决3. 合并,按原问题的要求,将子问题的解逐层合并构成原始问题的解对于大整数相乘 需要如下几步:如 1234 5678首先进行分解: 取每个数字的一半长度12 3456 78接下来进行单个的运算12 * 56 (1200 * 5600)...

2018-11-14 09:20:21 2936 1

原创 北大AMC(1013 Counterfeit Dollar)代码

/* Memory: 100K Time: 16MS*/#include &lt;stdio.h&gt;#include &lt;string.h&gt;#include &lt;stdlib.h&gt;#include &lt;math.h&gt;/* 该程序是对于假币问题进行求解 假设存在A-L 12枚硬币 现在需要称重三次进行求解 每次称重时输入两组硬币组进行称重 然...

2018-11-06 14:29:11 286

原创 北大ACM(1012Joseph)代码

/* Memory 92K Time 47MS*/#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;/* 解约瑟夫问题 假如存在n个人 其中有k个坏人k个好人 每隔m个月就杀掉一个人,你需要保证所有的坏人都在好人前面被杀掉 并且最后剩下一个好人 现在要求你输入 k 其中前一个k的数量表示好人的数量 后一个k表示坏人的数量 然...

2018-11-02 15:24:09 387

原创 北大ACM(1011Sticks)代码

/* Memory 136K Time 16MS*/#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;string.h&gt;#define MAX_SIZE 64#define MAX_AMOUNT 50 //分解的最大数量为50int nCount;//int flagMinLen; ...

2018-11-02 15:21:57 544

原创 北大ACAM(1010STAMPS)代码

#include &lt;iostream&gt;#include &lt;vector&gt;#include &lt;algorithm&gt;using namespace std;/* 编写程序对于邮票的组合执行组合 并挑选出最优解 题目要求如下: 要求输入表示邮票的面值若干 不超过 25 个 对于输入的邮票 即使面值相同,同样视为不同的邮票种类 然后需要将该些邮...

2018-11-02 15:20:26 291

原创 北大ACM(1009Edge Detection)代码

/* Memory 172K Time 16MS*/#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;#include &lt;math.h&gt;/* 对于图像进行边缘检测编码。简单边缘检测算法规则如下 输出像素值设置为它与输入图像中所有周围像素之间的差的最大绝对值。 如下: 15 15 15 15 100 100 ...

2018-11-02 15:14:49 466

原创 北大ACM(1008Maya Calendar)代码

/* Memory 457K Time 0MS*/#include &lt;stdio.h&gt;#include &lt;string.h&gt;#define YEAR_SIZE 10000int main(){ ///玛雅日历的19个月,前18个月每个月20天。使用0-19来表示。 玛雅日历一年365天 char Maya[][10] = { "pop","no","z...

2018-11-02 15:12:54 301

原创 北大ACM(1007 DNA-sorting)代码

/* Memory 187K Time 0MS*/#include &lt;iostream&gt;#include &lt;string&gt;#include &lt;map&gt;#include &lt;algorithm&gt;using namespace std;bool cmpReverseCount(const pair&lt;string, int&gt; ...

2018-11-02 15:09:34 275

原创 北大ACM(1006Biorhythms)代码

/* Memory 87K Time 0MS*/#include &lt;stdio.h&gt;int main(){ int p, e, i, d; int t; int c = 0; int peakOfCycle; while (1) { scanf_s("%d %d %d %d", &amp;p, &amp;e, &amp;i, &amp;d); if (p...

2018-11-02 15:06:32 480

原创 北大ACM(1005I Think I Need a Houseboat)代码

#include &amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;#include &amp;amp;amp;lt;stdlib.h&amp;amp;amp;gt;#include &amp;amp;amp;lt;math.h&amp;amp;amp;gt;/* 路易斯安那地区每年都因为河水侵蚀每年减少 50m 平方英里。 Fred想要在该地方买一个房子,但是他需要确保自己的房子不会在居住过程中被侵蚀 假设侵蚀的面积

2018-11-02 14:55:41 300

原创 北大ACM(1003 Hangover)代码

/* Memory 156k Time 0MS*/#include &amp;lt;stdio.h&amp;gt;#define CARD_LEN_COUNT 500 int main(){ double cardOfLen[CARD_LEN_COUNT]; int cardOfCount[CARD_LEN_COUNT]; int i; int j; int n; double ...

2018-11-02 14:49:59 356

原创 北大ACM题目(1002) 代码C++

北大ACM题目(1002) 代码C++/* Memory 5124 Time 1188MS*/#include &amp;lt;iostream&amp;gt;#include &amp;lt;map&amp;gt;#include &amp;lt;string&amp;gt;#include &amp;lt;ctype.h&amp;gt;#include &amp;lt;algorithm&amp;gt;

2018-11-02 14:45:45 573

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除