Pull to refresh
0
0
Send message

Иллюзия движения

Reading time17 min
Views69K
История о чувстве зрения, восприятии кадров и частоты обновления, размытости движущегося объекта и телевизионных экранах.
(также см. перевод статьи того же автора «Иллюзия скорости» — прим. пер.)

Введение


Вы могли слышать термин кадры в секунду (FPS), и что 60 FPS — действительно хороший ориентир для любой анимации. Но большинство консольных игр идут на 30 FPS, а кинофильмы обычно записывают на 24 FPS, так зачем же нам стремиться к 60 FPS?

Кадры… в секунду?


Ранние времена кинопроизводства



Съёмки голливудского фильма 1950 года «Юлий Цезарь» с Чарлтоном Хестоном

Когда первые кинематографисты начали снимать кино, многие открытия делались не научным методом, а путём проб и ошибок. Первые камеры и проекторы управлялись вручную, а плёнка была очень дорогой — настолько дорогой, что при съёмке старались использовать наименьшую возможную частоту кадров, лишь бы сэкономить плёнку. Этот порог обычно находился между 16 и 24 FPS.
Читать дальше →
Total votes 89: ↑89 and ↓0+89
Comments51

Makefile для самых маленьких

Reading time4 min
Views757K
Не очень строгий перевод материала mrbook.org/tutorials/make Мне в свое время очень не хватило подобной методички для понимания базовых вещей о make. Думаю, будет хоть кому-нибудь интересно. Хотя эта технология и отмирает, но все равно используется в очень многих проектах. Кармы на хаб «Переводы» не хватило, как только появится возможность — добавлю и туда. Добавил в Переводы. Если есть ошибки в оформлении, то прошу указать на них. Буду исправлять.

Статья будет интересная прежде всего изучающим программирование на C/C++ в UNIX-подобных системах от самых корней, без использования IDE.

Компилировать проект ручками — занятие весьма утомительное, особенно когда исходных файлов становится больше одного, и для каждого из них надо каждый раз набивать команды компиляции и линковки. Но не все так плохо. Сейчас мы будем учиться создавать и использовать Мейкфайлы. Makefile — это набор инструкций для программы make, которая помогает собирать программный проект буквально в одно касание.
Читать дальше →
Total votes 89: ↑77 and ↓12+65
Comments33

Программы для генеалогического дерева

Reading time5 min
Views250K

О генеалогических программах.



Зачем оно нужно?

1. Хранение информации. Если все
хранится на бумаге — может сгореть, пропасть и т.д. В электронном виде если регулярно делать бэкап опастность меньше
2. Упорядочивание информации. Быстро найти все людей которые погибли на войне. всех троюродных братьев данного человека, всех которые родились в Киеве до революции. такие задачи возникают часто при работе. Получить все такие срезы очень тяжело если все у вас хранится в одном файле или на бумаге.
3. Работа с источниками. Часто бывает важно знать из какого источника поступила информация. Часто надо найти все, что известно из этого источника.
4. Работа с фотографиями. Хранить все картинки имеющие отношение к одному человеку вместе. Если на фотографии несколько людей не хранить ее несколько раз. Привязывать фотографии не только к людям но и к конкретным событиям.
5. Работа с географическими местами. Описание, фотографии, прежнее имя, список всех кто там родился.
6. Обмен информацией с другими людьми
7. Автоматическое построение деревьев и еще многое многое

Теперь про конкретные программы.
Читать дальше →
Total votes 43: ↑35 and ↓8+27
Comments78

IPv6 — прекрасный мир, стоящий скорого перехода на него

Reading time8 min
Views41K
Практически все статьи, которые я видел на тему «чем хорош IPv6 и почему на него стоит пошустрее переходить», говорят только о просто более широком адресном пространстве. В лучшем случае, упомянут автоматическую конфигурацию адресов и маршрутов (stateless address autoconfiguration (SLAAC)). Это удручает, а ведь IPv6 имеет много ещё других неявных плюшек, являясь очень продуманным стеком протоколов (IPv6 + ICMPv6 + NDP)! Создаётся впечатление, что IPv6 это просто тупо про расширение адресов, а дальше то особо никакого профита. Или же некоторые статьи плачутся о том, что они не видят сиюминутного профита от внедрения/перехода. Простоту и удобство, гибкость и расширенные возможности (из-за одного только избавления от NAT-а) не так то легко измерить, как какие-нибудь задержки и пропускную способность. Решил поэтому собрать моё видение прекрасного мира IPv6 протокола и его плюсы в этой статье.
Читать дальше →
Total votes 35: ↑34 and ↓1+44
Comments459

Уровни изолированности транзакций для самых маленьких

Reading time5 min
Views257K


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

Немного теории


Сами транзакции особых объяснений не требуют, транзакция — это N (N≥1) запросов к БД, которые выполнятся успешно все вместе или не выполнятся вовсе. Изолированность же транзакции показывает то, насколько сильно влияют друг на друга параллельно выполняющиеся транзакции.
Выбирая уровень транзакции, мы пытаемся прийти к консенсусу в выборе между высокой согласованностью данных между транзакциями и скоростью выполнения этих самых транзакций.
Стоит отметить, что самую высокую скорость выполнения и самую низкую согласованность имеет уровень read uncommitted. Самую низкую скорость выполнения и самую высокую согласованность — serializable.
Читать дальше →
Total votes 42: ↑36 and ↓6+30
Comments17

Dependency injection

Reading time5 min
Views329K

От переводчика


Представляемый вашему вниманию перевод открывает серию статей от Jakob Jenkov, посвященных внедрению зависимостей, или DI. Примечательна серия тем, что в ней автор, анализируя понятия и практическое применение таких понятий как «зависимость», «внедрение зависимостей», «контейнер для внедрения зависимостей», сравнивая паттерны создания объектов, анализируя недостатки конкретных реализаций DI-контейнеров (например, Spring), рассказывает, как пришел к написанию собственного DI-контейнера. Таким образом, читателю предлагается познакомиться с довольно цельным взглядом на вопрос управления зависимостями в приложениях.

В данной статье сравнивается подход к настройке объектов изнутри и извне (DI). По смыслу настоящая статья продолжает статью Jakob Jenkov Understanding Dependencies, в которой дается определение самому понятию «зависимости» и их типам.


Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments13

Как работает Эфириум (Ethereum)?

Reading time35 min
Views186K

Введение


Наверняка некоторые из вас знают, что такое блокчейн Эфириум (с англ. Ethereum), другие, напротив, не имеют даже малейшего представления о нем. Так или иначе, и первые и вторые что-нибудь да слышали о данной платформе. В последнее время этой теме было посвящено множество статей в различных крупных журналах, однако для тех людей, кто мало что слышал об Эфириуме, все статьи на эту тему представляются чем-то мистическим и совершенно непонятным. Тогда, что же собой представляет данная платформа? Если вкратце: Эфириум – это общедоступная база данных с возможностью хранения цифровых транзакций в течение неограниченного времени. Важно также отметить, что для обслуживания и защиты такой базы данных не требуется каких-либо систем управления ключами. Вместо этого данная платформа работает как «беззащитная» транзакционная система – фреймворк, в котором физические лица могут совершать одноранговые транзакции, при этом ни одна из сторон не несет перед другой или третьей сторонами каких-либо обязательств.
Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments21

Как и зачем продакту проводить CustDev?

Reading time6 min
Views62K
Одна из главных задач продакт-менеджера — генерация идей для создания новых прибыльных продуктов. Но как понять, например, какой из десяти придуманных вариантов — лучший?

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

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

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

Система KPI в компании: как не пойти на три буквы

Reading time16 min
Views116K
Оценивать что-либо — очень сложно. Для этого нужно быть экспертом в той сфере, о которой идёт речь, уметь учитывать сторонние факторы, выбирать. Но всё знать и уметь нельзя. Однако бизнес подобрался к решению проблемы оценки вплотную — были придуманы показатели KPI. Но этот мощный и проработанный инструмент оказался не таким простым и безобидным. В компаниях вокруг KPI бушуют нешуточные страсти, в которых есть место даже ненависти и личным мотивам. Несколько месяцев жизни нашей компании были посвящены созданию системы расчёта KPI внутри CRM. Сегодня можно выдохнуть и сказать, что всё получилось. А заодно поделиться интересной информацией и своими выводами. В общем, про эти три буквы мы теперь знаем гораздо больше, чем про те.


Total votes 35: ↑30 and ↓5+25
Comments52

Я учусь на тестировщика. Сравнение двух онлайн школ. Часть 3

Reading time6 min
Views11K

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

Напоминаю, что это очень субъективное мнение рядовой студентки. Вторая часть тут.

Читать далее
Total votes 7: ↑5 and ↓2+5
Comments16

A/B тест — это просто

Reading time6 min
Views501K


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

Мне часто приходится сталкиваться с задачами организации A/B тестирования в различных интернет-проектах. В этой статье хочу поделиться необходимыми базовыми знаниями для проведения тестов и анализа результатов.
Читать дальше →
Total votes 28: ↑24 and ↓4+20
Comments13

Может ли Carbonio работать без доступа к глобальной сети?

Reading time5 min
Views9.2K

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

Читать далее
Total votes 4: ↑3 and ↓1+2
Comments6

Из техлида в менеджеры продукта: чем поможет бэкграунд разработки и стоит ли переходить именно вам

Reading time8 min
Views7.3K

Меня зовут Марина Перескокова. Я проработала в Яндексе 10 лет, и из стажёра-разработчика выросла до руководителя службы разработки фронтенда. За это время получилось поработать над JS API Яндекс.Карт, поруководить фронтендом сервиса yandex.ru/maps и покодить движок для векторной карты на WebGL. По итогам моего тимлидства я написала книгу.

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

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

Читать далее
Total votes 26: ↑22 and ↓4+30
Comments3

Product Owner vs Product Manager или Product Owner/Product Manager

Reading time6 min
Views57K

В своей предыдущей статье я рассказывала о роли Product Manager и том, чем она отличается от роли Project Manager. Сделав это сравнение, я получила вопрос: “А в чем тогда разница между Product Owner (владелец продукта) и Product Manager (менеджер продукта)?” Давайте разбираться вместе!

Читать далее
Total votes 6: ↑3 and ↓3+3
Comments5

SAFe или Scaled Agile Framework

Reading time5 min
Views119K

Что такое SAFe?


Что такое Agile многие знают. Еще большее количество людей, причастных к IT используют терминологию. Еще больше тех, кто слышал об Agile.


Далеко не все, кто уверенно использует термин Agile для общения, критики, для того; чтобы представить свою комманду или компанию в лучшем свете понимают, например, в чем отличие между SCRUM и Agile; и часто ставят между этими двумя разными понятиями знак равенства. Но вот не так давно в 2015 году появился еще и SAFe. Что это и зачем он нужен?

Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments9

Кто такой продакт-менеджер? Или не все PM’ы — проджект-менеджеры

Reading time3 min
Views12K
В каждой компании наступает момент, когда она становится больше, чем стартап, и принцип работы «каждый отвечает понемногу за все» — уже не эффективен. Что это значит? Пришло время расписывать необходимые роли, чтобы знать, кто и зачем вам нужен.

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



Кто такой Product Manager?


Менеджер продукта — это человек, который отвечает за создание продукта или продуктов для компании. Что такое продукт? Это товар или услуга, которая создается специально для удовлетворения потребностей рынка. Продакт-менеджер работает с продуктом с момента зарождения идеи и вплоть до его «смерти». Продолжительность жизни продукта относительна и не имеет четко выраженных границ в отличие от проекта, который имеет четкие сроки и размер выделенного бюджета. 

Именно в этом главное отличие двух PM’ов: продакту важен именно продукт, а проджекту — процесс реализации. К тому же, как правило, один продукт — это целый ряд проектов; в то время как проект — не равно продукт.   

Задачи Product Manager’а


  1. Определить, кто является целевой аудиторией для продукта, и какие функции будут для нее первоочередными, а какие — второстепенными.
  2. Проанализировать рынок аналогичных продуктов, чтобы понимать, какие потребности ЦА они закрывают и каким образом. 
  3. Решить, как можно привлекать пользователей (внутренний продукт) и клиентов, получать от них оплаты, а также как поддерживать их лояльность продукту (внешний рынок). 
  4. Определить, почему клиенты прекращают пользоваться продуктом (технические недостатки, высокая цена, неподходящий функционал).
  5. Создавать и проверять гипотезы, чтобы потом писать технические задания командам.  
  6. Принимать решения о том, нужно ли вообще создавать новый продукт.
  7. Контролировать жизненный цикл продукта и его прибыльность. 

Читать дальше →
Total votes 17: ↑6 and ↓11+1
Comments17

Требования ACID на простом языке

Reading time6 min
Views293K

Мне нравятся книги из серии Head First O`Reilly — они рассказывают просто о сложном. И я стараюсь делать также.

Когда речь идёт о базах данных, могут всплыть магические слова «Требования ACID». На собеседовании или в разговоре разработчиков — не суть. В этой статье я расскажу о том, что это такое, как расшифровывается ACID и что означает каждая буква.

Требования ACID — набор требований, которые обеспечивают сохранность ваших данных. Что особенно важно для финансовых операций. Мы же не хотим остаться без денег из-за разрыва соединения или ошибки в ПО, не так ли?

Читать далее
Total votes 13: ↑9 and ↓4+7
Comments10

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

Reading time5 min
Views15K

Меня зовут Вероника Ильина, я работаю с людьми в Додо. Пару раз в жизни я попадала в ситуации, когда желание успеть всё и рабочие дни с 9 до 21 приводили к тому, что не было сил вставать по утрам. С тех пор я научилась работать так, чтобы даже в самые сложные моменты с кучей проектов, учёбой и так далее не падать на дно выгорания. Когда я пришла в Додо и увидела кучу ребят с горящими глазами, которые в увлечённости своей работой иногда забегают слишком далеко и перегружаются. И мы с командой начали работать над предотвращением выгорания и помощью тем, кому нелегко.

Это большая история и про прозрачное целеполагание, и про работу с процессами в командах. Но в первую очередь о том, что присматривать за собой должен сам человек. Чтобы помочь в этом разобраться и дать ребятам готовые инструменты, мы с нашим внутренним комьюнити PPL (People&Process Leads) собрали материалы на тему выгорания, вылезания из него и его предотвращения. И сегодня я начинаю серию постов, в которой делюсь этими материалами. И первый пост про то, что такое выгорание, какие у него симптомы и как определить, если ли выгорание оно у вас и ваших коллег.

Читать далее
Total votes 24: ↑20 and ↓4+22
Comments67

Быстрая сортировка

Reading time3 min
Views71K
Всем привет. Сегодня продолжаем серию статей, которые я написал специально к запуску курса «Алгоритмы и структуры данных» от OTUS. По ссылке вы сможете подробно узнать о курсе, а также бесплатно посмотреть запись Demo-урока по теме: «Три алгоритма поиска шаблона в тексте».



Введение


Сортировка массива является одной из первых серьезных задач, изучаемых в классическом курсе «Алгоритмы и структуры данных» дисциплины computer science. В связи с этим задачи на написание сортировок и соответствующие вопросы часто встречаются на собеседованиях на позиции стажера или junior разработчика.
Читать дальше →
Total votes 20: ↑10 and ↓10+6
Comments13

Timsort — самый быстрый алгоритм сортировки, о котором вы никогда не слышали

Reading time5 min
Views50K

Timsort: Очень быстрый, O(n log n), стабильный алгоритм сортировки, созданный для реального мира, а не для академических целей.

Timsort — это алгоритм сортировки, который эффективен для реальных данных, а не создан в академической лаборатории. Tim Peters создал Timsort для Python в 2001 году. 

Timsort сначала анализирует список, который он пытается отсортировать, и на его основе выбирает наилучший подход. С момента его появления он используется в качестве алгоритма сортировки по умолчанию в Python, Java, платформе Android и GNU Octave.

Нотация Big O для Timsort — это O(n log n). Чтобы узнать о нотации Big O, прочтите это.

Читать далее
Total votes 17: ↑13 and ↓4+12
Comments9
1

Information

Rating
Does not participate
Registered
Activity