Как стать автором
Обновить
@Scf read-only

Пользователь

Шесть задачек для Front-End разработчика

Время на прочтение 2 мин
Количество просмотров 45K
Блог компании Edison JavaScript *Программирование *ReactJS *Учебный процесс в IT
Перевод

1. Форма кредитной карты


Клёвая форма кредитной карты с гладкими и приятными микровзаимодействиями. Включает форматирование чисел, проверку и автоматическое определение типа карты. Она построена на Vue.js, а также полностью адаптивная. (Посмотреть можно здесь.)

image

credit-card-form

Чему научитесь:

  • Обрабатывать и валидировать формы
  • Обрабатывать события (например, при изменении полей)
  • Разберетесь как отображать и размещать элементы на странице, особенно данные кредитной карты, которая поверх формы
Читать дальше →
Всего голосов 46: ↑41 и ↓5 +36
Комментарии 43

Чему я научился на своём горьком опыте (за 30 лет в разработке ПО)

Время на прочтение 22 мин
Количество просмотров 116K
Блог компании VK Программирование *Совершенный код *Управление разработкой *
Туториал
Перевод
image

Это циничная, клиническая коллекция того, чему я научился за 30 лет работы в разработке программного обеспечения. Повторюсь, некоторые вещи весьма циничны, а остальное — результат долгих наблюдений на разных местах работы.
Читать дальше →
Всего голосов 187: ↑178 и ↓9 +169
Комментарии 128

Королев. Лекарство для веба

Время на прочтение 6 мин
Количество просмотров 11K
Высокая производительность *Разработка веб-сайтов *JavaScript *Scala *

Около года назад вышла статья-манифест Никиты Прокопова о разочаровании в программном обеспечении. Судя по положительным откликам, разработчикам небезразлично качество производимых продуктов. Может быть пора начать действовать?


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

Читать дальше →
Всего голосов 36: ↑31 и ↓5 +26
Комментарии 48

Возвращаясь к Неразмеченным Конечным Интерпретаторам с Dotty

Время на прочтение 11 мин
Количество просмотров 10K
Scala *
Из песочницы

Неразмеченные Конечные Интепретаторы (Tagless Final interpreters — прим. пер.) — это альтернативный подход традиционным Алгебраическим Типам Данных (и обобщённым ADT), основанный на реализации паттерна "интерпретатор". Этот текст представляет "неразмеченный конечный" подход в Scala, и демонстрирует каким образом Dotty с его недавно добавленными типами неявных функций делает этот подход ещё более привлекательным. Все примеры кода — это прямое переложение их Haskell версий, представленных в Typed Tagless Final Interpreters: Lecture Notes (раздел 2).


Паттерн "интерпретатор" в последнее время привлекает всё больше внимания в сообществе Scala. Множество усилий было затрачено на борьбу с наиболее ярким недостатком решений, основанных на ADT/GADT: расширяемость. Для начала можно взглянуть на typeclass Inject из cats как на реализацию идей Data Type à la Carte. Библиотека Freek предоставляет средства для комбинирования более двух алгебр, используя украшения с задействованием аппарата операций на уровне типов. Решение, предложенное в работе Freer Monads, More Extensible Effects также ставит акцент на расширяемости, и вдохновлено набором небольших Scala-библиотек, таких как eff, emm и paperdoll. Неразмеченные конечные интерпретаторы подходят в некотором смысле с противоположной стороны, используя типы классов в своём непосредственном основании вместо более традиционных ADT/GADT. Они также поставляются с большим превосходством в расширяемости "из коробки" без каких-то явных опасностей.


Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Комментарии 13

Программный синтез звука на ранних персональных компьютерах. Часть 1

Время на прочтение 21 мин
Количество просмотров 19K
Python *Программирование *Алгоритмы *Читальный зал Звук
Это статья о первых программных синтезаторах, которые были когда-то созданы на самых обычных персональных компьютерах. Я даю несколько практических примеров по реализации простых методов звукового синтеза в историческом контексте.

Перейти ко второй части

Всего голосов 39: ↑38 и ↓1 +37
Комментарии 11

Обзор техник реализации игрового ИИ

Время на прочтение 55 мин
Количество просмотров 50K
Разработка игр *Дизайн игр *Искусственный интеллект
Перевод
image

Введение


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

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

Что же такое «игровой ИИ»?


Игровой ИИ в основном занимается выбором действий сущности в зависимости от текущих условий. В традиционной литературе по ИИ называет это управлением "интеллектуальными агентами". Агентом обычно является персонаж игры, но это может быть и машина, робот или даже нечто более абстрактное — целая группа сущностей, страна или цивилизация. В любом случае это объект, следящий за своим окружением, принимающий на основании него решения и действующий в соответствии с этими решениями. Иногда это называют циклом «восприятие-мышление-действие» (Sense/Think/Act):

  • Восприятие: агент распознаёт — или ему сообщают — информацию об окружении, которая может влиять на его поведение (например, находящиеся поблизости опасности, собираемые предметы, важные точки и так далее)
  • Мышление: агент принимает решение о том, как поступить в ответ (например, решает, достаточно ли безопасно собрать предметы, стоит ли ему сражаться или лучше сначала спрятаться)
  • Действие: агент выполняет действия для реализации своих решений (например, начинает двигаться по маршруту к врагу или к предмету, и так далее)
  • … затем из-за действий персонажей ситуация изменяется, поэтому цикл должен повториться с новыми данными.
Читать дальше →
Всего голосов 67: ↑66 и ↓1 +65
Комментарии 15

N+6 полезных книг

Время на прочтение 4 мин
Количество просмотров 45K
Блог компании Мосигра Управление проектами *Читальный зал


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

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

Коллаборация — Мортен Хансен
Это инструкция по совместной работе и взаимодействию между людьми в команде и командами. Она меня здорово успокоила рядом исследований, например, тем, что вообще-то не надо заниматься нетворкингом, если ты занимаешься делом. Не надо знать 200-400 человек, чтобы найти нужного — надо знать 10 человек, каждый из которых знает по 50-100. А это в разы проще и эффективнее. Нетворкинг для интроверта — это прекрасно.
Читать дальше →
Всего голосов 43: ↑41 и ↓2 +39
Комментарии 16

Продвижение ПО на Запад: ожидание vs.реальность на примере одного видеоредактора

Время на прочтение 9 мин
Количество просмотров 13K
Growth Hacking *Интернет-маркетинг *Медийная реклама *Развитие стартапа Разработка под Windows *

Статьи о продвижении IT-продуктов, как правило, можно разделить на две категории.

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

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

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

В качестве примера мы будем опираться на результаты продвижения видеоредактора VSDC на западный рынок, которым занимались последний год, и расскажем, какие методы сработали, а какие — нет.
Читать дальше →
Всего голосов 35: ↑35 и ↓0 +35
Комментарии 19

Книги для тимлидов и руководителей проектов

Время на прочтение 2 мин
Количество просмотров 170K
Блог компании DevRain Solutions
Какими свойствами должен обладать хороший тимлид? Он, несомненно, должен быть технарем, иметь разносторонний опыт, уметь налаживать диалог внутри команды и с начальством, вести дискуссии и принимать решения, брать на себя ответственность, понимать бизнес-процессы, думать как заказчик и владелец бизнеса. Ну и быть немного психологом.

В отечественном IT я часто наблюдаю следующую картину: тимлидом часто становился лучший (?) разработчик из команды (aka 23-летний сеньор). А чтобы стать руководителем проекта (project manager) иногда достаточно просто знать английский и «павэрпойнт» на уровне пользователя. Это реалии отечественного аутсорсинга и с этим нужно как-то жить.

В итоге часто получается как-то так:
Потому что на десять сеньоров по статистике девять тупят.
Читать дальше →
Всего голосов 84: ↑74 и ↓10 +64
Комментарии 53

Байесовские многорукие бандиты против A/B тестов

Время на прочтение 20 мин
Количество просмотров 56K
Блог компании Open Data Science Python *Математика *Тестирование веб-сервисов *Машинное обучение *

Здравствуйте, коллеги. Рассмотрим обычный онлайн-эксперимент в некоторой компании «Усы и когти». У неё есть веб-сайт, на котором есть красная кнопка в форме прямоугольника с закругленными краями. Если пользователь нажимает на эту кнопку, то где-то в мире мурлычет от радости один котенок. Задача компании — максимизация мурлыкания. Также есть отдел маркетинга, который усердно исследует формы кнопок и то, как они влияют на конверсию показов в клико-мурлыкания. Потратив почти весь бюджет компании на уникальные исследования, отдел маркетинга разделился на четыре противоборствующие группировоки. У каждой группировки есть своя гениальная идея того, как должна выглядеть кнопка. В целом никто не против формы кнопки, но красный цвет раздражает всех маркетологов, и в итоге было предложено четыре альтернативных варианта. На самом деле, даже не так важно, какие именно это варианты, нас интересует тот вариант, который максимизирует мурлыкания. Маркетинг предлагает провести A/B/n-тест, но мы не согласны: и так на эти сомнительные исследования спущено денег немерено. Попробуем осчастливить как можно больше котят и сэкономить на трафике. Для оптимизации трафика, пущенного на тесты, мы будем использовать шайку многоруких байесовских бандитов (bayesian multi-armed bandits). Вперед.

Читать дальше →
Всего голосов 67: ↑65 и ↓2 +63
Комментарии 50

Топ инструментов разработки для PostgreSQL

Время на прочтение 6 мин
Количество просмотров 166K
Блог компании PG Day'17 Russia Разработка веб-сайтов *PostgreSQL *SQL *

Конференция PG Day Russia растет и масштабируется: этим летом мы готовим для вас доклады и тренинги по всем наиболее популярным базам данных, а также по администрированию и хранению данных. в рамках подготовки мы запустили корпоративный блог, где планируем делиться ценной информацией о происходящем в мире баз данных. Первый пост посвящен инструментам разработки для PostgreSQL, его автор varanio будет рад ответить на ваши вопросы и комментарии!


Я поспрашивал различных людей, имеющих отношение к PostgreSQL, что они используют в реальной жизни для разработки приложений, использующих PG.


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


Если вашего инструмента нет в списке, или у вас просто есть что сказать, добро пожаловать в комментарии.


Итак, вот неформальный топ и субъективное описание.

Читать дальше →
Всего голосов 22: ↑20 и ↓2 +18
Комментарии 73

Влияние ambient-музыки на процесс написания кода

Время на прочтение 7 мин
Количество просмотров 56K
Блог компании Productivity Inside GTD *Фриланс
В данной статье я хотел бы поговорить о той музыке, под которую мы пишем код. О музыке «для программистов». А точнее, про такой специфический жанр музыки, как эмбиент.



Человек работающий и музыка


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

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

На том же Хабре есть масса отличных статей о том, как музыка влияет на рабочий климат офиса, на концентрацию работника и т.п. Но данный материал немного о другом.
Читать дальше →
Всего голосов 38: ↑30 и ↓8 +22
Комментарии 133

Хороший триггер, плохой триггер: как мы мониторим сотни серверов по всему миру

Время на прочтение 8 мин
Количество просмотров 26K
Блог компании Pixonic IT-инфраструктура *Серверное администрирование *DevOps *


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

Нам, например, круглосуточно требуется мониторить более 46 000 метрик на более чем 500 серверах в 6 дата-центрах и 4 странах, а DAU игры War Robots стабильно переваливает за 1 500 000 человек.

Но правильный, настоящий мониторинг пишется кровью системного администратора и разработчика. Каждый кейс, каждый факап и даже внутренние процессы, включая количества тонера в картридже принтера, должны быть описаны сценарием мониторинга. Я решил немного рассказать о том, с чем мы столкнулись при организации этого процесса, а также как выстроили работу сисадминов, снизив количество дежурств и улучшив их качество. При этом упор будет сделан на подходе к мониторингу, тогда как настройка той или иной системы легко гуглится и без посторонней помощи.
Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Комментарии 14

Как сделать логотип на миллион, если ты не дизайнер

Время на прочтение 3 мин
Количество просмотров 56K
Блог компании Логомашина Веб-дизайн *Типографика *Работа с векторной графикой *Графический дизайн *
Туториал
Что делать, если хочется сделать для своего проекта классный логотип, а денег на это нет? Последние десять лет я занимался дизайном, поэтому всегда мог сделать лого для своих проектов самостоятельно. А как можно сделать классный логотип, если ты не дизайнер?

image
Читать дальше →
Всего голосов 56: ↑45 и ↓11 +34
Комментарии 28

Как мы с друзьями прокачали наш сторонний проект до бизнеса с доходом в $17 000 в месяц

Время на прочтение 9 мин
Количество просмотров 32K
Блог компании Productivity Inside Фриланс Развитие стартапа Управление продуктом *Управление продажами *
Перевод
В 2014 мы с друзьями решили создать настолько крутые инструменты веб-дизайна, насколько это вообще возможно. Мы создали UI kitsAdmin DashboardsTemplates и Plugins.

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



С точки зрения доходов, если не брать во внимание Черную пятницу с ее распродажами (которая помогла нам удвоить прибыль ноября 2016 года), мы выросли примерно до $ 22 000 выручки в месяц. Часть ее уходит на оплату комиссии по партнерской программе, НДС, налога поставщиков и другие траты. В результате на данный момент мы имеем около $17,000 ежемесячной чистой прибыли.
Сегодня я хочу поделиться с вами, как мы создавали свои продукты и как немного раскрутили этот побочный бизнес.
Читать дальше →
Всего голосов 52: ↑39 и ↓13 +26
Комментарии 13

Микросервисы: опыт использования в нагруженном проекте

Время на прочтение 17 мин
Количество просмотров 67K
Высокая производительность *Анализ и проектирование систем *Микросервисы *


На конференции HighLoad++ 2016 руководитель разработки «М-Тех» Вадим Мадисон рассказал о росте от системы, для которой сотня микросервисов казалась огромным числом, до нагруженного проекта, где пара тысяч микросервисов — обыденность.

Тема моего доклада — то, как мы запускали в продакшн микросервисы на достаточно нагруженном проекте. Это некий агрегированный опыт, но поскольку я работаю в компании «M-Tех», то давайте я пару слов расскажу о том, кто мы.

Если коротко, то мы занимаемся видеоотдачей — отдаём видео в реальном времени. Мы являемся видеоплатформой для «НТВ-Плюс» и «Матч ТВ». Это 300 тысяч одновременных пользователей, которые прибегают за 5 минут. Это 300 терабайт контента, который мы отдаем в час. Это такая интересная задача. Как это всё обслужить?

Про что сама эта история? Это про то, как мы росли, как проект развивался, как происходило какое-то переосмысление каких-то его частей, какого-то взаимодействия. Так или иначе, это про масштабирование проекта, потому что это всё — ради того, чтобы выдержать ещё больше нагрузки, предоставить клиентам ещё больше функционала и при этом не упасть, не потерять ключевых характеристик. В общем, чтобы клиент остался доволен. Ну и немного про то, какой путь мы прошли. С чего мы начинали.
Читать дальше →
Всего голосов 78: ↑77 и ↓1 +76
Комментарии 65

Архитектура растущего проекта на примере ВКонтакте

Время на прочтение 14 мин
Количество просмотров 40K
Высокая производительность *PHP *Анализ и проектирование систем *


Алексей Акулович объясняет жизненный путь высоконагруженного проекта на PHP. Это — расшифровка Highload ++ 2016.

Меня зовут Лёша, я пишу на PHP.

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

Начнём.
Всего голосов 65: ↑61 и ↓4 +57
Комментарии 47

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

Время на прочтение 10 мин
Количество просмотров 24K
Развитие стартапа Законодательство в IT
Из песочницы
Споры между основателями стартапов о принадлежности интеллектуальных прав на созданный продукт — не редкость. Вспоминается, например, судебный иск Регги Брауна к двум другим основателям Snapchat. В большинстве случаев конфликты заканчиваются уходом кого-то из основателей из проекта. Российской судебной практике также известно немало примеров, когда создатели сервисов и приложений спорят о правах на них (и о праве контроля над стартапом в целом). Чаще всего конфликты происходят в проектах, где один из основателей придумал идею стартапа и алгоритм функционирования сервиса, а другой написал исходный код программы. В этом материале мы расскажем несколько невыдуманных историй, как такие споры решаются в России, и попытаемся понять юридические причины конфликтных ситуаций. Возможно, кто-то в этих историях «увидит» себя, а кому-то наш пост поможет не повторить ошибок его героев.
Читать дальше →
Всего голосов 42: ↑40 и ↓2 +38
Комментарии 55

PR для стартапа: какие сайты обязательно должны написать про вашу компанию

Время на прочтение 4 мин
Количество просмотров 10K
Блог компании Topic Growth Hacking *Интернет-маркетинг *Контент-маркетинг *Поисковая оптимизация *
Известный маркетолог Эндрю Чен в одном из эссе писал, что есть всего несколько каналов для масштабирования роста аудитории:

  • Платный трафик
  • Прямые продажи
  • Виральность
  • SEO


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

Чтобы поисковики поняли, что ваш сайт хороший и на него стоит отправлять посетителей, вам нужен качественный продукт и много хороших ссылок с других сайтов. Времена покупных ссылок постепенно уходят, линкбилдинг становится намного более трудоемким занятием, тесно срастается с PR, каждая ссылка требует творческого подхода.
Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Комментарии 8

Документирование по ГОСТ 34* — это просто

Время на прочтение 12 мин
Количество просмотров 445K
IT-стандарты *
Сегодня мы поговорим об отечественных стандартах на проектную документацию. Как эти стандарты работают на практике, чем они плохи и чем хороши. При разработке документации для государственных и серьезных частных заказчиков у нас обычно нет выбора — в требования по документированию ТЗ вписано соблюдение стандартов. На практике мне приходилось сталкиваться с различными примерами недопонимания структуры стандартов, того, что должно быть в документах и зачем эти документы нужны. В итоге из-под пера техписателей, аналитиков и специалистов выходят порой такие перлы, что непонятно, в каком состоянии сознания они писались. А ведь на самом деле все достаточно просто. Поиск по Хабру не вернул ссылок на более-менее целостный материал на данную тему, потому предлагаю закрасить этот досадный пробел.
Читать дальше →
Всего голосов 64: ↑60 и ↓4 +56
Комментарии 43

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность