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

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

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

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

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

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

 

WordPress on Staging + Static HTML on Production

Железобетонно-рабочего решения для «WordPress on Staging + Static HTML on Production» на данный момент нет 😦

Появился целый набор платных сервисов которые пытаются колдовать с таким решением, но делают пока это с переменным успехом…

Почти у всех не работают скрипты шаринга в соцсети, контактные формы, файлы и документы за пределами CMS WordPress, слетают кастомные CSS, не работает мобильная версия темы, ну и остальное по мелочи.

Самым надежным на данный момент выглядит следующий подход:

  1. Устанавливаем WP в папку на отдельном секретном саб-домене.
  2. Настраиваем WP чтобы работал от корня (иначе относительные ссылки будут глючить)
  3. В корне сайта, в под-папках, раскладываем материалы которые не имеют отношения к WordPress (статические страницы, PDF, ZIP и прочие файлы).
  4. В WordPress делаем страничку с агрегацией ссылок на все НЕ WordPress ресурсы вашего сайта (ссылку на такую страничку надо хотя бы одну).
  5. Создаем все страницы и посты сайта прямо в админке WordPress.
  6. Экспортируем контент в ZIP архив. Можно с помощью плагина Simply Static, можно внешней утилитой типа Website Downloader . Желательно перед экспортом отключить всякие кеш-плагины, минифаеры файлов, и прочие «улучшатели» контента.
  7. Заливаем ZIP с архивом сайта на хостинг основного домена и распаковываем его прямо в корень. Можно использовать S3 bucket или GitHub pages чтобы «сэкономить».
  8. «Отключаем» WordPress на секретном субдомене. Можно временно заменять Database криденшелы в wp-config.php, переводить сайт в доступ по паролю, остановить MySQL сервис и т.д. Я просто выключаю виртуалку с инстансом WordPress.

Все! С этого момента счастливо живем без спама, попыток взлома и прочего WordPress дурдома.

Если надо будет что-то добавить или изменить на сайте: «включаем» WordPress и повторяем все действия с пункта №5 и до конца.

P.S. Если у вас сильно отличается мобильная и десктопная версии сайта, лучше делать 2 разных экспорта статического контента. Один для мобильной темы, второй раз для полноразмерной. Редиректить пользователя на подходящий веб-сайт придется уже на основном хостинге.

Занесло в Прагу

Уже неделю в Праге по вопросам филиала Компьютерной Академии «ШАГ».

Разбираюсь что тут надо сделать и изменить чтобы itStep Praha взлетел ракетой © Надо и сотрудников подобрать, и рекламу с PR организовать чтобы студентов толпу набрать. Ну и еще всякого по мелочи…

Кстати, если знаете кандидатов в Чехии на позиции:

  • Завуч/Методист — управлять учебной частью. (Чешский язык обязательно!)
  • Гуру маркетинга и PR — вести кампании, организовывать ивенты, быть эвангелистом академии.
  • Технарь/Админ — крутить компы, обслуживать сеть, переустанавливать софт, и т.д.

дайте им мои контакты, пообщаемся.

Пиво тут все так же вкусное, погода теплая, а музыка примерно вот такая:

Забавная математика

По статистике есть 10% людей, которые хорошо выполняют работу не зависимо от оплаты. Они просто не умеют халтурить… Есть 10% людей которые не обучаемы в принципе, то есть сколько бы ты им не платил — дело сделать они не смогут! В оставшиеся большинство составляют люди, которые работают в зависимости от уровня оплаты и другой мотивации. То есть платишь хорошо (или бьешь батогом) — работают хорошо. Платишь мало — сачкуют.

Теперь вопрос: как из 10% взрослого населения Украины (пусть будет 3 миллиона человек) не нашлось всего каких-то 450 идейных индивидуумов первой группы?

P.S. Да, это я про депутатов Верховной Рады.

P.P.S. Очень надеюсь, что они не из второй группы руко-жопых…

Песенка про стартапы

Распеваем на мотивчик Репер-Сява «Отдыхаем Хорошо«:

Оп-па опа-па, мы стартапим хорошо.
Проебали всё лаве, фаундрайзимся ещё.
А давай, давай, давай! Тусим, питчим… Слайд кривой.
Ну и пофиг что факап. Каждый день как выходной!

Copyright © KARPOLAN

IDCEE 2014 — Фотографии

Конференция IDCEE 2014 прошла хорошо, было много интрересных проектов. Вот вам фотографии от мега-секси IT фотографа Саши Палеевой:

P.S. Похоже что под названием IDCEE конференция была в последний раз, ну поживем — увидим 🙂

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

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

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

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

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