Pull to refresh
-1
0
Иван @Fanatos

User

Send message

Scheduling: мифы и реальность. Опыт Яндекса

Reading time10 min
Views49K
В последние пару лет я занимаюсь построением различных планировщиков, и мне пришло в голову поделиться своим нелёгким опытом с коллегами. Речь идёт о двух категориях коллег. Первые — это желающие узнать, как разработать свой scheduler за 21 день. Вторые — те, кому нужен новый scheduler совсем без смс и регистрации, просто чтобы работал. Особенно хотелось бы помочь второй категории людей.

Сундуков А.А. Очередь. 1986. Холст, масло

Сначала, как водится, стоит сказать несколько общих слов. Что такое scheduler (планировщик, или, для простоты, «шедулер»)? Это такая компонента системы, которая занимается распределением ресурса или ресурсов системы по потребителям. Разделение ресурса может происходить в двух измерениях: в пространстве и времени. Планировщики чаще всего фокусируются на втором измерении. Обычно под ресурсом подразумевают процессор, диск, память и сеть. Но, что греха таить, шедулить можно и любую виртуальную ерунду. Конец общих слов.
Читать дальше →
Total votes 86: ↑82 and ↓4+78
Comments8

Как я перешёл из системного администрирования в Android-разработку

Reading time8 min
Views73K


Несколько лет назад, я, как и другие начинающие Android-разработчики, решил найти работу в этой области. Если вы начинающий специалист, и не знаете, с чего начать изучение Android, или если вы уже обладаете определёнными знаниями в этой теме и планируете в скором времени устраиваться на работу, то этот материал для вас. По задумке, к данной статье вы будете возвращаться по мере накопления опыта: смотреть на каком этапе в данный момент находитесь и что изучать дальше.
Читать дальше →
Total votes 44: ↑39 and ↓5+34
Comments42

Стандарты и шаблоны для ТЗ на разработку ПО

Reading time7 min
Views793K

Введение


Недавно ко мне обратились, чтобы я посоветовал стандарты для написания технического задания (ТЗ) на разработку автоматизированных систем (АС) и программного обеспечения (ПО). Вот думаю, сейчас зайду в Яндекс, найду подходящую статейку и отправлю её. Но не тут-то было! Одной статьи, где перечисляются стандарты для ТЗ, включая шаблоны и примеры готовых документов, я не нашел. Придется сделать такую статейку самому…

И так, основные стандарты, методологии и своды знаний, где упоминается ТЗ или SRS (Software (or System) Requirements Specification):

• ГОСТ 34
• ГОСТ 19
• IEEE STD 830-1998
• ISO/IEC/ IEEE 29148-2011
• RUP
• SWEBOK, BABOK и пр.
Читать дальше →
Total votes 36: ↑34 and ↓2+32
Comments22

Книга «Философия DevOps. Искусство управления IT»

Reading time6 min
Views24K
image Привет, Хаброжители! Наконец-то у нас вышла книга Дженнифер Дэвис и Кэтрин Дэниелс — Философия DevOps.

IT-принцип «agile» стал мантрой цифровой эпохи. С ростом проектов, переходом от монолитных приложений к системе микросервисов, увеличением и накоплением продуктов возникают вопросы, которые требуют совершенно иного подхода. Теперь наибольший интерес вызывает находящаяся на стыке разработки и операционного управления методология DevOps.

DevOps — это не просто набор техник, это философия. Разработчики, зацикленные на пользователях, должны уделять внимание поддержке и ее запросам. Сисадмины должны сообщать о проблемах продукта и вносить свой вклад в улучшение процесса работы. Но налаживание связей внутри компании — это лишь первый шаг. Чтобы продукт стал простым и удобным, придется вложить время и ресурсы в его доработку. Конфигурация через центральную службу, внедрение простым копированием, отсутствие внешних зависимостей, обдуманные метрики вместо мусора в логах — вот лишь часть задач, которые придется решать на этом пути.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments15

Кадровый голод тоже не тетка, или как вырастить ИТ-специалиста из студента

Reading time7 min
Views13K


По оценкам Минкомсвязи России, дефицит кадров в ИТ-отрасли оценивается в 350–400 тысяч специалистов — почти столько же, сколько работает в этой сфере сегодня. Анализ рынка труда (по данным hh.ru) в разрезе ИТ-профессий позволяет сделать вывод, что ежегодно потребность в ИТ-специалистах возрастает примерно на 25%. Так, в отношении значений 2016 года к 2015 году, прирост ИТ вакансий составил 28%. Об одном из способов решения вопроса нехватки кадров далее в нашей статье.
Читать дальше →
Total votes 21: ↑17 and ↓4+13
Comments42

Многорукий бандит в задаче поиска объектов в видеопотоке

Reading time7 min
Views6.7K
Drawing На Хабре уже неоднократно затрагивалась тема применения так называемых “бандитов” для интеллектуального анализа данных. В отличии от уже привычного обучения машин по прецедентам, которое сплошь и рядом применяется в задачах распознавания, многорукий бандит применяется для построения в некотором смысле “рекомендательных” систем. На Хабре уже очень подробно и доступно рассказано о идее многорукого бандита и применимости ее к задаче рекомендации интернет-контента. Мы же в своем очередном посте хотели рассказать вам о симбиозе обучения по прецедентам и обучения с подкреплением в задачах распознавания видеопотока.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments1

Игры, в которых нужно писать код: Grid Garden, Elevator Saga и другие

Reading time3 min
Views140K

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

Total votes 72: ↑72 and ↓0+72
Comments46

Разбираем уязвимость CVE-2017-0263 для повышения привилегий в Windows

Reading time9 min
Views22K


Май оказался богат на интересные уязвимости в популярной операционной системе. На днях злоумышленники массово заражали компьютеры вирусом-вымогателем WannaCry, эксплуатируя недостаток безопасности в протоколе SMB и инструмент, известный как Eternalblue. Чуть ранее, 9 мая, компания Microsoft устранила CVE-2017-0263, позволяющую получить максимальные привилегии на машинах под управлением Windows 10, Windows 8.1, Windows 7, Windows Server 2008, Windows Server 2012 и Windows Server 2016.

Уязвимость CVE-2017-0263 уже использовалась в фишинговой рассылке. Письмо содержало вложенный эксплойт, который задействовал сначала некорректную обработку EPS-файлов в Microsoft Office (CVE-2017-0262) для попадания в систему, а оказавшись внутри, получал с помощью CVE-2017-0263 полные права администратора. Два года назад мы уже препарировали похожую уязвимость в Windows, а в этом материале расскажем о том, как свежая CVE-2017-0263 позволяет стать хозяином чужой рабочей станции или сервера.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments4

Как защищаться от атаки вируса-шифровальщика «WannaCry»

Reading time3 min
Views83K

Данная статья подготовлена в связи в хакерской атакой массового характера в мировом масштабе, которая может коснуться и вас. Последствия становятся действительно серьезными. Ниже вы найдете краткое описание проблемы и описание основных мер, которые необходимо предпринять для защиты от вируса-шифровальщика семейства WannaCry.

Вирус-шифровальщик WannaCry использует уязвимость Microsoft Windows MS17-010, чтобы выполнить вредоносный код и запустить программу-шифровальщик на уязвимых ПК, затем вирус предлагает заплатить злоумышленникам порядка 300$, чтобы осуществить расшифровку данных. Вирус широко распространился в мировых масштабах, получив активное освещение в СМИ – Фонтанка.ру, Газета.ру, РБК.
Читать дальше →
Total votes 28: ↑18 and ↓10+8
Comments51

Пять книг по программированию, которые стоит прочесть

Reading time3 min
Views62K
Выбрать всего пять книг оказалось непростой задачей. Каждый раз, добавляя книгу в список, я задавал вопрос: почему именно эта? Я решил выделить пять ключевых направлений, в которых должен развиваться разработчик, и привести по одному примеру книги в каждом из них.

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


Читать дальше →
Total votes 32: ↑17 and ↓15+2
Comments29

Интернет магазин — 15000 евро за первый месяц

Reading time6 min
Views91K
В народе есть известная поговорка „Первый Блин Комом“, чего не могу сказать о своём свежем опыте интернет торговли. Скорее всего, это просто исключение подтверждающее правило, но, тем не менее, хочется рассказать о тех небольших выводах, что я сделал за последний месяц.

Итак, небольшая история о том, как можно довольно легко заработать за один месяц минимум 15 000 евро.

Мой профессиональный род деятельности — веб-разработка. Занимаюсь R&D в одной небольшой IT компании, пишу «навороченные» приложения для корпоративных интранетов и, в принципе, на жизнь не жалуюсь. Конечно, при таком раскладе хочется параллельно вести какой-нибудь интересный проект, чем неоднократно занимался в мире Open Source. Со временем, правда, захотелось на побочных проектах так же как-то зарабатывать, что с Open Source оказалось не так просто, как может показаться из статей на Хабре :) Потому и решил попробовать для себя что-то принципиально новое — открыть интернет магазин.

Читать дальше →
Total votes 517: ↑493 and ↓24+469
Comments389

Модель ПИД регулятора на Python

Reading time5 min
Views23K

В поисках простой модели ПИД регулятора с объектом


Моделированию работы ПИД регулятора посвящено большое количество публикаций в сети. Лидирует проектирование моделей ПИД регулятора с применением Matlab Simulink [1,2] (134 миллиона ссылок в yandex). Сам процесс создания модели какой-то однообразный. В модель переносят всё новые и новые блоки. Одно движение ручного манипулятора и нате вам ПИД контролер, ещё одно и вот передаточная функция объекта. Соединяешь блоки, настраиваешь параметры, готовишь вычислитель. Да, возможностей много, но как-то слишком всё искусственно. И уже становится совсем непонятным к чему тут дифференциальные уравнения, методы их решения и то операционное исчисление, которым долго морочили голову. Ищу реализацию ПИД в Mathcad, тут ссылок в том же yandex, поменьше, всего то 81 миллион, а математики и формул побольше. Рассматриваю пример ПИД, поставляемый вместе с пакетом Mathcad 14.


В качестве объекта колебательное звено. Много умных объяснений, но в итоге два оператора laplace и invlaplace. Общая передаточная функция имеет в числителе вторую степень оператора, а в знаменателе четвёртую. Чтобы операторы laplace и invlaplace сработали, когда подключены все три составляющих ПИД, находят ещё и корни знаменателя передаточной функции, эти корни комплексно сопряжённые.



Теперь ищу реализацию ПИД на Python. Тихо радовался 97 миллионам результатов, но не долго. О Python 2.7 только применительно к прошивке Arduino на примере ESP32. Но и это переполняет сердце гордостью за Python.

Разочаровавшись в поиске, решил написать модель сам, в меру своих более чем скромных возможностей.
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments3

Страсть к программированию. Глава 13. Найди ментора

Reading time6 min
Views23K
image

О переводе


Это перевод 13 главы книги The Passionate Programmer: Creating a Remarkable Career in Software Development. Её автор — Chad Fowler — талантливый Ruby-разработчик, известный докладчик на конференция, посвящённых Ruby и IT в целом. Бывший саксофонист, а сейчас — CTO 6Wunderkinder.

В книге говорится о разных аспектах карьеры программиста, даются интересные советы как начинающим разработчикам, как так устоявшимся профессионалам. Книга состоит из 53 глав (кроме того, после некоторых глав есть интересные рассказы, один из которых уже дважды переводили на Хабре). Главы достаточно независимы и можно знакомиться с ними в любом порядке. Книга понравится многим программистам, которым интересен взгляд заслуженного профессионала на современную карьеру в IT. И конечно, я рекомендую купить данную книгу в электронном или печатном виде в знак благодарности автору.
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments23

Основатель Uber Трэвис Каланик — «мятежник в элите Кремниевой долины»

Reading time9 min
Views33K
image

Основатель и генеральный директор такси-сервиса Uber Трэвис Каланик впервые посетит Россию.

Каланик приедет в Москву в воскресенье 5 июня и вечером того же дня выступит в Институте медиа и дизайна «Стрелка» с лекцией, посвященной вопросам развития транспорта в XXI веке. Каланик расскажет аудитории, «сможет ли каршеринг и усовершенствованный общественный транспорт вытеснить личные автомобили, и заменят ли гибридные и электрические машины привычные бензиновые и дизельные», говорится в сообщении на сайте «Стрелки».

Сервис для вызова частных водителей Uber — самая быстрорастущая компания в истории. Uber привлек от государственного фонда Саудовской Аравии $3,5 миллиарда. По подсчетам The Wall Street Journal, оценка самого дорогого стартапа в мире приблизилась к $68 миллиардам.

К своим 39 годам Каланик стал одним из самых богатых предпринимателей с состоянием в $6,2 миллиарда. Личность основателя Uber вызывает противоречивую реакцию как у общественности, так и у людей, знакомых с ним лично: некоторые его ненавидят, а некоторые им восхищаются.
Читать дальше →
Total votes 22: ↑17 and ↓5+12
Comments18

Как появляются стартапы на миллиард. Можно ли научиться делать такие проекты?

Reading time10 min
Views20K
Начинающие стартаперы и бизнесмены из мира ИТ, дело которых идёт не особо феерично, часто задаются одним и тем же вопросом: «Можно ли научиться делать успешные интернет проекты и мобильные приложения?». Казалось бы, ответ очевиден – мы видим сотни крайне успешных стартапов-сверхновых, которые порой буквально за несколько месяцев выбрасывают своих фаундеров в стратосферу успеха и богатства. Психология обычного человека говорит о том, что просто надо узнать как и что делали суперзвёзды, затем применить полученные знания для своего бизнеса.



Недавно ко мне обратился за советом парень из команды основателей очередного тревел стартапа. Ребята сняли офис, запилили приложение, занимаются продвижением. Ну в общем всё как обычно. И я спрашиваю у него: «Скажи, какая у тебя самая ключевая задача или проблема?». Ну он отвечает, что вроде бы всё хорошо и проблем особых нет. Только вот единственная загвоздка – приходит он в офис, и до обеда хочется есть, а после обеда спать. Ну ещё по понедельникам вставать утром особенно тяжело. Перечисленные неудобства мешают ему осваивать буддисткий навык в контекстной рекламе, джедайскую технику продвижения через социалки и оттачивать лезвие навыка юзабилити. Ещё Grow Hacks изучает по какой то модной методике.

В таком коротком рассказе этого парня я увидел сразу две ключевые ошибки стартаперов. Два заблуждения настолько укоренились в сознании ребят, что формируют их мировоззрение. Вот эти навязчивые ошибки:
Читать дальше →
Total votes 28: ↑23 and ↓5+18
Comments29

Время учиться: дайджест бесплатных образовательных материалов от Mail.Ru Group

Reading time10 min
Views112K

Кадр из к/ф «Операция Ы и другие приключения Шурика»

Как говорят, «кризис — пора возможностей». И поэтому сейчас самое время начать вкладывать в саморазвитие, осваивать новую профессию или повышать свою квалификацию. Займитесь изучением языков программирования, обретением навыков разработки, тестирования и вообще всячески прокачивайте свой IT-скилл. Ведь чем больше вы знаете, тем прочнее будете стоять на ногах. А чтобы вам было легче сориентироваться и выбрать направление, мы сделали подборку наших бесплатных образовательных материалов, курсов и инициатив за 2015–2016 годы.
Читать дальше →
Total votes 48: ↑43 and ↓5+38
Comments29

Как я создал софтверную компанию стоимостью в 350 млн долларов, ничего не зная о софте (Часть 1)

Reading time5 min
Views16K


Вторая часть здесь.

Я всегда мечтал заработать большое состояние и делать замечательные вещи, хотел, чтобы люди обращали на меня внимание. Я только не знал, как мне к этому прийти.
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments8

Зарабатывая на жизнь созданием игр

Reading time7 min
Views24K
larian_logo
Привет, Хабр!

Меня зовут Артём Титов, я lead gameplay programmer в Larian Studios.
Мы очень давно хотели поделиться с вами нашим опытом создания и разработки компьютерных игр, но долго не могли решить, с чего бы начать. Долго размышляя, мы пришли к выводу, что первая статья должна быть не технической, а скорее личной — и для этого я перевёл вам запись в блоге одного из наших сотрудников, сделанную около года назад. Его история даёт очень хорошее представление не только о нашей студии со стороны игр, что мы создаём, но и детально показывает личный аспект жизни рядового сотрудника студии, проходящей через падения и взлёты. Я постарался сделать наиболее точный перевод, но тем не менее полностью от англицизмов и слэнга избавиться не смог.

Итак под катом история моего коллеги длиной в 10 лет.
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments22

Несколько вещей, о которых стоит помнить программисту в возрасте

Reading time11 min
Views128K
Если вы из тех, кто «работал ещё Там-То!» и «делал ещё То-То!», а сейчас счастливо отдыхаете на пенсии — эта статья не для вас. Просто спасибо за труд и примите мои поздравления. Но если же вы, как и я, даже став немного старше всё ещё ощущаете страсть к программированию, радуетесь виду кода и не можете устоять перед желанием написать ещё что-нибудь, тогда продолжайте читать.

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

Я смирился с мыслью, что мой лучший код уже написан — в прошлом. Мне было уже 54 года (немало!) и я, вероятно, уже не мог писать код так же хорошо, как и раньше. Кто знает — может быть у меня уже начала отказывать память, ну или я просто выучил всё, что был способен в жизни выучить. Мой настрой подкреплялся наблюдениями окружающей меня реальности. Все новые технологии выглядели для меня чудаковато. Я ненавидел Node.js. Я считал все фреймворки для веб-разработки ужасными. И я сетовал на то, что классические способы разработки ПО разрушились и превратились в набор клише, которые нынче впариваются под умными названиями типа Agile или «экстремальное программирование». Я скучал за днями, когда люди писали спецификацию на будущее ПО, программировали, а затем тщательно тестировали его. И когда в каждой статье не было тысячи жаргонных словечек.
Читать дальше →
Total votes 121: ↑117 and ↓4+113
Comments134

Страсть к программированию. Глава 23. Будь на своем месте

Reading time5 min
Views16K
image

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

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

Читать дальше →
Total votes 31: ↑23 and ↓8+15
Comments16

Information

Rating
Does not participate
Registered
Activity