精华内容
下载资源
问答
  • 之前学习的时候也接触不到高并发/大流量这种东西,所以限流当然是没接触过的了。公司项目的时候,发现有用到限流(RateLimiter),顺了解一波。 一、限流基础知识介绍 为啥要限流,相信就不用我多说了。 ...

    之前在学习的时候也接触不到高并发/大流量这种东西,所以限流当然是没接触过的了。在看公司项目的时候,发现有用到限流(RateLimiter),顺带了解一波。

    一、限流基础知识介绍

    为啥要限流,相信就不用我多说了。

    • 比如,我周末去饭店吃饭,但是人太多了,我只能去前台拿个号,等号码到我的时候才能进饭店吃饭。如果饭店没有限流怎么办?一到饭点,人都往里冲,而饭店又处理不了这么多人流,很容易就出事故(饭店塞满了人,无路可走。饭店的工作人员崩溃了,处理不过来)
    • 回到代码世界上也是一样的,服务器能处理的请求数有限,如果请求量特别大,我们需要做限流(要么就让请求等待,要么就把请求给扔了)

     

     

     

     

     

    限流

    在代码世界上,限流有两种比较常见的算法:

    • 令牌桶算法
    • 漏桶算法

     

    1.1 什么是漏桶算法

    比如,现在我有一个桶子,绿色那块是我能装水的容量,如果超过我能装下的容量,再往桶子里边倒水,就会溢出来(限流):

     

     

     

     

     

    桶子

    我们目前可以知道的是:

    • 桶子的容量是固定的(是图上绿色那块)
    • 超出了桶子的容量就会溢出(要么等待,要么直接丢弃)

     

    OK,现在我们在桶子里挖个洞,让水可以从洞子里边流出来:

     

     

     

     

    挖了个洞,水从洞口流出来

    桶子的洞口的大小是固定的,所以水从洞口流出来的速率也是固定的

    所以总结下来算法所需的参数就两个:

    • 桶子的容量
    • 漏水的速率

     

    漏桶算法有两种实现:

    1. 不允许突发流量的情况:如果进水的速率大于出水的速率,直接舍弃掉多余的水。比如,我的桶子容量能装100L,但我的桶子出水速率是10L/s。此时,如果现在有100L/s的水进来,我只让10L的水进到桶子,其余的都限流。(限定了请求的速度
    2. 允许一定的突发流量情况:我的桶子能装100L,如果现在我的桶子是空的,那么这100L的水都能瞬间进我的桶子。我以10L/s的速率将这些水流出,如果还有100L的水进来,只能限流了。

     

    经过上面的分析我们就知道:

    漏桶算法可以平滑网络上的突发流量(因为漏水的速率是固定的)

    1.2 什么是令牌桶算法

    现在我有另外一个桶子,这个桶子不用来装水,用来装令牌:

     

     

     

     

    桶子装着令牌

    令牌会一定的速率扔进桶子里边,比如我1秒扔10个令牌进桶子:

     

     

     

     

    以一定的速率扔令牌进桶子

    桶子能装令牌的个数有上限的,比如我的桶子最多只能装1000个令牌。

    每个请求进来,就会去桶子拿一个令牌

    • 比如这秒我有1001个请求,我就去桶子里边拿1001个令牌,此时可能会出现两种情况:
    • 桶子里边没有1001个令牌,只有1000个,那没拿到令牌的请求只能被阻塞了(等待)
    • 桶子里边有1001个令牌,所有请求都可以执行。

     

     

     

     

     

    令牌桶算法支持网络上的突发流量

    漏桶和令牌桶的区别:从上面的例子估计大家也能看出来了,漏桶只能以固定的速率去处理请求,而令牌桶可以以桶子最大的令牌数去处理请求

    二、RateLimiter使用

    RateLimiter是Guava的一个限流组件,我这边的系统就有用到这个限流组件,使用起来十分方便。

    引入pom依赖:

    <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>20.0</version>
    </dependency>
    

    RateLimiter它是基于令牌桶算法的,API非常简单,看以下的Demo:

    public static void main(String[] args) {
            //线程池
            ExecutorService exec = Executors.newCachedThreadPool();
            //速率是每秒只有3个许可
            final RateLimiter rateLimiter = RateLimiter.create(3.0);
            for (int i = 0; i < 100; i++) {
                final int no = i;
                Runnable runnable = new Runnable() {
                    @Override
                    public void run() {
                        try {
                            //获取许可
                            rateLimiter.acquire();
                            System.out.println("Accessing: " + no + ",time:"
                                    + new SimpleDateFormat("yy-MM-dd HH:mm:ss").format(new Date()));
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                };
                //执行线程
                exec.execute(runnable);
            }
            //退出线程池
            exec.shutdown();
        }
    

    我们可以从结果看出,每秒只能执行三个:

     

     

     

     

     

    每秒执行三个

    三、分布式限流

    RateLimiter是一个单机的限流组件,如果是分布式应用的话,该怎么做?

    可以使用Redis+Lua的方式来实现,大致的lua脚本代码如下:

    local key = "rate.limit:" .. KEYS[1] --限流KEY
    local limit = tonumber(ARGV[1])        --限流大小
    local current = tonumber(redis.call('get', key) or "0")
    if current + 1 > limit then --如果超出限流大小
      return 0
    else  --请求数+1,并设置1秒过期
      redis.call("INCRBY", key,"1")
       redis.call("expire", key,"1")
       return current + 1
    end
    

    Java代码如下:

    public static boolean accquire() throws IOException, URISyntaxException {
        Jedis jedis = new Jedis("127.0.0.1");
        File luaFile = new File(RedisLimitRateWithLUA.class.getResource("/").toURI().getPath() + "limit.lua");
        String luaScript = FileUtils.readFileToString(luaFile);
        String key = "ip:" + System.currentTimeMillis()/1000; // 当前秒
        String limit = "5"; // 最大限制
        List<String> keys = new ArrayList<String>();
        keys.add(key);
        List<String> args = new ArrayList<String>();
        args.add(limit);
        Long result = (Long)(jedis.eval(luaScript, keys, args)); // 执行lua脚本,传入参数
        return result == 1;
    }
    

    解释:

    • Java代码传入key和最大的限制limit参数进lua脚本
    • 执行lua脚本(lua脚本判断当前key是否超过了最大限制limit)
    • 如果超过,则返回0(限流)
    • 如果没超过,返回1(程序继续执行)

     

    参考来源:https://segmentfault.com/a/1190000016552464原文:https://mp.weixin.qq.com/s/08qtprGeWqb1wFz-5AcvoQ作者:java3y来源:微信公众号

     

    免费分享java技术资料,需要的朋友可以在关注后私信我,免费获取

     

     

     

     

     

     

     

     

    展开全文
  •  第3版与前两版相比,几乎被完全重新组织和改写,但是基本的教学理念没有改变: 我们坚信计算机图形实际使用中学习的,一定要动手编写程序并进行测试,才能真正地掌握计算机图形。本书的一个主要目标就是...
  • 一、前述 一直以来都想用很简介或者很普通的方式聊下各个...查看了网上很多博客,不是写的太笼统就是抄来抄去,根本没有阅读的欲望,很是让浪费时间,也学不到真正的东西,一直半解。因为年前一直忙着公司上...

                                                                              一、前述

         一直以来都想用很简介或者很普通的方式聊下各个算法的前龙后脉,让更多的人都能看懂算法的过程。查看了网上很多博客,不是写的太笼统就是抄来抄去,根本没有阅读的欲望,很是让人浪费时间,也学不到真正的东西,一直半解。因为年前一直在忙着公司上线加班的事情,所以根本没抽出来时间。加班的日子暂时告一段落,打算从今天开始,出一个专辑序列专门打造一个所有人都能阅读懂的算法系列,以白话清晰的方式告诉你一个算法的魅力,同时也结合更多的贴切生活的例子,让你越来越爱上算法。这就是本系列的初衷,也希望大家都能多多投稿,一起走进DT&AI的时代。赠人玫瑰,手有余香,让我们开始我们的算法之旅吧。

                                                                                    第一节:多元线性回归

    我们先聊下线性回归,其实线性回归是最简单的解决预测问题的手段,是用一条直线(平面、超平面)来拟合真实世界中的一些规律,比如三维空间用“平面”去拟合,更高维度的空间用“超平面”去拟合。那什么是更高维的空间呢?举一个例子:假设我们的数据集收集一个人的信息只有两个属性和特征,一个是身高 ,一个是性别,那么是不是可以在平面上画成一个点呢?比如身高是180,性别是1,那么它的横坐标是180,纵坐标是1,实际上就是一个点,假如有好多个人名和姓名,那么在二维空间里面就有好多个点。假设现在有三个项,体重,120,那么这个二维空间的点就会跑到三维空间了,无论怎么样,只要数据表示出来了都是空间的一个点。假如又扩充了一个维度比如收入,就不能在三维度空间里画出这个点,我们都知道在二维空间里面有直线,在三维空间有平面,在高维空间中是不是也有类似直线或者平面这种直的东西?因为四维空间我们没有办法想象是什么样的,但是我们可以知道它是直的或者平的一种物质 ,我们称这种物质叫做线性空间,而高维空间中的这种线性平面叫做超平面,在高纬度空间中,不能用平面来表示了,所以给起了个抽象的名字叫做超平面,不用去想他是什么样的,我们只要知道他是直的,是平的就行。好,至此我们知道了什么是高维空间,什么是超平面,什么是平面,说了这么多是不是很好奇,为什么还不介绍多元线性回归呢,别着急,一切的铺垫都是为了你更好地理解后面的知识,我们还铺垫一个东西,或者说回顾一些东西。

    函数:记号f(x) ,扔进给f一个数经过一系列运算得到的一个结果,函数代表着一种映射(你给我一个值,我给你唯一的指到另一个值上的一个机器),这就是函数。当然官方定义如下:给定任何一个自变量x都有一个唯一的y与之对应的这么一种映射关系,这就叫做函数。

    函数的根:是某一个x的取值,x取什么的时候就称作这个函数的根呢?就是x丢到这个机器里面之后结果是0,就叫函数的根,也就是与x轴的交点,也就是x取这个交点的时候y是0,那么我们称这两个x为函数的两个根。

    导数:导数就是该点的切线的斜率,描述的函数的变化趋势,导数就是跟着某个点来,也就是给一个x就能给一个导数,x变导数也跟着变。

    导函数:就是另一个机器,扔给我一个x ,我就告诉你什么结果,无穷无尽的表,你给我一个x,我就能查到这个x的点在原函数的位置上的导数等于几,由这个导数构成的这个函数叫做导函数。在计算的时候通常现有导数,函数是处处可导,也就是函数可以求出一个导函数来,什么导数在导函数里面算出来。

    Log: 幂函数的逆运算。比如3^{^{4}}是81 那么\log_{3}81=4 。这就是log.

    Ln:以e为底的对数运算.

    好,至此为止本节所需要的内容和基础知识你已经掌握了,是不是很有成就感,学了这么多东西。接下来我们开始慢慢的引入多元函数问题,先抛出来几个问题:

    假如你观测到了已知两个数据点 (x,y) 分别是(1,3)(2,5),此时非要让你预测x=3时y=? 如何预测?

    假如你观测到了好多个数据点(x,y) 分别是 (1,3),(2,5),(3,7),(4,9)。。。所有数据点都满足同一个否有可能从中学得一些规律用来预测未来呢?

    如果是多元的情况呢?(X1,X2,Y)(1,1,4)(2,1,5) (2,2,7) (1,2,6)。(3,1,?)

    对于第一个例子我们可以找到规律,随着x每增大1,y增大2 所以x=3时 y是7.总结出一个规律就是y=2x+1

    那什么是多元?多元就是上面的数据点从(x,y)变为了(x1,x2…xn,y),也就是从一个x,影响一个y变成多个x影响一个y,这其实就是多元线性回归的本质,即:先假设x,y中间的关系满足多元一次函数 y=w0+w1*X1+w2*X2+w3*X3+…+wn*Xn。(实际满足不满足不用管),做好假设以后,我们就可以拿到一系列的x与y,代到函数里面找到最好的一组w,通常w0是偏置项。上面的例子可以完美的写出来w0,w1..刚好符合这个规律。那假如我们的数据点不是完全符合呢,

    比如下面的例子,

    上面是一个特征,一个预测值,特征就是房价平米值,平米越大预测的费用越高,我们收集的数据是这样的一些点,其实本质就是画出一条线,然后根据x轴上一个点,y轴得出来一个值。虽然不是特别准,但是前后相差不多,那么这条线怎么画呢,有无数种画法,怎么量化的找到一条最好的线呢?其实就是预测的值与真实的值尽可能的小。好,到此为止,我们知道了多元的含义。为了说清楚怎么量化的找到一条最好的线?我们引入有监督学习的套路:

    第一步引入判别函数:

    提前假设出来y和x的关系,蛮不讲理。实际上是提供一种形式。比如我们上面的假设y=w0+w1*X1+w2*X2+w3*X3+…+wn*Xn。我们称y是inference function 判别函数,最后预测的时候拍板的,来得到最后的结果是多少的。

    第二步引入学习概念:从数据中计算计算,模型就是我们说的要求的w0,w1,w2.。。求解的过程叫做学习。

    假如我们手里有一组数据集,还有一个判别函数,我要用多元线性回归来做回归任务,此时判别函数的形式也就有了,那么你需要的所谓的学习或者最好的w。其实所谓学习就是如何通过已知训练集得到一组最好的w。

    第三步引入损失函数:

    那么如何评价w好不与好呢,需要一个标准,我们称评估w到底好不好的标准的函数叫做损失函数(loss function)。损失函数的功能是评估这组w好还是不好,也就是你给我一个w,我给你一个评分,最后找一个评分最高的w,就是这么一个逻辑。所以损失函数是关于w的一个函数。。不同的算法有不同的损失函数,通常损失的值越低代表这个w越好,因此称之为损失函数。

    那么损失函数怎么定义呢?实际上就是我们预测的每一个点和真实之间数据的差距,然后把这些差距累加起来,就能表示当前预测的结果与真实之间的差距,也就是我们的损失函数。

    所以我们引入几个小概念:

    误差:定义为预测值-真实值=误差。这个值有可能为正,有可能为负。

    学习:能够使当前数据最小的w就是最好的w,不用管给一个什么样的w,只要带进去一算,只要值最小就是最好的,如果训练集变了,那么原来的w 就不是现在的w ,也不是最好的,也就是我的w就是这个训练集上的经验好,这个就是学习

    那具体什么样的参数是好参数呢?

    所以我们又引出一个概念:

    目标函数:找到一个函数,使这个函数越小的时候模型(也就是W)越好,这个函数就叫做目标函数

    所以我们的目标:使模型在样本上表现最好(总体看起来误差最小),那么自然而然,我们的目标函数就是使误差函数最小,用数学公式表达就是

    J(\theta )=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}x^{i}-y^{i})^{2}

    解释:h_{\theta}x^{i}函数就是我们上面所说的判别函数 其中x^{_{i}}是我们收集上来的,是固定不变的,那么影响这个函数的因素就是\theta,这里的\theta是所有w的统称,单个的是w,在一起的就是\thetay^{_{i}}就是我们的真实值。我们把m个样本累加起来,就代表所有预测值与真实值之间的误差的累加。这里的1/2 是因为后面要对损失函数求导,所以有个1/2,有时候也会写成1/m 目的是为了相对公平,比如两万条样本的误差和两条样本的误差去直接比较,肯定是不公平的,所以除以各自的样本个数,是为了相对公平些。这个函数就是我们所说的MSE,最小二乘目标函数。

    所以根据以上介绍,我们可以建立一个算法框架,由2个函数的框架,第一个叫判别函数,他是算法的核心,是如何认识世界的眼睛;另外一个叫做损失函数,他是用来做判定这组参数好与不好,想得到一组最好的参数我们就得有评分标准,我们想取得评分最高的那组参数,通常是这两个函数共同协作得到的那么一个结果。

    说到这里,你已经了解了多元线性回归,乃至机器学习的套路。给自己鼓个掌吧!!然后继续。。

    目标函数引入出来后,进一步思考,会自然而然想到,为什么是最小二乘,为什么是平方,而不是三次方,四次方。。?带着问题,我们来引入数学,用数学的角度来证明。先回顾一下概率论的基础:

    什么是概率?
    经过足够多的随机实验之后,每个结果发生的次数占总次数的比值。

    频率学派的一种说法,就是说当你试验次数足够多的时候,概率是永远不可知的,频率是可以观测统计的,当你统计的随机试验足够多,那么你统计出来的频率(发生次数除以总次数)频率就会越来越接近于概率,最终可以用频率求的概率。

    随机试验:有确定结果的但是每次的结果不一样,那么每做一次,就是随机试验。比如摇骰子,每次结果都不一样,每一次摇都是一次随机试验。

    随机变量:描述随机试验结果的变量就是随机变量。

    包含两个要素,
    1. 随机实验取值的结果范围(可以使离散的,可以是连续的)
    2. 随机实验取每个值的概率是多少:随机变量的分布(概率密度函数)

    离散型、连续型随机变量
    1. 离散型:一批电子元件的次品数目
    2. 连续型:一批电子元件的寿命情况
    3. 一种解释: 如果随机变量的所有取值可以罗列出来,那么其为离散型随机变量,如果不能(无穷多个可能性)我们称之为连续型随机变量。

    随机变量的概率分布
    1.概率分布: 随机实验的每种结果的概率的集合
    2.概率分布函数: 给定一种结果,返回一个概率的函数
    3.对于离散型随机变量:概率分布函数实质上是个列表,对于连续型随机变量:概率分布函数是一个连续函数。

    上面比较抽象,我们举例解释:

    比如x是一个变量,X\eps\epsilon(1,2,3).那么X 的取值只能是1,2或者3 这种能数的过来的取值对应的变量,我们称之为离散变量。比如X\epsilon[0,9]之间任意一个数,我们称这种变量为连续变量,取值数不尽。那么随机怎么解释:在于除了需要告诉变量取值外还要告知,成为1的概率是多少,成为2的概率是多少,相当于在这个变量的取值的背后有一张概率表。我们称这个概率表为概率分布。所以离散的概率分布是一张表,那么连续的概率分布这么多点,不可能是一张表,而是对应一个函数,叫做概率分布函数它是评估连续性随机变量落到某一点上的可能性的大小。比如比如f(x),扔进去一个x就给一个结果,对于连续性的随机变量,比如身高,从1.2m-2m都有可能,那么当身高等于1.84m的时候,带入f(x)函数后,得到一个小数,这个小数就代表1.84m的可能性有多大。这个函数f(x)就是概率分布函数。

    接下来我们聊一个特殊的连续分布函数,高斯分布。请继续阅读第二节。

    展开全文
  • --好久没有写博客了,因为这段时间都忙着找工作,现在实习的地方找到了,希望可以那家公司学到更多的知识!   --步入正题之前我不得吐槽一些博客,写的楚的,通过Hibernate生成对应实体类这我已经会了...
        
      --好久没有写博客了,因为这段时间都在忙着找工作,现在实习的地方找到了,希望可以在那家公司学到更多的知识!
      --步入正题之前我不得不吐槽一些博客,写的不清不楚的,通过Hibernate生成对应实体类这我已经会了,但是有些博客就是以为只有这样才能实现一样,标题不明确导致我搜了一会才搜到了我想要的东西(链接),还有csdn上的一些讨论上面,看到一些人说只能通过Hibernate实现什么的,那么为什么别人可以做到?
      --好辣,继续我的良心博客,实在而准确!

      --第一步,你要用eclipse连接上你的数据库。我这次用的是mysql5.0的。如图:Eclipse使用自带插件JPA <wbr>Tools实现自动生成数据库对应表的实体类(不使用Hibernate)
    --点击这个Open Perspective按钮添加Database Development
    --右键Database Connections 》new》选择对应的数据库
    --点击下图红圈内的按钮配置驱动,就是eclipse与数据库进行连接的驱动
    Eclipse使用自带插件JPA <wbr>Tools实现自动生成数据库对应表的实体类(不使用Hibernate)

    --配置好驱动的版本、驱动的路径、还有数据库连接的信息就能成功的连上数据库。

    --第二步,配置JPA Tools
    --右键你的项目》properties》Project Facets》选中JPA》apply》ok
    --这时右键你的项目你就能看到JPA Tools这个选项(在properties的上几行),点击它,选择Generate Entities from tables ,你会看到如图:Eclipse使用自带插件JPA <wbr>Tools实现自动生成数据库对应表的实体类(不使用Hibernate)

    --选中你要生成实体类的表,》next》如图:
    Eclipse使用自带插件JPA <wbr>Tools实现自动生成数据库对应表的实体类(不使用Hibernate)

    --选择你想要的方式,生成到哪个包下和接口都是可以改的》一直next》Finish之后就会生成对应的实体类到你选择的包下,不过是带注解的,如果不用Hibernate框架的话就会报错,删掉报错的地方就行了。谢谢!





    展开全文
  • --好久没有写博客了,因为这段时间都忙着找工作,现在实习的地方找到了,希望可以那家公司学到更多的知识! --步入正题之前我不得吐槽一些博客,写的楚的,通过Hibernate生成对应实体类这我已经会了,...
      --好久没有写博客了,因为这段时间都在忙着找工作,现在实习的地方找到了,希望可以在那家公司学到更多的知识!
      --步入正题之前我不得不吐槽一些博客,写的不清不楚的,通过Hibernate生成对应实体类这我已经会了,但是有些博客就是以为只有这样才能实现一样,标题不明确导致我搜了一会才搜到了我想要的东西(链接),还有csdn上的一些讨论上面,看到一些人说只能通过Hibernate实现什么的,那么为什么别人可以做到?
      --好辣,继续我的良心博客,实在而准确!

      --第一步,你要用eclipse连接上你的数据库。我这次用的是mysql5.0的。如图:Eclipse使用自带插件JPA <wbr>Tools实现自动生成数据库对应表的实体类(不使用Hibernate)
    --点击这个Open Perspective按钮添加Database Development
    --右键Database Connections 》new》选择对应的数据库
    --点击下图红圈内的按钮配置驱动,就是eclipse与数据库进行连接的驱动
    Eclipse使用自带插件JPA <wbr>Tools实现自动生成数据库对应表的实体类(不使用Hibernate)

    --配置好驱动的版本、驱动的路径、还有数据库连接的信息就能成功的连上数据库。

    --第二步,配置JPA Tools
    --右键你的项目》properties》Project Facets》选中JPA》apply》ok
    --这时右键你的项目你就能看到JPA Tools这个选项(在properties的上几行),点击它,选择Generate Entities from tables ,你会看到如图:Eclipse使用自带插件JPA <wbr>Tools实现自动生成数据库对应表的实体类(不使用Hibernate)

    --选中你要生成实体类的表,》next》如图:
    Eclipse使用自带插件JPA <wbr>Tools实现自动生成数据库对应表的实体类(不使用Hibernate)

    --选择你想要的方式,生成到哪个包下和接口都是可以改的》一直next》Finish之后就会生成对应的实体类到你选择的包下,不过是带注解的,如果不用Hibernate框架的话就会报错,删掉报错的地方就行了。谢谢!





    展开全文
  • 公司职员辞职报告范文 尊敬的公司领导: 您好!还是昨天那句话,对于公司来说,我觉得很是惭愧!我也知道,重庆的所有的公司中,我们的待遇是很不错的,...虽然总是一个很出色的,但他的许多东西我是学不来的。?..
  • 但是必须认识到,驱动是linux技术中集大成者,前面所有课程中学到的内容驱动中都会用到,驱动编程和调试是让抓掉头发都无从下手的麻烦事,所以建议大家学好前面的课程再来看本部分,否则你将什么都得不到。...
  • 而被安排了工地,原因在于自己对直接做设计,出图还成熟,实习公司也暂时没有人没有时间新人。再者,听说去工地也可以学到很多的东西,特别是最为基础的一些植物的相关知识,和施工上的一些实际操作,所以...
  • 1、free-programming-books ... 扔物线大神朱凯结合知乎 Android 技术开发团队北京进行了非常 Nice 的 RxJava Android 中的开发交流,了视频和 PPT,扔物线朱凯,业界良心。视频已经查看,推荐关注。
  • axis2学习的难题

    2007-11-27 11:35:15
    问都没有人问.走的时候.只留给我一句话"遇到问题,不停的试." 这两天一直研究web service,对这个新东西不是很熟.但是老总说很简单.连培训都免了. 我的目的就是要把一个.zip的文件从客户端(本地计算机)传...
  • 好久没有写博客了,因为这段时间都忙着找工作,现在实习的地方找到了,希望可以那家公司学到更多的知识!  --步入正题之前我不得吐槽一些博客,写的楚的,通过Hibernate生成对应实体类这我已经会了...
  • 查看了网上很多博客,不是写的太笼统就是抄来抄去,根本没有阅读的欲望,很是让浪费时间,也学不到真正的东西,一直半解。因为年前一直忙着公司上线加班的事情,所以根本没抽出来时间。加班的日子暂时告一段落,...
  • 开发人员就像割韭菜,旧人一一辞职,新人天天引进,公司何谈发展和积累,做了n年,涛声依旧,做法没有改变,情况没有改观,公司没有发展,好在中国多地大,呼悠完一个行业,再呼悠另一个行业。三是作者那个时候...
  • 开发人员就像割韭菜,旧人一一辞职,新人天天引进,公司何谈发展和积累,做了n年,涛声依旧,做法没有改变,情况没有改观,公司没有发展,好在中国多地大,呼悠完一个行业,再呼悠另一个行业。三是作者那个时候...
  • 在公司怎么切图。而同一时间我的同学们有当客服的,有干销售的,干什么的都有,他们工资都远高于我,那个时候同学们都刚出来工作,互相之间的攀比还是挺严重的,当时的我都...
  • 我是培训机构搞JAVA的,工作是着学生做实训项目,但是了1年多,不知道目前企业招,会要那些,很多学生说JAVA工作越来越难找了,公司的要求都很高,我无解,真不知道如何学生,可以让他们变成不愁找不到...
  • 因为你辞职的那一刻起公司就认为你是个稳定的因子,即使你被挽留下来也不大可能会有什么好的发展,同时也不要因为公司曾经带给了你成长所以犹豫到底要不要走。往高处走,水往低处流,...
  •  2013年6月毕业,毕业之后就开始自己程序媛的生涯,一毕业进了一家很不错的外企,这家公司待了不到3个月就离开了...这家公司带了2年,就是这家公司我感觉到自己真的的了很多东西,刚进入这家公司的时候自...
  • 随想

    2019-08-06 18:18:47
    感觉这半年里面也没学到什么东西 就熟悉了公司的产品框架的开发流程 然后就做一些简单的二次开发 也是跟之前的小公司一样 没有高手 虽然现在这个公司人是很多的额 但是一个项目组没几个人 跟之前的公司...
  • 园林设计实习日记.doc

    2021-01-14 23:38:53
    而被安排了工地,原因在于自己对直接做设计,出图还成熟,实习公司也暂时没有人没有时间新人。再者,听说去工地也可以学到很多的东西,特别是最为基础的一些植物的相关知识,和施工上的一些实际操作,所以...
  • 而被安排了工地,原因在于自己对直接做设计,出图还成熟,实习公司也暂时没有人没有时间新人。再者,听说去工地也可以学到很多的东西,特别是最为基础的一些植物的相关知识,和施工上的一些实际操作,所以...
  • 最新药厂实习总结范本 时间过得很快,转眼间,实习生涯已经过去一大半了,我到了很多课本上学不到得知识,令难忘,令回味。踏上工作岗位,才知道,时间是这样过的,生活是这样过的,思想是这样改变的。 刚...
  • 以前,所在的第一个实习公司,因为喜欢老大的作风,做了一个月就走了,没有学到什么东西;然后就去了《用*》,这里,虽名为实习,但实际上却是准备考研,考完研也就辞职回家了;年后回来,一个老乡开的公司...
  • 軟實力

    2016-11-04 08:43:00
    一家硅谷公司招来三个实习生,分别是中国、印度和美国。美国实习生只求把事情做完就好,一到下班立马走人。...实习期间,学到东西最多的是中国实习生,但是,最后人们最能记住的是那位印度...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 128
精华内容 51
关键字:

在公司没有人带学不到东西