Разделение по бандлам в 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 заработал, а вот фотки все равно темные, видимо лампочка подгорела и потеряла свою яркость. А может в синхронизации что-то заглючило.

Система автоматизации обмена валют AObmen (1995 год)

AObmen я писал в 1995-1996 годах, когда подрабатывал на фирме по обмену валют. Это был мой первый большой проект, его даже подавали на лицензирование в Нац Банк! Сейчас без слез на код смотреть сложно, но из песени слов не выбросишь. А псевдографика в текстовом режиме 80×25 чего стоит! 🙂

Исходные коды для Turbo Pascal 7.0 with Turbo Vision

На их месте должен был быть я (c) или про сервис рендеринга картинок онлайн

Обнаружил классный сервис по созданию арта для сайтов или презентаций из картинок-скриншотов. В 2х словах выбираете картику с телфоном, таблеткой или ноутбюуком, потом загруждаете свою картинку и она автоматом бобавляется на экаран в правильной проекции и с эфектами. В общем place.to специально для тех кто не владеет фотошопом или очень ленивый 🙂

Где-то с полчаса восторгался сервисом. А потом у меня случилась Дежа-Вю! Я же точно такой (даже более навороченый) сервис пытался сделать году в 2008 или 2009! В общем видимо зря тогда не довел дело до конца, как минимум полезная шняга была бы.

Ну раз такое дело, расшарю несколько документов от того проекта. Может кому-то пригодиццо и он таки сделает что-то подобное с похожей архитектурой:

Сертификаты, провижены и прочие грабли iOS разработки

Для начала давайте определимся

Провижен это такой файл, который закгужается с девелоерского сайта Apple и добавляется в среду разработки XCode

Девелоперский провижен — файл для определённого пекиджа com.company.SomeName или набора пекиджей com.company.* чтобы можно было компилировать, запускать и отлаживать прямо из XCode проект com.company.SomeName

Дистрибьюшен провижен — файл для определённого пекиджа com.company.SomeName или набора пекиджей com.company.* чтобы можно было отгружать публичный билд (Archive в .ipa файл или прямо в АпСтор).
Кстати, на дистрибьюшен провижине невозможно запустить или отлаживать продукт прямо в XCode. Надо дев и дистриб провижены переключать постоянно, или разрабатывать и отгружать на разных машинах! 😦

Кроме провиженов есть понятие персональный сертификат или айдентити которые добавляются в системный KeyChain.

Девелоперский Сертификат — сертификат только для зарегистрированных в Apple Developer людей (с Apple ID) для разработки и запуска на дивайсах из XCode. Притом для того чтобы человек может быть любым, даже не привязанным к комапнии выдавшей Девелоперский провижен, но лучше так не делать 🙂

Айдентити для дистрибьюции — это такой же девелоперский сертификат, но выданный на человека который является членом команды (указан в Control Panel Apple). Без такой айдентити невозможно собрать билд для Дистрибьюшен провижена!

Так что же надо и когда?

Чтобы отлаживать и разрабатывать (но без Store и InAppPurchase) прямо из XCode, для пекиджа com.aaa.bbb достаточно:

  1. Девелоперский Провижин для com.aaa.bbb
  2. Дивайс присутвует в файле этого Дев. Провижена для com.aaa.bbb
  3. Подойдет любой Девелоперский Сертификат

Чтобы компилить, отлаживать и получать InAppPurchase и прочие Store вещи прямо из XCode, для пекиджа com.aaa.bbb нужно:

  1. Девелоперский Провижен для com.aaa.bbb
  2. Дивайс присутвует в файле Девелопер Провижена com.aaa.bbb
  3. Девелоперский Сертификат выданный на сотрудника компании!

Чтобы отгрузить билд com.aaa.bbbb для AppStore нужны:

  1. Дистрибьюшен провижен для com.aaa.bbb
  2. Айдентити зарегистриррованного Apple Developer сотрудника компании.

Apple такой Яббл © #ЖизньБоль