2020年1月16日 星期四

[JS] Useful ES6 / ES2015 Syntax Enhancements (Keep Updating...)

Below are the es6 enhancements that are easily forgot but use a lot. Keep them noted here

Details
1. Function definitions in object (shorthand)
const obj = {
  foo() {
    return 'bar';
  }
}

2. Shallow copy using spread operator
let obj1 = { foo: 'bar', x: 42 }

let clonedObj = { ...obj1 }

3. Nested object properties destructuring
const nestedObj = {
	open: true,
	btnAct: {
		proceedLbl: 'aaa',
		cancelLbl: 'bbb',
	}
}
const {
	open,
	btnAct: {proceedLbl, cancelLbl}
} = nestedObj

proceedLbl and cancelLbl variable is created with value nestedObj.btnAct.proceedLbl and nestedObj.btnAct.cancelLbl

2020年1月15日 星期三

[Android] Boot Loop when Changing Custom ROM

Problems
Recently I want to change other custom ROM for my Mi Pad 4 (Clover), but something strange happens, some ROM can dirty flash nicely while some didn't. This catch my attention.

The symptom is that when flashing some ROMs, it did flash successfully, but become bootloop in the system logo. Then I head to twrp recovery, clean dalvik cache, data etc. But problem still exists.

But this popup gives me a clue for the solution



The system get stuck for 1-2 minutes and the "encryption unsuccessful" warning pops. It told me to reset my phone bla bla bla


Solutions
Turn out some of the ROM changed my MiPad's file system to f2fs for the sake of performance, I then go to Wipe > advanced wipe > select data > change or repair file system > change file system, change the file system back to ex4, and hola! I can boot into the new custom ROM again!

References
https://forum.xda-developers.com/mi-a1/help/encryption-unsuccessful-help-t3763087

2020年1月12日 星期日

[CSS] Keeping DIVs Side by Side

Problems
Making DIVs left and right side by side with the same height is a "always wants to accomplished" task, having the same height of 2 divs ensure the best alignment and appearances upon designing our UI.


Solutions
First we set the outer div to display: flex, and the inner 2 divs to flex: 1, the purpose is to told the browser that 2 child DIVs are of the same proportion. 

And that's it ! Now no matter what content is in the 2 DIVs, they will always share the same height

References
https://stackoverflow.com/questions/2997767/how-do-i-keep-two-side-by-side-divs-the-same-height

2020年1月9日 星期四

[System] Revive Folder Cannot Open Problem in Ubuntu

Problems
Ubuntu OS has been started for 80 days, and many problems occurs, one annoying issue is unable to open any folders and even more serious unable to use the desktop (unresponsive)


Reasons and Solutions
Seems the daemon / program handling the UI stuffs crashes (nautilus), so seemly kill and restart them solves the issue

ps -A | grep nautilus // gather target pid
sudo kill -9 pid  // kill the program by pid gathered from previous cmd

And that's it ! All desktop functions and folders can be functioned properly again, saving me from restarting the whole system and re-initialize all my programs

References