学徒之心
码龄9年
关注
提问 私信
  • 博客:36,763
    36,763
    总访问量
  • 10
    原创
  • 1,926,227
    排名
  • 10
    粉丝
  • 0
    铁粉

个人简介:真正的大师永远有着一颗学徒的心

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2016-02-01
博客简介:

ShiYi's blog

博客描述:
此博客不再更新,新的博客地址:https://huangshiyi23.gitee.io/blog;GitHub:https://github.com/shiyi23
查看详细资料
个人成就
  • 获得62次点赞
  • 内容获得2次评论
  • 获得163次收藏
创作历程
  • 17篇
    2020年
  • 8篇
    2019年
  • 1篇
    2018年
  • 1篇
    2017年
成就勋章
TA的专栏
  • 大数据
    1篇
  • Spark
    1篇
  • Hbase
    1篇
  • Python爬虫
    1篇
  • C++ STL
    1篇
  • 计算机科学基础
    4篇
  • C++
    9篇
  • 机器学习
    1篇
  • Java
    3篇
兴趣领域 设置
  • 数据结构与算法
    排序算法推荐算法
  • 人工智能
    opencvcaffetensorflowmxnetpytorchnlpscikit-learn聚类集成学习迁移学习分类回归
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

(转载)系统配置:pycharm结合anaconda管理项目环境

一、首先自行安装所需软件,本人电脑中软件环境如下:系统:Windows10 64位专业版软件:①pycharm2018.2.4专业版 ②anaconda3 64位 ③conda版本为 4.5.12总体而言有两种方式进行“环境”的管理:1.在anaconda中提前准备好项目所需的环境,然后在pycharm中选择相应环境的解释器;2.在pycharm中设定新建项目时随即生成对应的环境。方式一: 创建新环境:可以在...
转载
发布博客 2020.06.17 ·
380 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

selenium之 定位以及切换frame(iframe)

总有人看不明白,以防万一,先在开头大写加粗说明一下:frameset不用切,frame需层层切!很多人在用selenium定位页面元素的时候会遇到定位不到的问题,明明元素就在那儿,用firebug也可以看到,就是定位不到,这种情况很有可能是frame在搞鬼(原因之一,改天专门说说定位不到元素,可能的一些原因及处理办法)。frame标签有frameset、frame、iframe三种,frameset跟其他普通标签没有区别,不会影响到正常的定位,而frame与iframe对selenium定位而言是
转载
发布博客 2020.05.31 ·
319 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++ STL学习笔记:迭代器cbegin()、cend()

因为以下这种写法auto pos = vector.begin(); pos != vector.end()使用pos这个迭代器去迭代容器时会使得迭代器丧失常量性(constness),可能会引发“计划外的赋值风险”,所以为了保证C++代码的安全性,所以自C++以后风格的C++代码,如果一个允许“迭代容器内所有元素的”循环如果不使用range-base for循环,强烈建议应该像以下这么写:for (auto pos = vector.begin(); pos != vector.end(); ++
原创
发布博客 2020.05.21 ·
923 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

加快GitHub的clone操作的方法

在GitHub的官网名后加 .cnpmjs.org这个镜像后缀,例如git clone https://github.com.cnpmjs.org/shiyi23/alluxio.git,亲测速率可提高百倍~
原创
发布博客 2020.04.15 ·
378 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

为什么 c++ 比 java 运行的速度快

最近和同学讨论算法题目的时候,突然讲到为什么 java 的速度比 c++ 慢,当时一知半解,雾里看花。于是回来之后查了一下资料,整理一下放在这里,方便以后查看。暂时理解到这个程度,如果以后有新的理解再做补充。明确原则首先,我们要明确一个放之世界皆准的原则:在资源一定的情况下,鱼与熊掌不可得兼。在程序运行方面,也就是说效率和便捷性往往不能同时满足。c++ 和 java...
转载
发布博客 2020.04.15 ·
4868 阅读 ·
11 点赞 ·
1 评论 ·
34 收藏

聊聊同步、异步、阻塞与非阻塞

注意:今后,从这篇文章开始,我的博客会发表在下文的主页里~欢迎关注、交流~聊聊同步、异步、阻塞与非阻塞
转载
发布博客 2020.04.14 ·
156 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

总线的一些基本知识

转载自https://www.junmajinlong.com/os/bus/总线(bus)是一种通信系统,用于携带各种类型的数据,在各组件之间传递数据(可以理解为快递员。按照bus的字面意思理解更好,公共汽车,公共的携带数据的交通工具)。 在大概念上分三种总线:系统总线(前端总线)、内部总线和外部总线。 系统总线:计算机内部主要设备之间的连接。 内部总线:直接或几乎直接和CPU相连的...
转载
发布博客 2020.04.07 ·
1256 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

C语言 sizeof函数详解

sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,其中不乏错误,欢迎各位指正啊...
转载
发布博客 2020.04.05 ·
5391 阅读 ·
31 点赞 ·
1 评论 ·
63 收藏

由一道笔试题而想起的C/C++格式化输入输出的笔记

不久前,在做一道奇安信的笔试题的过程中发现C/C++的格式化输入输出的知识记得不太清楚了,现在当做笔记复习一遍(反正这块C++是兼容C的)。 当时那道题目比较简单,但是差点因为不记得格式化输入输出而翻了车,先看看我的题解(题干不记得了,反正本文重点这道题的解法哈哈)。#include <iostream>#include <vector>...
原创
发布博客 2020.04.05 ·
216 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

程序什么时候应该使用线程,什么时候单线程效率高

对于处理时间短的服务或者启动频率高的要用单线程,相反用多线程!不论什么时候只要能用单线程就不用多线程,只有在需要响应时间要求比较高的情况下用多线程某此操作允许并发而且该操作有可能阻塞时, 用多线程. 例如SOCKET, 磁盘操作.使用多线程编程可以给程序员带来很大的灵活性,同时也使原来需要复杂技巧才能解决的问题变得容易起来。但是,不应该人为地将编写的程序分成一些碎片,让这些碎片按各自...
转载
发布博客 2020.04.03 ·
2578 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

Java是不支操作符重载的

注意,Java实际上是不支持操作符重载的,String的“+”实际上是JVM的语法糖,在String使用“+”时在JVM内部的编译阶段是把它转换成StringBuilder的append方法的。...
原创
发布博客 2020.03.18 ·
152 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

C++中数组/Vector中去除重复元素

unique函数是一个去重函数,去除相邻中的重复元素(只留一个)。其中,最关键的是:并不是删除并不是把重复的元素删除,而是全部放倒数组的后面。因为,unique只是去除(相邻)的重复元素,因此,为了去除重复的元素,应该,首先对数组/Vector进行排序,这样保证重复元素在相邻的位置。unique函数,返回的是去重后的尾地址。因此对于一个内容为{2, 2, 5, 5, 6}的vect...
转载
发布博客 2020.02.26 ·
4735 阅读 ·
7 点赞 ·
0 评论 ·
34 收藏

C++的STL中accumulate的用法

accumulate定义在#include<numeric>中,作用有两个,一个是累加求和,另一个是自定义类型数据的处理1.累加求和int sum = accumulate(vec.begin() , vec.end() , 42);accumulate带有三个形参:头两个形参指定要累加的元素范围,第三个形参则是累加的初值。accumulate函数将它的一个内部变量设...
转载
发布博客 2020.02.26 ·
599 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C++ int转string的几种方法比较

一、itoa函数(Windows)非C/C++标准,可移植性不好// Windows#include <string> // string, sprintf//#include <cstdlib>using namespace std; int main() { int n=100; char ch[10]; _itoa(n, c...
转载
发布博客 2020.02.26 ·
767 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

C++标准库---transform()

transform算法transform()提供以下两种能力:1.第一形式有4个参数,把源区间的元素转换到目标区间。也就是说,复制和修改元素一气呵成;2.第二形式有5个参数,将前两个源序列中的元素合并,并将结果写入目标区间。注意:含有修改元素,仅仅只做复制元素,可以使用copy()。第一种形式transform(sourceBeg,sourceEnd,destBeg,op)...
转载
发布博客 2020.02.25 ·
3221 阅读 ·
4 点赞 ·
0 评论 ·
8 收藏

C++中的关键字inline的用法

1、引入inline关键字的原因在c/c++中,为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了inline修饰符,表示为内联函数。栈空间就是放置程序的局部数据(也就是函数内数据)的内存空间。在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足而导致程序出错的问题,如,函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。例子如下(LeetCod...
转载
发布博客 2020.02.17 ·
1298 阅读 ·
2 点赞 ·
0 评论 ·
4 收藏

一些同C++写法不同的常见的Java语法细节

一、Java中数组作为函数参数的写法public int orangesRotting(int[][] grid) { //这是二维数组,一维数组的话就是int[] grid}二、Java中数组作为函数返回值的写法int[][] orangesRotting(int x) { //这是二维数组作为返回值,一维的话就是in...
原创
发布博客 2020.02.16 ·
98 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

STL中vector,Map,Set的实现原理

MapMap是关联容器,以键值对的形式进行存储,方便进行查找,关键词起到索引的作用,值则表示与索引相关联的数据,以红黑树的结构实现,插入删除等操作都可以在O(log n)时间内完成。SetSet是关联容器,set中每个元素都只包含一个关键字,set支持高效的关键字查询操作—检查每一个给定的关键字是否在set中,set是以红黑树的平衡二叉检索树结构实现的,支持高效插入删除,插如元素...
转载
发布博客 2019.12.25 ·
666 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

在做算法题时发现忘了的static的一个用法

看一下下面几段代码,看了就能理解static int 和 int 的区别:例1:#include <stdio.h>int a=0;//这里 int 在函数外,为全局变量int add(){ printf("%d",a++); return 0;}int main(){ for(int i=0;i<10;i++) add();...
转载
发布博客 2019.12.23 ·
161 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark RDD的collect()算子与collectPartitions()算子

1.collect的作用Spark内有collect方法,是Action操作里边的一个算子,这个方法可以将RDD类型的数据转化为数组,你可以随时val arr = data.collect(),将RDD类型数据转化为数组来存放并参与后续运算。2.已知的弊端首先,从时间上来讲,前边已经说过了,collect是Action里边的,根据RDD的惰性机制,真正的计算发生...
转载
发布博客 2019.12.01 ·
3720 阅读 ·
2 点赞 ·
0 评论 ·
3 收藏
加载更多