Пользователь
Webpack + React. Как уменьшить бандл в 15 раз
Ясной инструкции по сборке webpack для продакшена я не нашел. Поэтому решил написать эту статью. Надеюсь, пригодится.
Существует множество сборщиков скриптов. Я выбрал для себя Webpack по таким критериям:
- Гибкость настройки
- Большое количество плагинов и лоадеров
- Lazy loading
- Использование es6 и es7 синтаксиса с помощью babel-loader
Змеиный фрукт или фруктовый Питон?
Не библейская история
- И сотворил Google Android. Поселил его в саду мобильных платформ, дав ему жену — Java.
- И повелел Google Jav
е: создавай программы Android
у, красивые и быстрые, и Androidу сказал: не следует тебе брать других жен, кроме Jav
ы. И запретил им вкушать плодов от древа познания фреймворков и языков программирования, дабы не сделались их программы медленными и неугодными пользователю. - Хитрейшим же на том древе был древний змий — динамический Python. Долгое время наблюдал он за Android
ом и, наконец, подстерег его прогуливающимся в тени деревьев. Тогда спросил хитрый Python Android
а: правду ли сказал тебе Google, не вкушать плодов от древа познания фреймворков и языков программирования, дабы не сделались твои программы медленными и неугодными пользователю? - Точно так заповедовал мне всемогущий Google, ответил Android и прогаммы создает мне жена моя — Java.
- Обманул тебя Google, прошипел хитрый Python, ибо знает он, что в тот день, когда ты вкусишь плодов от древа познания фреймворков и языков программирования, прозреешь ты и потянутся к тебе другие разработчики и станут создавать программы, и появятся у тебя приложения такие же красивые и быстрые, как от жены твоей Java, и будут они кроссплатформенны!
- И сорвал Python плод от древа познания фреймворков и языков программирования и протянул Android`у, и тот ел.
- Имя того плода — Kivy.
Книга фреймворка Kivy (Глава 2, стих 1-7)
Pomp — метафреймворк для парсинга сайтов
Зачем еще один?
В первую очередь как инструмент для сбора данных, применяемый в моем хобби проекте, который не давил бы своей мощью, сложностью и наследием. И да, кто же будет сознательно начинать что-то новое на python2.x?
В итоге появилось идея сделать простой фреймворк для современной экосистемы python3.x, но такой же элегантный как Scrapy.
Под катом обзорная статья о Pomp в стиле FAQ.
Почему сложно программировать UI и как выглядит идеальный фреймворк
Одна из сложных задач современной разработки — это программирование пользовательского интерфейса. С увеличением количества элементов сложность увеличивается нелинейно и совладать с огромным количеством вариантов, состояний и переходов становится практически невозможно. Фреймворки вроде Angular со своим двусторонним связыванием пытается решить эту проблему, но на фундаментальном уровне ничего не меняется.
Со-основатель, технический директор и главный учитель нашего образовательного проекта Хекслет Кирилл Мокевнин рассказывает про сложность программирования интерфейсов и каким образом можно совладать со сложностью если вы знакомы с одной базовой концепцией информатики. Заодно расскажет и покажет идеальный JS-фреймворк для программирования UI.
Как я повышал конверсию машинным обучением
- может ли один доклад умного человека сделать другого человека одержимым?
- как окунуться в машинное обучение (почти) с нуля?
- почему не стоит недооценивать многоруких бандитов?
- существует ли серебряная пуля для a/b тестов?
Ответ на первый вопрос будет самым лаконичным — «да». Услышав это выступление bobuk на YaC/M, я восхитился элегантностью подхода и задумался о том, как бы внедрить похожее решение. Я тогда работал продуктовым менеджером в компании Wargaming и как раз занимался т.н. user acquisition services – технологическими решениями для привлечения пользователей, в число которых входила и система для A/B тестирования лендингов. Так что зерна легли на благодатную почву.
К сожалению, по всяким причинам я не мог плотно заняться этим проектом в обычном рабочем режиме. Зато когда я слегка перегорел на работе и решил устроить себе длинный творческий отпуск, одержимость превратилась в желание сделать такой сервис умной ротации лендингов самостоятельно.
Изоморфные приложения. Взгляд в будущее с React
Изоморфные приложения. Взгляд в будущее с React
В разработке программного обеспечения все часто возвращается на круги своя. Так, например, на заре развития Интернета серверы подгружали контент сразу же на сторону клиента. В последнее же время, с разработкой современных веб-фреймворков, таких как AngularJS и Ember, мы видим тенденцию к обработке запросов на стороне клиента и использованию сервера только для API. Однако, это далеко не единственная тенденция. Сейчас происходит медленное возвращение или, скорее, слияние этих двух архитектур.
Настоящие ассоциативные массивы в JavaScript
Kivy и Play Store
Как перевести сайт целиком на постоянный HTTPS для всех
Шифруем всё подряд
Эра незашифрованного веба проходит, и это хорошо. В этой инструкции мы предполагаем, что на вашем сервере работает веб-сервер Nginx. И теперь мы сделаем так, чтобы все посетители сайта пользовались исключительно протоколом HTTPS. Кроме этого мы включим HSTS – это «HTTP Strict Transport Security», когда сайт не только поддерживает HTTPS, но и настаивает на его использовании.
Для этого есть множество способов, но я опишу метод под названием «HTTPS termination». Иначе говоря, мы поставим перед веб-сервером обратный прокси, который и будет обеспечивать HTTPS. Это получается проще и гибче, чем настраивать HTTPS только при помощи возможностей веб-сервера. Возможно, вам покажется контринтуитивным, что добавление ещё одного приложения в стек упростит вашу жизнь – но это действительно так.
Уточним, что данный рецепт подходит для серверов на базе Linux, на которых установлен Nginx.
То, что будет работать прежде всех остальных приложений в стопке – это HAProxy. Это в первую очередь приложение для балансировки – он умеет распределять приходящие запросы между разными физическими серверами. Много высоконагруженных сайтов используют его в этом качестве (тот же reddit), но в последней версии у него появилась возможность выполнять SSL termination. Он умеет устанавливать HTTPS-соединения от имени сервера.
Поэтому мы поставим HAProxy, скормим ему наши сертификаты SSL/TLS, поручим перенапрявлять все HTTP запросы на HTTPS, и покажем ему уже сам веб-сервер в качестве бэкенда.
Как попасть в топ на Kaggle, или Матрикснет в домашних условиях
Рассказ делю на следующие разделы:
1. Условия конкурса;
2. Создание новых характеристик;
3. Логистическая регрессия – прелести адаптивного градиента;
4. Матрикснет – воссоздание полного алгоритма;
5. Ускорение машинного обучения в Python.
Конференции для разработчиков c видео презентациями
К сожалению некоторые конференции
- заказывают сторонних людей, которые выкладывают всё на свой канал вместе с другими конференциями или личным хламом;
- встраивают в свой сайт без возможность шаринга, а порой и вообще закрывают под ключ или с оплатой;
- не выкладывают материалы и трёхлетней давности;
- не заботятся о качестве видео — тёмный зал, совершенно не видно презентации, нет монтажа, неполадки со звуком, неслышно вопросов и т.п.
Понятно что у организаторов своя бизнес-модель и возможности, но хочется унифицировать и мотивировать организаторов относиться к докладам и их авторам с уважением, выкладывать видео со временем, синхронизировать со слайдами.
С видео | Без нормального видео |
|
Два с половиной приема при работе с argparse
Приемы, описанные здесь, есть в официальной документации к модулю argparse (я использую Python 2.7), ничего нового я не изобрел, просто, попользовавшись ими некоторое время, убедился в их мощности. Они позволяют улучшить структуру программы и решить следующие задачи:
- Вызов определенной функции в ответ на заданный параметр командной строки с лаконичной диспетчеризацией.
- Инкапсуляция обработки и валидации введенных пользователем данных.
Как быстро создать опрос на вашем сайте с помощью форм Google?
Это может быть форма в разделе контакты, через которую посетители сайта будут отправлять вам интересующие их вопросы, может быть форма сбора заявок от клиентов (например, заявки на обратный звонок или заявки на покупку товара), а может быть форма для проведения опроса или голосования по интересующей вас теме.
Есть несколько подходов в создании подобных форм:
• Формы можно сделать, используя теги HTML и завязать нажатие кнопки «Отправить» с отправкой введенных данных вам на email
• Можно сделать связку PHP+MySQL (или любой другой язык программирования и базу данных) и все введенные данные сохранять в базу данных для дальнейшей работы.
• Если ваш сайт сделан с использованием какой-нибудь популярной CMS (например, Joomla, Drupal или WordPress), то вы можете поискать в сети плагины, модули и компоненты, которые достаточно просто позволяют создавать формы
• А можно для создания форм обратной связи использовать бесплатные инструменты всем известного Google.Docs
И в этой статье я хотел бы показать как с помощью Google.Docs вы можете легко и быстро создавать всевозможные формы опроса для ваших сайтов.
Обратные сетевые эффекты — от чего умирают большие сети
Сангит Пол Чодри — предприниматель, аналитик и бизнес-консультант из Сингапура — считает, что причиной смерти многих крупных сетей становятся так называемые обратные сетевые эффекты, из-за которых ценность сети не растёт, а уменьшается с ростом числа пользователей. Как они работают?
Читать книги на английском и учить язык легче с помощью WordMemo
Главная идея сервиса состоит в том, что учить слова лучше всего не взятыми по отдельности, как в словарях, а в составе реальных предложений. Что-то вроде англо-русского разговорника и учебника, который вы создаете сами!
Проверка идеи боем: fake landing page
Основная проблема любой идеи стартапа — никто не знает, нужно ли это вообще кому-нибудь или нет. Готовы ли люди изменить своё поведение, свои привычки и начать пользоваться новым продуктом? И главное — готовы ли они за него заплатить?
Десятки-сотни тысяч стартапов ежегодно запускаются, не зная ответа на этот вопрос. Это понятно — никогда нельзя быть абсолютно уверенным в успехе нового бизнеса. Тем не менее, существуют несколько методов проверки идеи — и все они с разной степенью могут предсказать будущее продукта. Один из самых эффективных методов — это разработка fake landing page.
Начнем «раскручивать» термин с конца. Landing page («посадочная страница») называют страницу сайта, на которую пользователь переходит по нажатию на рекламное сообщение. Обычно на этой странице кратко и полно описывается суть продукта, а так же размещается action button, например «Зайти», «Начать», «Узанать подробнее». Цель landing page — «взять на руку» человека, пришедшего извне по рекламе, быстро и четко объяснить, что здесь происходит, и показать один путь, куда двигаться дальше. Переход же на главную страницу сайта, как часто делают многие рекламодатели, обычно является серьезной ошибкой — большое количество информации, которая понятна уже постоянному пользователю, пугает новичка — и даже не надейтесь, что он найдет раздел «О нас» или «Что это?».
С появлением приставки fake — фальшивый, ненастоящий — проявляется сакральный смысл всей идеи проверки будущего стартапа на реальности. Мы создаем landing page для еще несуществующего продукта, «пригоняем» траффик посредством рекламного объявления и проверяем, как ведут себя наши потенциальные клиенты. Итоговым результатом является четкий ответ — сколько из всех, кто в принципе заинтересован предложенной идеей (нажали на рекламное объявление) готовы стать вашими клиентами (нажали на кнопку «Зайти» на fake landing page).
Не для денег: организация сообщества по интересам
В этой статье представлены мысли и краткая выжимка своего опыта по поводу организации сообщества по интересам. Писалось на опыте создания и развития Уральского регионального стрелкового клуба – некоммерческого сообщества людей, увлеченных оружием, стрельбой и всем, что с этим связано.
Сообщество существует уже больше 4-х лет, мы регулярно проводим различные мероприятия – соревнования по стрельбе, фестивали, просто собираем народ. Клуб начинался на ровном месте 3-мя людьми, причем до этого даже не сильно знакомыми между собой. Сейчас у нас накоплена хорошая материальная база, позволяющая проводить соревнования по различным стрелковым дисциплинам, а главное – опыт, которым я хочу поделиться с уважаемыми читателями.
Все нижеизложенное – мое имхо, с удовольствием в комментариях почитаю про ваш опыт и отвечу на вопросы.
Вопросы организации
1. Организации сообщества делается не для денег, это делается для души. Это потребует от вас вложений как материальных, так и других – ваше время, силы и нервы. Мало кому удается зарабатывать на своем хобби, и здесь описан не этот случай.
2. Ваш профит – это общение с новыми, интересными людьми, которые настроены с вами на одну волну. Причем с людьми, с которыми в своей обычной жизни вы, скорее всего бы просто не встретились. Также это отличная возможность попробовать и развить свои менеджерские, лидерские и коммуникативные навыки.
3. Крайне желательно четко понимать, чего вы хотите добиться – миссия, стратегические цели, задачи. Исходя из этого, строить дальнейшее развитие вашего сообщества (клуба, объединения).
4. Все делается для людей. Если вы не сможете собрать и сплотить вокруг вашего дела единомышленников – то ничего не получится. Вас должно переть от вашей темы, и этим вы должны заражать окружающих.
5. Позаботьтесь о площадке, где вы будете общаться. Это можно делать на существующих ресурсах, но там вы напрямую зависите от факторов, на которые не имеете влияния (дурные модераторы, невозможность самостоятельного развития). Лучший вариант – это свой ресурс, на котором вы полноправные хозяева. На нем должна быть возможность создавать закрытые разделы для общения. После создания площадки сразу закрепите правила общения на ней и придерживайтесь их.
6. Старайтесь без реальной на то нужды не раздавать полномочия на модерацию, управление, доступ к закрытым ресурсам. Забрать что-то обычно бывает сложнее, чем дать.
7. Постарайтесь сделать так, чтобы в случае вашего внезапного ухода сообщество могло продолжить жить дальше. Как минимум оставьте учетные записи от всех нужных для работы вашего сообщества сервисов надежному человеку.
8. Все наработки, касающиеся договоренностей, контактов нужных людей необходимо хранить в месте, в котором они будут доступны организаторам.
Эффективные знакомства
1. Инструмент
2. Интересы и группировка по степени совпадения в процентах, как музыкальные вкусы на last.fm. Собственно здесь, могут быть те же музыкальные или киношные вкусы. Не только на сайтах знакомств, например, в ЖЖ очень не хватает такой группировки по интересам.
Общая цель сводится к тому, чтобы пользователь находился в своем сегменте, в своем кругу общения, интересов и предпочтений. Как и в реальной жизни, только круг общения будет включать в себя значительно больше участников.
Лучшие интересности и полезности за год
Немного лирики: за год было пролито не мало переменных, множество потерь среди функций, классов и методов, но в конечном итоге коммиты побеждают баги, на свет появляются новые библиотеки и фреймворки, а веб становится с каждым днем лучше. Мне как человеку повернутому на страсти к таксономии, хочется выделить самые важные события, сервисы и инструменты, которые появились или обрели популярность за это время. Возникло желание наглядно посмотреть на то, как меняется мир веб-раработки. Получился дайджест с большой полезной ссылочной массой и огромным интересным опросником.
Информация
- В рейтинге
- Не участвует
- Откуда
- Таиланд
- Зарегистрирован
- Активность