Как стать автором
Обновить
5
0
Дмитрий Павлов @Palich239

Software developer, scientist

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

Сон и продолжительность жизни. Пандемия недосыпа

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

О времена, о нравы.


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


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


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


Есть и те, кто относятся ко сну с пренебрежением: «Лягу сегодня попозже, часа в 3 ночи». Неважно, остались ли незаконченные дела у человека или он решил досмотреть сериал — так повторяется изо дня в день. А вставать, как всегда, по будильнику в 7:00. Кто-то даже гордится тем, как мало он спит. Подумаешь недосып?


Есть ли тут повод для гордости? Скорее наоборот.


Сегодня команда Lifext расскажет:



image

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

Работа по найму и свои проекты. По следам Nginx

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

Article logo


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

Читать дальше →
Всего голосов 51: ↑43 и ↓8+35
Комментарии76

[Обновлено в 10:52, 14.12.19] В офисе Nginx прошел обыск. Копейко: «Nginx был разработан Сысоевым самостоятельно»

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

Другие материалы по теме:


Eng version
Что значит наезд на Nginx и как это отразится на индустрииdeniskin
Open source — наше всё. Позиция Яндекса по ситуации с Nginxbobuk
Официальная позиция Программных комитетов Highload++ и других IT-конференций на претензии к Игорю Сысоевуolegbunin


По информации от одного из сотрудников, в московском офисе опенсорс-разработчиков Nginx проводят обыски в рамках уголовного дела, истцом по которому выступает Рамблер (ниже официальный ответ пресс-службы компании по этому вопросу и подтверждение наличия претензий к Nginx). В качестве доказательств приводится фото постановления о производстве обыска в рамках уголовного дела, возбужденного 4 декабря 2019 года по статье 146 УК РФ «Нарушение авторских и смежных прав».

Фото постановления о производстве обыска


Как предполагается, истцом выступает компания Рамблер, а ответчиком пока «неустановленная группа лиц», а в перспективе — основатель Nginx Игорь Сысоев.

Суть претензии: Игорь начал работу над Nginx, будучи сотрудником Рамблера, а только после того, как инструмент стал популярен, основал отдельную компанию и привлек инвестиции.

Почему Рамблер вспомнил о своей «собственности» только спустя 15 лет — неясно.
Всего голосов 797: ↑794 и ↓3+791
Комментарии1457

9 лучших опенсорс находок за ноябрь 2019

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

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


За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


В сегодняшнем выпуске.
Технологии внутри: Rust, TypeScript, JavaScript, Go, Python.
Тематика: веб разработка, инструменты для QA, работа с данными, инструменты разработчика и администратора.


Прошлый выпуск.

Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии19

Введение в Git

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

Оглавление


Предисловие
1. Настройка git
....1.1 Конфигурационные файлы
....1.2 Настройки по умолчанию
....1.3 Псевдонимы (aliases)
2. Основы git
....2.1 Создание репозитория
....2.2 Состояние файлов
....2.3 Работа с индексом
....2.4 Работа с коммитами
....2.5 Просмотр истории
....2.6 Работа с удалённым репозиторием
3. Ветвление в git
....3.1 Базовые операций
....3.2 Слияние веток
....3.3 Rerere
4. Указатели в git
....4.1 Перемещение указателей
5. Рекомендуемая литература

Предисловие


Git — самая популярная распределённая система контроля версиями.[1][2]

Основное предназначение Git – это сохранение снимков последовательно улучшающихся состояний вашего проекта (Pro git, 2019).
Читать дальше →
Всего голосов 40: ↑34 и ↓6+28
Комментарии27

Балансировка красно-чёрных деревьев — Три случая

Время на прочтение3 мин
Количество просмотров48K
Двоичные деревья поиска — эта структура данных для хранения элементов с возможностью быстрого поиска. Идея проста и гениальна: «меньше – налево, больше – направо». На этом простота заканчивается и начинаются сложные вопросы балансировки дерева, чтобы оно не превратилось в длинную ветку.




В этой статье мы дадим определение, перечислим правила размещения элементов в красно-чёрном дереве, рассмотрим алгоритм балансировки и закрепим сказанное на примере. Более подробно эту тему, а также другие виды двоичных деревьев поиска мы изучаем на курсе «Алгоритмы для разработчиков».


Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии29

9 лучших опенсорс находок за сентябрь 2019

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

Доброго Хактоберфеста, дамы и господа. Подготовил для вас подборку самых интересных находок из опенсорса за сентябрь 2019.


За полным списком новых полезных инструментов, статей и докладов можно обратиться в мой телеграм канал @OpensourceFindings (по ссылке зеркало, если не открывается оригинал).


В сегодняшнем выпуске.
Технологии внутри: Python, C, Rust, Ruby, JavaScript, Go.
Тематика: веб разработка, администрирование, инструменты разработчика.


Прошлый выпуск.

Читать дальше →
Всего голосов 115: ↑112 и ↓3+109
Комментарии19

Город без пробок

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

Глава вторая.
(ссылка на первую главу)

Искусство проектирования дорожных сетей


Транспортные проблемы города глазами человека из «Computer Science»


Если бы мне порекомендовали статью с названием «Искусство проектирования дорожных сетей», я бы тот час поинтересовался, как много дорожных сетей было построено с участием ее автора. Должен признаться, моя профессиональная деятельность лежала далеко от дорожного строительства и была последнее время связанна с проектированием микропроцессоров, где я, в том числе, занимался ресурсоемкостью коммутации данных. Так получилось, что мой стол тогда стоял как раз напротив панорамного окна, открывавшего прекрасный вид на длинный участок Волгоградского шоссе и части ТТК с их нескончаемыми пробками с утра до вечера, от горизонта до горизонта. И тут, в один из дней меня вдруг осенило:«Черт возьми, ведь сложности процесса коммутации данных, с которыми я борюсь на кристалле, точь в точь должны быть похожи на те трудности, с которыми сталкивается поток автомобилей внутри паутины уличных дорог».
Вероятно, именно взгляд со стороны и применение нетрадиционных для исследуемой области методов дали мне шанс разобраться в причине возникновения пробок и выработать рекомендации, как преодолеть их проблему на практике.
Читать дальше →
Всего голосов 72: ↑72 и ↓0+72
Комментарии143

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

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

Разочаровавшись в недостатках существовавших языков программирования, Гвидо Ван Россум создал язык Python. Сейчас этот язык используют миллионы людей, и Ник Хит беседует с ван Россумом о прошлом и будущем языка.



Гвидо Ван Россум в штаб-квартире Dropbox в 2014 году

В конце 1994 года группа избранных программистов с разных концов США собралась для обсуждения своего нового секретного оружия.

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

«Особенно мне запомнился один человек, сказавший: ’Не говорите никому, что я здесь, потому что то, что мы используем питон, является конкурентным преимуществом’. Это было их секретное оружие».
Читать дальше →
Всего голосов 48: ↑39 и ↓9+30
Комментарии109

Простой Telegram-бот на Python за 30 минут

Время на прочтение4 мин
Количество просмотров1.2M
На Хабре, да и не только, про ботов рассказано уже так много, что даже слишком. Но заинтересовавшись пару недель назад данной темой, найти нормальный материал у меня так и не вышло: все статьи были либо для совсем чайников и ограничивались отправкой сообщения в ответ на сообщение пользователя, либо были неактуальны. Это и подтолкнуло меня на написание статьи, которая бы объяснила такому же новичку, как я, как написать и запустить более-менее осмысленного бота (с возможностью расширения функциональности).

Читать дальше →
Всего голосов 35: ↑29 и ↓6+23
Комментарии22

C/C++ из Python (ctypes)

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

Про то как вызывать Python из C написал в прошлой статье, теперь поговорим как делать наоборот и вызывать C/C++ из Python3. Раз начал писать об этом, то раскроем всю тему до конца. Тем более, что ни чего сложного здесь нет тоже.

Читать дальше →
Всего голосов 27: ↑25 и ↓2+23
Комментарии44

Разработка надёжных Python-скриптов

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

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



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

Автор материала, перевод которого мы сегодня публикуем, собирается продемонстрировать подобное «превращение» на примере классической задачи «Fizz Buzz Test». Эта задача заключается в том, чтобы вывести список чисел от 1 до 100, заменив некоторые из них особыми строками. Так, если число кратно 3 — вместо него нужно вывести строку Fizz, если число кратно 5 — строку Buzz, а если соблюдаются оба этих условия — FizzBuzz.
Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии27

Подборка @pythonetc, июль 2019

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

Это двенадцатая подборка советов про Python и программирование из моего авторского канала @pythonetc.

Предыдущие подборки


Нельзя изменять переменные замыканий с помощью простого присваивания. Python расценивает присваивание как определение внутри тела функции и вообще не делает замыкание. 
Читать дальше →
Всего голосов 47: ↑46 и ↓1+45
Комментарии9

Cython: более чем 30-кратное ускорение Python-кода

Время на прочтение4 мин
Количество просмотров92K
Python — это язык, который любят многие программисты. Этим языком невероятно легко пользоваться. Всё дело в том, что код, написанный на Python, отличается интуитивной понятностью и хорошей читабельностью. Однако в разговорах о Python часто можно слышать одну и ту же жалобу на этот язык. Особенно тогда, когда о Python говорят знатоки языка C. Вот как она звучит: «Python — это медленно». И те, кто так говорят, не грешат против истины.

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



Есть несколько способов ускорения Python-программ. Например, можно применять библиотеки, рассчитанные на использование нескольких ядер процессора. Тем, кто работает с Numpy, Pandas или Scikit-Learn, можно посоветовать взглянуть на программный комплекс Rapids, позволяющий задействовать GPU при проведении научных расчётов.
Читать дальше →
Всего голосов 77: ↑60 и ↓17+43
Комментарии31

Принципы построения REST JSON API

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

Эта памятка писалась для внутренних нужд (открыть глаза менее опытным в вебе коллегам). Но, т.к. я насмотрелся велосипедов от довольно уважаемых, казалось бы, контор, — выкладываю на хабр. Мне кажется, многим будет полезно.


Зачем


Надеюсь, читающий уже понимает, зачем ему вообще нужен именно REST api, а не какой-нибудь монстр типа SOAP. Вопрос в том, зачем соблюдать какие-то стандарты и практики, если браузеры вроде бы позволяют делать что хочешь.


  • Стандарт HTTP это стандарт. Его несоблюдение вредно для кармы и ведёт к постоянным проблемам с безопасностью, кэшированием и прочими "закидонами" браузеров, которые совсем не закидоны, а просто следование стандарту.
  • Велосипеды со всякими {error: "message","result":...} невозможно нормально тестировать и отлаживать
  • Поддержка большим количеством готовых клиентских библиотек на все случаи жизни. Те, кто будет вашим api пользоваться, скажут большое человеческое спасибо.
  • Поддержка автоматизированного интеграционного тестирования. Когда сервер на любые запросы отдаёт 200 ОК — ну, это такое себе развлечение.
Читать дальше →
Всего голосов 71: ↑55 и ↓16+39
Комментарии207

Первый релиз открытого инструмента для тестирования поиска по продуктам

Время на прочтение2 мин
Количество просмотров2.2K
В нескольких недавних постах обсуждался многообещающий и достаточно простой способ оценки качества поиска по продуктам с использованием намерений. Спешим представить открытый автоматизированный инструмент для такого рода тестирования — Intent-based Search Quality. Идея сводится к использованию заранее подготовленных «фокусированных» запросов, ценность которых заключается в их прямолинейности и однозначной интерпретации.



Если вас заинтересовал подход, обязательно обратите внимание на пост “Я намереваюсь купить” или самый простой способ оценить качество продуктового поиска. Переход от стандартного A/B тестирования к тестированию с использованием намерений может показаться не совсем очевидным.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии5

«Анализ данных на Python» в двух частях

Время на прочтение5 мин
Количество просмотров57K
Курсы по анализу данных в CS центре читает Вадим Леонардович Аббакумов — кандидат физ.-мат. наук, он работает главным экспертом-аналитиком в компании Газпромнефть-Альтернативное топливо.

Лекции предназначены для двух категорий слушателей. Первая — начинающие аналитики, которым сложно начинать с изучения, например, книги The Elements of Statistical Learning. Курс подготовит их к дальнейшей работе. Вторая — опытные аналитики, не получившие систематического образования в области анализа данных. Они могут заполнить пробелы в знаниях. С прошлого года на занятиях используется язык программирования Python.

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

Приятного просмотра!
Всего голосов 22: ↑20 и ↓2+18
Комментарии0

Качество кода

Время на прочтение19 мин
Количество просмотров37K
Качество кода — тема, которая родилась вместе с программированием. Для оценки и контроля качества менеджмента предприятий применяется ISO 9000, для продуктов — ГОСТ и тот же ISO, а вот для оценки качества кода ГОСТа нет. Точного определения и стандарта для качества кода тоже нет.



Каждый разработчик понимает качество по-своему, исходя из опыта. Представления джунов и лидов различаются, и это приводит к разногласиям. Каждая команда для отдельных проектов оценивает код по-своему. Команда обновляется, разработчики уходят, тимлиды сменяются — определение качества меняется. Эту проблему попробует помочь решить Иван Ботанов (StressoID) из Tinkoff.ru — Frontend-developer, преподаватель онлайн-курса по Angular, спикер на митапах и конференциях, ведущий уроков на YouTube и, иногда, тренер команд в компаниях.

В расшифровке доклада Ивана на Frontend Conf поговорим о читаемости, нейминге, декларативности, Code style, и косвенно коснемся отношений джунов и лидов: ошибки, грабли и «сгорание» тимлидов.

Disclaimer: Подготовьтесь морально, в тексте будет много плохого кода, взятого с «особенного» сайта.

Всего голосов 54: ↑48 и ↓6+42
Комментарии40

Как защититься от брендовых троллей

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


Изображение взято из Викимедии, автор – Gil. Распространяется на условиях лицензии Creative Commons Attribution 2.0 Generic license


Привет, Хабр! Меня зовут Андрей, я юрист в сфере интеллектуальной собственности и IT-технологий.


Некоторое время назад на Хабре была опубликована история andrei_mankevich — автора мобильного приложения — реализации игры «Балда», которое было удалено по жалобе правообладателя соответствующего товарного знака. Судя по комментариям к этой истории, многим было интересно, можно ли как-то восстановить справедливость и наказать тролля.


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


На заметку: «патентные тролли» («patent troll») — это лица, осуществляющие покупку или регистрацию патента на изобретение, полезную модель или промышленный образец исключительно для того, чтобы требовать с других лиц вознаграждение за использование патента под угрозой предъявления судебного иска. Такие лица, как правило, не производят какой-либо полезный продукт на основании купленного патента.


В отношении лиц, осуществляющих аналогичную деятельность с товарными знаками и объектами авторских прав, используются, соответственно, термины «trademark troll» (можно перевести как «брендовый тролль») и «copyright troll» («копирайтный тролль», «копитролль»).
Далее я буду говорить о брендовых троллях — лицах, которые регистрируют или покупают товарные знаки, для того чтобы заработать на предъявлении претензий и судебных исков.

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

А каким IT-образование видите Вы?

Время на прочтение8 мин
Количество просмотров9.2K
Студенты и преподаватели – люди совсем не похожие друг на друга. Одним хочется насладиться жизнью, а вторые постоянно этому мешают. Они заставляют каждые полгода вновь садиться, перечитывать лекции, не спать по несколько дней и вкалывать кофе внутривенно.

Конечно люди разные, тут скорее говорится о стереотипах. Когда я был студентом никогда не думал, что стану преподавать, да и не думал, что пойду учиться в аспирантуру и вообще много чего не предполагал. Но и сидеть на рабочем месте по 8 часов в день, а затем приходить домой и продавливать диван – слишком скучно. Так ведь вся жизнь пройдет за просмотром очередного сезона «Игры престолов» или партией в «дотку».

Мой стаж как преподавателя скромный – всего 2 года. Но за эти 2 года появился интересный опыт, которым захотелось поделиться. Статья получилась длинная и нетерпеливые могут заглянуть в самый конец, где приведен сухой остаток, полученный в результате проб и ошибок.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии27

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность