自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 无代码搭建网站运营管理系统

对于很多公司来说,他们一般都有自己的网站,尤其是B2B的公司,B2C的公司要运营的则主要包括公众号、电商平台献上店铺等各大平台。但不管是哪一类平台,日常的运营工作是不能少的——自然,运营数据的管理也是不能少的。网站运营管理的作用促进网站运营管理规范化,让日常工作更有条例;为网站运营决策提供数据支持无代码搭建的网站运营管理系统一、 数据表首先,还是用将数据导入系统。也可以直接在系统应用中直接搭建数据表单,输入数据。网站运营的数据可以搭建的数据表单有网站日报(月报)、SEO日报(月报)、

2020-12-01 18:25:29 659

原创 TensorFlow代码重构为 Pytorch 代码中要注意的地方

注:下面的 TensorFlow 简称为 tf,Pytorch 简称为 torch1、tf 的 Variable 可替代为 torch 的 Variable (from torch.autograd import Variable),其中前者的参数 trainable=False,可替代为后者的 requires_grad=False2、torch 的 Tensor 方法传入的值不能是数值,而是应该将数值转换为 [val] 这样的列表3、tf 跟 torch 的部分函数,例如 tf 的 optimiz

2020-12-01 18:13:04 760

原创 android-svg使用调查android studio

什么是svgSVG是指可伸缩矢量图形 (Scalable Vector Graphics),它不同于传统的位图,不是通过存储图像中每一点的像素值来保存与使用图形,而是通过 XML 文件来定义一个图形,通过一些特定的语法和规则来绘制出我们所需的图像svg的优点很多,简单讲因为存储的是结构信息而非像素信息,体积小,不失真,不过不太适合层次复杂细节繁多的图片,毕竟它存储的相当于是存储了绘制路径的关键节点和画笔属性。svg也是有很多语法,可以实现很多效果和动画,关于svg的知识可以参考Android SVG技术

2020-12-01 18:11:16 326

原创 SpringMVC快速了解HandlerMapping

了解一下MVC模式 /Profile/经典MVC模式中,M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。其中,View的定义比较清晰,就是用户界面图丨MVC原理#SpringMVC简单介绍1、SpringMVC 是一个封装了Servlet层的框架,核心类是DispatcherServlet。2、SpringMVC 框架是以请求为驱动,围绕 Servlet 设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视

2020-11-30 21:50:16 286

原创 SpringBoot的底层实现原理是怎样子?

一、什么是SpringBoot?SpringBoot是一个快速开发框架,快速的将一些常用的第三方依赖整合(原理:通过Maven子父工程的方式),简化XML配置,全部采用注解形式,内置Http服务器(Jetty和Tomcat),最终以java应用程序进行执行。二、SpringBoot核心原理1.基于SpringMVC无配置文件(纯Java)完全注解化+内置tomcat-embed-core实现SpringBoot框架,Main函数启动。SpringBoot核心快速整合第三方框架原理:Maven继承依赖

2020-11-30 21:48:52 647

原创 iOS工程师如何在工作中提升自己?

引言古人云:“活到老,学到老。”互联网算是最辛苦的行业之一,“加班”对工程师来说已是“家常便饭”,同时互联网技术又日新月异,很多工程师都疲于应付,叫苦不堪。以至于长期以来流传一个很广的误解:35岁是程序员工作的终点。如何在繁忙的工作中做好技术积累,构建个人核心竞争力,相信是很多工程师同行都在思考的问题。本文是我自己的一些总结,试图从三个方面来解答:第一部分阐述了一些学习的原则。任何时候,遵循一些经过检验的原则,都是影响效率的重要因素,正确的方法是成功的秘诀。提升工作和学习效率的另一个重要因素是释惑和

2020-11-30 20:41:31 101

原创 IO流实现网络图片下载(java实现)

用流的方式在实现对网络图片的下载分析:参数:图片的网络地址:webURL保存到本地地址:localPath监听器:判断是否下载成功(这是一个观察者模式)具体代码如下:import java.io.*;import java.net.URL;import java.net.URLConnection;/**@author test*/public class DownLoadPicture {public static void main(String[] args) {//

2020-11-30 17:03:49 708

原创 Scala和Python中的None

总览Python中的Nonejava,c,c++,SQL等多数语言中都有一个null的概念,表示指针指向一个空地址。java没有地址一说,java中的null是没有分配指向的对象之意。python中的None也就相当于其他语言中的null,表示一个对象指向了一个空地址。python秉承一切皆对象的概念,所以None也是对象。它的类型是type(None) == NoneTypeNoneType唯一的一个实例就是None对于没有return的方法,或者什么也不return的方法,返回值就是Non

2020-11-30 15:26:24 564

原创 Django+redis+celery实现异步任务

1 Django中的异步请求Django Web中从一个http请求发起,到获得响应返回html页面的流程大致如下:http请求发起 -- http handling(request解析) -- url mapping(url正则匹配找到对应的View) -- 在View中进行逻辑的处理、数据计算(包括调用Model类进行数据库的增删改查)--将数据推送到template,返回对应的template/response。同步请求:所有逻辑处理、数据计算任务在View中处理完毕后返回response。在V

2020-11-30 15:23:05 407

原创 【前端JavaScript WebAPI】01 - 获取DOM元素 + 事件操作属性和样式

JS 的组成JS的组成Web API介绍1.1 API的概念API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,无需理解其内部工作机制细节,只需直接调用使用即可。API应用程序编程接口1.2 Web API的概念Web API 是浏览器提供的一套操作浏览器功能和页面元素的 API ( BOM 和 DOM )。现阶段我们主要针对于浏览器讲解常

2020-11-30 15:16:42 415

原创 kafka——Consumer API

一、Kafka 核心 API下图是官方文档中的一个图,形象的描述了能与 Kafka集成的客户端类型Kafka的五类客户端API类型如下:AdminClient API:允许管理和检测Topic、broker以及其他Kafka实例,与Kafka自带的脚本命令作用类似。Producer API:发布消息到1个或多个Topic,也就是生产者或者说发布方需要用到的API。Consumer API:订阅1个或多个Topic,并处理产生的消息,也就是消费者或者说订阅方需要用到的API。Stream API:

2020-11-30 00:40:29 327

原创 打包工具之Webpack(二):各部分配置

‘’’const path = require(‘path’);module.exports = {entry:’./main.js’, //执行文件入口output:{filename:‘bundle.js’,path:path.resolve(__dirname,’./dist’), //输出文件存放地址},module:{rules:[{test:/.css$/, //正则匹配所需css文件use:[‘style-loader’,‘css-loader?minimize’],

2020-11-30 00:31:47 253

原创 (FIFO)阻塞队列 — ArrayBlockingQueue源码分析

前言ArrayBlockingQueue 由数组支持的有界阻塞队列,队列基于数组实现,容量大小在创建 ArrayBlockingQueue 对象时已经定义好。 此队列按照先进先出(FIFO)的原则对元素进行排序。支持公平锁和非公平锁,默认采用非公平锁。其数据结构如下图:注:每一个线程在获取锁的时候可能都会排队等待,如果在等待时间上,先获取锁的线程和请求一定先被满足,那么这个锁就是公平的。反之,这个锁就是不公平的。公平的获取锁,也就是当前等待时间最长的线程先获取锁队列创建BlockingQueue b

2020-11-29 19:32:46 226

原创 +(void)load; +(void)initialize;有什么用处?

一,load函数调用特点:当类被引用进项目的时候就会执行load函数(main函数开始执行之前),与这个类是否被调用无关,每个类的load函数值会自动调用一次,由于load函数是系统自动加载的,因此不需要调用父类的load函数,但是手动调用父类的load也会导致父类的load函数执行1.当父类和子类都实现load函数时,父类的load执行顺序要优先于子类2.当子类未实现load方法时,不会执行父类的load方法3.类中的load方法执行顺序要优先于类别(Category)4.当有多个类别都实现了l

2020-11-29 19:31:53 377

原创 SpringBoot操作数据库失败application

1.确保数据库的url地址,用户名以及密码、端口号没有错误下面是我的application.yml文件代码:mybatis:config-location: classpath:mybatis/mybatiscfg.xmlmapper-locations: classpath:mybatis/mapper/*.xmltype-aliases-package: com.neu.voserver:port:9696servlet:context-path: /neuspring:appli

2020-11-29 19:31:42 145 1

原创 GOROOT环境配置,代理配置,让依赖包下载速度起飞

GO环境配置,代理配置GO基本环境展示先展示一下我自己的GO环境的配置(基于go1.12),基本就是配置GOROOT、GOPATH、GOPROXYmac的配置修改:使用zsh:vim ~/.zshrc使用bash:vim ~/.bash_profileGO配置文件配置GOROOTGOROOT就是GO的安装目录通常情况下mac在GOROOT="/usr/local/go"Windows在C:/go/配置GOPATH这个目录一般就是存放pkg和bin文件夹,或者也可以直接存放你的src

2020-11-29 19:31:28 408

原创 Solidity基础教程2——Safemath

本教程使用的开发环境是一款在线编译器——ChainIDE,具体的使用方法在之前的文章当中已经有讲解过,有需要的同学可以自行查看。网址:https://eth.chainide.com/序言变量值是一个程序最基础的部分,不管是各类的运算符,还是逻辑,都是由一个个值支撑的。Solidity是一种静态程序语言,也就是说它的每一个变量都需要对它指定类型(或者能推断出的类型)。在程序当中有可能会用到的是以下几种类型:布尔类型、整型、定长浮点型(不完全支持)、地址类型、常数类型。作为一个经历过一些其他语言的编

2020-11-29 19:31:07 648

原创 vue项目mock数据方案之一:webpack的devServer.before

一、webpack devServer.beforewebpack的devServer.before 可以提供了一个在 devServer 内部的 所有中间件执行之前的自定义执行函数。故:可以采用此方法来模拟后台数据接口。详情可查看:webpack官方中文文档-开发服务器(DevServer)说明:以下所述“配置”和“使用”均是在vue-cli@3.0.5脚手架生成的vue项目中的案例。data.json:是mock后台数据的json文件,基本格式为:{“seller”: {…},“goo

2020-11-29 19:30:49 2275

原创 大数据入门:Scala大数据黄金语言

在大数据的学习当中,关于编程语言选择的部分,是很多人在学习初期非常关注的。在企业大数据平台开发场景下,Java语言是主流选择,其次涉及到Spark部分,就不得不提到Scala语言。今天的大数据入门分享,我们就具体来讲一讲大数据黄金语言Scala。为什么Scala会有大数据黄金语言的说法呢,这其实与几个大数据重点框架组件有离不开的关系,我们熟悉的Spark,Kafka,Flink框架,核心代码都是由Scala完成的。掌握Scala,在学习大数据组件的源码上,是能够帮助我们更好地理解和深入的,同时,在大数据

2020-11-29 19:30:30 105

转载 Objective-C高级编程读书笔记:自动引用计数(ARC)

所有权修饰符ARC有效时,id类型和对象类型上必须附加所有权修饰符:__strong__weak__unsafe_unretained__autoreleasing__strong__strong修饰符是id类型和对象类型的默认所有权修饰符,在没有指定明确的所有权修饰符时,默认为__strong修饰符。id obj = [[NSObject alloc] inti];//等效于id __strong obj = [[NSObject alloc] inti];__strong表示对.

2020-11-29 19:29:25 68

转载 JVM学习:JDK、JRE、JVM

话不多说,先上图简图1362965-20190114161305916-1522316322.png详细图aHR0cDovL2hleWdvLm9zcy1jbi1zaGFuZ2hhaS5hbGl5dW5jcy5jb20vaW1hZ2VzL2ltYWdlLTIwMjAwNzI3MTIzNTExNTAxLnBuZw.png1、JDKJDK(Java SE Development Kit),Java标准开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以

2020-11-29 19:26:35 216

原创 Objective-C高级编程读书笔记:自动引用计数(ARC)

所有权修饰符ARC有效时,id类型和对象类型上必须附加所有权修饰符:__strong__weak__unsafe_unretained__autoreleasing__strong__strong修饰符是id类型和对象类型的默认所有权修饰符,在没有指定明确的所有权修饰符时,默认为__strong修饰符。id obj = [[NSObject alloc] inti];//等效于id __strong obj = [[NSObject alloc] inti];__strong表示对.

2020-11-29 19:22:43 125

原创 element销毁Dialog数据(简单粗暴)

在使用element开发通过之中使用Dialog弹窗创建数据或者数据回显在经常不过了。而且数据创建和数据编辑正常都是使用同一组件。出现的问题:使用dialog 提供的 属性 destroy-on-close 也并不能实现实时的dialog销毁,进行创建和编辑数据正常的切换,这时就可以使用强大的v-if进行dialog 直接销毁操作这个办法还是十分有效。代码如下:拓展知识(dialog弹窗拖拽):vue目录:src/utils/directives.jsimport Vue from ‘vue’

2020-11-29 19:18:23 1108

原创 Python 文本加密解密 中文TXT数据

写了个爬虫爬取了最新的银行联行号数据库大约12万行数据保存为csv,又用python的pandas模块写了个离线查询工具,方便自己也方便同事,然而csv和xlsx的读取速度实在不敢恭维,转为txt后几乎秒读。为了避免txt明文被善意修改影响正常使用被迫加密…代码如下(仅加密解密部分):#!/usr/bin/env python#AES-demoimport base64from Crypto.Cipher import AES‘’’采用AES对称加密算法‘’’str不是16的倍数那就补足为

2020-11-29 19:06:38 1478

转载 第69p,三元表达式与生成式,一种编程方式

大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第69篇文章,第三阶段的课程:Python进阶知识:三元表达式与生成式。一、三元表达式三元表达式是一种,代码在不失可读性的情况下,使代码变得更精简的写作方式;三元表达式在很多的编程语言中都支持;三元表达式中的三元指代码包含三个要素,即:条件、条件成立返回值、条件不成立的返回值。三元表达式的语法格式:条件成立时返回的值if条件 else 条件不成立时返回的值;示例1:x if x > 10 else 10表示:x大10时返回x,否则返回1

2020-11-29 13:36:53 1440

原创 LeetCode-031-下一个排列

实现获取 下一个排列 的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须 原地 修改,只允许使用额外常数空间。示例 1:输入:nums = [1,2,3]输出:[1,3,2]示例 2:输入:nums = [3,2,1]输出:[1,2,3]示例 3:输入:nums = [1,1,5]输出:[1,5,1]示例 4:输入:nums = [1]输出:[1]来源:力扣(LeetCode)链接:h

2020-11-29 12:48:49 63

原创 LeetCode-033-搜索旋转排序数组

给你一个整数数组 nums ,和一个整数 target 。该整数数组原本是按升序排列,但输入时在预先未知的某个点上进行了旋转。(例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请你在数组中搜索 target ,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。示例 1:输入:nums = [4,5,6,7,0,1,2], target = 0输出:4示例 2:输入:nums = [4,5,6,7,0,1,2], target = 3输出:-

2020-11-29 12:30:37 262

原创 SpringBoot项目traceId生成/日志打印

参考文章 : W3C_0101博文链接前言查看服务日志时,当服务被调过于频繁,日志刷新太快,会影响到联调、测试、线上问题的排查效率,能不能为每一个请求的日志打一个唯一标识呢?后面使用该表示去匹配,直接检索出该请求的日志?引入本文的正题,“traceId”。imageMDCMDC定义 Mapped Diagnostic Context,即:映射诊断环境。MDC是 log4j 和 logback 提供的一种方便在多线程条件下记录日志的功能。MDC 可以看成是一个与当前线程绑定的哈希表,可以往其中添

2020-11-29 12:29:17 2641

原创 9.利用对象的析构函数避免资源的泄露

一般做法例如现在有一个任务是:读取信息,根据信息类型新建对象指针,处理完成后删除,通常我们会如下实现:void memberFunc(istream& data){while (istream) {Obj* ptr = read(data);ptr->process();delete ptr;}}如果没有delete ptr,每次调用read()函数都会在堆区开辟一个空间存放对象,这个循环很快便会出现资源泄露的问题即使有delete ptr,如果在process()函数中

2020-11-29 12:27:55 202

原创 【前端】15 - JavaScript基础-内置对象

一、lambda表达式的格式:例:(x, y)-> { };左侧:lambda 表达式的参数列表中间:lambda 表达式的操作符右侧:lambda 表达式执行的功能(lambda 体)二、lambda 表达式的支持:必须是“函数式接口”才支持lambda表达式函数式接口(functional interface):只有一个抽象方法的接口,@FunctionalInterface注解可以检查接口是否是函数是接口三、java 四大内置核心函数式接口:Consumer:消费型接口 voi

2020-11-28 22:26:06 82

原创 【前端】09 - JavaScript基础-内置对象

内置对象概念JavaScript 中的对象分为3种:自定义对象 、内置对象、 浏览器对象。前面两种对象是JS基础 内容,属于 ECMAScript; 第三个浏览器对象属于JS独有的, JS API 讲解内置对象就是指 JS 语言自带的一些对象,这些对象供开发者使用,并提供了一些常用的或是最基本而必要的功能(属性和方法),内置对象最大的优点就是帮助我们快速开发。查文档查找文档:学习一个内置对象的使用,只要学会其常用成员的使用即可,我们可以通过查文档学习,可以通过MDN/W3C来查询。Mozi.

2020-11-28 14:28:29 90

原创 wordpress手动自定义文章显示数量

WordPress每页显示的文章数在后台阅读设置中指定,会应用到blog列表页(通常是首页)、搜索页、标签页、分类页以及时间索引页面,加入这些页面的结构不尽相同,例如有的显示标题和摘要,有的只显示标题,那么指定相同的页数就不适用于每个页面了。要根据页面类型指定每页显示文章数,需要写代码实现。推荐的方法修改每页显示的文章数也就是修改posts_per_page参数,将下面的代码放到functions.php中即可实现,代码来自WordPress Answers。function custom_posts

2020-11-27 20:56:41 210

原创 用在线程安全上面pthread_mutex_t

是时间片轮转调度算法和优先级调度算法的综合和发展。有多个优先级不同的队列,每个队列里面有多个等待线程。CPU每次从优先级高的遍历到低的,取队首的线程运行,运行完了放回队尾,优先级越高,时间片越短,即响应越快,时间片就不是固定的了。队列内部还是用先来先服务的策略。三、多线程工作的概念和意义多CPU计算机中,各个线程可以占用不同的CPU:因为线程是处理机调度的单位每个线程都有一个线程ID、线程控制块TCB:类比没有引入线程的进程的进程ID和进程控制块PCB线程也有运行、就绪、阻塞三种基本状态线程

2020-11-27 20:55:01 172

原创 深入理解iOS中的线程CPU调度算法

一、关于线程和调度的一些基本概念1.1 什么是线程线程是操作系统能够进行运算调度的基本单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。和进程类似,一个线程也有就绪、运行、阻塞三种基本转状态。线程是处理机的独立调度单位,多个线程可以并发执行。每个线程都应有一个唯一的标示符和线程控制块。线程控制块记录了线程执行的寄存器和栈等现场状态。1.2 时间片时间片是分时操作系统分配给每个正在运行的进程微观上的一段

2020-11-27 20:53:12 1045

原创 webpack DLL 动态链接库基础的包

是什么?许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即 DLL 文件,放置于系统中。当我们执行某一个程序时,相应的 DLL 文件就会被调用。一个应用程序可使用多个 DLL 文件,一个 DLL 文件也可能被不同的应用程序使用,这样的 DLL 文件被称为共享 DLL 文件。— 百度百科翻译一下,在 webpack 中的动态链接库就是:由于每次更改了内容 webpack 都会自动重新编译打包,如果我们把用到的如 react、jquery 这些外部库抽离出去,改变文件的时候不让

2020-11-27 20:41:32 159

空空如也

空空如也

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

TA关注的人

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