Pull to refresh
16
Karma
0
Rating
Ефремов Семён @esemi

разработчик

Экстремальная настройка производительности HTTP: 1,2M API RPS на инстансе EC2 с 4 виртуальными процессорами (vCPU)

Флант corporate blog High performance *Configuring Linux *System administration *Network technologies *
Translation

Прим. перев.: автор данного исследования — Marc Richards, Solutions Architect и DevOps-инженер — продемонстрировал потрясающую настойчивость и тщательность в тотальной оптимизации производительности веб-приложения. Получившийся материал — кладезь полезных знаний для расширения своего кругозора в области оптимизации, особенностей сетевого стека в Linux и не только, даже вне зависимости от практической заинтересованности в конечном результате автора. Приготовьтесь к по-настоящему длинному техническому путешествию с обилием терминологии, увлекательных графиков и полезных ссылок.

Читать далее
Total votes 75: ↑75 and ↓0 +75
Views 13K
Comments 7

[Пятничное] Теория Жоп

Project management *IT career
Sandbox

Эту полу-шуточную теорию о проектном управлении я излагал коллегам по ИТ цеху лет 15 назад, и тогда же неоднократно слышал советы загрузить этот текст на Хабр, но руки не дошли. На днях, разгребая старые файлы наткнулся на свои записи и решил все таки поделиться ими с Вами. Частое употребление ключевого слова к сожалению, неизбежно и не отделимо для целостности этого текста, прошу принимать или нет 'as is'. Итак...

Каждая карьера развивается от Жопы к Жопе, и никак иначе. Хочешь повышения - ищи Жопу и принимай, как говорят в Америке, "challenge". Если Вам предлагают возглавить новый проект, либо занять какую то должность, да что угодно - знайте, там Вас ждет Жопа. Иначе не предложили бы, а сами бы справились. Равно как и если Вы ожидаете избавиться от надоевшей Вам сейчас деятельности, надеясь вырваться из "этого ада" и заняться "чем то новеньким" - будьте готовы встретиться с Большой Жопой.

Читать далее
Total votes 496: ↑485 and ↓11 +474
Views 156K
Comments 93

Что делать, если украли смартфон

Information Security *Smartphones Popular science Lifehacks for geeks
image


Евгений (MalDeckard) Черешнев поделился личным опытом и написал исчерпывающий гайд, который может помочь многим людям и предостеречь от последствий:

У меня на днях украли смартфон — профессиональный вор-велосипедист на скорости выхватил из рук прямо в центре города и был таков. Это может случиться с кем угодно и в любой стране мира. Я, в силу профессиональной деформации вокруг IT, данных, приватности и безопасности, к ситуации был морально готов и знал, что делать. Друзья, с которым поделился историей посоветовали написать памятку, которую может использовать каждый человек, даже далекий от айти. Этот текст — эта самая памятка. Смартфон она вам не вернет. Но, если кому-то поможет снизить ущерб и сэкономит седых волос — значит, не зря потратил время на написание, а вы — на прочтение.

Справедливости ради, большинство воров уже в курсе того, что каждый смартфон — это, по сути, радиомаяк, по которому всегда можно укравшего отследить. Поэтому они редко оставляют его включенным — практически сразу достают и выбрасывают SIM-карту, сам телефон вырубают и сдают на запчасти за копейки. Что крайне обидно — ибо шансы того, что, например, мой iPhone 12 Pro Max 512 банально разберут на экран, аккумулятор и несколько особо востребованных микросхем — стремятся к 100%. То есть, вор украл крайне дорогой девайс, а получит за него или хрен или (если он идиот) — срок. Но это не всегда так. Иногда можно получить реально грузовичок и тележку проблем. Во-первых, в ряде типов краж (как в моем случае) телефон попадает в руки плохого парня в разлоченном состоянии и есть риск, что злоумышленник девайс специально не залочит — будет держать его активированным и извлекать из него максимальную пользу, на что у него будет в теории до 24ч (после чего сработает система защиты в заводских настройках и снова попросит ввести пин-код, даже, если телефон до сих пор разлочен).
Читать дальше →
Total votes 167: ↑157 and ↓10 +147
Views 164K
Comments 484

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

Хабр Карьера corporate blog IT career Finance in IT

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

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

Читать далее
Total votes 31: ↑31 and ↓0 +31
Views 17K
Comments 27

Почему функциональное программирование такое сложное

Perfect code *Scala *Functional Programming *
Tutorial

Я несколько раз начинал читать статьи из серии «Введение в функциональное программирование», «Введение в Теорию Категорий» и даже «Введение в Лямбда Исчисление». Причем и на русском, и на английском. Каждый раз впечатление было очень сходным: во-первых, много новых непонятных слов; во-вторых, много новых определений, которые возникают из ниоткуда; в-третьих, совершенно непонятно, как это использовать.


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


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

Читать дальше →
Total votes 176: ↑157 and ↓19 +138
Views 86K
Comments 714

Обширный обзор собеседований по Python. Советы и подсказки

Website development *Python *Programming *
Sandbox

Всем привет!


Кратко о себе. По образованию я математик, а вот по профессии — программист. В сфере разработки с 2006 года. Хотя, поскольку программирование начали изучать ещё в школе, свои первые программки и игры я начал писать ещё в школе (примерно, с 2003). Так сложилось, что пришлось выучить и поработать на нескольких языках. Если не брать во внимание ВУЗ-овские лекции по С, С++, Бэйсику, Паскалю и Фортрану, то реально я работал с Delphi (более 6 лет), PHP (более 5 лет), Embedded (Atmel + PIC около 2.5 лет) и последним временем Python + чуть-чуть Scala. Конечно же без баз данных тоже никак не обойтись.


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

Читать дальше →
Total votes 71: ↑70 and ↓1 +69
Views 160K
Comments 57

Как я год не работал в Сбербанке

Information Security *IT career IT-companies
Sandbox
Доброго времени суток, хабровчане!

Про эту компанию знают все. Кто-то в ней даже работал или продолжает работать. Я думаю, сложно найти в РФ, да и на территории СНГ, человека который не слышал о холдинге Сбербанка. Именно холдинг, так как очень много компаний которые обслуживают Сбербанк и контролируются им же. Так вот я поработал в двух таких компаниях за один год — это Сбербанк-Технологии (далее СБТ) и Сбербанк.
Читать дальше →
Total votes 471: ↑457 and ↓14 +443
Views 427K
Comments 602

Tornado vs Aiohttp: путешествие в дебри асинхронных фреймворков

Авито corporate blog High performance *Website development *Python *Microservices *
Привет! Я Дима, и я довольно давно и плотно сижу на Python. Сегодня хочу показать вам отличия двух асинхронных фреймворков — Tornado и Aiohttp. Расскажу историю выбора между фреймворками в нашем проекте, чем отличаются корутины в Tornado и в AsyncIO, покажу бенчмарки и дам немного полезных советов, как забраться в дебри фреймворков и успешно оттуда выбраться.


Читать дальше →
Total votes 58: ↑57 and ↓1 +56
Views 23K
Comments 16

Как работает Headless Chrome

Конференции Олега Бунина (Онтико) corporate blog Website development *JavaScript *Node.JS *
Уже из названия понятно, что headless-браузер — это нечто без головы. В контексте фронтенда — это незаменимый инструмент разработчика, с помощью которого можно тестировать код, проверять качество и соответствие верстке. Виталий Слободин на Frontend Conf решил, что необходимо познакомиться с устройством этого инструмента поближе.

Под катом компоненты и особенности работы Headless Chrome, интересные сценарии использования Headless Chrome. Вторая часть про Puppeteer — удобную Node.js-библиотеку для управления Headless-режимом в Google Chrome и Chromium.


О спикере: Виталий Слободин — бывший разработчик PhantomJS — тот, кто закрыл его и похоронил. Иногда помогает Константину Токареву ( annulen) в «воскрешенной» версии QtWebKit — том самом QtWebKit, где есть поддержка ES6, Flexbox и многие других современных стандартов.

Виталий любит исследовать браузеры, в свободное время копаться в WebKit, Chrome и прочее, прочее. Про браузеры сегодня и поговорим, а именно про безголовые браузеры и всю их семейку призраков.
Total votes 42: ↑42 and ↓0 +42
Views 76K
Comments 14

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

Game development *Game design *Artificial Intelligence
Translation
image

Введение


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

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

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


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

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

Завещание Баффета или о чём молчат финконсультанты

Python *Statistics in IT Finance in IT
У. Баффет завещал жене после своей смерти вложить все средства  в биржевой фонд ETF на S&P 500 (VOO) и жить в своё удовольствие. Однако книги, интернет и финконсультанты призывают нас составлять диверсифицированные портфели с обязательным включением в них облигаций. К слову, о диверсификации Баффет тоже отзывается не лестно и призывает все яйца хранить в одной корзине, просто внимательно за ней присматривать.

В данной статье мы попробуем разобраться, стоит ли верить оракулу из Омахи или прислушаться к финансовым консультантам. А поможет нам в этом Python и Quantopian.
Читать дальше →
Total votes 44: ↑41 and ↓3 +38
Views 62K
Comments 136

Курс о Deep Learning на пальцах

Image processing *Machine learning *Robotics Artificial Intelligence
Я все еще не до конца понял, как так получилось, но в прошлом году я слово за слово подписался прочитать курс по Deep Learning и вот, на удивление, прочитал. Обещал — выкладываю!

Курс не претендует на полноту, скорее это способ поиграться руками с основными областями, где deep learning устоялся как практический инструмент, и получить достаточную базу, чтобы свободно читать и понимать современные статьи.

Материалы курса были опробованы на студентах кафедры АФТИ Новосибирского Государственного Университета, поэтому есть шанс, что по ним действительно можно чему-то научиться.


Читать дальше →
Total votes 117: ↑117 and ↓0 +117
Views 165K
Comments 31

Визуализация данных для киноманов: скрапим рекомендации фильмов и делаем интерактивный граф

Open Data Science corporate blog Python *Data Mining *Data visualization Machine learning *
Tutorial

Однажды я наткнулся на интерактивную карту lastfm и решил обязательно сделать подобный проект для фильмов. Под катом история о том, как собрать данные, построить граф и создать своё интерактивное демо на примере данных с кинопоиска и imdb. Мы рассмотрим фреймворк для скрапинга Scrapy, пробежимся по методам визуализации больших графов и разберёмся с инструментами для интерактивного отображения больших графов в браузере.

Читать дальше →
Total votes 67: ↑65 and ↓2 +63
Views 27K
Comments 18

Поверхностно об основах рыночной архитектуры и алготрейдинге

Algorithms *
Sandbox
Tutorial
Многие знают, что одно из первых, что говорят в техническом ВУЗе — забыть все, что проходили в школе. Данная рекомендация актуальна и здесь. Полезно иногда с чистого листа начать.

На данный момент все рынки автоматизированы. По этой причине какие-то экономические объяснения ценообразования являются некими рудиментами. Рулят алгоритмы + некое ручное вмешательство.

Задача каждого торгового алгоритма всегда одна и та же — принести денег владельцу. Алгоритм тем лучше, чем больше денег он в состоянии принести.
Читать дальше →
Total votes 83: ↑72 and ↓11 +61
Views 99K
Comments 74

Хабра-граф, -сообщества и куда же делась вся карма

Data Mining *Big Data *Mathematics *Data visualization

Вступление


Cегодня мы вместе с анализом графов, data mining, subgroup discovery и всеми веселыми штуками взглянем на Хабр. Весь код и данные прилагаются — каждый может взглянуть на них самостоятельно, легко повторить рассчеты из статьи и найти что-то интересное самостоятельно.




(это не просто картинка для привлечения внимания, а — граф связей ~45000 пользователей Хабра по тому, кто на кого подписан; размер вершины пропорционален числу подписчиков; все картинки кликабельны; подробности далее)



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

Тут проблема в том, что на всем хабре за сегодня не насчитать больше 50-80 человек, которые вообще могут голосовать. У 90% пользователей карма просто ниже 5. Как итог оценивают комментарии и статьи только избранные. Это как жюри выходит такое.

И решил, что стоить его сформулировать в виде гипотезы и проверить:

Q1: Правда ли, что Хабр превратился в жюри-based сообщество, где два с половиной человека голосуют за статьи?

Вот в этой статье к нам вернулись "железные" Хабы и стало интересно, а как вообще представлены разные сообщества внутри Хабра? Формулируем в виде гипотезы:

Q2: Как сегментировано сообщество, или проще говоря сколько у нас здесь групп по интересам и соотвествуют ли они имеющимся хабам?

Последнее, но не менее интересное наблюдение, что активность на Хабре упала (по данным Хабра-пульса и моим субъективным наблюдениям), что даже решили ввести аккаунты "read & comment". Поэтому решил оценить активность сообщества и продумать, как информация о структуре сообщества может нам помочь:
Q3: Насколько активно сообщество и как нам может помочь структура внутренних групп?


За подробностями добро пожаловать под кат.

Структура статьи

Читать дальше →
Total votes 164: ↑162 and ↓2 +160
Views 28K
Comments 238

Кластеризация графов и поиск сообществ. Часть 2: k-medoids и модификации

DCA (Data-Centric Alliance) corporate blog Data Mining *Algorithms *Machine learning *
image Привет, Хабр! В этой части мы опишем вам алгоритм, с помощью которого были получены цвета на графах из первой части. В основе алгоритма лежит k-medoids — довольно простой и прозрачный метод. Он представляет собой вариант популярного k-means, про который наверняка большинство из вас уже имеет представление.

В отличие от k-means, в k-medoids в качестве центроидов может выступать не любая точка, а только какие-то из имеющихся наблюдений. Так как в графе между вершинами расстояние определить можно, k-medoids годится для кластеризации графа. Главная проблема этого метода — необходимость явного задания числа кластеров, то есть это не выделение сообществ (сommunity detection), а оптимальное разбиение на заданное количество частей (graph partitioning).

С этим можно бороться двумя путями:
Читать дальше →
Total votes 29: ↑27 and ↓2 +25
Views 22K
Comments 4

Сторонние проекты разработчика

Legislation in IT IT career Patenting *
Translation
Об авторе. Джоэл Спольски — сооснователь Trello и Fog Creek Software, исполнительный директор Stack Overflow.

Почти 100% разработчиков, трудящихся по найму, в конце концов подписывают в какой-то форме «соглашение о праве собственности на изобретения», но почти все они неправильно понимают его суть. Большинство думают, что сделанное на работе принадлежит работодателю, а сделанное дома или в свободное от работы время принадлежит им. Это достаточно опасное заблуждение.

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

Сразу оговорюсь: будьте осторожны, слушая юридические советы из интернета. Я вижу достаточно много неправильной информации, которая может принести вам проблемы. Читатели за пределами США также должны понимать, что законы и юридическая практика в их стране могут кардинально отличаться.
Читать дальше →
Total votes 57: ↑56 and ↓1 +55
Views 24K
Comments 19

Хочется плакать от российских сайтов недвижимости

Website development *Usability *Design
Несколько лет назад уехал из России, а родители остались в Питере. Сейчас перед ними встал квартирный вопрос, меняются. Взялся им помочь, полез на сайты по недвижимости, офигел. Офигел от цен, это само собой. Но еще офигел от самих сайтов. После 2005 время на них будто застыло.

Целей у моей писанины две: открыть для себя нормальный сайт по питерской недвижимости — вдруг такой есть. Это главное. И вторая цель — иногда сидишь на жопе, и вроде все ок… до тех пор, пока со стороны не ткнут носом в твое «дело». Так вот, товарищи, которые занимаются bn, bkn, bsn, eip, emls, itakа, — эти вот «интернет проекты» — это не нормально, это даже не позавчера.

Вот как надо. Хотя бы.
Total votes 131: ↑109 and ↓22 +87
Views 22K
Comments 119

Прогнозирование финансовых временных рядов

Artificial Intelligence
Sandbox
Введение

Всем привет, раз на хабре пошел цикл статей про нейронные сети, то и я напишу про возможность использования нейронных сетей в задаче прогнозирования финансовых временных рядов.
Существует несколько различных теорий о возможности прогнозирования фондовых рынков. Одна из них — гипотеза эффективного рынка, согласно ей, в цене акции уже учтена вся имеющиеся информация и делать прогнозы бессмысленно. Продолжением этой гипотезы можно назвать теорию случайных блужданий.
В теории случайных блужданий информация подразделяется на две категории — предсказуемую, известную и новую, неожиданную. Если предсказуемая, а тем более уже известная информация уже заложена в рыночные цены, то новая неожиданная информация в цене пока еще не присутствует. Одним из свойств непредсказуемой информации является ее случайность и, соответственно, случайность последующего изменения цены. Гипотеза эффективного рынка объясняет изменение цен поступлениями новой неожиданной информации, а теория случайных блужданий дополняет это мнением о случайности изменения цен.
Читать дальше →
Total votes 38: ↑32 and ↓6 +26
Views 50K
Comments 49

Государь: алгоритм

Lumber room
«Государь» Макиавелли — одно из моих самых любимых произведений. Являясь руководством непосредственно правителю, я считаю, эту книгу обязан прочесть каждый начальник/директор. И хотя она уже устарела, думаю было бы весьма полезно держать ее советы у себя в голове.

Но бывает тяжеловато. Не только из-за объема информации, но еще и потому, что в зависимости от ситуации Макиавелли дает разные советы.

«Было бы неплохо структурировать», — подумал я.

Результатом мысли стал алгоритм принятия решения, представленный в картинке ниже и созданный исключительно по «Государю». Остальные советы, которые не определены ни под одну ситуацию и которые должны выполняться в любом случае, поданы ниже списком. Уверен, каждый сам сможет экстраполировать рекомендации правителю на должность руководителя.

Под катом картинка 1920x1573 px
Total votes 61: ↑54 and ↓7 +47
Views 1.8K
Comments 14

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Works in
Registered
Activity