自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ADFS是如何工作的

ADFS(Active Directory Federation Services)实现身份验证及单点登录(SSO,Single Sign-On)的过程涉及多个步骤,这些步骤确保用户只需一次登录就可以访问多个受信任的应用程序和服务。通过这个过程,ADFS提供了一个集中化的身份验证机制,使得用户只需在ADFS中进行一次登录,就可以无缝地访问多个受信任的应用程序和服务,极大地提升了用户体验和安全性。

2024-04-18 09:36:42 265

原创 OAuth 2.0、OpenID Connect、SAML这篇看明白

更进一步,OAuth 2.0虽然解决了用户需要记住大量账号的问题,但是还存在一个问题就是用户每登入一个应用都需要让微信授权登入一次,而OpenID Connect就是解决用户一次登入后,登入其他应用时无需重复登入的问题.策略就是使用一个身份提供者保存用户首次登入的凭据,登入其他应用时首先从身份提供者里面找是否有用户登入的有效凭据,如果存在则可以直接登入(具体可以按IP或者mac识别是否在同一台设备登入),类似的第三方身份提供者如identityServer4.SAML特别适用于大型网络环境。

2024-04-17 14:54:09 467

原创 非数字原生企业如何进行数字化转型

回答了非数字原生企业完成数字化转型后的企业IT架构,那边这篇文章将讨论如何开展数字化转型的问题。4)办公协同:这方面一般企业可以选择使用第三方的应用,如企业微信及集成在企业微信上的企业应用。是转型成功的重要驱动力。企业需要有自上而下的决心,结合业务战略明确转型后的愿景。1)客户体验:专注于为客户,公司内部用户,合作伙伴,供应商提供极致的体验.要实现企业的数字化转型,离不开强大的IT基础设施,大数据,云,AI,2)作业模式的重构:如实现智能制造,智能仓储系统.3) 运营模式的重构:如CRM,SRM。

2024-04-17 14:27:31 261 1

原创 领域驱动设计(DDD)学习心得

领域驱动设计 DDD

2024-04-12 09:30:42 325

原创 非原生数字企业IT架构心得

概括的说,企业的IT资产无非包括数据和流程,本质是由数据和流程承载企业的价值流,非数字原生企业的数字化转型就是将原有的大量单体应用按模块或切面进行拆分、重构建立起一个面向企业的大的"单体"应用.1)微服务架构主要是面向处理高并发高频率请求的场景,以便支持服务的水平扩展,如在大量请求时自动扩服务的服务器数量及服务部署数量以支撑业务.而传统的制造型企业并不会有这样的场景,因此并不采用微服务架构.1)建立企业级的数据湖作为数据底座.将各个业务模块的核心数据汇聚到数据湖,并在此基础上建立数据分析&决策应用。

2024-04-11 17:42:43 169

原创 windows服务器中nginx 服务器代理配置

注意,如果有使用include的子配置文件,ssl_certificate和ssl_certificate_key必须在http模块下配置,意味着这个是全局只使用一个的。如下将crmappdingtalk-dev.xxs.com:7400和crmappdingtalk-dev.xxs.com:7400/serviceapp转发到内部不同的站点.nginx的nginx.config配置中可以使用include命令把一些按模块区分的配置独立出来。#----------新的app 钉钉---------

2024-03-18 09:47:59 559

原创 SQLServer CROSS APPLY使用

2.当我们需要多次通过子查询返回同一个表的不同字段但又不合适使用表连接时(如上,根本没有可以关联的表),可以使用CROSS APPLY,它可以一次返回你需要的多个字段.可以将一个表值函数或子查询应用于另一个表或结果集的每一行,并返回一个结果集。是一个用于将一个表值函数或子查询与一个表相关联的运算符。它类似于其他数据库系统中的。用于将一个表值函数或子查询应用于另一个表的每一行,并返回一个与原始表相关联的结果集。的表,其中包含部门的名称和描述。,原始表的所有行仍然会被返回,但与部门相关的列将为 NULL。

2024-01-20 16:35:58 1438 2

原创 JS中一些很有用但不太熟悉的特性

这个操作符在处理数组和对象时非常有用,可以简化代码并提高可读性。是一个扩展操作符,也被称为剩余操作符或展开操作符。:在解构赋值中,可以使用剩余操作符来收集剩余的值到一个数组或对象中。:与函数参数展开结合使用,用于收集剩余的参数到一个数组中。:用于将一个数组或对象展开为函数的参数。:用于将一个数组展开到另一个数组中。以上就是JavaScript中。在JavaScript中,

2024-01-06 14:06:37 391

原创 数字证书相关知识

公钥和私钥是唯一一对匹配的非对称的秘钥,公钥和私钥是有算法的,比如RSA,这种算法标准是由公钥加密标准(The Public-Key Cryptography Standards,PKCS)制定的,PKCS也分版本PKCS#8,PKCS#12。是证书的原始文件格式。身份验证和数据校验。应用接口(API):PKI的价值在于使用户能够方便地使用加密、数字签名等安全服务,因此一个完整的PKI必须提供良好的应用接口系统,使得各种各样的应用能够以安全、一致、可信的方式与PKI交互,确保安全网络环境的完整性和易用性。

2023-12-22 09:31:31 349

原创 Vue自定义组件学习笔记

2.自定义组件中emits选项用于设置组件的事件列表,以供实例化父组件赋值绑定具体的function,本质上还是子组件对父组件暴露的事件类型的参数;属于初始化配置,实际执行事件时还是从子组件的原生事件为起点逐层执行父组件配置的事件.1.我们平时写的.vue文件实际上就是一个自定义组件,只是一般不会设置props选项,相当于无参构造(props类似与C#的构造参数);vue关于自定义组件的描述中,父组件表示使用侧实例化的组件,子组件则是定义侧的组件,类似与C#中的类的实例和类;

2023-11-04 14:59:52 369

原创 Vue中computed和watch的区别

计算属性注重在一个值变化时改变另一个值,在依赖发生变化时或vue初始化时会执行,执行时使用的是依赖项的newValue而非oldValue,必须return一个值,无法异步执行,2)深度监听:如果监听的属性为一个包含多个子属性的对象时,如果需要在子属性发生变化时触发watch监听事件,则需要显式的配置deep:true。1)注重对data或computed中的属性的监听,相当于给属性配置一个onchange事件,在监听的属性值发生变化时执行,必须是同步方法,无法用于更改dom(更改dom应该是异步方法)

2023-10-25 15:08:27 184

原创 js中[同步调用异步]/[异步调用异步]执行逻辑

【代码】js中[同步调用异步]/[异步调用异步]执行逻辑。

2023-07-17 15:52:04 318

原创 js中call和apply的使用

1、call,apply都属于Function.prototype的一个方法,它是JavaScript引擎内在实现的,因为属于Function.prototype,所以每个Function对象实例(就是每个方法)都有call,apply属性。既然作为方法的属性,那它们的使用就当然是针对方法的了,这两个方法是容易混淆的,因为它们的作用一样,只是使用方式不同。2. a.tip.apply(b)的意义等同与调用a的tip方法:a.tip();3、相同点:两个方法产生的作用是完全一样的。

2023-06-14 10:06:38 606

原创 asp.net core中间件实现

面向AOP的经典案例,特此记录.

2023-04-23 11:37:20 105

原创 SQL Server只生成行号不按具体字段排序

【代码】SQL Server只生成行号不按具体字段排序。

2023-03-15 13:15:17 213

原创 SQL Server树形结构数据查询

SQL Server

2023-03-15 13:07:51 1019

原创 sql server中临时表和表类型table的区别

sqlserver 临时表 表类型

2022-11-04 14:40:17 220

原创 sql server 字段值为中文时的排序、count()去重用法

【代码】sql server 字段值为中文时的排序。

2022-10-31 13:45:51 1055

原创 一种防止单次接口调用失败多次重复调用的实现

【代码】一种防止单次接口调用失败多次重复调用的实现。

2022-10-11 14:28:07 445

原创 sql server中如何在存储过程正文查询指定的字符串

从存储过程查询指定字符串

2022-07-01 14:10:38 1091

原创 Visual Studio 老项目如何升级C#版本

我们经常会需要维护一些老的web项目,升级visual studio 和.net框架,升级后可能默认的C#版本也需要同步升级,以vs2015为例,我的默认C#版本为C#5.0(估计是因为没有升级,正常应该是C#6.0),对一个老的web项目从.net3.5升级到.net4.7.1,迫不及待的想要用C#新特性,结果C#版本还是5.0,一顿百度终于解决啦:解决办法:nuget 安装两个包的对应目标框架最新版:Microsoft.CodeDom.Providers.DotNetCompilerPlat

2022-04-21 09:53:47 3822

原创 npm 还原package遇到的坑

还原package时需要从git还原,因此基本是在git下载时遇到的问题:1.需要下载配置github客户端,配置SSH时注意选择Use External OpenSS,同时建议一并安装TorToiseGit,并配置环境变量D:\Program Files\Git\cmd(具体根据安装目录,配置完成后cmd:git 如果仍然无效,需要重启电脑。2.遇到的报错1:The unauthenticated git protocol on port 9418 is no longer supported.

2022-04-19 00:03:06 914

原创 ftp上传文件时自动检测并创建yyyymm文件夹代码段

//判断月份文件夹是否存在 #region 增加文件夹是否存在的判断,不存在则新增 Simon OUyang 2020-11-09 ftpclient.Connect(); ftpclient.Login(); ftpclient.KeepAlive(); Aspose.Network.Ftp.ListItem[] files = ftpclient.L...

2022-04-14 09:01:22 282

原创 easyui常用校验规则扩展

$.extend($.fn.validatebox.defaults.rules, { CHS: { validator: function (value, param) { return /^[\u0391-\uFFE5]+$/.test(value); }, message: '请输入汉字' }, english : {// 验证英语 validator : function(value) { ..

2022-03-18 14:38:39 362 1

原创 SQL/PL SQL

在oracle developer 客户端输入一下SQL: for item in ( with cte0 as ( select t.sub_id,t.m011_qty,(ROW_NUMBER() OVER (PARTITION BY t.s

2021-12-27 16:32:20 396

原创 关于js中prototype的一点领会

所有javascript对象均是从prototype继承,而prototype通过constructor属性指向构造器来关联.这样形成从构造器到prototype 到javascript对象的全链路.此外,js内置的Object提供对所有js对象属性的操作函数。

2021-11-25 11:15:49 575

原创 Oracle获取一星期中的固定时间

select to_char(sysdate,'d') from dual;--7,当前时间为一周的第几天,按周日为第一天select to_char(trunc(sysdate, 'd'),'yyyy-mm-dd') from dual;--2021-10-17 当前周次的第一天(周天)select to_char(trunc(sysdate, 'd')+5,'yyyy-mm-dd') from dual;--2021-10-22 基于当前周第一天偏离天数select to_char(trun.

2021-10-23 11:29:22 273

原创 IE如何调试代码

我们现在开发基本都是基于用chrome来进行开发和调试,但是用户使用的可能是老版的IE8之类的浏览器,这样就存在一个兼容性的问题。老版的IE有些代码并不认识,比如Array.forEach(),Array.filter()等,这是我们如何调试呢。1.按F12打开IE的开发人员工具,脚本->启动调试这样,js自动会在报错的代码处命中。...

2021-10-14 09:02:29 1476

转载 SQL Developer 采用insert 方式导出数据再导入时日期格式无效问题解决

用Oracle SQL Developer导出的sql文件再导入时出现报错“无效的月份”REM INSERTING into T02.PARKCUSTOMERSET DEFINE OFF;Insert into T02.PARKCUSTOMER (PCNO,STARTDATE,ENDDATE,PCSTATUS) values (102,to_date('24-JAN-18','DD-MON-RR'),to_date('16-AUG-18','DD-MON-RR'),'Y');原因是Oracl

2021-09-18 10:21:12 958

原创 T-SQL与PLSQL语言特性区别

declare--定义类型TYPE rowitem IS record (name varchar(20),id number);--定义单行记录类型TYPE tb is table of rowitem;--定义记录rowitem的tableTYPE tb1 is table of CMS_EOL_Result_MAIN%ROWTYPE;--定义已有表行类型的tableTYPE tb2 is table of CMS_EOL_Result_MAIN.R_ID%TYPE;--定义已有表字段类.

2021-08-19 15:44:40 437

原创 asp.net将百万级数据导出到xlsx文件&大文件输出解决方案

因Aspose.Cells Workbook Response.BinaryWrite(workbook.SaveToStream().ToArray()); 输出流输出sheet页最大行65536行;可改为先存储文件,再以url连接下载或文件流的方式输出:参考代码:其中dt拥有100万数据量 DataTable dt = cms_bl.EOL_Regist.ExportALLEOL_list(""); if (dt != null) { .

2021-07-28 16:36:59 1596

原创 SQL Server将指定字符连接的字符串转换为Table的函数

USE [RECRM_MSCRM]GO/****** Object: UserDefinedFunction [dbo].[c_fn_SplitString] Script Date: 2021/7/23 8:39:07 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER function [dbo].[c_fn_SplitString]( @Input nvarchar(max), @Separat.

2021-07-23 08:47:28 312

原创 Spark学习笔记01

在Spark中,所有RDD的转换都是是惰性求值的。RDD的转换操作会生成新的RDD,新的RDD的数据依赖于原来的RDD的数据,每个RDD(A,B,C,D,E,F,G)又包含多个分区。那么一段程序实际上就构造了一个由相互依赖的多个RDD组成的有向无环图(DAG)。并通过在RDD上执行动作将这个有向无环图作为一个Job提交给Spark执行。Spark对于有向无环图Job进行调度,确定阶段(Stage),分区(Partition),流水线(Pipeline),任务(Task)和缓存(Cache),进行优化,并在

2021-01-12 15:55:51 90

原创 SQL Server根据列名查表名

select a.name 表名,b.name 列名 from sysobjects a,syscolumns b where a.id=b.id and b.name='rszfw' and a.type='U'

2020-12-27 15:30:55 1156

原创 asp.net从ftp下载大文件再输出浏览器的实现(对文件同时进行读写操作)

很多时候安全起见,不会让用户通过浏览器直接从ftp下载文件,这时我们需要web从ftp下载文件再输出到浏览器,对于小文件我们可以一次性读到memorystream ,然后输出;但是大文件这样实现就会导致服务器内存爆炸,此时我们可以利用filestream,一边从ftp下载数据到本地一边从本地输出到用户客户端.至于为什么不直接让用户从ftp下载,这里就涉及到一个账号安全的问题。以下是通过异步的方式实现对下载文件同时进行读写操作的代码:using System;using System.Collecti

2020-10-29 14:16:42 464

转载 C#获取当前程序运行路径的方法集合

//获取当前进程的完整路径,包含文件名(进程名)。string str = this.GetType().Assembly.Location;result: X:\xxx\xxx\xxx.exe (.exe文件所在的目录+.exe文件名)//获取新的 Process 组件并将其与当前活动的进程关联的主模块的完整路径,包含文件名(进程名)。string str = System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName;r

2020-10-21 14:07:00 150

原创 一个winform客户端只允许启动一个实例的代码

应用程序入口代码: /// <summary> /// 应用程序的主入口点。 /// </summary> [STAThread] static void Main() { //Application.EnableVisualStyles(); //Application.SetCompatibleTextRenderingDefaul

2020-10-10 09:01:15 155

原创 ADO OracleParameter使用

public static int SaveClientLog(ClientLogEntity log) { OracleParameter[] paras = new OracleParameter[11]; paras[0] = new OracleParameter("p_main_id", OracleDbType.Int32); paras[0].Value =log.MainId;//int类型 ...

2020-07-22 15:59:11 388

原创 Newtonsoft.Json序列化系列之一

最近开发中用到较多的json序列的业务实现,抽空学习了一下Newtonsoft.Json的相关内容,直接上演示代码,本篇关注点在json的序列化与反序列化using System;using System.Collections.Generic;using System.Data;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using Newtonsoft.Json;usi

2020-05-21 16:38:33 598

原创 oracle 数据库编程范式

在oracle数据编程过程中,我们需要遵循一定得范式来保持代码的健壮性。无论是函数还是存储过程都必须有异常处理块:create or replace FUNCTION CMS_DPS_GETW1W2QTY ( P_ITEMCODE IN VARCHAR2, P_YEAR_W1 IN number, P_WEEK_W1 IN number, P_YEAR_W2 IN numbe...

2020-05-15 15:52:35 96

空空如也

空空如也

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

TA关注的人

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