- 博客(12)
- 资源 (4)
- 收藏
- 关注

原创 应用服务API接口应该如何设计
前段时间忙于狐小E中台开发,中台嘛,主要服务于各个轻应用(第三方系统),这时候跟各个轻应用之间的数据交互与传递就在所难免了。那个如何保证数据在传输过程中安全呢?除了https协议之外,能不能加上通用的一套算法以及规范来保证传输的安全呢? 随着脚法慢了下来,也可以静下心来梳理一下我们的开发经验,把常用的一些API设计的安全方法总结一下,可能不一定是最好的,有更牛逼得实现方式,但是这篇是我自己的经验分享。 Token简介 Token:访问令牌access token, 用于接口中, 用于...
2020-07-09 09:31:37
694
原创 简简单单实现SSO(Single Sign On)
需求 多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 A 网站和 B 网站是同一家公司的关联服务。现在要求,用户只要在其中一个网站登录,再访问另一个网站就会自动登录,请问怎么实现? 涉及到的关键点: 这里就涉及到了跨域认证以及 前端页面JavaScript 跨域问题。 一、跨域认证问题 互联网服务离不开用户认证。一般流程是下面这样。 用户向服务器发送账户和密码 服务器验证通过后,在当前会话 (session)里保存相关数据,如用户角色、用户ID等 服务器向用...
2020-09-25 15:27:30
470
原创 聊聊SpringBoot中的@EnableAutoConfiguration注解
引言 @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @AutoConfigurationPackage @Import({AutoConfigurationImportSelector.class}) public @interface EnableAutoConfiguration { String ENABLED_OVERRIDE_PROPERTY = "sprin
2020-08-25 15:28:02
1117
转载 dpi 、 dip 、分辨率、屏幕尺寸、px、density 关系以及换算
dip : device independent pixels ,设备无关像素。 我看很多帖子写的五花八门的,关于d的,什么display啊各种都有,既然是设备无关,我还是觉得device靠谱。 dp就是dip px : 像素不多说 dpi :dots per inch , 直接来说就是一英寸多少个点。常见取值 120,160,240。我一般称作像素密度,简称密度 density
2017-09-15 16:22:22
458
转载 Java创建多线程的三种方法
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。 1、继承Thread类实现多线程 继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的
2017-09-14 09:24:33
300
原创 第一篇 Activity的运行模式(TaskStack和LaunchMode)
在面试初学者的时候经常被问到此问题,而此问题也是初学者的软肋,所以总结一下,供大家参阅。 TaskStack: 在Android中,系统用Task Stack (Back Stack)结构来存储管理启动的Activity对象,一个应用启动,系统就会为其创建一个对应的Task Stack来存储并管理该应用的Activity对象,只有最上面的任务栈的栈顶的Activity才能显示在窗口中
2017-09-14 08:18:03
259
原创 Server端判别客户端访问的客户端类型
由于项目需求,简化移动App安装,需要在Server端判别客户端的类型:普通PC,Android,IOS,Tablet. 核心原理:解析Request对象,获取“User-Agent”字段对应的值 private static final String[] KNOWN_MOBILE_USER_AGENT_PREFIXES = new String[] { "w3c ", "w
2017-09-04 14:41:48
388
原创 高效实现List反序功能的实现
高效实现List反序功能的实现 Code: 利用Collections.reverse(List list) 可以简单实现,但是面试中经常会被问到,让面试者实现此功能,贴出代码希望有所帮助。 private void reverse(List list) { int size = list.size(); ListIterator front = (ListIterator
2017-08-29 11:05:08
2167
原创 3D图形的绘制和操作
3D 图形的绘制和操作 前段时间一直在做3D图形的绘制,最初打算用OpenGL,但是项目很急,所以就在自己写的一些算法。 此Demo实现的功能: (1)3D立方体的绘制,只绘制了梯形立方体,关键点的绘制,其他立方体的大家可以根据算法对点赋值就是了。 (2)3D立方体的操作,平移操作,旋转操作(鼠标操作,并不是单一的围绕X、Y、Z向量的旋转)。 大家有需要的可以密我QQ
2012-09-20 16:29:10
659
原创 类的内存布局-sizeof(类对象)
类的内存布局-sizeof(类对象) 一、简单对象 #include class A { public: int a; char b; static int c; virtual ~A(){}; }; int A::c=123; int main() { A asimple; cout return 0; } //result=4+4+1+3=12即字节对齐(虚指
2012-09-14 09:28:53
486
原创 c++ 对数组中的10个元素进行升序和降序排序
#include using namespace std; int main() { const int n=10; int smallIndex, i, j, a[n]; cout for(i=0; i cin >> a[i]; for(i=0; i { smallIndex = i; for(j=i+1; j if(a[j]
2012-08-14 19:05:38
8675
原创 C++ 面试经典考题1个
C 基本数据类型: char(字符1个字节)、int(整型4个字节)、float(单精度浮点型4个字节)、double(双精度8个字节) sizeof运算: sizeof(void *) = 4; 任何类型指针变量为32位即4个字节 C++基本数据类型:在C语言的基础上新增加2个数据类型:bool(布尔1个字节) 、wchar_t(宽字符2个字节) sizeof(bool *) =
2012-07-09 11:53:51
463
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人