Long Luo's Life Notes

每一天都是奇迹

整理 By Long Luo

这几天用了很长时间爬完了水木社区 很热的一个帖子: 我最大的错误在哪里(20年…略长)? ,这个帖子比较有营养,尤其是很多回帖非常有价值,让我学到了很多东西。

昨晚花了一个多小时整理并收集了一些精彩回帖,激励自己,时常看看,吸取力量。

人生坎坷太多,需要提高逆商啊!

苦海泛起爱恨,在世间,难逃避命运!


首先改变一下心态,不要总将问题归结于自己,查找自己的问题。很多时候就是命运弄人,没遇到好人而已。

建议,

第一,过平淡生活,不投机,老实赚钱,不求暴富,不追求女神,娶老婆性格为先。不是每个人能暴富。美女也不是随便那个人承受得了的。

第二,前妻提的些具体问题,可酌情做些改变。不得不承认,出身会带来一些不适应现代城市生活的特质,可适当修正,但不能急。

第三,对自己宽容些,不要给自己太多责任。


前面的受的苦只能说出身不是我们自己能选择的, 事实上你的努力也给了你足够的回报了,你所说的各种选择错误,只是错过了最优的选择, 但是人生就如同股票,没有经过,谁知道选择的就是最优的呢?

也许读博和出国了你后来得到的工作并不一定如你所选择的,因为你工作的平台并不差,导致后来每况愈下是因为自己的性格,即使你博士出来,换一个可能更好点的平台,极大可能也是一样搞的每况愈下;

对于自己的能力,还是要有自知之明,既然不适合迎合苟且,那就淡然的活好自己,毕竟你已经将自己从最贫苦的农村生活中挣扎出来了,而且你也有能力赡养老人还有余力自主兄弟,对于自己来说,已经是成功了,不是没人都能成刘强东啊;

最大的失败还是最终没有抵住诱惑加杠杆炒股,远超出了你自己的承受能力。

如果你认为自己的生活就是注定要在沼泽地里前行的话,你现在就是跌倒一个坑里了,但是还好,这个坑还不至于淹死你啊。 如果性格的缺陷终究是改变不了的, 我觉得你只要调整好心态,坚持努力,终究还是能够上岸的,

从你的叙述上来说,你小孩跟着妈妈并不是很好的选择, 你的孩子还是值得你继续奋斗,为他提供一个过得去的生活环境;

而且说又说的准你就一定不会再遇到一个能够真心相待的女人呢


楼主有几个重要的问题:

  1. 器量不够,心态太低。驾驭不住肤白貌美的女人和较多的金钱、权力,有挑战性但有前景的职业机会等。弱势的人不会被同情,只会被歧视

  2. 缺少投资、婚恋、职场等专业的知识和眼界,这个要么靠他人指点,要么靠自己学习,一般来说学习能力强的人走了弯路最后也能重新走到正路上,大学毕业后,要学的东西还是很多的。

  3. 怨天尤人,高考也赖这赖那,婚姻也赖前妻,炒股夜赖前妻,赚了估计就不赖了。。。要想拥有好东西,最重要是自己配的上,自己才是最重要的因素。


看到这样的帖子,也忍不住出来回复一下

  1. 总结出的失败,其实不存在这么多,你总结这么多等于没有总结

    • 比如学业失败,我恰恰觉得还挺成功,自己考研成功,指导自己老婆考研成功,可以做mentor了
    • 比如投资失败,也不怪你,不是因为炒股,而是因为杠杆炒股,只有千分之几的人能够把握,而且体制上也存在问题,国家没有管控好,身边很多70后的中产阶级,财富都被洗劫了,你还年轻这算什么?
    • 比如工作失败,每个人倒过来看,都会错过一些机会,本质上还是价值观的问题,见第二条
  2. 如果说存在的失败,那我觉得还是自我剖析、反思、总结、沉淀的失败
    你说原生家庭的失败,我承认,但是自己后续要能跳出来看,逐步建立起自爱、自信 追求美好的东西(这个美好不是说美貌什么的,而是价值观比较好),经过自己后天学习,深度思考,逐步建立起自己的思想体系

  3. 反复思考第一、第二点,你过去的经历是宝贵的财富


  1. 不要把责任推到别人身上。所有的决定都是自己的,对错都自己扛。
  2. 总结一下自己的优势,看看怎么样勤奋努力,可以增加收入。
  3. 你的主要问题是自卑心过重。其实现在干脆一切都放下,好好找个奋斗方向。

去年我也亏了不少,是你的几倍。不过我之前赚的多,虽然元气大伤所以承受住了。

别的我们没有交集我给予不了你太多建议。

  1. 投机是个长期的工作,而且是门科学,(学习,实践,提高)无限循环下去直到你退出为止。
  2. 你这年龄把目光放到投机上很正常,但是记住投机是从别人手里抢钱的游戏,你要多问问自己,凭什么你能从别人手里抢到钱。

做好自己能做好的一切吧,别想太多了,lz其实已经靠知识改变命运了,从最穷的人变成了在成都买两套房,婚姻失败也不算大事,吃一堑长一智罢了。在成都年入10万不算差了,可能上进心较强,总跟身边更高的人比。

很多事都是命,做出的选择不好跟出身还有自己的资源有很大关系。

其实错误和问题lz自己已经发现了,以后怎么改变也是命。欠30万也不算大事,挺过这个坎儿,后面会逐渐再好起来。

股市就是个买卖,做生意讲的是生行莫入熟行莫出,输钱皆因赢钱起。想尝试新鲜的领域一定要控制成本,不知道怎么面对失败本身就是很大的风险。

阅读全文 »

By Long Luo

在上一篇 Android自定义View:如何实现一个模拟时钟? 中我们实现了一款模拟时钟。在上一篇中,我们使用了Canvas中的canvas.rotate()方法让坐标系旋转从而绘制出指针。

但是,其实我们也可以使用另外一种方法去实现指针绘制,这种更直观,更容易理解。

一. 绘制指针

要绘制指针,需要知道指针的起点和终点,而起点就是圆心,终点就需要根据指针的sincos值及圆心进行对应的计算。

1.1 弧度

要计算指针对应的 sincos 值,区别于上一篇的角度,这一篇我们使用弧度。具体弧度是什么以及角度弧度换算关系可自行Google。

下面我们给出对应指针弧度如何计算的,如下所示:

1
2
3
float secRot = mCalendar.get(Calendar.SECOND) / 30f * (float) Math.PI;
float minRot = mCalendar.get(Calendar.MINUTE) / 30f * (float) Math.PI;
float hrRot = (((mCalendar.get(Calendar.HOUR_OF_DAY) + (mCalendar.get(Calendar.MINUTE) / 60f))) / 6f) * (float) Math.PI;

1.2 绘制

知道对应指针的弧度之后,我们就很容易计算出对应的指针坐标了,那么绘制也变得简单了,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
float secLength = centerX - 60;
float minLength = centerX - 80;
float hrLength = centerX - 100;

float hrX = (float) Math.sin(hrRot) * hrLength;
float hrY = (float) -Math.cos(hrRot) * hrLength;
canvas.drawLine(centerX, centerY, centerX + hrX, centerY + hrY, paintHour);

float minX = (float) Math.sin(minRot) * minLength;
float minY = (float) -Math.cos(minRot) * minLength;
canvas.drawLine(centerX, centerY, centerX + minX, centerY + minY, paintMinute);

float secX = (float) Math.sin(secRot) * secLength;
float secY = (float) -Math.cos(secRot) * secLength;
canvas.drawLine(centerX, centerY, centerX + secX, centerY + secY, paintSecond);

1.3 小插曲

开发完成之后,发现了一个Bug,指针一直不动,打印Log发现对应的弧度一直不变,那么很明显就是时间没有刷新,在计算弧度前,设置为当前时间即可。

1
mCalendar.setTimeInMillis(System.currentTimeMillis());
阅读全文 »

By Long Luo

一个类的定义放在另一个类的定义内部,这就是内部类

先来段代码,对内部类有个直观认识:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class OuterClass {
private String name ;
private int age;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public int getAge() {
return age;
}

public void setAge(int age) {
this.age = age;
}

class InnerClass{
public InnerClass(){
name = "chenssy";
age = 23;
}
}
}

在这里InnerClass就是内部类。

Java中有4种不同类型的Java内部类,下面我们将一一用实例来介绍:

1. 静态内部类(static nested classes)

关键字static可以修饰成员变量、方法、代码块,还可以修饰内部类,而使用static修饰的内部类我们称之为静态内部类,不过我们更喜欢称之为嵌套内部类。

静态内部类与非静态内部类之间存在一个最大的区别,我们知道非静态内部类在编译完成之后会隐含地保存着一个引用,该引用是指向创建它的外围内,但是静态内部类却没有。没有这个引用就意味着:

  1. 它的创建是不需要依赖于外围类的。
  2. 它不能使用任何外围类的非static成员变量和方法。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Outer {
static class Inner {
void go() {
System.out.println(" Inner class reference is: " + this);
}
}
}

public class Test {
public static void main(String[] args) {
Outer.Inner n = new Outer.Inner();
n.go();
}
}

Output:

1
Inner class reference is: com.longluo.java.interview.innerclass.Outer$Inner@15db9742
阅读全文 »

HashMap is very useful when a counter is required.

1
2
3
4
5
6
7
8
HashMap<String, Integer> countMap = new HashMap<String , Integer>();

// ... a lot of a’s like the following
if (countMap.keySet().contains(a)) {
countMap.put(a, countMap.get(a) + 1);
} else {
countMap.put(a, 1);
}

loop through hashmap

1
2
3
4
5
6
7
8
9
10
Iterator it = mp.entrySet().iterator();
while (it.hasNext()) {
Map.Entry pairs = (Map.Entry) it.next();
System.out.println(pairs.getKey() + " = " + pairs.getValue());
}

Map<Integer, Integer> map = new HashMap<Integer, Integer>();
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println("Key = " + entry.getKey() + " , Value = " + entry.getValue());
}

2 print hashmap

1
2
3
4
5
6
7
8
9
10
public static void printMap(Map mp) {
Iterator it = mp.entrySet().iterator();

while (it.hasNext()) {
Map.Entry pairs = (Map.Entry) it.next();

System.out.println(pairs.getKey() + " = " + pairs.getValue());
it.remove(); // avoids a Concurrent Modification Exception
}
}
阅读全文 »

1. what is inner interface in java?

Inner interface is also called nested interface, which means declare an interface inside of another interface. For example, the Entry interface is declared in the Map interface.

1
2
3
4
5
6
7
public interface Map {
interface Entry {
int getKey();
}
}

void clear();

2. why use inner interface?

There are several compelling reasons for using inner interface: 1. It is a way of logically grouping interfaces that are only used in one place. 2. It increases encapsulation. 3. Nested interfaces can lead to more readable and maintainable code.

One example of inner interface used in java standard library is java.util.Map and Java.util.Map.Entry. Here java.util.Map is used also as a namespace. Entry does not belong to the global scope, which means there are many other entities that are 64

3. HOW INNER INTERFACE WORKS?

Entries and are not necessary Map’s entries. This indicates that Entry represents entries related to the Map.

18.3 how inner interface works? To figure out how inner interface works, we can compare it with nested classes. Nested classes can be considered as a regular method declared in outer class. Since a method can be declared as static or non-static, similarly nested classes can be static and non-static. Static class is like a static method, it can only access outer class members through objects. Non-static class can access any member of the outer class.

18.4. A SIMPLE EXAMPLE OF INNER INTERFACE?

Because an interface can not be instantiated, the inner interface only makes sense if it is static. Therefore, by default inter interface is static, no matter you manually add static or not. 18.4 a simple example of inner interface?

Map.java public int e r f a c e Map {

18.4. A SIMPLE EXAMPLE OF INNER INTERFACE?

int e r f a c e Entry { int getKey ( ) ; } void c l e a r ( ) ; } MapImpl.java public c l a s s MapImpl implements Map { c l a s s ImplEntry implements Map. Entry { public int getKey ( ) { return 0 ; } } @Override public void c l e a r ( ) { / / c l e a r } }

0%