Pull to refresh
0
0
Send message

Opium.Fill — стандартизация цветовой схемы глазами программиста

Reading time11 min
Views14K
Синее лицо, из глаз растут грибы

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

В общем, попробую объяснить, как дизайнеры используют цвет в UI и как всё это можно «типизировать», не вгоняя дизайнеров в жёсткие рамки. Приведу примеры реализации на React JS (для разработчика) и в Figma (для дизайнера). Привязки к React и Figma у схемы нет, просто мне в них привычнее.

В схеме нет ничего хитрого и уникального (может, только название). Все идеи висят в воздухе. Можно воспринимать её как мой best practice по работе с цветом в приложениях. Opium.Fill — это общие принципы, совмещённые с любовью давать всему подряд имена.

Систему можно использовать совместно с Material Design.

Статья написана для front-end разработчика и немного для дизайнера.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments10

Ontol: подборка видео-лекций и каналов для продвинутых программистов

Reading time4 min
Views16K
image

Недавно на HackerNews обсуждали видео и каналы, где можно поучиться продвинутому программированию. Под катом — подборка из 30 полезняшек.

В перерывах между полетами на реактивном ранце и переводами материалов Y Combinator, я делаю проект «Ontol» — такое место в сети, где максимальная концентрация полезного, апгрейдящего мировоззрение материала (ценного на горизонте 10+ лет, например, такого), которым можно делиться бесплатно в 1 клик. (канал в телеграм: t.me/ontol)

Вот мои предыдущие бесплатные образовательные подборки:


Total votes 41: ↑39 and ↓2+37
Comments1

450 бесплатных курсов от Лиги Плюща

Reading time19 min
Views69K
image


Информационные технологии позволяют получить невероятно крутые образовательные ресурсы в один клик. Бесплатно.

Я сейчас решаю задачу, как из огромной массы жизненно важного контента выбрать тот, который стоит попробовать в первую очередь, как «разметить данные», чтобы нейросеточка у подрастающего поколения обучилась более эффективно. (ontol.org, «Выгорание», «Удаленка», телеграм-канал).

Предлагаю вашему вниманию полную подборку всех бесплатных курсов от Лиги Плюща.

Лига плюща (The Ivy League) — ассоциация восьми частных американских университетов, расположенных в семи штатах на северо-востоке США. В состав лиги входят: Брауновский университет (Brown University), Гарвардский университет (Harvard University), Дартмутский колледж (Dartmouth College), Йельский университет (Yale University), Колумбийский университет (Columbia University), Корнеллский университет (Cornell University), Пенсильванский университет (University of Pennsylvania), Принстонский университет (Princeton University).

Эти университеты выпустили около 500 онлайн-курсов, 450 из которых сейчас доступны.

Оглавление


Computer Science (37)
Data Science (18)
Программирование (8)
Гуманитарные науки (80)
Бизнес (72)
Art & Design (20)
Наука (32)
Социальные науки (74)
Здоровье и медицина (32)
Инженерия (15)
Образование и преподавание (21)
Математика (14)
Личностное развитие (7)

Читать дальше →
Total votes 25: ↑24 and ↓1+23
Comments5

Apache Kafka: основы технологии

Reading time9 min
Views362K

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


Статья подготовлена на основе открытого занятия из видеокурса по Apache Kafka. Авторы — Анатолий Солдатов, Lead Engineer в Авито, и Александр Миронов, Infrastructure Engineer в Stripe. Базовые темы курса доступны на Youtube.

Total votes 29: ↑29 and ↓0+29
Comments10

Сколько цветов нужно, чтобы было норм, как эти цвета назвать и как ими пользоваться?

Reading time4 min
Views6.8K

Рассказываю о небольшом цветовом фреймворке, который используется в нашей ДС. Сначала, как обычно, небольшой обзор бест-практисов, а затем мой велосипед.

Поехали
Total votes 17: ↑17 and ↓0+17
Comments6

Перечислимый тип и PostgreSQL

Reading time20 min
Views11K


Пролог


Под перечислимым типом обычно понимают тип данных, который может принимать ограниченное и, как правило, небольшое число значений. Его выделяет то, что эти значения часто хардкодятся программистами в исходный код. И, как следствие, пользователи и операторы приложения не могут менять множество значений перечислимого типа. Их меняют только разработчики, зачастую с соответствующими исправлениями в коде и бизнес-логике приложения. Примерами перечислимых типов могут быть: времена года, месяцы, направление типа въезда/выезд или in/out, какие-нибудь типы или категории чего-нибудь, и так далее. В PostgreSQL подобную функциональность могут и реализуют различными способами. Этому посвящена статья.

Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments50

Лучшие практики при написании безопасного Dockerfile

Reading time9 min
Views30K

В данной статье мы рассмотрим небезопасные варианты написания собственного Dockerfile, а также лучшие практики, включая работу с секретами и встраивание инструментов статического анализа. Тем не менее для написания безопасного Dockerfile наличия документа с лучшими практиками мало. В первую очередь требуется организовать культуру написания кода. К ней, например, относятся формализация и контроль процесса использования сторонних компонентов, организация собственных Software Bill-of-Materials (SBOM), выстраивание принципов при написании собственных базовых образов, согласованное использование безопасных функций, и так далее. В данном случае отправной точкой для организации процессов может служить модель оценки зрелости BSIMM. Однако в этой статьей пойдет речь именно о технических аспектах.

Читать далее
Total votes 77: ↑75 and ↓2+73
Comments20

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

Reading time6 min
Views50K
Представьте себе, что вы директор маленькой средней школы, который ищет нового учителя. Поскольку у вас в штате менее 20 учителей, вы должны убедиться, что каждый человек, которого вы нанимаете, может преподавать во всех классах. Кроме того, вы недавно потеряли одного из своих лучших учителей, человека с 15-летним опытом и наставника для более молодых коллег. Как вы замените его? Вот тут-то и начинается занятное.

Приятного чтения!
Total votes 98: ↑77 and ↓21+56
Comments494

Тренируемся дома: отжимания по программе Пола Уэйда

Reading time21 min
Views245K

image


Представляю программу Тюремных Тренировок Пола Уэйда. Начнём с серии классических упражнений со своим весом для верхней части тела — отжиманиям.


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


Серия сосредоточена на цепочке из 10 последовательных упражнений. Когда освоите одно упражнение, то перейдёте к следующему и так далее…
Мы называем базовые упражнения как «10 уровней», и достигнув 10 уровня, вы станете сильнейшим настолько, насколько это возможно для человека в этих движениях. По этой причине, последняя ступень именуется «уровнем мастера». Вам станет понятнее, как это работает, если дополнительно ознакомитесь с книгой Тренировочная Зона (Издательство Питер).

Читать дальше →
Total votes 157: ↑137 and ↓20+117
Comments198

Знакомство с pg_probackup. Первая часть

Reading time8 min
Views38K
image

Привет, я Александр Никитин, главный системный администратор компании «БАРС Груп». В этой статье я хочу познакомить вас с инструментом pg_probackup.

Pg_probackup — разработка компании Postgres Professional, которая помогает делать резервные копии СУБД PostgreSQL. В отличие от стандартной утилиты pg_basebackup этот инструмент позволяет создавать инкрементные резервные копии на уровне блоков данных (по умолчанию 8Kb), производить валидацию резервных копий и СУБД, задавать политики хранения и многое другое.

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

Будут рассмотрены следующие варианты использования:

  • создание автономных бэкапов на отдельном сервере
  • создание архива wal-файлов и создание бэкапов в этом режиме
  • развёртывание реплики из бэкапа и настройка создания бэкапов с реплики
  • различные варианты восстановления

Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments15

21 канал на YouTube, где вы можете бесплатно изучить ИИ, машинное обучение и Data Science

Reading time5 min
Views25K

Мы уже не раз делились в своем блоге полезными материалами для развития (их список можно найти в конце этого поста). Сегодня продолжаем это начинание и специально перед стартом новых потоков курсов по Data Analytics и Data Science представляем подборку YT-каналов по Data Science, искусственному интеллекту и машинному обучению, существование многих из которых неочевидно: например, представлен канал ArXiv Insights, посвящённый научным работам, и Google Cloud Platform.
Приятного чтения!
Total votes 25: ↑21 and ↓4+17
Comments15

Typescript: Объединение типов в глубину

Reading time6 min
Views26K

Пошаговое руководство о том, как в TypeScript написать такой generic-тип, который рекурсивно объединяет произвольные вложенные key-value структуры данных. Это может оказаться несколько более сложной задачей, чем вы думаете.

Подробнее
Total votes 13: ↑13 and ↓0+13
Comments28

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

Reading time5 min
Views4.3K


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

Мы не устаем восхищаться возможностями GPT-3 и рассказывать о сферах ее применения, но многие при этом видят в алгоритме угрозу своей профессии.
И компания VMO, которая занимается A/B тестированием, решила провести соревнование — профессиональные копирайтеры против GPT-3.

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

Почему это так интересно?
Читать дальше →
Total votes 19: ↑19 and ↓0+19
Comments1

Материалы NLP курса от DeepPavlov

Reading time4 min
Views26K

В этой статье вы найдете материалы очных курсов «Deep Learning in NLP», которые запускались командой DeepPavlov в 2018-2019 годах и которые являлись частичной адаптацией Stanford NLP course — cs224n. Статья будет полезна любым специалистам, погружающимися в обработку текста с помощью машинного обучения. Благодарю физтехов, разрабатывающих открытую библиотеку для разговорного искусственного интеллекта в МФТИ, и Moryshka за разрешение осветить эту тему на Хабре в нашем ods-блоге.


Читать дальше →
Total votes 63: ↑61 and ↓2+59
Comments6

ALBERT — облегченный BERT для самообучения языковым представлениям

Reading time4 min
Views4.4K

С тех пор как в 2018 году был представлен BERT, исследования в области обработки естественного языка охвачены новой парадигмой: использованием больших объемов существующего текста для предварительного обучения параметров модели на основе самообучения (self-supervision), не требующего разметки данных. Таким образом, вместо того, чтобы обучать модель для обработки естественного языка (NLP) с нуля, можно взять предобученную модель, уже имеющую некоторое знание о языке. Однако, для успешного применения этого нового подхода в NLP исследователю необходимо иметь некоторое представление о том, что же именно способствует языковому обучению модели: высота нейронной сети (т.е. количество слоев), ее ширина (размер представлений скрытых слоев), критерий обученности для самообучения или что-то совсем иное?

Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments0

Мониторинг Node.js-приложения

Reading time7 min
Views12K


Здравствуйте! Меня зовут Ренат Саматов, я возглавляю фронтенд-направление в линейке продуктов Витрина. Большая часть наших проектов рендерится на сервере. Сегодня мы побеседуем об одном из важнейших аспектов SSR-приложения: о мониторинге.

Даже в 2020-м мониторинг Node.js-приложения является непростой задачей. Node.js — среда выполнения JavaScript, однопоточного языка программирования с динамической типизацией. Интерпретатору и среде исполнения предоставлены широкие полномочия, что очень легко может привести к утечке памяти или высокой нагрузке на процессор. Node.js работает асинхронно (псевдопараллельно), однако если одна функция блокирует поток или очередь событий, производительность приложения начинает сильно проседать.

В этой статье я расскажу о том, как контролировать ваше Node.js-приложение и быть уверенным в том, что проблем с утечкой памяти, ресурсов процессора и блокировкой потока не возникает. Мы побеседуем об управлении производительностью приложения (Application Performance Management, APM) и метриках, на которые следует обращать внимание. Погнали!
Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments10

На пути к бессерверным базам данных — как и зачем

Reading time12 min
Views21K
Всем привет! Меня зовут Голов Николай. Раньше я работал в Авито и шесть лет руководил Data Platform, то есть занимался всеми базами: аналитическими (Vertica, ClickHouse), потоковыми и OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). За это время я разобрался с большим количеством баз данных — самых разных и необычных, и с нестандартными кейсами их использования.

Сейчас я работаю в ManyChat. По сути это стартап — новый, амбициозный и быстро растущий. И когда я только вышел в компанию, возник классический вопрос: «А что сейчас стоит брать молодому стартапу с рынка СУБД и баз данных?».

В этой статье, основанной на моем докладе на онлайн-фестивале РИТ++2020, отвечу на этот вопрос. Видеоверсия доклада доступна на YouTube.



Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments91

Правда ли то, что скрам уничтожает отличных программистов, или дело в том, что его неправильно применяют?

Reading time12 min
Views38K
Недавно наше внимание привлёк один вопрос, заданный на stackexchange.com. Этот вопрос был направлен на то, чтобы разобраться с влиянием скрама на работу программистов. Автор вопроса, пользователь Qiulang, поднимает довольно смелую тему: «Скрам превращает хороших разработчиков в программистов средней руки. Возможно ли это?».

Основная идея фреймворка скрам заключается в организации процесса разработки для более быстрого выполнения работ на различных этапах жизненного цикла проекта. Но всегда ли такой подход подталкивает разработчиков к правильным моделям поведения? Многие пользователи, присоединившиеся к обсуждению вышеупомянутого вопроса на Stack Overflow, сталкивались с похожими вещами, когда разработчики «срезают углы», слишком большое значение придают высоким баллам, назначенным их тикетам, или даже прикидываются перед менеджерами высокопроизводительными сотрудниками. Как избежать этих опасностей?



Вопрос, о котором идёт речь, перешёл с workplace.stackexchange.com на softwareengineering.stackexchange.com. Это говорит о том, что программисты рассматривают соображения, связанные со скрамом и с его эффективностью, как нечто достаточно серьёзное, выходящее за рамки управления циклом разработки ПО. Они ощущают воздействие этого метода управления проектами на рабочую обстановку в целом.
Читать дальше →
Total votes 60: ↑54 and ↓6+48
Comments137

Алгоритм сортировки quadsort

Reading time11 min
Views9.4K

Вступление


Эта статья описывает стабильный нерекурсивный адаптивный алгоритм сортировки слиянием под названием quadsort.

Четверной обмен


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

    if (val[0] > val[1])
    {
        tmp[0] = val[0];
        val[0] = val[1];
        val[1] = tmp[0];
    }

В четверном обмене происходит сортировка с помощью четырёх подменных переменных (своп). На первом этапе четыре переменные частично сортируются в четыре своп-переменные, на втором этапе они полностью сортируются обратно в четыре исходные переменные.


Этот процесс показан на диаграмме выше.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments2

Как писать хорошие библиотеки под Angular

Reading time6 min
Views8K

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


Angular — превосходная платформа с одними из лучших инструментов во фронтэнд-среде. И, конечно, есть определенный способ делать «по-ангуляровски». Что лично мне особенно нравится в этом фреймворке — это то чувство удовлетворенности, которое испытываешь, когда все сделано как надо: аккуратный код, четкая архитектура. Давайте разберемся, что делает код правильно написанным под Angular.


Total votes 28: ↑28 and ↓0+28
Comments5
1
23 ...

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Registered
Activity