Рубрика «Блог компании RUVDS.com» - 118

Jekyll на VPS за 30 рублей для состоятельных людей - 1


Статический HTML почти ушел в прошлое. Теперь сайты это связанные с базами данных приложения, которые динамически формируют ответ на пользовательские запросы. Однако, в этом есть и свои недостатки: более высокие требования к вычислительным ресурсам и многочисленные уязвимости в CMS. Сегодня мы расскажем о том, как поднять свой простенький блог на Jekyll — генераторе статических сайтов, контент которых берется прямиком из GitHub.
Читать полностью »

Когда я, изучив основы HTML и CSS в 2014 году, занялся разработкой сайтов, сложнее и страшнее всего для меня было создание их заголовочных частей. Тогда технология Flexbox была ещё достаточно новой, поэтому мы вынуждены были использовать старые методы — вроде float-позиционирования и техники clearfix. Сегодня мир фронтенд разработки стал совсем другим. А именно, технология Flexbox получила широкую браузерную поддержку, что открывает нам множество новых возможностей.

Проектирование заголовочных частей сайтов с использованием CSS Flexbox - 1

Кто-то может сказать, что сегодня, из-за того, что у нас есть современные CSS-технологии разработки макетов страниц, создать заголовочную часть сайта проще, чем в былые времена. Но, на самом деле, это не так. И в наши дни при проектировании макетов страниц приходится решать непростые и интересные задачи. О некоторых из них я собираюсь рассказать в этой статье.

А именно, здесь я расскажу о том, как, используя Flexbox-макеты, создавать качественные заголовочные части сайтов. Я поделюсь некоторыми советами, а в итоге продемонстрирую мой проект, созданный специально для этого материала. Поэтому, если вам и правда интересна тема, которую я тут решил поднять, вам, определённо, стоит дочитать эту статью до конца.

Здесь я исхожу из предположения о том, что вы владеете основами Flexbox-вёрстки. Вот, на всякий случая, моя статья, написанная для тех, кто хочет узнать больше о CSS-свойстве flex.
Читать полностью »

Упаковка приложения в F-Droid - 1

tl;dr: упаковываю и отправляю приложение без троянов для управления своими лампами в F-Droid без каких-либо знаний в разработке для Android.

У меня есть политическая позиция, я сторонник СПО во многом согласен со Столлманом. Как это часто бывает, такая позиция дополняется лёгкой паранойей. Я стараюсь избавляться от проприетарных приложений, особенно, если они работают через сторонние сервера.

А ещё у меня есть «умные» лампы Xiaomi Yeelight, которые контролируются приложением, работающим через сервера Xiaomi. Но в нём есть возможность включить в лампе API, работающее внутри локалки. Чтобы чувствовать себя спокойней, я пошёл искать приложение в Github и Gitlab и теперь намереваюсь продвинуть его в F-Droid, чтобы поддержать наше параноидальное сообщество.Читать полностью »

В начале работы над новым React-проектом рекомендуется сформулировать инструкции, следуя которым можно будет создать приложение, хорошо поддающееся масштабированию.

6 рекомендаций по разработке масштабируемых React-проектов - 1

В этом материале я хочу поделиться знаниями о React-разработке, накопленными за годы использования этой библиотеки. Они помогут вам в формировании вашего собственного свода правил по разработке React-приложений.
Читать полностью »

Решаем, нужен ли вам личный почтовый сервер - 1


Большинство из нас бесит то, что владелец сервера читает нашу почту. Конечно, делают это алгоритмы, а не живые люди, но от этого не легче: мутная контекстная реклама, собранная из обрывков фраз, недостаточная безопасность, да и просто осознание того, что твою переписку может просматривать условный товарищ майор — бесят. Кого-то бесят в большей, кого-то в меньшей степени.

Еще у части специалистов есть пунктик на тему красоты почты. Хочется красивый, короткий, запоминающийся адрес, который бы показывал, что вы не просто gmail-холоп, а вполне самостоятельная боевая единица на полях IT-сражений. А кто-то хочет просто экспериментов. Эти люди уже сами собирали ядро системы, тонко настроили домашний медиа-сервер, научили роутер качать все подряд с файлообменников без участия ОС. Теперь нужно поднять свою почту, приватный VPN, а дальше можно посмотреть в сторону написания драйверов или на другие активности уровня «хардкор».

У многих IT-специалистов существует запрос, который публичный почтовый сервис удовлетворить не способен. Вот только не все отдают себе отчет, чего им это будет стоить. Так что давайте разберемся, на самом ли деле вам нужен почтовый сервер или стоит приложить свою энергию в каком-то более перспективном направлении.
Читать полностью »

Исправление странной ошибки и стратегии отладки, проверенные временем - 1


Помните, когда вам в последний раз доводилось сталкиваться с ошибкой, связанной с пользовательским интерфейсом, на исправление которой у вас уходили многие часы? Возможно, эта ошибка происходила периодически, без каких-то видимых причин. Может быть, она появлялась при определённых условиях (это могло зависеть от устройства, операционной системы, браузера или от действий пользователя) или была скрыта где-то в недрах одной из множества фронтенд-технологий, являющихся частью клиентской части веб-проекта?

Недавно мне пришлось вспомнить о том, какими запутанными могут быть причины возникновения ошибок пользовательских интерфейсов. А именно, речь идёт об исправлении интересной ошибки, влияющей на вывод SVG-изображений в браузере Safari. Эта ошибка возникала без какой-то определённой системы и без каких-то очевидных причин. Я, столкнувшись с проблемой, попытался найти похожие случаи, надеясь на то, что описания таких случаев дадут мне намёк на то, что происходит. Но мне не удалось отыскать ничего полезного. Правда, несмотря на все стоящие передо мной препятствия, я смог с этой ошибкой справиться.

Я проанализировал проблему, используя некоторые стратегии отладки, о которых я собираюсь рассказать в этой статье. После того, как от ошибки я избавился, я вспомнил совет, который Крис Койер дал читателям своего Твиттера несколько лет назад. Этот совет звучит так: «Напишите статью, которую вы хотели бы найти, когда обращались к поисковику». Собственно говоря, так я и поступил.
Читать полностью »

О реализации структуры данных Map в V8 - 1


В стандарте ECMAScript 2015, известном как ES6, появилось много новых JavaScript-коллекций, таких, как Map, Set, WeakMap и WeakSet. Они, судя по всему, стали отличным дополнением к стандартным возможностям JavaScript. Они получили широкое применение в различных библиотеках, в приложениях, в ядре Node.js. Сегодня мы поговорим о коллекции Map, попытаемся разобраться с особенностями её реализации в V8 и сделаем некоторые практические выводы, основанные на полученных знаниях.

Стандарт ES6 не содержит чёткого указания на подход, который должен быть использован для реализации поддержки структуры данных Map. В нём лишь даны некоторые подсказки по возможным способам её реализации. Там же приведены сведения об ожидаемых от Map показателях производительности:

Объект Map должен быть реализован либо с использованием хеш-таблиц, либо с применением других механизмов, которые, в среднем, обеспечивают доступ к элементам коллекции за сублинейное время. Структуры данных, используемые в спецификации объекта Map, предназначены лишь для описания наблюдаемой семантики объектов Map. Они не задумывались как реальная модель реализации этих объектов.

Как видно, спецификация даёт тем, кто создаёт JS-движки, большую свободу. Но при этом здесь нет определённых указаний, касающихся конкретного подхода, используемого для реализации Map, его производительности, характеристик потребления памяти. Если в критически важной части вашего приложения используются структуры данных Map, и если вы записываете в такие структуры данных большие объёмы информации, то основательные знания о реализации Map, определённо, принесут вам большую пользу.
Читать полностью »

Анонс: путь от джуна до исполнительного директора в Сбербанке - 1


Сегодня, в 20:00 во всех наших соцсетях пройдет прямой эфир с Алексеем Левановым, исполнительным директором в Сбербанке.

Леша пришел в Сбербанк в 2014 году на позицию Junior-разработчика. Сейчас он исполнительный директор: Product Owner и Teamlead платформенной команды Sberbank Investor и занимается МП Сбербанк Инвестор и Школами Разработки Сбербанка.

Леша расскажет на примере своего пути: как расти и развиваться в крупной компании, каких ошибок стоит избегать и как инициировать изменения. Поговорим про вызовы и возможности, про work-life balance, про то, как не выгореть и вернуться, если все же выгорел.

Стрим можно будет посмотреть в любых наших соцсетях — где удобно, там и смотрите.

Анонс: путь от джуна до исполнительного директора в Сбербанке - 2Анонс: путь от джуна до исполнительного директора в Сбербанке - 3Анонс: путь от джуна до исполнительного директора в Сбербанке - 4Анонс: путь от джуна до исполнительного директора в Сбербанке - 5
Читать полностью »

Анонс спикеров на сентябрь - 1


Как обычно в первых числах, анонсируем спикеров на сентябрь. В этом месяце будем обсуждать, как дата-саентисты работают над таргетом, как вырасти из джуна в исполнительного директора, проведем теплый ламповый вечер историй с Робом Аткинсом, еще одной легендой геймдева и обсудим IT-эмиграцию.

Итак, встречайте спикеров сентября!
Читать полностью »

Опытные разработчики знают о том, что иногда, пытаясь сэкономить время и решить какие-то задачи своего проекта с помощью пакета, созданного кем-то другим, можно, в итоге, потратить больше времени, чем было сэкономлено. Библиотеки, жёстко регламентирующие реализацию неких механизмов и не позволяющие решать с их помощью необычные задачи, выходящие за рамки того, что кажется правильным их авторам, заставляют нас, буквально сразу же после их установки, жалеть о том, что мы вообще решили их попробовать.

5 библиотек для Vue.js, без которых мне не обойтись - 1

Хотя со мной такое случалось довольно часто, у меня, всё же, есть небольшой список любимых библиотек, которые я использовал во множестве проектов, и которые за долгое время доказали свою крайнюю полезность. Я испытал множество подходов к решению тех задач, которые решают эти библиотеки. На мой выбор повлияло удобство работы с библиотекой, разнообразие её возможностей, хороший внешний вид того, что получается при её применении. В итоге у меня и появился тот список, которым я хочу с вами поделиться.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js