Pull to refresh
25
0
Сергей @IMnEpaTOP

DevRel

Send message

Скромное руководство по схемам баз данных

Reading time7 min
Views38K

Geometry of Flowers by Mookiezoolook

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

Но как оценить, какая схема лучше? И что вообще значит «лучше», когда мы говорим об архитектуре БД? Команда Mail.ru Cloud Solutions предлагает познакомиться с рекомендациями Майка Алча, консультанта по разработке программного обеспечения. Нам кажется, что он довольно лаконично резюмировал некоторые принципы грамотной архитектуры.
Читать дальше →
Total votes 34: ↑26 and ↓8+34
Comments11

Как я искал пацанский движок для блога

Reading time8 min
Views42K


Я много пишу в интернетах и мне захотелось завести свой личный стэндалон блог, куда можно писать мелкие заметки и статьи, не подходящие для других площадок. Главная проблема личного блога — мне лень оформлять посты. Чтобы черкануть пару строк в каком-нибудь Wordpress, нужно слишком много телодвижений. Я попробовал несколько разных движков и каждый раз ловил себя на ощущении, что мне не хочется ими пользоваться, намного быстрее и проще писать в записную книжку вроде Evernote или Notion. Так я стал искать идеальный движок для блога, отвечающий всем моим потребностям.

Мои требования к идеальному движку:


  • Желательно self-hosted — я пережил много закрытий сервисов, от narod.ru до google+ и точно знаю, что рано или поздно все протухает, поэтому надежнее всего держать контент у себя. Также посты могут удалять по каким-то фейковым жалобам или по DMCA, как это происходит на Medium и LiveJournal.
  • Возможность подключения своего домена — мне нужен сайт-визитка со всеми проектами и ссылками в одном месте, где можно разместить портфолио, резюме, контакты.
  • Минимум телодвижений и интерфейса — в идеале интерфейса CMS вообще не должно быть видно, админская панель не нужна, посты должны редактироваться, создаваться и просматриваться в одном месте.
  • Полноценный WYSIWYG редактор — поддержка разметки Markdown и обработка её в реальном времени, подсветка кода, вставка картинок из буфера обмена.
  • Нормальные комментарии — возможность оставлять анонимные комментарии и авторизовываться через максимум соц. сетей для персонифицированных комментариев.
  • Минималистичный внешний вид — я не хочу заниматься версткой и темами, подходящее оформление должно быть из коробки.


Внутри я рассказываю какой вижу идеальную CMS, редактор постов и комментарии, почему большинство существующих движков устарели на десять лет, и сравниваю между собой разные движки.
Total votes 72: ↑65 and ↓7+80
Comments80

Как сделать так, чтобы твоими приложениями пользовались во всем мире: 10 советов от СЕО Wachanga

Reading time10 min
Views5.7K


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

Максим поделится выводами о том, как локализация помогает им покорять мир. Это не преувеличение: приложениями Wachanga пользуются во всех странах мира. В десятке стран они уже обосновались на первом месте в своих категориях.

Идея быстрого роста за счет дополнительных локализаций пришла к Максиму давно, и уже более трех лет является моделью развития Wachanga. На сегодня самое масштабируемое приложение компании — Clover (трекер женских циклов) — переведено на 52 языка, приложение по уходу за новорожденным Babycare доступно на 34 языках, Календарь беременности — на 26 языках, Water Tracker — на 23 языках.
Читать дальше →
Total votes 14: ↑13 and ↓1+18
Comments5

Единственное, что имеет значение (часть 4 руководства Марка Андриессена по стартапам, 2007)

Reading time7 min
Views3.1K
Этот пост про единственное, что имеет значение для нового стартапа.

Но сначала немного теории:

Если посмотреть на широкий срез стартапов – скажем, 30, 40 или больше, чтобы отсеять чистые случайности и поискать закономерности – будут очевидны два факта.

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

Второй очевидный факт: качество и масштаб трёх ключевых элементов каждого стартапа – команды, продукта и рынка – имеют крайне широкий разброс.

Команды варьируются от выдающихся до образцово дурных; продукты варьируются от шедевральных до едва работающих; а рынки варьируются от процветающих до коматозных.

Это заставляет задуматься – что больше всего соотносится с успехом – команда, продукт или рынок? Говоря прямо, что ведёт к успеху? Или что опаснее: плохая команда, плохой продукт или плохой рынок?
Читать дальше →
Total votes 7: ↑5 and ↓2+4
Comments9

Как создателю Prince of Persia удалось преодолеть ограничения памяти Apple II

Reading time12 min
Views30K

«Я разработал сюжетную линию „Теневого человека“. Он появляется в игре в заранее определённые моменты. В одном случае он крадёт зелье. Когда игрок уже готов схватить пузырёк, прибегает Теневой человек, выпивает его и сбегает. В другой раз, когда игрок уже собирается пройти через ворота, появляется Теневой человек, нажимает на плиту и закрывает ворота. После этого игрок падает на три уровня вниз, и ему приходится снова проделывать весь путь наверх. Я прописал эти столкновения в сюжете, чтобы игрок возненавидел Теневого человека и считал его своим врагом. Чтобы в момент, когда ему придётся скрестить с ним мечи в конце игры, он по-настоящему хотел поквитаться, ведь тот столько раз препятствовал игроку. Это был мой способ создания эмоциональной связи между игроком и противником через игровой процесс, а не кинематографические вставки».

Привет, я Джордан Мекнер, автор Prince of Persia. Это история о том, как я загнал себя в угол анимациями, а потом смог выбраться из него благодаря боям.

Я был ребёнком, росшим в Нью-Йорке в середине 70-х. Фанатом комиксов. Я любил кино. Рос на журнале «MAD», и если бы не появились компьютеры, я мог бы заняться комиксами и анимацией. Но когда в 1978 году появился Apple II, я воспринял его как машину, на которой я в первую очередь могу играть в игры дома, что раньше было совершенно невозможно. Вместо того, чтобы тратить четвертаки в местных залах игровых автоматов, я мог оставаться дома и играть сколько пожелаю в «Space Invaders» на Apple II. Кроме того, компьютер позволял мне создавать собственные игры, и меня это восхитило. Это случилось ещё до появления Интернета, поэтому почти все были самоучками. Я подписался на журнал «Creative Computing», а чуть позже — на журнал в «Softalk», в котором были статьи о том, как программировать. Я начал обмениваться опытом с друзьями, которые тоже любили компьютеры.
Читать дальше →
Total votes 99: ↑99 and ↓0+99
Comments41

Могут ли контейнеры быть безопасными?

Reading time14 min
Views7.6K
Если вы слышали о законе Беттериджа, то уже догадываетесь, как обстоят дела с безопасностью контейнеров. Но односложного ответа в любом случае недостаточно, поэтому рассмотрим, какие существуют решения для создания изолированных контейнеров и защиты вашей инфраструктуры от вредоносных действий изнутри контейнеров и чего они на самом деле позволяют добиться.

Готовых рецептов будет немного, зато поймете, от чего отталкиваться в собственных исследованиях безопасности контейнеров.


О спикере: Александр Хаёров (allexx) 10 лет занимается разработкой, в основном веб-проектами, связанными с инфраструктурой, а сейчас руководит разработкой в Chainstack. В этой должности приходится примерять на себя самые разные роли и заниматься всем: от классической разработки до принятия технических решений и управления людьми. Это позволяет исследовать разные темы, в том числе ту, о которой пойдет речь в статье — далее от первого лица.
Total votes 17: ↑16 and ↓1+23
Comments2

Обзор книги «Securing the Perimeter: Deploying Identity and Access Management with Free Open Source Software»

Reading time19 min
Views5.6K

Сегодня мы хотим поделиться литературной находкой, напрямую относящейся к нашей предметной области.

Тема Identity and Access Management на данный момент является достаточно закрытой, что создает проблемы для нас, в первую очередь, с подбором высококвалифицированных специалистов от ведущего разработчика до РП и архитектора. Подготовка же таких специалистов, перешедших из другой предметной области, занимает немало времени. Не меньшей проблемой является настороженное отношение к данной сфере многих заказчиков, не понимающих «зачем нам это все», если есть нормальная доменная инфраструктура. Несмотря на то, что автор книги ориентирует читателя на создание IAM-инфраструктуры на базе OSS и приводит примеры конкретных решений, основная ценность книги, на наш взгляд, заключается в систематизации области, классов продуктов, предназначенных для решения задач в области идентификации, аутентификации и управления доступом, а так же в доступном описании открытых стандартов и технологий, собранном в одном месте и разложенном по полочкам.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments0

Чистый CSS: 4 метода анимирования цвета ссылок

Reading time6 min
Views33K
Автор статьи, перевод которой мы сегодня публикуем, предлагает, пользуясь чистым CSS, создать механизм изменения цвета текста ссылки при наведении на неё мыши. Но это должна быть не обычная смена цвета. Новый цвет должен заполнять ссылку слева направо, заменяя старый.


Для того чтобы это сделать, можно прибегнуть к одному из четырёх методов, описанных в этом материале. Рассмотрим эти методы, обращая особое внимание на разные важные вещи вроде доступности контента, производительности решения и браузерной поддержки.
Total votes 31: ↑31 and ↓0+31
Comments3

Современные стандарты идентификации: OAuth 2.0, OpenID Connect, WebAuthn

Reading time13 min
Views78K
Пускать или не пускать? Вот в чем вопрос…

Сейчас на многих сайтах мы видим возможность зарегистрироваться или войти с помощью соцсетей, а некоторые сайты предлагают использовать внешние ключи безопасности или отпечатки пальцев. Что это? Стандарты с хорошо проработанной безопасностью или проприетарные реализации? Можем ли мы доверять этим технологиям и использовать их для разработки сайтов и в повседневной жизни? Давайте разбираться. Итак, сейчас существуют несколько стандартов и технологий для идентификации пользователей OAuth 2.0,OpenID Connect, WebAuthn, SAML 2.0, Credential Management API и др. В статье я расскажу о трех наиболее перспективных протоколах OAuth 2.0, OpenID Connect и WebAuthn. И чтобы понять как их применять на практике, сделаем три лабораторные работы. В качестве платформ для идентификации пользователей будем использовать GitHub и Google, на которых у большинства есть аккаунты.

image
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments21

Создание карандашного эффекта в SVG

Reading time7 min
Views11K
Моя игра Dragons Abound создаёт карты в векторном графическом формате SVG. Векторная графика имеет множество особенностей (например, зум без потерь), что удобно для карт. Также векторная графика хороша для создания чётких линий, например, чернильных контуров:


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


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

Это достаточно серьёзное ограничение векторной графики, поэтому в SVG добавлены хитрости, позволяющие более эффективно воспроизводить некоторые из подобных эффектов текстур. Я исследую некоторые из этих функций SVG для создания эффекта, напоминающего карандашную линию. Разумеется, существует множество более сложных решений для воссоздания карандашных линий. Об этой теме написаны целые научные статьи. Но я просто надеюсь создать довольно простой фильтр, обеспечивающий приемлемый результат.
Читать дальше →
Total votes 66: ↑66 and ↓0+66
Comments9

Natural Language Processing. Итоги 2019 и тренды на 2020

Reading time5 min
Views8.6K
Всем привет. С некоторым запозданием я решил опубликовать эту статью. Каждый год я стараюсь подвести итоги произошедшего в области обработки естественного языка (natural language processing). Не стал исключением и этот год.

BERTs, BERTs are everywhere


Начнем по порядку. Если вы не уехали в глухую Сибирскую тайгу или отпуск на Гоа на последние полтора года, то вы наверняка слышали слово BERT. Появившись в самом конце 2018-ого за прошедшее время эта модель завоевала такую популярность, что в самый раз будет вот такая картинка:


Total votes 32: ↑32 and ↓0+32
Comments0

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

Reading time3 min
Views35K


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

Сразу уточняем: это не 15 самых лучших библиотек, а 15 из лучших. Разумеется, есть и другие, не менее замечательные, о которых я не упомянул или не знаю.
И, нет, это не рейтинг — список маркированный, а не нумерованный.
Читать дальше →
Total votes 20: ↑18 and ↓2+22
Comments12

[По докам] Flutter. Часть 1. Для Android разработчиков

Reading time25 min
Views41K
Про Flutter написано уже много статей. С каждым месяцем он становится всё популярнее. Поэтому я решил интерпретировать официальную документацию Flutter в лаконичный формат «вопрос — ответ». Думаю, многие, как и я, не имеют достаточно свободного времени для подробного изучения документации фреймворка, с которым они ещё не работают.

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


Читать дальше →
Total votes 42: ↑42 and ↓0+42
Comments12

Как работают квантовые компьютеры. Собираем паззл

Reading time33 min
Views248K


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


А недавно ко мне подошли коллеги и спросили “Ты понимаешь как работает квантовый компьютер? Можешь нам рассказать?” И тут я понял, что проблема со складыванием в голове целостной картинки есть не только у меня.


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

Получилось или нет - решать, как обычно, вам.
Total votes 111: ↑111 and ↓0+111
Comments105

Самый полезный модуль стандартной библиотеки Python, о котором все постоянно забывают

Reading time2 min
Views45K


В Python много отличных доступных «из коробки» модулей. Один из самых полезных — collections. Он содержит «специализированные типы для создания контейнеров», являющихся альтернативами универсальным dict, list, set и tuple. Ниже мы рассмотрим три содержащихся в модуле класса, с которыми большинство питонистов сталкивались, но постоянно забывают применять на практике.

Читать дальше →
Total votes 44: ↑35 and ↓9+40
Comments26

DPI (инспекция SSL) противоречит смыслу криптографии, но компании её внедряют

Reading time4 min
Views12K

Цепочка доверия. CC BY-SA 4.0 Yanpas

Инспекция трафика SSL (расшифровка SSL/TLS, анализ SSL или DPI) становится все более горячей темой обсуждения в корпоративном секторе. Идея расшифровки трафика вроде бы противоречит самой концепции криптографии. Однако факт есть факт: всё больше компаний используют технологии DPI, объясняя это необходимостью проверки контента на предмет зловредов, утечек данных и т. д.

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

Есть один аспект реализации, о котором не все знают. На самом деле многие действительно удивляются, когда слышат о нём. Это частный центр сертификации (ЦС). Он генерирует сертификаты для дешифровки и повторного шифрования трафика.
Читать дальше →
Total votes 9: ↑6 and ↓3+3
Comments18

Путь к естественному интеллекту

Reading time10 min
Views6.2K


Глава 1. Обработчик сигналов


В повседневной жизни мы не задумываемся, почему нам нравится стейк или апельсин. Он жареный, сочный и мясистый, а мы голодные. Благодаря теории Дарвина ученые, к счастью, уже могут нам объяснить, почему же нам нравится стейк. Потому что в процессе естественного отбора погибли все, кто эти стейки просто напросто не любил. Выжили те, кто жарил мясо на огне, а своими огромными челюстями сумели пожертвовать в пользу большего размера мозга. Мозг оставшихся в живых тонко настроен на факт, что жареный стейк – хорошо. В мозге за поедание такого блюда выделяется ряд гормонов, активирующих центр удовольствия. Эти гормоны – дофамин и серотонин, и еще несколько, образуют коктейль определенной концентрации, на который в нашем мозге реагирует так называемый обработчик или интерпретатор сигналов. Каждый сигнал как музыка, состоящая из некоторого ряда нот. Стейк – своеобразная сумма сигналов нервной системы, в том числе зрительной, обонятельной, вкусовой. Три этих системы дают определенную неповторимую сумму, которую наш обработчик интерпретируют как «хорошо» (выработалось это в следствии естественного отбора !!!), и дальше отправляет сигнал «хорошо» в наше сознание, так мы чувствуем удовлетворение. Но что в точности мы чувствуем? Вряд ли кто-то сможет словами описать чувство счастья. Но если ощущения нельзя описать словами, по крайней мере их можно описать в математических числах.
Читать дальше →
Total votes 13: ↑9 and ↓4+10
Comments51

График Гартнера 2019: о чём все эти модные слова?

Reading time20 min
Views37K
График Гартнера для тех, кто работает в сфере технологий, – всё равно что выставка высокой моды. Взглянув на него, вы можете заранее узнать, какие слова самые хайповые в этом сезоне и что вы услышите на всех ближайших конференциях.

Мы расшифровали, что скрывается за красивыми словами на этом графике, чтобы вы могли тоже говорить на этом языке.



Total votes 31: ↑31 and ↓0+31
Comments6

50 советов по UX в виртуальной реальности

Reading time18 min
Views8.4K


Этот список был собран на основе нескольких моих статей и заметок, посвященных созданию пользовательского опыта в VR. Материал создавался как своеобразный набор дополнительных рекомендаций для новых специалистов Modum Lab, которые занимаются созданием систем взаимодействия в VR-проектах (в основном под HTC Vive и автономные решения). Необходимо было в первую очередь разобрать такие темы, как использование контроллеров, систем перемещения, специфику разработки элементов интерфейса, визуализации аватаров и вопросы погружения в целом.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

34 open source библиотеки Python (2019)

Reading time2 min
Views60K
image

Мы просмотрели и сравнили 10 000 open source библиотек для Python и выбрали 34 самые полезные.

image

Мы сгруппировали эти библиотеки в 8 категорий.
Читать дальше →
Total votes 42: ↑32 and ↓10+22
Comments22

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity

Specialization

DevRel
Middle