Как стать автором
Поиск
Написать публикацию
Обновить
81
0
Vladimir Chernyshev @VolCh

Software Engineer, Technical Lead

Отправить сообщение

Лучше день потерять

Время на прочтение20 мин
Количество просмотров15K
В инвестировании есть понятие «Плохо сейчас — хорошо потом». Инвестор регулярно отщипывает 10, 20% или даже 30% своего заработка на будущее. Эти деньги он инвестирует в облигации, акции, ОФЗ, ETF — кто во что горазд. Сейчас, в моменте, инвестор отбирает у себя свой заработок, лишает себя каких-то благ, чтобы в будущем, на горизонте в 10-20 лет, получить пользу от инвестиций. Прибыль в будущем покроет сегодняшние лишения. Примерно такую же стратегию исповедует Алексей Охрименко (obenjiro), но применительно к разработке — лучше день потерять, а потом за 5 минут полететь.


Источник

На Frontend Conf 2018 Алексей рассказал, как потеряв кучу времени сейчас, в конечном счете его сэкономить потом. Этот доклад не о чувстве скуки и не о том, как бороться с монотонными и рутинными задачами, а о том как потратить время по максимуму — сколько есть, все потратить, и посмотреть, что из этого получится. В расшифровке доклада опыт написания инструментов для отладки, тестирования, оптимизации, скафолдинга и валидации под разные проекты. Бонусом Алексей расскажет о ряде уже существующих инструментов и о пользе, которую они приносят. Давайте выяснять, надо ли вообще на это тратить время.

О докладчике: Алексей Охрименко — разработчик в Avito Frontend Architecture, где немного улучшает жизнь миллионов людей. Ведет подкаст «5 min Angular», а в свободное ото сна и подкаста время организует Angular Meetup вместе с ребятами из Тинькофф, и выступает с огромным количеством разных и спорных докладов.

Уроки украинского

Время на прочтение7 мин
Количество просмотров116K
Не бросайте чтение, будет не про политику. Язык, как он есть. Краткие заметки для быстрого начала понимания украинского, ну и в конце немного программирования, чтобы уж не совсем оффтоп.

Несколько замечательных особенностей украинского языка.

1. Звательный падеж.

Эта милая сердцу категория была в общем прародителе всех славянских языков, но сейчас осталась рудиментарно. Хотя она и понятна носителю современного русского, возьмите обращение «Друже!». Звательный падеж знаком нам из Библии («Отче наш!», «Врачу, исцелися сам!»), что неудивительно, так как церковнославянский — солунский диалект староболгарского.
Примеры:
Читать дальше →

Роскачество представило рейтинг проводных и беспроводных наушников, доступных в России

Время на прочтение3 мин
Количество просмотров23K

Лидер рейтинга беспроводных наушников: Sony WH-1000XM2

Роскачество совместно с Международной ассамблеей организаций потребительских испытаний (ICRT) провели развернутое исследование разных моделей наушников из самых разных ценовых категорий. По итогам исследования составлен рейтинг лучших устройств, которые доступны для российских покупателей.

Всего специалисты изучили 93 пары проводных и 84 пары беспроводных наушников разных брендов (при этом профессиональные студийные модели не тестировались). Все модели проверялись по таким параметрам, как качество системы передачи звукового сигнала, прочность наушников, функциональность, качество звучания и удобство в использовании.
Читать дальше →

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

Время на прочтение10 мин
Количество просмотров25K
image

Сейчас все очень много говорят про искусственный интеллект и его применение во всех сферах работы компании. Однако есть некоторые области, где еще с давних времён главенствует один вид модели, так называемый «белый ящик» — логистическая регрессия. Одна из таких областей – банковский кредитный скоринг.
Читать дальше →

NewSQL = NoSQL+ACID

Время на прочтение15 мин
Количество просмотров35K

До недавнего времени в Одноклассниках около 50 ТБ данных, обрабатываемых в реальном времени, хранилось в SQL Server. Для такого объема обеспечить быстрый и надежный, да еще и устойчивый к отказу ЦОД доступ, используя SQL СУБД, практически невозможно. Обычно в таких случаях используют одно из NoSQL-хранилищ, но не всё можно перенести в NoSQL: некоторые сущности требуют гарантий ACID-транзакций.

Это подвело нас к использованию NewSQL-хранилища, то есть СУБД, предоставляющей отказоустойчивость, масштабируемость и быстродействие NoSQL-систем, но при этом сохраняющей привычные для классических систем ACID-гарантии. Работающих промышленных систем этого нового класса немного, поэтому мы реализовали такую систему сами и запустили ее в промышленную эксплуатацию.

Как это работает и что получилось — читай под катом.
Читать дальше →

В конфиге Aliens: Colonial Marines нашли опечатку, из-за которой четыре года глючил игровой ИИ

Время на прочтение3 мин
Количество просмотров72K


Вышедшую в 2013 году игру Aliens: Colonial Marines для персональных компьютеров не очень хорошо встретила публика. Игровые критики не могли понять, почему многообещающая игра, которая отлично смотрелась в предварительных версиях, превратилась в неюзабельный «плохо спроектированный, глючный кусок мусора» (цитата из одного обзора).

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

И только спустя четыре года стало понятно, в чём корень проблем. 1 ноября 2017 года один из разработчиков модов под ником jamesdickinson963 нашёл опечатку в конфигурационном файле .INI, после исправления которой игровой процесс улучшается кардинальным образом. Достаточно удалить лишнюю букву.
Читать дальше →

Как выбрать по-настоящему защищенный мессенджер и при чем здесь блокчейн

Время на прочтение4 мин
Количество просмотров16K


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

Tutu PHP Meetup #1: видео выступлений

Время на прочтение1 мин
Количество просмотров3.9K
image

5 апреля в офисе сервиса путешествий Туту.ру прошел первый PHP Meetup. В гости пришло более 120 backend-разработчиков. Мы записали все выступления и делимся ими с вами.

Вам действительно нужен Redux?

Время на прочтение9 мин
Количество просмотров55K

Не так давно React позиционировал себя как "V in MVC". После этого коммита маркетинговый текст изменился, но суть осталась той же: React отвечает за отображение, разработчик — за все остальное, то есть, говоря в терминах MVC, за Model и Controller.


Одним из решений для управления Model (состоянием) вашего приложения стал Redux. Его появление мотивировано возросшей сложностью frontend-приложений, с которой не способен справиться MVC.


Главный Технический Императив Разработки ПО — управление сложностью

Совершенный код

Redux предлагает управлять сложностью с помощью предсказуемых изменений состояния. Предсказуемость достигается за счет трех фундаментальных принципов:


  • состояние всего приложения хранится в одном месте
  • единственный способ изменить состояние — отправка Action'ов
  • все изменения происходят с помощью чистых функций

Смог ли Redux побороть возросшую сложность и было ли с чем бороться?

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

Spring: вопросы к собеседованию

Время на прочтение7 мин
Количество просмотров332K

image
Этот небольшой список вопросов даст вам понимание самых важных концепций Spring, а так же поможет подготовится к собеседованию

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

Вопросы для собеседования бэкенд-разработчика

Время на прочтение16 мин
Количество просмотров201K
Этот список появился как личная памятка по темам, которые я обсуждал с коллегами и друзьями и в которых хотел разобраться поглубже…

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

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

Функциональность отношений

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

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

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

Почему важно проверять, что вернула функция malloc

Время на прочтение13 мин
Количество просмотров36K
malloc

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

Примечание. В статье под функцией malloc часто будет подразумеваться, что речь идёт не только именно об этой функции, но и о calloc, realloc, _aligned_malloc, _recalloc, strdup и так далее. Не хочется загромождать текст статьи, постоянно повторяя названия всех этих функций. Общее у них то, что они могут вернуть нулевой указатель.
Читать дальше →

Моделирование событий и операций

Время на прочтение8 мин
Количество просмотров4.7K

Введение


Допустим, что мы наблюдаем процесс точения детали. Зададимся вопросом: кто точит деталь? Ответом может быть: Иванов, токарь, начальник цеха, друг Петрова. Мы можем сказать, что это один и тот же человек, но потом понимаем, что токарь – не человек, а роль, начальник цеха и друг – тоже. Так кто же точит деталь?

Пусть есть событие «яблоко поспело». До этого события яблоко было зеленым, после этого события яблоко стало красным. Вопрос: каким было яблоко в процессе совершения самого события?

В этой статье я отвечу на эти два вопроса с точки зрения проекционного моделирования.

Как я говорил, две проекции на время и на пространство дают представление о моделируемом пространственно-временном объеме. Существует три способа спроецировать 4-Д объем на время:

  1. в виде события (операции),
  2. конечного множества событий (операций) (сценарий),
  3. бесконечного множества событий (операций) (функция).

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

Информационная безопасность банковских безналичных платежей. Часть 1 — Экономические основы

Время на прочтение11 мин
Количество просмотров41K


О чем исследование
Ссылки на другие части исследования



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

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

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

Лекции Технотрека. Разработка под Android (осень 2017)

Время на прочтение2 мин
Количество просмотров28K


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


Курс ведут Юрий Береза, старший программист студии IT Territory, и Кирилл Филимонов, руководитель команды разработки BeepCar Android.

Окружение для разработки веб-приложений на TypeScript и React: от 'hello world' до современного SPA. Часть 1

Время на прочтение14 мин
Количество просмотров39K
Цель данной статьи — вместе с читателем написать окружение для разработки современных веб-приложений, последовательно добавляя и настраивая необходимые инструменты и библиотеки. По аналогии с многочисленными starter-kit / boilerplate репозиториями, но наш, собственный.

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

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

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

Мир, в котором IPv6 придуман хорошо

Время на прочтение19 мин
Количество просмотров35K
Перевод статьи Avery Pennarun, одного из сотрудников Google, о том, почему современный интернет такой, какой он есть, об истории и предпосылках создания IPv6, а также о том, как был бы устроен идеальный протокол IPv6, почему это не так и как можно к этому идеалу приблизиться.
Читать дальше →

Поиск и исправление багов в исходниках PHP

Время на прочтение6 мин
Количество просмотров17K


Честно предупреждаю: воспринимайте этот текст с определённой долей скептицизма. Я лишь недавно начал знакомство с внутренностями PHP, но хотел бы рассказать вам о том, что творится за кулисами бага #75237.

Быстрый пул для php+websocket без прослойки nodejs на основе lua+nginx

Время на прочтение5 мин
Количество просмотров16K
nginx + lua

Кратко: nginx не умеет пулить websockets, а php работает per request. Нужна прослойка которая будет держать открытыми вебсокеты и при поступлении данных соединяться с php (через тот же fastcgi) и отправлять обратно ответ.

update: Здесь не идётся про решения на php, так как по сравнению даже с nodejs, они гораздо медленнее.

Тема, как оказалось, не нова, исходники тянуться аж из 2014, но, тем не менее, информации о трюке, про который здесь пойдёт речь, крайне мало. Можете погуглить "websockets php". Усугубляется тема ещё тем, что найденные примеры реализации (два, точнее) не работают, включая тот, что в документации :)
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность