Как стать автором
Обновить
14
0
Михаил Шумилов @mamont80

Программист

Отправить сообщение

Возможности SQLite, которые вы могли пропустить

Время на прочтение 8 мин
Количество просмотров 40K
Если вы используете SQLite, но не следите за его развитием, то возможно некоторые вещи, позволяющие сделать код проще, а запросы быстрее, прошли незамеченными. Под катом я постарался перечислить наиболее важные из них.
Читать дальше →
Всего голосов 76: ↑76 и ↓0 +76
Комментарии 35

Семь способов быть заметнее в поисковой выдаче

Время на прочтение 4 мин
Количество просмотров 7.6K

При продвижении позиций сайта – выйти в ТОП недостаточно. Чтобы увеличить число посетителей необходимо делать страницы релеватными, улучшить дизайн сайта, проработать кликабельность (CTR).В этой статье поговорим про кликабельность.


Почему так важен CTR


Вот вы вывели страницу в ТОП, но ваш сайт там не одни, а значит, у  пользователей есть выбор, куда перейти. Поэтому нужно работать над сниппетом и делать его привлекательным. Тогда увеличится кликабельность, и ваш сайт закрепится в ТОПе, потому что поисковики отслеживают, какие сайты востребованы у пользователей.


Читать дальше →
Всего голосов 5: ↑4 и ↓1 +3
Комментарии 4

Архитектура S3: 3 года эволюции Mail.ru Cloud Storage

Время на прочтение 12 мин
Количество просмотров 18K


Storage Corridor by St-Pete


Всем привет! Я Mons Anderson, архитектор платформы Mail.ru Cloud Solutions, расскажу, как мы построили наше S3-хранилище, как оно работает, какие решения оказались удачными, а какие стоило изменить, если бы мы начали такой же проект с нуля сейчас.


Статья подготовлена на основе доклада на @Databases Meetup by Mail.ru Cloud Solutions & Tarantool. В статье поговорим:


  • как было устроено хранилище Mail.ru, поверх которого мы строили S3-хранилище;
  • что мы добавили, чтобы сделать Mail.ru Cloud Storage;
  • как работает объектная модель хранения и какие сделаны шаги для выхода в продакшен;
  • про доработки боевой системы: фейловер и масштабирование;
  • как мы реализовали шардирование и решардинг;
  • а также про работу с SSL-сертификатами.

Если не хотите читать, можно посмотреть.

Читать дальше →
Всего голосов 47: ↑46 и ↓1 +45
Комментарии 14

Практическое руководство по борьбе с утечками памяти в Node.js

Время на прочтение 8 мин
Количество просмотров 20K
Утечки памяти похожи на сущности, паразитирующие на приложении. Они незаметно проникают в системы, поначалу не принося никакого вреда. Но если утечка оказывается достаточно сильной — она способна довести приложение до катастрофы. Например — сильно его замедлить или попросту «убить».



Автор статьи, перевод которой мы сегодня публикуем, предлагает поговорить об утечках памяти в JavaScript. В частности, речь пойдёт об управлении памятью в JavaScript, о том, как идентифицировать утечки памяти в реальных приложениях, и о том, как с бороться с утечками памяти.
Читать дальше →
Всего голосов 42: ↑41 и ↓1 +40
Комментарии 5

15 лучших и крупнейших библиотек иконок

Время на прочтение 3 мин
Количество просмотров 34K


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

Сразу уточняем: это не 15 самых лучших библиотек, а 15 из лучших. Разумеется, есть и другие, не менее замечательные, о которых я не упомянул или не знаю.
И, нет, это не рейтинг — список маркированный, а не нумерованный.
Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 12

Многопоточность в .NET: когда не хватает производительности

Время на прочтение 26 мин
Количество просмотров 43K


Платформа .NET предоставляет множество готовых примитивов синхронизации и потокобезопасных коллекций. Если при разработке приложения нужно реализовать, например, потокобезопасный кэш или очередь запросов — обычно используются эти готовые решения, иногда сразу несколько. В отдельных случаях это приводит к проблемам с производительностью: долгим ожиданием на блокировках, избыточному потреблению памяти и долгим сборкам мусора.

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

Под катом — видео и расшифровка моего доклада с конференции DotNext, где я разбираю несколько примеров, когда использование средств из стандартной библиотеки .NET (Task.Delay, SemaphoreSlim, ConcurrentDictionary) привело к просадкам производительности, и предлагаю решения, заточенные под конкретные задачи и лишённые этих недостатков.
Всего голосов 49: ↑48 и ↓1 +47
Комментарии 87

Разбираемся с криптовалютой Libra. Подробности

Время на прочтение 3 мин
Количество просмотров 13K
image

Libra — проект криптовалюты от Facebook. Стоимость криптомонет которой будет стабильной и привязана к корзине валют, для начала это будут доллары, евро, японские иены и фунт стерлингов. Про него написано много статей, но в деталях функционирования проекта было много неизвестного. Сейчас Facebook помаленьку начинает рассказывать подробности. Какая роль у Facebook будет в проекте? Кому достанутся деньги? А может корпорации быстро отодвинут основателей на второй план? Давайте разбираться. Спойлер на картинке.
Читать дальше →
Всего голосов 39: ↑28 и ↓11 +17
Комментарии 13

Windows, PowerShell и длинные пути

Время на прочтение 4 мин
Количество просмотров 24K


Думаю, вам, как и мне, не раз приходилось видеть пути вида \!!! Важное\____Новое____\!!! Не удалять!!!\Приказ №98819-649-Б от 30 февраля 1985г. о назначении Козлова Ивана Александровича временно исполняющим обязанности руководителя направления по сопровождению корпоративных VIP-клиентов и организации деловых встреч в кулуарах.doc.

И зачастую открыть такой документ в Windows сходу не получится. Кто-то практикует workaround в виде мапирования дисков, кто-то использует файловые менеджеры, умеющие работать с длинными путями: Far Manager, Total Commander и им подобные. А еще многие с грустью наблюдали, как созданный ими PS-скрипт, в который было вложено немало труда и который в тестовом окружении работал на ура, в боевой среде беспомощно жаловался на непосильную задачу: The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
Как оказалось, 260 символов хватит «не только лишь всем». Если вам интересно выйти за границы дозволенного — прошу под кат.
Читать дальше →
Всего голосов 19: ↑16 и ↓3 +13
Комментарии 18

Готовимся к 2020 году: 8 трендов клиентской JavaScript-разработки, о которых нужно знать

Время на прочтение 7 мин
Количество просмотров 57K
Автор материала, перевод которого мы сегодня публикуем, говорит, что хочет поделиться с читателями прогнозом, который касается развития веб-технологий на ближайшие годы. В частности, здесь речь пойдёт о том, что, по мнению автора, фронтенд-разработчикам, вероятно, стоить начать изучать уже сегодня.

Всё, что связано с JavaScript, очень быстро развивается. Это касается и того, что можно отнести к сфере веб-разработки. В наши дни те, в основе чьих проектов не лежат самые современные технологии, начинают особенно сильно ощущать разрыв между тем, чем они пользуются, и тем новым, что появляется едва ли не ежедневно. К таким технологиям можно отнести Webpack, React, Jest, Vue, Angular в их современном состоянии. В то время как «население» мира фронтенд-разработки, включающее в себя технических специалистов и программистов, постоянно растёт, этот мир стремится к стандартизации. Появление новых технологий и инструментов уже меняет ситуацию.



Можно с изрядной долей уверенности говорить о том, что общим трендом развития фронтенд-технологий будет стандартизация разработки пользовательских интерфейсов. В частности, речь идёт о композиции, основанной на компонентах, о стремлении к модульности систем. Эта тенденция воздействует практически на всё — от стилизации до тестирования и даже до управления состоянием приложений. В этот тренд можно включить технологии, построенные вокруг веб-компонентов, ES-модулей, сюда же попадают соответствующие инструменты и многое другое.
Читать дальше →
Всего голосов 50: ↑45 и ↓5 +40
Комментарии 25

Node.js: управление памятью, доступной приложениям, выполняемым в контейнерах

Время на прочтение 9 мин
Количество просмотров 19K
При запуске Node.js-приложений в контейнерах Docker традиционные настройки памяти не всегда работают так, как ожидается. Материал, перевод которого мы сегодня публикуем, посвящён поиску ответа на вопрос о том, почему это так. Здесь же будут приведены практические рекомендации по управлению памятью, доступной Node.js-приложениям, работающим в контейнерах.


Читать дальше →
Всего голосов 39: ↑37 и ↓2 +35
Комментарии 3

Руководство по выживанию с MongoDB

Время на прочтение 12 мин
Количество просмотров 34K
Все хорошие стартапы либо быстро умирают, либо дорастают до необходимости масштабироваться. Мы смоделируем такой стартап, который сначала про фичи, а потом про перфоманс. Перфоманс будем улучшать с MongoDB — это популярное NoSQL-решение для хранения данных. С MongoDB легко стартовать, и многие проблемы имеют решения «из коробки». Однако, когда нагрузка растет, вылезают грабли, о которых вас заранее никто не предупреждал… до сегодняшнего дня!

image

Моделирование проводит Сергей Загурский, который отвечает за инфраструктуру бэкенда вообще, и MongoDB в частности, в Joom. Также был замечен в серверной части разработки MMORPG Skyforge. Как сам себя описывает Сергей — «профессиональный набиватель шишек собственным лбом и граблями». Под микроскопом — проект, который использует стратегию накопления для управления техническими долгом. В этой текстовой версии доклада на HighLoad++ будем двигаться в хронологическом порядке от возникновения проблемы до решения с помощью MongoDB.
Читать дальше →
Всего голосов 58: ↑58 и ↓0 +58
Комментарии 9

Мастер-класс «Почему Стив Джобс любил шрифты» (Алексей Каптерев)

Время на прочтение 19 мин
Количество просмотров 216K


Привет, Хабр! Давно у нас в блоге не было расшифровок мастер-классов. Исправляемся. В этом посте вас ждет грандиозное путешествие в мир шрифтов от древнейших времен до наших дней. Если вы хотите понять, каким образом шрифты влияют на наши эмоции и наконец научиться отличать гуманистический гротеск от ленточной антиквы — добро пожаловать под кат. И да, там очень много картинок. Передаем слово автору.




Шутка, написанная гарнитурой Times, на 10 % смешнее той, что написана гарнитурой Arial. Почему? Чёрт знает. Лучшее объяснение, которое я видел: юмор ассоциируется с агрессией, с остротой, с остроумием — а Times выглядит более острым, чем Arial.


Ещё один любопытный эксперимент, в котором участвовало 45 тыс. человек. Заходишь на сайт, тебе показывают статью Дэвида Дойча, британского физика. В статье автор пишет, что сегодня очень трудно внезапно умереть. Например, от инфекционного заболевания или в уличной драке. Лет сто назад это случалось намного чаще. Главный вывод статьи — сейчас мир безопасен как никогда. В среднем, конечно, ведь где-то постоянно идут локальные военные конфликты.

Всего голосов 196: ↑194 и ↓2 +192
Комментарии 100

Как легализовать рассылку клиентам

Время на прочтение 3 мин
Количество просмотров 19K
image

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

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

Помимо этого рассылки пользователям могут нарушать законодательство. Отметим минимум две проблемы:

  1. Закон «О рекламе» запрещает распространение рекламы по сетям электросвязи, в том числе Интернет при отсутствии предварительного согласия абонента или адресата на получение рекламы (ч.1 ст.18 ФЗ-38).
  2. Закон «О персональных данных» требует получение согласия субъекта персональных данных на обработку его персональных данных и регистрацию в Роскомнадзоре в качестве оператора персональных данных (п.1 ч.1 ст.6 и ч.1 ст.22 ФЗ-152).

Об ответственности за рассылку информация ниже, а сейчас о простом способе выкинуть страхи из головы и заняться делом.
Читать дальше →
Всего голосов 24: ↑17 и ↓7 +10
Комментарии 69

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность