Daily Challenge Event Last Shelter: Survival

Source:
http://huongdanvachiase.com/game/last-shelter-survival/bang-daily-challenge-event-last-shelter-survival.html

Loại COZ Gather Building Research Hero Training KE
Thời gian Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6 Thứ 7 + CN Thời gian
9:05 B + Sp B B Sp Any O + Z Sp Any Sp Any 9:05
10:05 B B + R + SpTr R + Sp R O + E + S SP Any R + Sp R 10:05
11:05 Sp Tr B Sp Any E  + S + Z B +R + Sp Tr B + Sp B 11:05
12:05 B + Tr Sp Any B + R O + E Sp Tr Sp Tr 12:05
13:05 Sp Any B + R B + R O + S B + R + Sp Tr B + R + SP Tr 13:05
14:05 B + R + Sp Tr B+ Sp B Sp Any O + E B + Tr B + R + SP Tr 14:05
15:05 B + R + Tr B + R B + R  + Sp Tr E + Z R + Tr B + Tr 15:05
16:05 B B + R + Tr B + R O + E Sp Any R + Tr 16:05
17:05 B + Sp B B Sp Any E + Z Sp Any Sp Any 17:05
18:05 B B + R + SpTr R + Sp R O + E SP Any R + Sp R 18:05
19:05 Sp Tr B Sp Any E + Z B +R + Sp Tr B + Sp B 19:05
20:05 B + Tr Sp Any B + R O + E Sp Tr Sp Tr 20:05
21:05 Sp Any B + R B + R O + S B + R + Sp Tr B + R + SP Tr 21:05
22:05 B + R + Sp Tr B+ Sp B Sp Any O + E + S B + Tr B + R + SP Tr 22:05
23:05 B + R + Tr B + R B + R  + Sp Tr E + Z R + Tr B + Tr 23:05
0:05 B B + R + Tr B + R Sp Any R + Tr 0:05
1:05 B + Sp B B Sp Any Sp Any Sp Any 1:05
2:05 B B + R + SpTr R + Sp R SP Any R + Sp R 2:05
3:05 B + Sp Tr B Sp Any B +R + Sp Tr B + Sp B 3:05
4:05 B + Tr Sp Any B + R Sp Tr Sp Tr 4:05
5:05 Sp Any B + R B + R B + R + Sp Tr B + R + SP Tr 5:05
6:05 B + R + Sp Tr B+ Sp B Sp Any B + Tr B + R + SP Tr 6:05
7:05 B + R + Tr B + R B + R  + Sp Tr R + Tr B + Tr 7:05
8:05 B B + R + Tr B + R Sp Any R + Tr 8:05

XGalleryCli 3.0

Still under development … But allready to use

  • Completely remove Joomla! libraries
  • Refactor with
    • Symfony 4.2
      • Console: No custom shell_exec
      • Cache: Replaced for Stash
      • Process: Replaced for shell_exec
    • Doctrine for database
    • GuzzleHttp: Replaced for 3rd manual OAuth & downloading
  • Ready to use with Commands
    • flickr:authorize : Get access token & secret
    • flickr:contact : Get all contacts
    • flickr:photos : Get all photos of a contact. Custom NSID is supported
    • flickr:photossize : Get sized of photos. Custom NSID is supported
    • flickr:photodownload : Download a photo. Custom photo_id is supported
    • flickr:photosdownload : Mass download all photos

Usage

  • Cron for contact execute around once per day.
  • Cron for photos: Execute around once per hour ( or half ).
  • Cron photossize : Execute around once per hour ( or half )
  • Cron photosdownload : Per hour

WIP

  • Distpatcher
  • ORM

Todo

  • Dispatcher is implemented. We can hook events for image filter / process, etc …
  • Improve logs

How to generate Signature in OAuth 1.0 ( and 1.0a )

Required parameters

return [
		'oauth_consumer_key'     => $this->getCredential('oauth_consumer_key'),
		'oauth_nonce'            => $this->getNonce(),
		'oauth_signature_method' => self::SIGNATURE_METHOD,
		'oauth_timestamp'        => time(),
		'oauth_version'          => self::VERSION,
		];

If you have oauth_callback it would be included

$parameters = array_merge(['oauth_callback' => $callback], $this->getOauthParameters());

Then now you are ready

  • ParametersString is combined by encode key & value with “=” at middle.
  • Base string is combined {METHOD}&encode{URI}&encode{ParametersString}
  • Key is encode($consumerSecret) ‘&’ encode(TokenSecret) ( if exists )
		ksort($parameters);

		$parametersString = [];

		foreach ($parameters as $key => $value)
		{
			$parametersString[] = $this->encode($key) . '=' . $this->encode($value);
		}

		$baseSignature = strtoupper($method)
			. '&' . $this->encode($uri)
			. '&' . $this->encode(implode('&', $parametersString));

		return $this->encode(base64_encode(hash_hmac('SHA1', $baseSignature, $this->getKey(), true)));


FastCGI vs suPHP vs CGI vs mod_php (DSO)

Original link https://www.chriswiegman.com/2011/10/fastcgi-vs-suphp-vs-cgi-vs-mod_php-dso/

One question I see come up often for users setting up their own web servers involves how they run PHP. Nearly everyone I know who runs their own server has questions about this that usually fall in one of two areas. First, they have installed WordPressDrupal, or another CMS and can’t get uploads to work within the software or, second, they are interested in making their web server more secure. The answer to both of these involves how your web server handles PHP which is known as the PHP handler.

The choices in how you run PHP may seem complicated, but they don’t have to be. Quite simply your needs will determine which you use. Here’s some information on your options and where they can best be used.

Continue reading “FastCGI vs suPHP vs CGI vs mod_php (DSO)”

Interview

Cơ bản là cũng lâu rồi mình mới đi interview theo đúng nghĩa của nó. Còn trước đây hầu hết đều là trong giới với nhau ( Joomla! ) nên việc interview gần như là hình thức.

Phải công bằng mà nói … gần ( hoặc hơn ) 10 năm với Joomla! nó cũng lấy đi mình khá nhiều thứ

  • Quá lệ thuộc vào Joomla!
  • Mất đi khả năng làm việc với PHP thuần chuẩn
  • Không theo kịp thực tế: CI / Laravel / Symphony etc

Nghe vui nhỉ …

Tuy nhiên nếu gọi là “tích cực” thì mình nghĩ mình vẫn còn một vài điều “lợi thế”

  • No free time: Luôn và luôn stay on the computer and work with it. Trong khi đó hầu hết ( almost ) thanh niên, nữ tú ngày nay chỉ xem computer là cái thứ để kiếm tiền chứ không phải cuộc sống của họ.
  • Hard core: Luôn tìm cách optimize mọi thứ, dù chỉ là 1 bit ! Trong khi mọi người chủ yếu làm trong 1 phạm vi nhất định.
  • Logic: Yep ! Ở một góc độ nào đó mình sẽ không đủ knowledge để biết chính xác mình sẽ áp dụng cái gì để resolve vấn đề nào đó. Nhưng mình biết cần làm gì khi xảy ra vấn đề, tracking issue 🙂
  • Cách đặt câu hỏi của tuyển dụng đôi lúc mang tính chất: làm khó nhau. Nhưng cũng 1 phần do mình đã sơ suất khi thông tin chưa đủ đã vội trả lời.

Nhưng thôi cũng là lúc để tự nhìn lại bản thân … Kiến thức còn hạn hẹp thì phải spent more time for improvement 🙂

Ps:// Con số 50M / tháng thiết nghĩ cũng đâu phải là con số lớn nhỉ 🙂