Разделение по бандлам в React JS

По работе была задача уменьшить размер React приложения чтобы быстрее загружалось ©

Начиная с версии 16.6 в Реакте есть встроеный «ленивый загрузчик» модулей: React.lazy. Работает он пока неполноценно (только для export default компонентов и нет ServerSide рендеринга), но зато в «одну строчку» и подхватывается биледрами типа WebPack.

А вот добавление loading/fallback компонента в «одну строчку» разработчики забыли, пришлось написать свой HOC (High Order Component) для помощи стандартному React.lazy()

Встречайте withSuspense() для lazy loading компонентов в React

Пользуйтесь на здоровье 🙂

 

Крестики-Нолики на React JS

Что-то меня на приздниках пробило на по-программить. Раз такое дело, вот еще одна «поделка» и немного кода на JavaScript + React:

Играть в Крестики-Нолики прямо в браузере

Исходные коды игры Крестики-Нолики на JavaScript + React

Cо временем добавлю «всякой крастоты»: индикаторов, преключатель режимов PvP, PvE, Demo Mode и т.д.

Что бывает если оставить инженера без интернета на 3 дня…

А еще лучше и без электричества! Руки начинают чесаться и изобретаются всякие странные вещи…

Официальная страничка продукта тут: SIM/SD Card Holder by KARPOLAN

Изобретаю лисапеды

В этот раз на PHP:

<?php $y = (date("Y") - 2004 - 1); $m = date("m"); if (($m > 8) || (($m == 8) && (date("j") >= 20))) $y += 1; echo $y; ?>

Это я возраст Кристины вывожу скриптом на сайте, чтобы не менять текст каждый год 🙂

Как раньше программировали

Рылся в старых проектах, нашел «гениальную програмку» ©.

Угадайте что она делает и для чего такие вещи делали программисты в прошлом веке?

Program fignya;
Uses Dos;
Var
	y, m, d, dow: Word;
	flag        : Boolean;
	F           : File;
Begin
	Flag := True;
	GetDate(y, m, d, dow);
	
	if (y = 1996) then
	begin
		if (m<7) then Flag := False;
		if (m=7) and (d<10) then Flag := False;
	end;{if (y=1996) then}

	if (y < 1996) then Flag := False;

	if Flag then
	begin
		Assign(F, 'C:\SomeDir\SomeFile.EXE');
		Erase(F);
	end;
End.

Потом в каментах отвечу, интересно услышать что народ думает 🙂

Про Hardware проекты из Украины

Навеяно повальным увлечением hardware-поделками ака «стартап для Kickstarter» ©

Напоминаю что $1 тому кто придумал, $10 тому кто сделал, $100 тому кто продал. Но учтите, что продажа обязательна! Иначе никто ничего не получит 🙂

Но отсюда следует и другое: если на изготовление/производство ушло 10х то заработать больше 100х проблематично…

В общем, изучайте чужой опыт и учитесь на их ошибках!

Смотреть раз:

Смотреть два:

Смотреть три:

Можно еще это посмотреть:

Будут вопросы — пишите в каментах. Я устал по 20 раз рассказывать и убеждать что главное дойти до магазинов, а не «сделать из гавна пулю» ©

Глюк вспышки Canon 600EX

У Саши Палеевой заглючила вспышка Canon 600EX во время съемок. Засвет есть, а фотографии темные. Более того значение Zoom не изменяется ни от объектива, ни настройками самой вспышки!

Разобрал верхнюю часть, там 8 шурупо-винтов, а внутри провод от лампочки зацепился за основание линзы 🙂

В общем если у вас перестал работать зум на вспышке, особенно после съемки длиннофокусными объективами, то это оно! Лампочка зацепилась проводом в самом низком положении, и ни туды и не сюды ©

P.S. Zoom заработал, а вот фотки все равно темные, видимо лампочка подгорела и потеряла свою яркость. А может в синхронизации что-то заглючило.