自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

simonGeek的专栏

深度思考 x 知识体系 x 行动中思考

  • 博客(149)
  • 收藏
  • 关注

原创 Idea Mac版本 打不开、点击没反应、报错

Mac版本的idea突然莫名奇妙的打不开,经过多方搜索,终于找到答案。

2022-11-02 09:56:19 2038 1

原创 Mac安装thrift 0.9.3版本

安装0.9.3版本的thrift

2022-09-13 16:31:51 850

原创 Mac OS X 下查看和设置JAVA_HOME

手把手教你Mac OS X 下查看和设置JAVA_HOME

2022-08-24 17:12:33 3425

原创 brew安装报错:fatal: not in a git directory Error: Command failed with exit 128: git

brew安装报错:fatal: not in a git directory Error: Command failed with exit 128: git

2022-08-24 16:40:02 2734

原创 【Git恢复代码】Git代码没有Commit,但是执行git reset --hard

场景描述:常规代码提交流程git add <文件名> git commit "提交说明" git pull git push但是,我们有时候遇到异常场景。场景1:代码没有执行git add 就丢失了,此时代码没有提交到本地仓库场景2:代码执行完Git add,但是,没有执行git commit ,没有代码提交到本地仓库,但是代码在本地仓库的缓存区场景3:代码执行git commit ,没有Git push 将代码推送到远端仓库。解决方案:场景1:利用ide的.

2021-04-08 17:29:34 3481 2

原创 (IntelliJ IDEA)Error: Module not specified(文件显示J)

0. 母工程的pom.xml添加需要添加的module配置1.open my project structure2.click module&&click plus button3.click import module,and find the module's pom4.make sure you select the module you want to import,then apply &finish...

2020-12-14 17:41:43 768

原创 jar包冲突的原理和解决方案

Maven中jar包冲突是开发过程中比较常见而又令人头疼的问题,我们需要知道 jar包冲突的原理,才能更好的去解决jar包冲突的问题。本文将从jar包冲突的原理和解决两个方面阐述Maven中jar包冲突的解决办法。一、Maven中jar包冲突产生原因MAVEN项目运行中如果报如下错误:Caused by:java.lang.NoSuchMethodErrorCaused by: java.lang.ClassNotFoundException十有八九是Maven jar包冲突造成的。

2020-12-10 19:19:34 1727 1

原创 @DateTimeFormat无效原因

一般都是使用@DateTimeFormat把传给后台的时间字符串转成Date,使用@JsonFormat把后台传出的Date转成时间字符串,但是@DateTimeFormat只会在类似@RequestParam的请求参数(url拼接的参数才生效,如果是放到RequestBody中的form-data也是无效的)上生效,如果@DateTimeFormat放到@RequestBody下是无效的。 ...

2020-02-29 21:37:58 11625 7

原创 【随笔】如何保持一个高效自律的学习心态

相信很多人在学习或者准备一件事情的时候,都想保持一个高效自律专注的状态,尽快拿到结果,但是,在过程中总是事与愿违,会被各种事情打断,会被自己的惰性打败,会被其他干扰信息拉偏方向,会被别人的眼光打乱阵脚。以上说的种种可能其实都是非常正常的存在,因为人总是有惰性的,人总是爱从众的,人总是不爱独立思考的。那么,我们知道这些不好的方面存的前提下,该如何克服呢。在这里,我想跟大家分享一下我的一点见解...

2020-02-21 23:48:28 979

原创 Java显示锁

显示锁Lock是显示锁的顶层实现的接口,所有的显示锁都是实现Lock接口1、ReentrantLockReentrantLock是对Lock的实现,提供与synchronized相同的互斥性和内存可见性。与进入或退出同步代码块相同的内存语义。1.1 轮询锁与定时锁内置锁中,死锁的唯一恢复途径是重启程序,防止死锁的唯一方法是避免锁顺序的不一致。在不能获取所有需要的锁时,可...

2020-02-17 23:20:39 279

原创 HashMap源码解析(体系化总结)持续更新

Java集合继承关系典型集合源码阅读HashTable 继承Dictionary类,实现Map类 使用Syncronize实现线程安全,读写都做 数组+单向链表存储 key的寻址算法:(hash & 0x7FFFFFFF) % tab.length; 32位 containsValue:两层遍历,外层遍历数组,内层单...

2020-02-17 23:19:18 192

转载 MySQL EXPLAIN详解

MySQL EXPLAIN命令是查询性能优化不可缺少的一部分,该文主要讲解explain命令的使用及相关参数说明。EXPLAIN Output Columns列名 说明 id 执行编号,标识select所属的行。如果在语句中没子查询或关联查询,只有唯一的select,每行都将显示1。否则,内层的select语句一般会顺序编号,对应于其在原始语句中的位置 select_t...

2019-05-29 18:05:19 233

转载 这可能是最容易上手的 NumPy教程

Oh the amazing things you can do with Numpy.NumPy is a blazing fast maths library for Python with a heavy emphasis on arrays. It allows you to do vector and matrix maths within Python and as a lot o...

2018-12-10 11:13:05 392

转载 这可能是最透彻的Python slice 分片教程

A Quick Guide to Slicing in Python – Become a Python NinjaSlicing is an incredibly useful and powerful feature of python. It gives you to ability to manipulate sequences with simple and concise synt...

2018-12-07 17:37:06 2016

原创 Linux系统配置ftp服务(vsftpd)以及ftp的访问

使用vsftpd服务1、检查是否安装vsftpd[root@ee65cbc5372d tmp]# rpm -qa | grep vsftpdvsftpd-2.2.2-24.el6.x86_64已安装 2、安装vsftpd[root@ee65cbc5372d tmp]#  yum -y install vsftpd3、启动vsftpd[root@ee65cbc537...

2018-08-23 16:33:16 6185

转载 链表排序总结

这篇文章分析一下链表的各种排序方法。 以下排序算法的正确性都可以在LeetCode的链表排序这一题检测。本文用到的链表结构如下(排序算法都是传入链表头指针作为参数,返回排序后的头指针)struct ListNode {  int val;  ListNode *next;  ListNode(int x) : val(x), next(NULL) {}  }; 插入排序(算法中是直接交换节点,时间...

2018-06-22 17:44:14 590

转载 桶排序

最快最简单的排序——桶排序  在我们生活的这个世界中到处都是被排序过的。站队的时候会按照身高排序,考试的名次需要按照分数排序,网上购物的时候会按照价格排序,电子邮箱中的邮件按照时间排序……总之很多东西都需要排序,可以说排序是无处不在。现在我们举个具体的例子来介绍一下排序算法。  首先出场的我们的主人公小哼,上面这个可爱的娃就是啦。期末考试完了老师要将同学们的分数按照从高到低排序。小哼的班上只有5个...

2018-06-21 18:16:07 498

转载 冒泡排序

【坐在马桶上看算法】算法2:邻居好说话:冒泡排序       简化版的桶排序不仅仅有上一节所遗留的问题,更要命的是:它非常浪费空间!例如需要排序数的范围是0~2100000000之间,那你则需要申请2100000001个变量,也就是说要写成int a[2100000001]。因为我们需要用2100000001个“桶”来存储0~2100000000之间每一个数出现的次数。即便只给你5个数进行排序(例...

2018-06-21 18:14:43 329

转载 快速排序【强烈推荐】

  上一节的冒泡排序可以说是我们学习第一个真正的排序算法,并且解决了桶排序浪费空间的问题,但在算法的执行效率上却牺牲了很多,它的时间复杂度达到了O(N2)。假如我们的计算机每秒钟可以运行10亿次,那么对1亿个数进行排序,桶排序则只需要0.1秒,而冒泡排序则需要1千万秒,达到115天之久,是不是很吓人。那有没有既不浪费空间又可以快一点的排序算法呢?那就是“快速排序”啦!光听这个名字是不是就觉得很高端...

2018-06-21 18:12:50 2909 1

转载 一次Mysql死锁排查过程的全纪录

前言之前接触到的数据库死锁,都是批量更新时加锁顺序不一致而导致的死锁,但是上周却遇到了一个很难理解的死锁。借着这个机会又重新学习了一下mysql的死锁知识以及常见的死锁场景。在多方调研以及和同事们的讨论下终于发现了这个死锁问题的成因,收获颇多。虽然是后端程序员,我们不需要像DBA一样深入地去分析与锁相关的源码,但是如果我们能够掌握基本的死锁排查方法,对我们的日常开发还是大有裨益的。PS:本文不会介...

2018-04-03 13:37:48 3483

原创 梯度下降算法以及与线性回归模型的结合阐述

梯度下降算法在机器学习领域是非常重要的一个解决问题的方法,目的就是基于历史数据,拟合出一个理想的模型。一、梯度下降算法阐述1.1 梯度下降阐述梯度下降算法是对损失函数(cost function)进行求导,最后目标是获得使损失函数的导数最小或者相对最小的参数值。具体分析,损失函数 J(θ0,θ1),图形化表示损失函数如图:梯度下降算法的目的就是将(θ0,θ1)对应的 J(θ0,θ1)从较高的地方,...

2018-03-04 17:44:54 1043

转载 在AWS上配置深度学习主机

介绍Amazon EC2 P2 实例p2.xlarge 是一种非常适合深度学习的云服务器,它配备了 12G 显存的 Tesla K80 显卡,4核 CPU,60G 内存,以及 500M 的网速。如果你还嫌不够,可以选择它的8倍和16倍的版本。注册账号首先我们需要注册一个 aws 账号,从刚才的地址可以注册,需要 visa 或 mastercard 信用卡。注

2018-02-03 11:02:18 6646

转载 基于Redis实现延迟队列

背景在后端服务中,经常有这样一种场景,写数据库操作在异步队列中执行,且这个异步队列是多进程运行的,这时如果对同一资源进行写库操作,很有可能产生数据被覆盖等问题,于是就需要业务层在更新数据库之前进行加锁,这样保证在更改同一资源时,没有其他更新操作干涉,保证数据一致性。但如果在更新前对数据库更新加锁,那此时又来了新的更新数据库的请求,但这个更新操作不能丢弃掉,需要延迟执行,那这就需要添

2017-12-08 10:43:27 11862 2

转载 PHP资源列表

PHP资源列表一个PHP资源列表,内容包括:库、框架、模板、安全、代码分析、日志、第三方库、配置工具、Web 工具、书籍、电子书、经典博文等等。初始翻译信息来自:《推荐!国外程序员整理的 PHP 资源大全》该内容也可以在github的相关项目上浏览。英文版:awesome-php中文版:awesome-php-zh_CNgithub上awesome-php-

2017-11-29 14:28:33 767

原创 SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded 解决思路

SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transactionMySQL有时会报这种延时的异常。本篇博文针对MySQL这个异常提供一个分析思路。

2017-11-16 11:05:16 10536

转载 初识推荐系统

亚马逊的“与您浏览过的商品相关的推荐“、天猫首页的”猜你喜欢“、网易云音乐的”私人FM“等功能将一个词带入大家的视野:推荐系统。通过大家的使用及体会,更加感觉推荐系统的重要性。以下就是笔者对推荐系统的一些粗浅的理解,整理成文,供参考。1.推荐系统为什么存在正所谓”知其然,更需知其所以然“,在聊“推荐系统是什么”这个问题之前,我们更应该聊一下“推荐系统为什么存在”。推荐系统解决的是人

2017-10-16 16:00:27 541

转载 机器学习名词解释(train & valid & test)(accuracy & precision & recall)

train? valid? or test?机器学习最明显的一个特点是需要大量的数据。特别对监督学习来说,就是需要大量的带标签数据(labeled data)。很多入门的朋友很快就会遇见模型训练和测试这两个阶段,进而也就了解到带标签数据是要被划分成两个部分的:训练集(training set)与测试集(test set)。这两个概念也很直观,大部分朋友非常快就能接受。可

2017-10-11 09:41:04 22692 4

转载 Linux系统的内核态和用户态

一、 Unix/Linux的体系架构  如上图所示,从宏观上来看,Linux操作系统的体系架构分为用户态和内核态(或者用户空间和内核)。内核从本质上看是一种软件——控制计算机的硬件资源,并提供上层应用程序运行的环境。用户态即上层应用程序的活动空间,应用程序的执行必须依托于内核提供的资源,包括CPU资源、存储资源、I/O资源等。为了使上层应用能够访问到这些资源,内核必须为上层应用提供

2017-10-10 17:19:01 3417 1

原创 Linux查看物理CPU个数、核数、逻辑CPU个数

# 总核数 = 物理CPU个数 X 每颗物理CPU的核数# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数# 查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l# 查看每个物理CPU中core的个数(即核数)cat /proc/cpuinfo| gre

2017-10-10 14:27:02 690

原创 机器学习-5 多变量的梯度下降 Gradient Descent For Multiple Variables

多变量的梯度下降 Gradient Descent for Multiple Variables梯度下降等式的本身是完全相同的形式,我们只是需要强调一下多变量('n' features)的问题换句话说:下面的图片比较了梯度下降在单变量和多变量的两种场景:梯度下降实践 I-特征尺度我们可以通过将输入值控制在一个相同的范围内来加速梯度下降的速

2017-03-07 14:28:31 4971

原创 机器学习-4 多特征 Multiple Features

在前面一直介绍的是单变量或者双变量的线性回归方程,在本篇文章中,开始介绍多变量的回归方程,带有多个变量的线性回归,又称为“multivariatelinear regression”。下面就来介绍一下,带有任意多个变量的方程式的写法:根据上面的描述,多变量的假设方程h就可以写成如下:为了更加形象的阐述和理解上述方程,可以将这个假设函数想象成根据房子的一些特征预测房价

2017-03-02 09:53:12 3135

原创 机器学习-3 cost function 代价函数

1、代价函数简介代价函数是用来衡量假设函数(hypothesis function)的准确性,具体衡量指标是采用平方差的方式计算。例如,假设函数是 hθ(xi) = θ0 + θ1yi,那么,代价函数就是:其中,m是样本数量。同时,这个函数还可以称为"Squared error function" 或者 "Mean squared error”,同时,除以2的原因是为了方便之后的梯度下降,

2017-02-24 09:25:05 5331 1

原创 机器学习-2 模型表示

机器学习中,首先遇到的概念就是模型(Model),模型有一个入口一个出口,x(i) 表示输入变量或者输入特征,y(i) 表示输出或想要预测的目标变量,一组(x(i), y(i)) 被成为一个训练样本(training example),所有被使用的用于训练模型的数据集(x(i), y(i))  (i=1,2,3,..., m)被称为一个训练集或训练样本集(training set),其中,i只

2017-02-22 11:01:24 1161

原创 机器学习-1 初步认识机器学习、监督学习和非监督学习

一直对机器学习大数据方面的技术感兴趣,平时也在持续关注相关信息。但是,经过很长一段时间之后,发现,这种碎片化的学习只能停留在浅尝辄止,知道、听说过和了解的基础上,很难对技术有一个系统化的认识、全面而深入的学习,痛定思痛,计划使用三个月的时间,对机器学习进行系统化的学习,以期达到融会贯通等目的。在这里,也欢迎感兴趣的同学一起学习,将每天的学习内容分享,一来可以督促坚持,二来可以相互分享,共同进步。另

2017-02-21 10:36:25 938

转载 PHP 之道

PHPThe Right Way.Tweet欢迎目前网络上充斥着大量的过时资讯,让 PHP 新手误入歧途,并且传播着错误的实践以及不安全的代码。PHP 之道 收集了现有的 PHP 最佳实践、编码规范和权威学习指南,方便 PHP 开发者阅读和查找使用 PHP 沒有规范化的方式。本网站主要是向 PHP 新手介绍一些他们没有发现或者是太晚发现的主题, 或是经验丰富的专

2017-02-16 11:36:42 1842

原创 laravel如何输出最后一条执行的SQL

在使用Laravel框架的时候,调试的时候,需要将查询的SQL输出校验,这是需要将SQL打印出来,\DB::connection()->enableQueryLog(); // 开启查询日志\DB::table('xxx'); // 要查看的sql$queries = \DB::getQueryLog(); // 获取查询日志print_r($queries); // 即可查看执行

2017-02-14 20:59:45 25275

转载 乐观锁和悲观锁简介

引言为什么需要锁(并发控制)?  在多用户环境中,在同一时间可能会有多个用户更新相同的记录,这会产生冲突。这就是著名的并发性问题。典型的冲突有:丢失更新:一个事务的更新覆盖了其它事务的更新结果,就是所谓的更新丢失。例如:用户A把值从6改为2,用户B把值从2改为6,则用户A丢失了他的更新。脏读:当一个事务读取其它完成一半事务的记录时,就会发生脏读取

2017-02-14 20:43:49 2097

转载 表复制 SELECT INTO 和 INSERT INTO SELECT

Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 I

2017-02-10 22:45:19 704

转载 Hbase常识及适合场景

当我们对于数据结构字段不够确定或杂乱无章很难按一个概念去进行抽取的数据适合用使用什么数据库?答案是什么,如果我们使用的传统数据库,肯定留有多余的字段,10个不行,20个,但是这个严重影响了质量。并且如果面对大数据库,pt级别的数据,这种浪费更是严重的,那么我们该使用是什么数据库?hbase数个不错的选择,那么我们对于hbase还存在下列问题:1.Column Family代表什么?

2016-12-15 11:00:20 1617

转载 Apache kafka 工作原理介绍

Apache kafka 工作原理介绍消息队列消息队列技术是分布式应用间交换信息的一种技术。消息队列可驻留在内存或磁盘上, 队列存储消息直到它们被应用程序读走。通过消息队列,应用程序可独立地执行–它们不需要知道彼此的位置、或在继续执行前不需要等待接收程序接收此消息。在分布式计算环境中,为了集成分布式应用,开发者需要对异构网络环境下的分布式应用提供有效的通信手段。为了

2016-12-07 10:01:38 396

空空如也

空空如也

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

TA关注的人

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