请问mpandroidchart如何实现动画连续不断的重载,动画如何暂停 50C

新手程序员一枚,现在需要我要做一个连续不断的波形图,因为要实现手势操作,所以采用了mpandroidchart
,我在示例代码上面进行改动的,但是我无论如何只能实现一次动画效果。求大神们帮助,现在附上代码

public class LineWaveActivity extends DemoBase implements
OnSeekBarChangeListener, OnChartGestureListener,
OnChartValueSelectedListener {
private LineChart mChart;
private SeekBar mSeekBarX, mSeekBarY;
private TextView tvX, tvY;
// -----------------波形曲线可能会用到的参数(尖波)--------------
private List> month = new ArrayList>();
private List> data = new ArrayList>();
// 数据
// x轴数据——单位秒(s)
private String[] mTimes = new String[] { "00:00s", "00:10s", "00:20s",
"00:30s", "00:40s", "00:50s", "00:60s", "00:70s", "00:80s",
"00:90s", "00:10s", "01:10s", "01:20s", "01:30s", "01:40s",
"01:50s", "01:60s", "01:70s", "01:80s", "01:90s", "02:00s",
"02:10s", "02:20s", "02:30s", "02:40s", "02:50s", "02:60s",
"02:70s", "02:80s", "02:90s", "03:00s", "03:10s", "03:20s",
"03:30s", "03:40s", "03:50s", "03:60s", "03:70s", "03:80s",
"03:90s", "04:00s", "04:10s", "04:20s", "04:30s", "04:40s",
"04:50s", "04:60s", "04:70s", "04:80s", "04:90s", "05:00s",
"05:10s", "05:20s", "05:30s", "05:40s", "05:50s", "05:60s",
"05:70s", "05:80s", "05:90s", "06:00s" };
// y轴数据——单位(n/m^2)
private int[] arrs = { 0, 0, 0, 0, 0, 0, 5, -10, 15, -20, 25, -25, 20, -15,
10, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 15, -20, 25, -25, 20,
-15, 10, -5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, -10, 15, -20, 25,
-25, 20, -15, 10, -5, 0, 0, 0, 0, 0 };

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // 设置窗体全屏
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setContentView(R.layout.activity_linechart);
    // ---------------波形曲线操作代码块----------------------
    Map<String, Object> map = null;
    for (int i = 0; i < mTimes.length; i++) {
        map = new HashMap<String, Object>();
        map.put("times", mTimes[i]);
        month.add(map);
    }

    Map<String, Object> dataMap = null;
    for (int i = 0; i < arrs.length; i++) {
        dataMap = new HashMap<String, Object>();
        dataMap.put("ranges", arrs[i]);
        data.add(dataMap);
    }

    // ---------------波形曲线操作代码块----------------------
    tvX = (TextView) findViewById(R.id.tvXMax);
    tvY = (TextView) findViewById(R.id.tvYMax);

    mSeekBarX = (SeekBar) findViewById(R.id.seekBar1);
    mSeekBarY = (SeekBar) findViewById(R.id.seekBar2);

    mSeekBarX.setProgress(250);
    mSeekBarY.setProgress(100);

    mSeekBarY.setOnSeekBarChangeListener(this);
    mSeekBarX.setOnSeekBarChangeListener(this);

    mChart = (LineChart) findViewById(R.id.chart1);
    // ChartGestureListener手势监听器,可以使得 chart与手势操作进行交互。
    mChart.setOnChartGestureListener(this);
    // 设置表格上的点,被点击的时候,的回调函数
    mChart.setOnChartValueSelectedListener(this);
    // 设置图表内格子背景是否显示,默认是false
    mChart.setDrawGridBackground(false);
    // 数据描述
    // 如果没有数据的时候,会显示这个"You need to provide data for the chart.",类似listview的emtpyview
    mChart.setDescription("");
    mChart.setNoDataTextDescription("你需要为图表添加必要的数据!");

    // 设置点击value的时候,是否高亮显示
    mChart.setHighlightEnabled(true);

    // 设置是否可以手势操作
    mChart.setTouchEnabled(true);

    // 启用/禁用拖动(平移)图表。
    mChart.setDragEnabled(true);
    // 启用/禁用缩放图表上的两个轴。
    mChart.setScaleEnabled(true);
    // 启用/禁用x轴缩放
    mChart.setScaleXEnabled(true);
    // 启用/禁用y轴缩放
    mChart.setScaleYEnabled(true);

    // 如果设置为false,那么x轴,y轴可以分别放大
    mChart.setPinchZoom(false);

    // 设置背景颜色
    // mChart.setBackgroundColor(Color.GRAY);
    MyMarkerView mv = new MyMarkerView(this, R.layout.custom_marker_view);
    mChart.setMarkerView(mv);

    // 设置x轴相关参数
    LimitLine llXAxis = new LimitLine(10f, "警戒线");
    llXAxis.setLineWidth(4f);
    llXAxis.enableDashedLine(10f, 10f, 10f);
    llXAxis.setLabelPosition(LimitLabelPosition.RIGHT_BOTTOM);
    llXAxis.setTextSize(10f);

    XAxis xAxis = mChart.getXAxis();
    // xAxis.setValueFormatter(new MyCustomXAxisValueFormatter());
    // xAxis.addLimitLine(llXAxis); // add x-axis limit line

    Typeface tf = Typeface.createFromAsset(getAssets(),
            "OpenSans-Regular.ttf");

    LimitLine ll1 = new LimitLine(50f, "Upper Limit");
    // 设置警戒线粗细
    ll1.setLineWidth(10f);
    // 设置警戒线间隔大小(间隔宽度,线段位置,线段宽度)
    ll1.enableDashedLine(40f, 40f, 40f);
    ll1.setLabelPosition(LimitLabelPosition.RIGHT_TOP);
    ll1.setTextSize(10f);
    // 设置字体样式
    ll1.setTypeface(tf);

    LimitLine ll2 = new LimitLine(-50f, "Lower Limit");
    ll2.setLineWidth(10f);
    ll2.enableDashedLine(40f, 40f, 40f);
    ll2.setLabelPosition(LimitLabelPosition.RIGHT_BOTTOM);
    ll2.setTextSize(10f);
    ll2.setTypeface(tf);

    YAxis leftAxis = mChart.getAxisLeft();
    leftAxis.removeAllLimitLines(); // reset all limit lines to avoid
                                    // overlapping lines
    leftAxis.addLimitLine(ll1);
    leftAxis.addLimitLine(ll2);
    // 设置y轴最大值
    leftAxis.setAxisMaxValue(50f);
    // 设置y轴最小值
    leftAxis.setAxisMinValue(-50f);
    // 设置y轴起始点是否为0
    leftAxis.setStartAtZero(false);
    // leftAxis.setYOffset(20f);
    // 设置横向表格为虚线
    leftAxis.enableGridDashedLine(10f, 10f, 0f);
    leftAxis.setDrawLimitLinesBehindData(true);
    // 设置隐藏右边的坐标轴
    mChart.getAxisRight().setEnabled(false);
    // 设置相对于x,y的放大倍率
    // mChart.getViewPortHandler().setMaximumScaleY(20f);
    // mChart.getViewPortHandler().setMaximumScaleX(20f);
    // mChart.setVisibleXRange(20);//设置频幕能显示点的数量,要和MAX和Min结合起来使用
    // mChart.setVisibleYRange(20f, AxisDependency.LEFT);
    // mChart.centerViewTo(20, 50, AxisDependency.LEFT);
    //设置绘图事件,单位——毫秒,绘图程序入口!!!!!!!!!!!!!
    setData(45, 100);
     mChart.animateX(6000, Easing.EasingOption.EaseInOutQuart);
     mChart.invalidate();// 界面刷新
    Legend l = mChart.getLegend();
    // l.setPosition(LegendPosition.LEFT_OF_CHART);//设置中轴线向右移
    l.setForm(LegendForm.LINE);// 设置图表最下面显示的类型
}
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
        boolean fromUser) {

    tvX.setText("" + (mSeekBarX.getProgress()));
    tvY.setText("" + (mSeekBarY.getProgress()));

    setData(mSeekBarX.getProgress(), mSeekBarY.getProgress());

    // 刷新图标
    mChart.invalidate();
}

// 进度条拖动开始时候调用
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub

}

// 进度条拖动完成之后调用
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub

}

private void setData(int count1, int count2) {
    count1 = month.size();
    count2 = data.size();
    ArrayList<String> xVals = new ArrayList<String>();
    ArrayList<Entry> yVals = new ArrayList<Entry>();
    // x轴显示数据操作
    for (int i = 0; i < count1; i++) {
        Map<String, Object> data = month.get(i);
        xVals.add(data.get("times").toString());
    }
    // y轴显示数据操作
    for (int i = 0; i < count2; i++) {
        Map<String, Object> data2 = data.get(i);
        yVals.add(new Entry(Integer
                .parseInt(data2.get("ranges").toString()), i));

    }

    // create a dataset and give it a type
    LineDataSet set1 = new LineDataSet(yVals, "——————");
    set1.setFillAlpha(110);// 设置填充颜色透明度
    set1.setFillColor(Color.RED);

    // 设置线的样式
    set1.enableDashedLine(10f, 5f, 0f);
    // set1.enableDashedHighlightLine(10f, 5f, 0f);
    set1.setColor(Color.BLACK);
    set1.setCircleColor(Color.BLACK);
    set1.setLineWidth(1f);
    set1.setCircleSize(4f);
    set1.setDrawCircleHole(true);// 点的圆圈样式,true为空心点,flase为实心点
    set1.setValueTextSize(9f);
    set1.setFillAlpha(65);
    set1.setFillColor(Color.BLACK);
    // set1.setDrawFilled(true);
    // set1.setShader(new LinearGradient(0, 0, 0, mChart.getHeight(),
    // Color.BLACK, Color.WHITE, Shader.TileMode.MIRROR));

    ArrayList<LineDataSet> dataSets = new ArrayList<LineDataSet>();
    dataSets.add(set1); // add the datasets

    // create a data object with the datasets
    LineData data = new LineData(xVals, dataSets);

    // set data     
    Log.i("SumLog", "开始为图形设置数据");
    mChart.setData(data);
}

@Override
public void onChartGestureStart(MotionEvent me,
        ChartTouchListener.ChartGesture lastPerformedGesture) {
    Log.i("Gesture", "START");
}

@Override
public void onChartGestureEnd(MotionEvent me,
        ChartTouchListener.ChartGesture lastPerformedGesture) {
    Log.i("Gesture", "END, lastGesture: " + lastPerformedGesture);

    if (lastPerformedGesture != ChartTouchListener.ChartGesture.SINGLE_TAP)
        mChart.highlightValues(null);
}

@Override
public void onChartLongPressed(MotionEvent me) {
    Log.i("LongPress", "Chart longpressed.");
}

@Override
public void onChartDoubleTapped(MotionEvent me) {
    Log.i("DoubleTap", "Chart double-tapped.");
}

@Override
public void onChartSingleTapped(MotionEvent me) {
    Log.i("SingleTap", "Chart single-tapped.");
}

@Override
public void onChartFling(MotionEvent me1, MotionEvent me2, float velocityX,
        float velocityY) {
    Log.i("Fling", "Chart flinged. VeloX: " + velocityX + ", VeloY: "
            + velocityY);
}

@Override
public void onChartScale(MotionEvent me, float scaleX, float scaleY) {
    Log.i("Scale / Zoom", "ScaleX: " + scaleX + ", ScaleY: " + scaleY);
}

@Override
public void onChartTranslate(MotionEvent me, float dX, float dY) {
    Log.i("Translate / Move", "dX: " + dX + ", dY: " + dY);
}

@Override
public void onValueSelected(Entry e, int dataSetIndex, Highlight h) {
    Log.i("Entry selected", e.toString());
    Log.i("", "low: " + mChart.getLowestVisibleXIndex() + ", high: "
            + mChart.getHighestVisibleXIndex());
}

@Override
public void onNothingSelected() {
    Log.i("Nothing selected", "Nothing selected.");

}

}

请问各位,如何实现一个可用按钮控制的连续不断的波形效果,比较急额,卡了四天了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c语言能实现对结构体的重载吗?

想要比较两个结构体的大小 要用到== 要怎么实现重载?用c语言

C++运算符重载实现连加

这是函数原型,成员函数:Matrix operator+(const Matrix&) 这是函数体 Matrix Matrix::operator+(const Matrix& m) { Matrix temp; for (int i = 0;i < 2;i++) { for (int j = 0;j < 2;j++) { temp.p[i][j] = p[i][j] + m.p[i][j]; } } return temp; } 运行时出现错误,无法实现连加,可是没有报错或警告的消息,这是怎么回事? 调试时出现这个: [下面的框架可能不正确和/或缺失,没有为 ucrtbased.dll 加载符号]

请问C++语言运用模板的方式实现复数运算的运算符和函数的重载实现?

请问C++语言运用模板的方式实现复数运算的运算符和函数的重载实现?怎么实现复数模板?

提问,Java的重载和重定义的底层实现原理是什么

最近遇到个问题(不常用的那种)让我对Java的重载和重写有点迷惑,请高手指正。代码和结果如下: <br />class Cat{} <br />class WhiteCat extends Cat{} <br />class BlackCat extends Cat{} <br />public class test { <br />&nbsp;&nbsp;&nbsp; public void feed(BlackCat cat){ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("feed BlackCat"); <br />&nbsp;&nbsp;&nbsp; } <br /> <br /> public void feed(Cat cat){ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("feed cat"); <br />&nbsp;&nbsp;&nbsp; } <br />&nbsp;&nbsp;&nbsp; public void feed(WhiteCat cat){ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println("feed WhiteCat"); <br />&nbsp;&nbsp;&nbsp; } <br /> <br />&nbsp;&nbsp;&nbsp; public static void main(String[] args) { <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cat wc = new WhiteCat(); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cat bc = new BlackCat(); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; test p = new test(); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.feed(wc); <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; p.feed(bc); <br />&nbsp;&nbsp;&nbsp; } <br />输出的结果是: <br />feed cat <br />feed cat <br /> <br /> <br />有高手能详细的解释下 动态多单分配和静态多分配的实现机制么?比如重写,是在加载类的时候从基类往子类加载到栈中,找的时候从栈顶网栈底找,所以当方法名和参数一样的时候只找到子类就返回,基类的方法就被屏蔽了。(貌似不完整,有更明确的说明吗)那动态多分配的情况是怎么实现呢?<br/><strong>问题补充</strong><br/>恩,好好研究研究<br/><strong>问题补充</strong><br/>有点明白了,传进来的参数,不是看class本身的类型,而是看指引的类型。不过静态多分配和动态单分配的问题还是有疑惑,希望有高手继续指点。另外谢谢楼上的

java可否实现返回值重载

As an additional challenge, write a class with a method boolean print(int)that prints a value and returns a boolean. Now overload the method to return a long. (This is similar to some questions on the Sun Java Certification Exam.) 如上是thinking in java里面习题解集里的一句话,应该是不能重载的吧?实在不解,求高人指点。 难道我的表述有问题?上面的英文的意思是要写一个类!!直接给我可编译运行的代码吧,试毛吖,很明显直接写的话是编译不过的,我要的是这个问题的解!!!高人,你在哪里?

如何运用C++的模板类的模板方法,实现私有的运算符重载?

如何运用C++的模板类的模板方法,实现私有的运算符重载,在类的内部重载运算符,请教大侠怎么实现?

各位大侠,运用C++的模板类的模板方法,实现私有的运算符重载怎么实现

各位大侠,运用C++的模板类的模板方法,实现私有的运算符重载,在类的内部重载运算符,请教大侠怎么实现?

接口和结构重载?

<div class="post-text" itemprop="text"> <p>I am completely new to go and am planning on building a bittorent client as my first project to learn the language. One aspect is econding and decoding of bittorrent files. An example that I've found creates a struct containing a bufio.Reader, and then uses some interfaces to add additional methods. Can someone explain the mechanism for constructing these interfaces in such a way that overloads the struct? I'm not clear on how the functions in this file are being added to the decoder struct (<a href="https://github.com/marksamman/bencode/blob/master/decoder.go" rel="nofollow">https://github.com/marksamman/bencode/blob/master/decoder.go</a>):</p> <pre><code>package bencode import ( "bufio" "errors" "io" "strconv" ) type decoder struct { bufio.Reader } func (decoder *decoder) readDictionary() (map[string]interface{}, error) { dict := make(map[string]interface{}) } func (decoder *decoder) readString() (string, error) { ... } func (decoder *decoder) readList() ([]interface{}, error) { ... } func Decode(reader io.Reader) (map[string]interface{}, error) { decoder := decoder{*bufio.NewReader(reader)} if firstByte, err := decoder.ReadByte(); err != nil { return make(map[string]interface{}), nil } else if firstByte != 'd' { return nil, errors.New("bencode data must begin with a dictionary") } return decoder.readDictionary() } </code></pre> </div>

一个有难度的问题,怎么使用运算符重载<<实现显示输出一个复数?

一个有难度的问题,怎么使用运算符重载<<实现显示输出一个复数?怎么用到虚函数实现运算符重载?

c++中重载问题,为何"+"不能连续用?

随便一个简单代码: ``` #include <iostream> #include <string> using namespace std; class Complex { double real,imag; public: Complex(double r,double i):real(r),imag(i){} void display(const string &name) {cout << name << real << "," << imag << "i" << endl;} friend Complex& operator+(Complex &c1,Complex &c2); }; Complex& operator+(Complex &c1,Complex &c2) { Complex c; c.real = c1.real + c2.real; c.imag = c1.imag + c2.imag; return c; } int main() { Complex c1(1,1),c2(2,2),c3; c3 = c1 + c2; c3 = c3 + c1; //为何这两行不能写成c3=c1+c2+c1? c3.display("c3 = "); system("pause"); return 0; } ```

c++运算符重载的问题,请问大佬如何对<<运算符重载函数,希望能有注释

#include <iostream> #include <cmath> using namespace std; class Magic { double x; public: Magic(double d = 0.00) :x(fabs(d)) {}//fabs是cmath头文件的函数,求绝对值的 Magic operator+(const Magic&c) { return Magic(sqrt(x*x + c.x*c.x)); }//sqrt是求平方根 friend ostream& operator<<(ostream & stream, const Magic &c);//函数需要你来实现,输出对象的数据成员值 }; int main() { Magic ma; cout << ma << ", " << Magic(2) << ", " << Magic(-6) + Magic(-8) << endl;//构造函数(实参)——创建无名对象 return 0; }

用重载函数实现两个int的和,两个float的和,两个double的和

用重载函数实现两个int的和,两个float的和,两个double的和

求大神回复,父类方法重载时,子类如何实现调用

重载,由于只是参数不同,方法名都一样,子类调用时,应该用什么语句进行实现

C++重载运算符加减乘除。

C++如何用class重载+号实现(a,b)+(c,d)=(a+c,b+d)。

自增运算符重载后连续使用出错

下例中,如果前++函数返回值是引用就正确。 (1)如果是对象,在程序结束前,cc的值只增加了1。但是如果简单一个int j,(++j)++是不会错的。 (2)如果是对象,并且使用了copy构造函数,后++函数中的*this是前++返回值的copy,并且没有初始化。 对于这2种情况都不是很明白。 ``` #include <iostream> using namespace std; class CC { public: CC(int a); //CC(CC & cc1); //(2) CC & operator ++(); //(1) const CC operator ++(int); private: int mm; }; CC::CC(int a = 0) { mm = a; } CC & CC::operator ++() //(1) { mm++; return * this; } const CC CC::operator ++(int) { CC temp = * this; (this->mm)++; return temp; } /* CC::CC(CC & cc1) //(2) { cout << "Copy Constructor." << endl; } */ int main() { CC cc; (++cc)++; return 0; } ```

c++运用模板函数和函数模板实现运算符重载的差异是什么,各

c++运用模板函数和函数模板实现运算符重载的差异是什么,各自有什么利弊???

请教,在C++语言里左值和右值分别和运算符重载的实现有什么关系?

请教,在C++语言里左值和右值分别和运算符重载的实现有什么关系?运算符重载怎么看出是哪个方式实现的?

输入 输出运算符 >> <<怎么重载?

设计一个时间类Time,要求: 1、包含时(hour),分(minute),秒(second)私有数据成员; 2、包含构造函数,重载关于一时间加上另一时间的加法运算符"+"、重载输出运算符"<<"、重载输入运算符">>"。 要求,定义完Time类后,main函数中声明对象time1,time2,time3,然后实现 cin>>time1>>time2; time3=time1+time2; cout<

请教大仙了,C++语言里左值和右值分别和运算符重载的实现有什么关系?

请教大仙了,C++语言里左值和右值分别和运算符重载的实现有什么关系?运算符重载怎么看出是哪个方式实现的?

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

Linux 会成为主流桌面操作系统吗?

整理 |屠敏出品 | CSDN(ID:CSDNnews)2020 年 1 月 14 日,微软正式停止了 Windows 7 系统的扩展支持,这意味着服役十年的 Windows 7,属于...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

学习总结之HTML5剑指前端(建议收藏,图文并茂)

前言学习《HTML5与CSS3权威指南》这本书很不错,学完之后我颇有感触,觉得web的世界开明了许多。这本书是需要有一定基础的web前端开发工程师。这本书主要学习HTML5和css3,看...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

搜狗输入法也在挑战国人的智商!

故事总是一个接着一个到来...上周写完《鲁大师已经彻底沦为一款垃圾流氓软件!》这篇文章之后,鲁大师的市场工作人员就找到了我,希望把这篇文章删除掉。经过一番沟通我先把这篇文章从公号中删除了...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

新一代神器STM32CubeMonitor介绍、下载、安装和使用教程

关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang最近ST官网悄悄新上线了一款比较强大的工具:STM32CubeMonitor V1.0.0。经过我研究和使用之...

记一次腾讯面试,我挂在了最熟悉不过的队列上……

腾讯后台面试,面试官问:如何自己实现队列?

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

冒泡排序动画(基于python pygame实现)

本项目效果初始截图如下 动画见本人b站投稿:https://www.bilibili.com/video/av95491382 本项目对应github地址:https://github.com/BigShuang python版本:3.6,pygame版本:1.9.3。(python版本一致应该就没什么问题) 样例gif如下 ======================= 大爽歌作,mad

Redis核心原理与应用实践

Redis核心原理与应用实践 在很多场景下都会使用Redis,但是到了深层次的时候就了解的不是那么深刻,以至于在面试的时候经常会遇到卡壳的现象,学习知识要做到系统和深入,不要把Redis想象的过于复杂,和Mysql一样,是个读取数据的软件。 有一个理解是Redis是key value缓存服务器,更多的优点在于对value的操作更加丰富。 安装 yum install redis #yum安装 b...

现代的 “Hello, World”,可不仅仅是几行代码而已

作者 |Charles R. Martin译者 | 弯月,责编 | 夕颜头图 |付费下载自视觉中国出品 | CSDN(ID:CSDNnews)新手...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

!大部分程序员只会写3年代码

如果世界上都是这种不思进取的软件公司,那别说大部分程序员只会写 3 年代码,恐怕就没有程序员这种职业。

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

HTTP与HTTPS的区别

面试官问HTTP与HTTPS的区别,我这样回答让他竖起大拇指!

程序员毕业去大公司好还是小公司好?

虽然大公司并不是人人都能进,但我仍建议还未毕业的同学,尽力地通过校招向大公司挤,但凡挤进去,你这一生会容易很多。 大公司哪里好?没能进大公司怎么办?答案都在这里了,记得帮我点赞哦。 目录: 技术氛围 内部晋升与跳槽 啥也没学会,公司倒闭了? 不同的人脉圈,注定会有不同的结果 没能去大厂怎么办? 一、技术氛围 纵观整个程序员技术领域,哪个在行业有所名气的大牛,不是在大厂? 而且众所...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

立即提问
相关内容推荐