Search
Write a publication
Pull to refresh
27
0
hopheilalalei @m0sk1t

hahacker

Send message

Миграция Cassandra в Kubernetes: особенности и решения

Reading time8 min
Views10K


С базой данных Apache Cassandra и необходимостью её эксплуатации в рамках инфраструктуры на базе Kubernetes мы сталкиваемся регулярно. В этом материале поделимся своим видением необходимых шагов, критериев и существующих решений (включая обзор операторов) для миграции Cassandra в K8s.
Читать дальше →

Как работает Netflix

Reading time9 min
Views48K
Успех «Нетфликса» обеспечили высокие технологии, но за ними стоит целая философия, которая сделала эту философию эффективной. Систему, которая заставляет миллионы людей одержимо кликать по красно-белым кнопкам, легко отказываясь от многолетней традиции просмотра фильмов в кино, а сериалов по ТВ.



Привет! С вами Ефим Гугнин! И сегодня мы постараемся разобраться, как работает Netflix. А для этого нам придётся немного отмотать время назад.

1997 год. Интернет только-только набирает популярность и пока связывает жалкие 10 миллионов компьютеров.

Все сериалы и фильмы люди смотрят в кино, по кабельному либо эфирному ТВ, ну или заказывают видео в прокате. В это непростое время 37-летний Рид Хастингс, бывший военный и работник Корпуса мира, а ныне компьютерный инженер и предприниматель, решается на авантюру.

Разведение мемов в корпоративных условиях: над чем смеются разработчики Dodo IS

Reading time7 min
Views12K
Привет, Хабр! Недавно я подумала, что «хочу смеяться пять минут» и стала вспоминать рабочие приколы. Чем больше я смеялась, тем больше понимала, что сущность мемов сложнее, чем кажется. В итоге я написала эту статью, ставшую целым околонаучным изысканием. Под катом немного теории и самые закостенелые мемы Dodo Pizza Engineering.


Читать дальше →

Infrastructure as Code: первое знакомство

Reading time7 min
Views35K
У нас в компании идёт процесс онбординга SRE-команды. Я зашёл во всю эту историю со стороны разработки. В процессе у меня появились мысли и инсайты, которыми я хочу поделиться с другими разработчиками. В этой статье-размышлении я говорю о том, что происходит, как происходит, и как всем дальше с этим жить.


Читать дальше →

CSS-переход свойства height от 0px до auto

Reading time2 min
Views34K
Здравствуй, Хабр!

Хочу поделиться ещё одним способом создания css-перехода (transition) свойства height от 0px до auto.

Столкнулся с данной проблемой при разработке веб-компонентов TreeView и DataGrid. В TreeView решил сделать плавное развёртывание/свёртывание узлов, а в DataGrid — строки с дополнительным контентом. Почитав интернет, нашёл несколько способов реализации, основные — через свойство max-height и на javascript. Реализация на javascript была исключена — есть же css с поддержкой переходов и анимаций. Остался max-height, тем более в примерах с выпадающими меню всё работает.
Читать дальше →

Цель оправдывает средства? (!) Черное и серое SEO

Reading time8 min
Views9.6K
Попытаюсь коротко рассказать про черное и белое SEО. Что это такое, стоит ли пользоваться и т.д.Для начала, сама аббревиатура SEO, расшифровка которой звучит, как: «Search Engine Optimization», уже предполагает некую «серость». Слово «оптимизировать» хоть и не звучит как что-то плохое, но подразумевает под собой искусственный «подгон» под некие правила поисковой машины. В реальной жизни всё более прагматично, ведь цель одна — вывести сайт в топ и заработать денег. Но всё по порядку.

image

Белое SEO (это не очень интересный блок, можно пропускать:))

Вы все знаете, что подразумевает под собой «белое» SEO. Контент — король. Юзабилити — королева...? Здесь всё в соответствии с рекомендациями от Yandex и Google: размещайте хороший контент, делайте сайт удобным, и он продвинется. А если нет? Вариантов два:

а) Вы сделали плохой контент и (или) сайт неудобен по мнению поисковиков;
б) У вас хороший контент и удобный сайт, но вам просто не повезло;
в) Есть ещё третий вариант, очень популярный. Вы думаете, что у вас отличный контент и удобный сайт, но на самом деле это не так.

А в чем проблема сделать всё как надо и выйти в ТОП, например, интернет магазину?
Читать дальше →

Вспомнить все^W только то, что нужно. Опыт использования Anki. Часть 1 (вводная, предпоследняя)

Reading time7 min
Views7K


Год назад я узнал об интервальных повторениях.


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


Затем энтузиазм поубавился, но это все еще круто.


В течение года я рекомендовал интервальные повторения другим людям, однако насколько я знаю, никого не впечатлило.


Цель статьи: систематизировать свой опыт в данном вопросе и в очередной раз рассказать людям о методике.

Читать дальше

Если у Вас нет Питона, но есть Керас-модель и Джава

Reading time12 min
Views6.8K
Всем привет! В построении ML-моделей Python сегодня занимает лидирующее положение и пользуется широкой популярностью сообщества Data Science специалистов [1].

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

В этой статье расскажу о тех решениях, к которым мы пришли, когда нам потребовалось связать Keras-модель языка Python с Java.

Чему уделим внимание:

  • Особенностям связки Keras модели и Java;
  • Подготовке к работе с фрейворком DeepLearning4j (сокращенно DL4J);
  • Импорту Keras-модели в DL4J (осторожно, раздел содержит множественные инсайты) — как регистрировать слои, какие есть ограничения у модуля импорта, как проверить результаты своих трудов.

Зачем читать?

  • Чтобы сэкономить время на старте, если перед вами будет стоять задача похожей интеграции;
  • Чтобы узнать, подходит ли вам наше решение и можете ли вы переиспользовать наш опыт.
Читать дальше →

Есть ли в CSS случайные числа?

Reading time5 min
Views8.2K
CSS позволяет создавать динамические макеты страниц и интерфейсы веб-проектов. Но CSS — статический язык. После того, как задано некое значение, изменить его нельзя. Идея случайного изменения неких значений здесь не рассматривается.



Генерирование случайных чисел — это территория JavaScript, на которую CSS не заходит. А что если это не совсем так? На самом деле, если принять в расчёт действия, выполняемые пользователем, это позволит добавить в CSS немного случайности. Автор материала, перевод которого мы сегодня публикуем, предлагает это обсудить.
Читать дальше →

Зачем использовать python -m pip

Reading time6 min
Views31K
И снова здравствуйте. В преддверии старта нового потока по курсу «Machine Learning», хотим поделиться переводом статьи, которая имеет довольно косвенное отношение к ML, но наверняка будет полезна подписчикам нашего блога.





Мариатта — разработчик из Канады, спросила в Твиттере о python -m pip, попросив рассказать об этой идиоме и объяснить принцип ее работы.

Недавно я узнала, что нужно писать python -m pip вместо обычного pip install, но теперь я не могу вспомнить от кого я это услышала. Наверное, от @brettsky или @zooba. У кого-нибудь из вас есть пост в блоге, чтобы я могла поделиться им с читателями?
— Мариатта (@mariatta) 29 октября 2019 г. (https://twitter.com/mariatta/status/1189243515739561985?ref_src=twsrc%5Etfw)



Я не уверен, что именно я сказал Мариатте о python -m pip, но есть все шансы, что это был именно я, поскольку я же просил, чтобы эта инструкция для установки пакетов с помощью PyPI писалась именно так с 2016 года. Итак, эта статья должна пояснить, что такое python -m pip и почему вы должны использовать именно ее при запуске pip.
Читать дальше →

Алгоритм размещения тайлов на основе ограничений

Reading time5 min
Views9.8K
image

В этом посте описывается алгоритм, используемый в Generate Worlds — инструменте, позволяющем пользователям создавать и исследовать процедурные миры построением небольших множеств воксельных тайлов. Я приведу краткое описание алгоритма, а в следующих постах расскажу о его преимуществах в скорости и гибкости по сравнению с другими методами. Чтобы подробнее узнать о том, что такое процедурная генерация на основе ограничений (constraint-based procedural generation) и о том, чем она интересна, рекомендую прочитать мой предыдущий пост.

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

Подборка: 5 книг по маркетингу, которые нужно прочитать основателю стартапа

Reading time3 min
Views6.8K


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

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

Опыт работы в Netflix: Netflix изнутри

Reading time22 min
Views40K
Недавно мы поделились с Вами материалом о том, как работает Netflix, теперь пришло время рассказать о том, как работается в одной из крупнейших IT-компаний мира. Для этих целей мы расшифровали интервью одного из сотрудников Netflix, который рассказал много интересного о компании и работе в целом. Кто же предпочитает видео — ссылка в конце.

Руслан Гафаров (далее – Р): – Дим, представься – лучше, если это будешь делать ты, чтобы ты правильно презентовал, потому что в «Нетфликсе» нет, условно, менеджерских позиций, инженерии – структура полностью плоская. Как называется твоя роль внутри?
Дмитрий (далее – Д): – Ты уже за меня всё рассказал. Зачем что-то рассказывать? Ну, меня зовут Дмитрий, я работаю в «Нетфликсе». Порядка двух лет… Нет, уже больше двух лет. Да, «Нетфликс» — это самый крупный стриминговый сервис в мире: человек платит конкретно за подписку месячную и получает неограниченный доступ к фильмам, сериалам. Я инженер, работаю над проектами, которые позволяют построить, в частности, первый экран, когда человек открывает и видит список рекомендованных фильмов; можно зайти ещё дальше – посмотреть фильмы, разделённые по жанрам. В общем, я работаю над системами, которые связаны с этими вещами.

Р: – Почему вы выбрали именно «Нетфликс»?

Д: – Мне импонирует их подход к работе: у «Нетфликса» два принципа – freedom and responsibility – это свобода и ответственность. Человек здесь свободен выбирать, что ему делать и как делать, то есть принимать решения только, если он готов взять на себя ответственность за эти решения.

Введение в SSD. Часть 1. Историческая

Reading time7 min
Views48K


Изучение истории дисков — начало пути к пониманию принципов работы твердотельных накопителей. Первая часть нашего цикла статей «Введение в SSD» проведет экскурс в историю и позволит наглядно понять разницу между SSD и его ближайшим конкурентом — HDD.

Несмотря на обилие различных устройств для хранения информации, популярность HDD и SSD в наше время неоспорима. Разница между этими двумя видами накопителей для обывателя очевидна: SSD дороже и быстрее, а HDD дешевле и вместительнее.

Отдельное внимание следует обратить на единицу измерения вместимости накопителей: исторически сложилось, что десятичные приставки, такие как кило- и мега-, в контексте информационных технологий подразумевают как десятая и двадцатая степень двойки. Для исключения путаницы были введены двоичные приставки киби-, меби- и другие. Разница этих приставок становится заметной с увеличением объема: покупая диск на 240 гигабайт, вы можете сохранить на нём 223.5 гибибайта информации.
Читать дальше →

Как создать свое первое веб-приложение с помощью Go

Reading time17 min
Views74K

Привет, Хабр! Представляю вашему вниманию перевод статьи "How to build your first web application with Go" автора Ayooluwa Isaiah.


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

Читать дальше →

Чеклист по UX из 30 пунктов для мобильных приложений

Reading time7 min
Views32K
image

Эта статья — напминалка о том, что нужно перепроверить в дизайне вашего приложения, прежде чем отсылать его на AppStore/GooglePlay. Список поделен на тематические блоки:

  1. Вход / Регистрация
  2. Первый опыт
  3. Ежедневные взаимодействия
  4. Уведомления
  5. Параметры аккаунта
  6. Лента
  7. Поиск
  8. AppStore/GooglePlay
Читать дальше →

История одного хака или не злите программиста

Reading time10 min
Views77K
image Я наверное не стал бы писать эту статью, не попадись мне другая статья на тему хакеров. Что меня зацепило: это очень однобокое и явно некорректное использование слова хакер, что характерно в целом для современных высказываний в СМИ, блогах и статьях.

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

Но даже если говорить о «взламывателях информационных систем», то нельзя не упомянуть такие понятия как black hat и white hat.

Ну, а теперь, попытавшись восстановить терминологическую несправедливость в отношении хакеров я хочу рассказать об одном чисто hardware хаке одной из систем RL.
Читать дальше →

Пространство, сетки и макеты

Reading time8 min
Views12K
В этой статье автор рассказывает о том как подойти к созданию дизайн-системы, рассказывает о её основах и том, как применить описанные методы и понятий в текущем дизайн проекте. Новички смогут узнать базовые понятия, а профессионалы могут освежить или покритиковать содержаний данной статьи.

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


Читать дальше →

Введение в skydive.network

Reading time5 min
Views6.9K

Введение в Skydive


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


Скриншот обьектов (поды, интерфейсы) в kubernetes

Семантический браузер или жизнь без сайтов

Reading time6 min
Views10K
image

Мысль о неизбежности перехода глобальной сети от сайтоцентристской структуры к юзероцентристской я высказал еще 2012 году (Философия эволюции и эволюция интернета или в сокращенном виде WEB 3.0. От сайтоцентризма к юзероцентризму). В этом году я попытался развить тему нового интернета в тексте WEB 3.0 — второй подход к снаряду. Сейчас же выкладываю вторую часть статьи WEB 3.0 или жизнь без сайтов (советую просмотреть перед чтением этой страницы).

Итак, что же получается? Интернет в версии web 3.0 есть, а сайтов нет? А что же тогда есть?
Читать дальше →

Information

Rating
Does not participate
Registered
Activity