Date Archives

Tháng Tư 2019

10 BÀI HỌC KINH DOANH ĐẮT GIÁ TỪ CUỘC SỐNG

1/ Bài học số 1

Hai con bồ câu trống và mái tha hạt thóc về đầy tổ, cả hai rất ư hạnh phúc. Gặp mùa khô hanh, hạt thóc ngót lại. Con trống thấy tổ vơi đi liền trách con mái ăn vụng. Con mái cãi lại liền bị con trống mổ chết. Mấy hôm sau mưa xuống, hạt thóc thấm nước và nở to ra. Bồ câu trống ngẩn tò te.

+ Bài học kinh doanh rút ra:

“Thịt” nhân viên một cách hồ đồ không làm bạn trông thông minh hơn.

2/ Bài học số 2

Một ông vua nọ do chán chuyện triều đình nên mua một con khỉ đem về. Con khỉ làm trò rất hay nên được vua sủng ái, đi đâu cũng mang theo, cho mặc quần áo, giao cả kiếm cho giữ. Một hôm, vua ra vườn thượng uyển ngủ. Có con ong bay đến đậu lên đầu vua. Khỉ muốn đuổi ong, lấy kiếm nhắm vào ong mà chém. Đức vua băng hà.

+ Bài học kinh doanh rút ra:

Trao quyền cho những kẻ không có năng lực thì luôn phải cảnh giác.

3/ Bài học số 03

Quạ thấy chó ngậm khúc xương quá ngon, bèn đánh liều lao xuống mổ vào đầu chó. Bị bất ngờ, chó bỏ chạy để lại khúc xương. Quạ ngoạm lấy khúc xương nhưng nặng quá không tha nổi. Chó, sau khi hoàn hồn, thấy kẻ tấn công chỉ là con quạ nên quay lại táp một cú, quạ chết tươi.

+ Bài học kinh doanh rút ra:

Đừng chiếm thị trường nếu bạn biết là không giữ được nó.

4/ Bài học số 04

Ba con thú dữ là sói, gấu và cáo thay nhau ức hiếp đàn dê. Dê đầu đàn bèn nói với cả bầy: “Ta nên mời một trong ba gã sói, gấu hay cáo làm thủ lĩnh của chúng ta”. Cả đàn dê bất bình, nhưng ba “hung thần” nghe tin này rất mừng. Thế là chúng quay sang tranh giành nhau quyền lãnh đạo, cuối cùng cáo dùng bẫy hại chết được sói và gấu. Nhưng rồi một mình nó không còn ức hiếp đàn dê được nữa.

+ Bài học kinh doanh rút ra:

Hãy thận trọng khi nghe tin bạn sắp được làm sếp!

5/ Bài học số 05

Chàng yêu nàng từ thuở nàng mười lăm mười sáu tuổi. Cả hai lén lút đi lại, quan hệ, quậy gia đình, trốn nhà đi, dọa chết nếu không được chấp nhận. Nếu quan hệ ấy kéo dài một năm, được gọi là phạm pháp, dụ dỗ trẻ vị thành niên, có nguy cơ ra tòa thụ án. Nếu mối tình ấy kéo dài ba năm, được gọi là yêu trộm, tình yêu oan trái. Nếu mối tình kéo dài sáu bảy năm, sẽ được gọi là tình yêu đích thực, vượt núi trèo đèo qua bao khó khăn để yêu nhau.

+ Bài học kinh doanh rút ra:

Bạn làm gì chả quan trọng, quan trọng là bạn làm được trong … bao lâu!

6/ Bài học số 06

Một nàng cave, nếu ngủ với thợ thuyền hoặc lao động ngoại tỉnh, thì bị gọi là đối tượng xã hội. Nếu ngủ với đại gia lừng lẫy, thì được gọi là chân dài. Nếu ngủ với một ngôi sao sân cỏ hoặc màn bạc, sẽ được đàng hoàng lên báo kể chuyện “nghề nghiệp” và trưng ảnh hở da thịt giữa công chúng, không ai có ý định bắt nàng.

+ Bài học kinh doanh rút ra:

Bạn làm gì chả quan trọng, quan trọng là bạn làm điều đó với ai!

7/ Bài học số 07

Phòng tắm công cộng bỗng dưng bị chập điện gây hỏa hoạn lớn, vô số chị em chạy túa ra đường mà không kịp mặc gì. Những nàng thông minh là người không lấy tay che thân thể, mà lấy tay che… mặt.

+ Bài học kinh doanh rút ra:

Hãy quan tâm tới mấu chốt của mọi vấn đề.

8/ Bài học số 08

Một nàng gái ế chạy tới đồn cảnh sát tố cáo: “Tôi đã cẩn thận để tiền trong áo lót, thế mà thằng cha đẹp trai đứng cạnh tôi ở trên xe bus đông đúc đã móc lấy mất tiền của tôi!”.
Cảnh sát ngạc nhiên: “Tại sao nó có thể móc tiền được ở một vị trí “nhạy cảm” như thế, mà cô không phát hiện ra?”
Cô nàng gái ế thút thít: “Ai ngờ được là nó chỉ muốn moi tiền?”

+ Bài học kinh doanh rút ra:

Một nhà kinh doanh tài ba là người moi được tiền của khách hàng trong lúc đang khiến khách hàng sung sướng ngất ngây.

9/ Bài học số 09

Nhân viên vệ sinh của công ty rất buồn phiền vì các quý ông thường lơ đãng khi vào nhà vệ sinh. Để giải quyết những vũng nước vàng khè dưới nền toilette, công ty dán lên tường, phía trên bệ xí nam một tờ giấy: “Không tiểu tới bô chứng tỏ bạn bị ngắn, tiểu ra ngoài bô chứng tỏ bạn bị… ủ rũ!”. Ngay từ ngày hôm sau, toilette nam sạch bóng và không còn quý ông nào lơ đãng nữa.

+ Bài học kinh doanh rút ra:

Hãy chứng minh cho khách hàng thấy vấn đề một cách cụ thể, ấn tượng.

10/ Bài học số 10

Bố mẹ nàng mở cuộc thi tuyển con rể. Chàng A nói, tài khoản có một triệu đô. Chàng B khoe, có biệt thự hai triệu đô. Bố mẹ nàng có vẻ ưng lắm. Chàng C nói, cháu chả có gì cả, thưa các bác. Cháu chỉ có mỗi một đứa con, hiện đang nằm trong bụng của con gái các bác!

+ Bài học kinh doanh rút ra:

Muốn cạnh tranh với đối thủ, cần có tay trong!

Những điểm mới của Java 12

Java 12 chính thức được tung ra vào ngày 19/03/2019 với rất nhiều tính năng mới. So với phiên bản gần nhất là 11 thì phiên bản JDK 12 có khoảng 90 điểm và 109 so với bản 10. Các thay đổi này tạm nhóm trong 4 nhóm chính như sau: Ngôn ngữ Java, thư viện, JVM (máy ảo java) và các tính năng khác.

Thay đổi về ngôn ngữ

Điểm đáng chú ý nhất trên phiên bản JDK 12 này là biểu thức switch (switch expression – JEP 325). Bằng cách mở rộng câu lệnh switch này mà lập trình viên có thể sử dụng như một câu lệnh hoặc một biểu thức.

Ví dụ về câu lệnh switch truyền thống:

int numLetters;
switch (day) {
case MONDAY:
case FRIDAY:
case SUNDAY:
numLetters = 6;
break;
case TUESDAY:
numLetters = 7;
break;
case THURSDAY:
case SATURDAY:
numLetters = 8;
break;
case WEDNESDAY:
numLetters = 9;
break;
default:
throw new IllegalStateException("Huh? " + day);
}

Bây giờ bạn có thể viết thành dạng sau:

int numLetters = switch (day) {
case MONDAY, FRIDAY, SUNDAY -> 6;
case TUESDAY -> 7;
case THURSDAY, SATURDAY -> 8;
case WEDNESDAY -> 9;
default -> throw new IllegalStateException("Huh? " + day);
};

Quan sát vào cú pháp mới này ta có thể nhận thấy có 2 thay đổi ở đây. Thứ nhất là thay vì phải chia từng trường hợp một thì ta có thể gom thành 1 nhóm, phân tách nhau bởi dấu phẩy (“,”). Điểm thứ 2 là toán tử Lambda (->) được sử dụng để đơn giản hóa cách chúng ta thể hiện giá trị được trả về từ biểu thức switch.

Thư viện (Libraries)

Có một thay đổi nhỏ rất hữu ích đó là Stream API có 1 Collector mới, được cung cấp bởi lớp Collectors. Collector mới này thu được bằng cách sử dụng phương thức teeing. Teeing collector nhận vào 3 đối số, 2 collectors, và một BiFunction. Để hiểu rõ hơn về điểm này các bạn có thể xem sơ đồ sau:

Tất cả các giá trị từ input stream sẽ được truyền vào mỗi collector. Kết quả của mỗi collector sẽ được truyền đi dưới dạng đối số cho BiFunction để xử lý và đưa ra kết quả cuối cùng.

Để hiểu rõ hơn về khái niệm này, chúng ta có thể xem ví dụ đơn giản sau, về cách tính trung bình.

/* Assume Collectors is statically imported */
double average = Stream.of(1, 4, 2, 7, 4, 6, 5)
.collect(teeing(
summingDouble(i -> i), 
counting(),
(sum, n) -> sum / n));

Collector đầu tiên sẽ tính tổng của các số, collector thứ 2 sẽ thực hiện đếm số lượng số. BiFunction sẽ thực hiện lấy tổng chia số lượng ra số trung bình.

java.io

InputStream skipNBytes(long n): hàm này sẽ bỏ qua và từ chối chính xác n bytes dữ liệu. Nếu n bằng 0 hoặc nhỏ hơn thì sẽ không có byte nào được bỏ qua.

java.lang

Trong package java.lang có thêm một package con là: java.lang.constant

JVM Constants API cung cấp các loại tham chiếu tượng trưng để mô tả cho từng dạng hằng số (class, loadable constant, MethodHandleMethodHandle constant, and MethodType constant). Các class sau sẽ có thêm hàm describeConstable() 

  • Class
  • Double
  • Enum
  • Float
  • Integer
  • Long
  • String
  • MethodHandle
  • MethodType
  • VarHandle

Các class sau sẽ chứa 1 hàm resolveConstantDesc():

  • Double
  • Enum.EnumDesc
  • Float
  • Integer
  • Long
  • String

java.lang.Character

Các class con đã được cập nhật để thêm các khối Unicode mới.

  • Chess Symbols
  • Mayan numerals
  • Sogdian
  • Old Sogdian

java.lang.String

indent(): thêm các ký tự khoảng trắng vào đầu chuỗi. Nếu giá trị truyền vào là một số âm thì số lượng các ký tự khoảng trắng tương ứng ở đầu chuỗi sẽ bị lược bỏ.
transform(): phương thức này cho phép chúng ta áp dụng một biểu thức lambda vào một chuỗi. Ví dụ:

String str = "1000";       
Integer integer = str.transform(Integer::parseInt);
System.out.println(integer);

java.lang.invoke

VarHandle: thêm hàm toString, trả về một mô tả ngắn gọn
java.net.SecureCacheResponse và java.net.ssl.HttpsConnection có phương thức mới: getSSLSession()

java.nio.files

Class Files có thêm phương thức mới: mismatch(), phương thức này sẽ tìm và trả về vị trí đầu tiên của byte không match trong nội dung của 2 file, trả về -1L nếu match.

Danh sách các website và blog về Java uy tín

Top 10 website về Java

1. Javaworld

2. Java Code Geeks

3. InfoQ | Java

4. DZone

5. The Server Side

6. Jaxenter | Java

7. The Spring Blog

8. DeveloperWorks: Java technology

9. Baeldung

10. Voxxed

Top Java Developers Blogs (21 blogs)

1. Mkyong

2. Vogella | Java

3. Java Specialists Newsletter

4. Javarevisited

5. Java Papers | Java

6. Stephen Colebourne’s blog

7. ProgramCreek

8. Bozho’s tech blog

9. Miles to go 3.0 …

10. jOOQ Blog | Java

11. Petri Kainulainen

12. NoBlogDefFound

13. Vlad Mihalcea’s Blog

14. CodeFX

15. Thought on Java

16. A Java Geek

17. Jenkov Tutorials

18. Adam Bien’s Weblog

19. Java2S | Java

20. How to do in Java

21. Inspired by Actual Events