Pull to refresh
10
0
Константин Федоров @SkyKos

User

Send message

Мы ускорили планировщик Tokio в десять раз

Reading time23 min
Views18K
Мы в поте лица готовим очередную мажорную версию Tokio, асинхронной среды выполнения для Rust. 13 октября для слияния в ветку оформлен пул-реквест с полностью переписанным планировщиком задач. Результатом станет огромное улучшение производительности и уменьшение задержки. В некоторых тестах зафиксировано десятикратное ускорение! Как обычно, синтетические тесты не отражают фактическую выгоду в реальности. Поэтому мы также проверили, как изменения в планировщике повлияли на настоящие задачи, такие как Hyper и Tonic (спойлер: результат замечательный).

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

Статья начинается с высокоуровневого обзора дизайна, в том числе политик захвата работы. Затем погрузимся в детали конкретных оптимизаций в новом планировщике Tokio.
Читать дальше →
Total votes 100: ↑99 and ↓1+98
Comments17

Заметки верстальщика: Полезные расширения Google Chrome в 2019 году

Reading time4 min
Views51K

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

Читать дальше →
Total votes 37: ↑34 and ↓3+31
Comments16

Дайджест интересных материалов из мира веб-разработки и IT за последнюю неделю №193 (3 — 10 января 2016)

Reading time7 min
Views31K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы, интересные материалы и IT-новости


Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments1

Каламбуры на css

Reading time1 min
Views44K
Хабровчане, всех с пятницей! Сейчас у подавляющего большинства читателей хабра рабочий день уже закончился, поэтому можно расслабиться и немного отвлечься от серьезных тем. Вы знали, что на css можно каламбурить? На кдпв один из примеров, а под катом небольшая простыня специфических css шуток.
Читать дальше →
Total votes 109: ↑90 and ↓19+71
Comments44

10 вещей, которых вы не знали о Java

Reading time8 min
Views105K
Итак, вы работаете на Java с самого её появления? Вы помните те дни, когда она называлась «Oak», когда про ООП говорили на каждом углу, когда сиплюсплюсники думали, что у Java нет шансов, а апплеты считались крутой штукой?

Держу пари, что вы не знали как минимум половину из того, что я собираюсь вам рассказать. Давайте откроем для себя несколько удивительных фактов о внутренних особенностях Java.
Читать дальше →
Total votes 93: ↑91 and ↓2+89
Comments55

Плакаты на IT тематику

Reading time1 min
Views29K
Почитывая «Банду четырех», всё чаще думаю как хорошо было бы иметь отдельный плакат на стену в офисе, резюмирующий и объясняющий шаблоны проектирования. Как здорово было бы не держать все их в голове, а имея проблему, взглянуть и найти подходящее решение. Но найти подходящий постер оказалось не так то просто, да и тот оказался не идеальным.
Читать дальше →
Total votes 69: ↑57 and ↓12+45
Comments38

Семейный бизнес в сфере IT. Мои три золотых правила

Reading time7 min
Views106K
image

Предисловие


Помните мою предыдущую статью? В ней я рассказала о том, как мы с мужем основали собственный бизнес. Точнее, муж основал, а я чуть позже к нему присоединилась.

То, чем мы тогда занимались, очень сложно назвать бизнесом. Это скорее была работа в паре. Мы никогда не договаривались: ты делаешь это, а я это. Разделение обязанностей сложилось само собой.

Вы спросите: «Кто же в вашей команде главный?». Скажем так, мы оба прекрасно понимаем, кто главный. Но вслух это не обсуждаем, потому как один из нас может обидеться, а вторая слишком много о себе возомнит…

Конечно я шучу. Все решения принимаются вместе. Я не буду врать, что мы всегда мыслим одинаково и никогда не расходимся во мнении. Однако, мы научились слушать и понимать друг друга. Научились договариваться. Я думаю, это важно для любых бизнес-партнеров, независимо от того, являетесь вы семьей или нет.
Читать дальше →
Total votes 168: ↑162 and ↓6+156
Comments65

Я хочу работать в Google! Телефонное интервью (часть 1)

Reading time4 min
Views31K
Привет Хабр! Давно не писал. Да это и понятно. Защита диссертации, получение PhD, а сейчас ещё и активный поиск работы — всё это занимает очень много драгоценного времени. Но разговор сегодня пойдёт не о том. Хотелось бы поделиться с Вами, уважаемые хабралюди, ресурсами и описанием процесса подготовки к телефонному техническому интервью с Гуглом, первый технический этап которого я уже прошёл, и теперь готовлюсь ко второму, который будет в пятницу.
Читать дальше →
Total votes 207: ↑182 and ↓25+157
Comments99

Практическая биоинформатика ч.3. Оценка значимости экспериментальных данных

Reading time9 min
Views6.3K
    На каждом этапе эксперимента, начиная от подготовки материала, продолжая проведением PCR и заканчивая секвенированием, происходит накопление ошибки. Нам нужен механизм оценки значимости результата. Какова вероятность, что риды, оказавшиеся на некотором участке генома, оказались там неслучайно? Подход, представленный в этой статье, применим для данных, полученных с помощью DNA-seq, и рассказывает о возможности применения распределения Пуассона для оценки значимости.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments11

[Перевод] Amazon работает над ошибками

Reading time3 min
Views2.7K
Группа исследователей провели практическую атаку на крупнейшие сайты интернет-торговли, которые используют внешние системы приема платежей, для получения товаров бесплатно или по ими установленной цене.

«Дыра» в безопасности при обработке онлайн-платежей позволила им приобрести электронику, DVD, электронную подписку на периодику, средства гигиены и другие продукты по ценам, которые они сами себе установили. Исследователи проинформировали соответствующие магазины о найденной бреши в безопасности и помогли её исправить. (Источник: Университет Индианы, Indiana University)
Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments13

Визитка — прямой канал коммуникации

Reading time1 min
Views17K

А у вас есть визитка?



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

Креативные визитки

Программист
image

image
Читать дальше →
Total votes 240: ↑202 and ↓38+164
Comments233

Что такое западное MBA и с чем его едят (1 год в одном посте)

Reading time6 min
Views3K
Прошло уже 3 месяца как я закончил MBA, пыль улеглась, теперь настало время сделать некоторые выводы. Надеюсь данный пост будет полезен тем, кто хочет получить западное MBA, сомневается или решительно не желает этого делать.

Я учился в Warwick Business School в Англии. Warwick MBA является рейтинговой программой, занимая 42ое место согласно рейтингу Financial Times и 34ое место согласно рейтингу Which MBA (The economist). Я учился на дневной форме обучения (full time) в течение одного года с сентября 2009 года по сентябрь 2010 года.


Один из корпусов бизнес школы

Нагрузка

Учебная нагрузка была очень серьезная. Занятия проходили 5 дней в неделю с 9 утра до 6 вечера с перерывами на обед и кофе брейки плюс групповая работа после лекций. Нужно было участвовать минимум в 3 разных группах разного размера (5-9 человек) по различным предметам. Первые 2 семестра я не находил времени ни на что, ни на социальные евенты, ни на общественную деятельность. Для сравнения на моем предыдущем обучении на Магистратуре (MSc IT) тоже в Англии, я посещал всего 1-2 лекции в день, а остальное время было выделено на самостоятельную работу. У меня было достаточно свободного времени. Но на MBA понятия свободное время не существует.
Читать дальше →
Total votes 17: ↑16 and ↓1+15
Comments9

Ускорение загрузки Windows for fun and profit

Reading time4 min
Views806K
image Пожалуй, начну с того, что если перегружаться 15 раз в год, то любой «тюнинг» процесса загрузки отнимает больше времени, чем будет выиграно на перезагрузках за все время жизни системы. Однако, спортивный интерес берет свое, тем более, что люди интересуется процессом оптимизации быстродействия. А загрузка оказалась самым очевидным кандидатом в примеры того, как на мой взгляд должен выглядеть этот самый процесс. Сразу скажу, что грузиться будем с 5400 rpm винта, грузиться будем в «рабочую» систему: помимо недобитой вендорской крапвари там стоит еще куча всякого типа вижуал студии, антивируса, скайпа, стима, гуглапдейтера и пр…

Про то, почему отключение pagefile-а скорее вредно, чем полезно — как нибудь в другой раз, а пока…
Под катом много однообразных картинок и немножко унылого текста
Total votes 533: ↑517 and ↓16+501
Comments365

SSD и HDD в теле одного MacBook Pro

Reading time4 min
Views163K
Приветствую, уважаемые хабражители.

Мой опыт, которым я хочу с вами поделиться, должен оказаться полезным для всех пользователей ноутбуков, хотя мой частный пример — MacBook Pro.

После покупки сего агрегата, с порядковым номером в линейке: 6.1, я ожидал невиданных ранее скоростей, но, увы, предательская каруселька перегрузки, на месте курсора > image появлялась достаточно часто, заставляла себя ждать, мучила вопросом «как так?!» при этом скорость загрузки тотально укомплектованной операционной системы составляла примерно 2+ минуты, с загрузкой 5-и приложений (различной тяжести) на автозапуске.

Такие показатели + периодические подвисания оказались досадным и обидным заключением, ведь под капотом процессор i7 / 4Gb DDR3 / 5 Series Chipset с возможной скоростью обмена данными в 3 гигабита.

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

Добро пожаловать под хабракат, там сказ о эффективном разгоне моего инструмента.
Total votes 113: ↑94 and ↓19+75
Comments185

Оптимизация Windows для использования SSD на лаптопе

Reading time8 min
Views101K
Опубликовал сначала в своем блоге как ответ на вот этот топик. Спасибо доброму хабравчанину borisko, подарившему возможность перенести сюда.

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


С тех пор как приобрел IBM Lenovo ThinkPad X61s (это такой маленький и удобненький лаптопик с диагональю 12 дюймов), всегда хотел его использовать в автобусе, пока еду на работу — ну и на обратном пути тоже. Однако в автобусе так трясет, что за жесткий диск становится просто страшно — его там покрошит в мелкий порошок. В связи с чем был приобретен Solid State Disk (примерно то же, что и обычная флашка, только по взрослому) фирмы OCZ, который (на тот момент) стоил безумно дешево и давал возможность попробовать все прелести SSD на собственном опыте. Был приобретен экземпляр OCZ Solid Series OCZSSD2-1SLD30G 2.5" 30GB SATA II MLC Internal Solid state disk (SSD) за фантастические по тем временам 220 долларов (все остальное начиналось с 400) и торжественно воткнут в вышеупомянутый лаптоп. Поскольку диск этот был одним из первых, так называемого первого поколения, то производительность на нем до сих пор оставляет желать лучшего. Но кое-что для улучшения как скорости работы, так и продления жизни диска, можно было сделать.


Читать дальше →
Total votes 41: ↑27 and ↓14+13
Comments99

Альтернативные аллокаторы памяти

Reading time13 min
Views91K
Написал Стивен Тови в 2:29 утра по программированию (шутка юмора Google Translate)
Вступление от себя: эта заметка, прорекламированная Алёной C++, предназначена в основном разработчикам игр для консолей, но будет, наверное, полезна и всем, кому приходится сталкиваться с экстремальным аллоцированием динамической памяти. Возможно, любители посравнивать управление памятью в C++ и Java тоже найдут над чем задуматься.

Оригинал с небезынтересной дискуссией в комментариях: altdevblogaday.org/2011/02/12/alternatives-to-malloc-and-new


Обязательная вступительная басня

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

Сейчас объясню, почему...
Total votes 75: ↑72 and ↓3+69
Comments59

HTML-формы. Взгляд бэкенд-разработчика

Reading time12 min
Views48K
При подготовке материала по Symfony Form я решил уделить некоторое внимание теоретической части по работе с формами со стороны клиента – что они из себя представляют, как ведут себя браузеры при отправке, в каком формате путешествуют, в каком виде поступают на сервер.

Вводная часть несколько растянулась и в итоге вылилась в отдельную небольшую статью, которая, по моему мнению, может быть интересна и другим бэкенд-разработчикам (не только PHP или Symfony).
Читать дальше →
Total votes 26: ↑10 and ↓16-6
Comments15

Как мы искали инвестора, «с нуля» создавали компанию по разработке мобильных приложений в Питере и… какие ошибки сделали

Reading time38 min
Views64K


Это первая наша статья на Хабре (и, надеюсь, не последняя) и хочется максимально честно и открыто рассказать про наш опыт запуска бизнеса в Питере по разработке мобильных приложений «с нуля», какие ошибки мы совершали, какие продолжаем совершать (ну куда же без этого) и про то, как мы пытаемся построить что-то действительно масштабное и «изменить этот мир» — а именно наш проект мобильного товарного агрегатора tapki (название смешное конечно, родилось как производное от английского слова «tap»). Оглядываясь на статью, после ее написания, вижу, что получилось не мало текста (около 18-ти страниц в word’е), но надеюсь, что сказанное будет полезно. Коллеги советовали разбить документ на части, но как мне кажется, цельное повествование, затрагивающее период чуть больше года, позволит дать более полную картину развития компании. В статье читатель найдет экономику (управленческий баланс), который «тянется» с самого начала, с разбивкой по статьям затрат. Мы ничего не добавляли-убавляли и все цифры приводим «как есть».

Я расскажу про запуск бизнеса с самого начала: поиск помещений, поиск инвестиций, про основную (изначальную) идею бизнеса и как она менялась в течении года, про удачи и неудачи. Поскольку мы зарегистрировали юр.лицо в июне 2013 года (а точнее 29 мая), нам, можно считать, исполняется 1 год «с хвостиком» и какие-то нюансы уже не вспомнить, но основные вехи с фотографиями — сохранились. Важно — если где-то в тексте я делаю для себя (и читателей) вывод или даю совет (прямо или косвенно) — прошу расценивать его исключительно как мое личное мнение, которое с вероятностью 50% может быть в корне не верным. И еще — некоторые моменты я не могу вспомнить в деталях, поэтому могут встречаться небольшие неточности в части объяснения тех или иных цифр — это не попытка утаить информацию, а просто элементарная забывчивость, т.к. дневник я не вел (к сожалению — исправляюсь) и пишу по памяти.
Читать дальше →
Total votes 58: ↑47 and ↓11+36
Comments37

10 самых распространённых ошибок при программировании на JavaScript

Reading time10 min
Views156K


Сегодня JavaScript лежит в основе большинства современных веб-приложений. При этом за последние годы появилось большое количество JavaScript-библиотек и фреймворков для разработчиков Single Page Application (SPA), графики, анимации и даже серверных платформ. Для веб-разработки JavaScript используется повсеместно, и поэтому качество кода обретает всё большее значение.

На первый взгляд, этот язык может показаться довольно простым. Встраивание в веб-страницу базового функционала JavaScript — это не проблема для любого опытного разработчика, даже если он ранее не сталкивался с этим языком. Однако это обманчивое впечатление, поскольку JavaScript гораздо сложнее, мощнее и чувствительнее к нюансам, чем кажется поначалу. Немало тонкостей в этом языке приводит к большому количеству распространённых ошибок. Сегодня мы рассмотрим некоторые из них. На эти ошибки нужно обратить особое внимание, если вы хотите отлично программировать на JavaScript.
Читать дальше →
Total votes 205: ↑176 and ↓29+147
Comments127

Information

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