Pull to refresh
19
0
Михто @Muxto

User

Send message

Обязан ли разработчик развиваться?

Reading time 5 min
Views 58K

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

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

Но действительно ли всё это надо? Разработчик в самом деле обязан проводить всё своё свободное время за написанием кода? А обязан ли разработчик постоянно развиваться?

Читать далее
Total votes 190: ↑174 and ↓16 +158
Comments 188

Веб-сервер на старом смартфоне Android

Reading time 6 min
Views 63K


Бывает такое, что смартфон становится ненужным — например, на нём разбивается экран или он просто старенький, тормозит даже браузер. Что делать с таким гаджетом, не выбрасывать же его? В самом деле, американцы летали на Луну с компьютерами, у которых характеристики много хуже, чем в вашем старом смартфоне. Скорее всего, в нём 4−8 процессорных ядер, 2−4 гигабайта оперативной памяти, блок бесперебойного питания с аккумулятором. Не слабее, чем некоторые компьютеры.

Попробуем найти этому смартфону полезное применение.
Читать дальше →
Total votes 54: ↑52 and ↓2 +50
Comments 91

Как формируются зарплаты с точки зрения экономики и почему программисты столько получают

Reading time 4 min
Views 55K

Всем же интересно про зарплаты? Давайте про зарплаты

Меня зовут Алексей и я работаю в Райффайзенбанке техлидом. Последние 12 лет я нон-стоп нанимаю технических специалистов и меня всегда интересовал зарплатный гэп между айтишниками и не-айтишниками. Судя по дискуссиям в интернете — разница в зарплатах волнует многих. Так получилось, что в качестве хобби я интересуюсь экономикой. Поэтому когда моих знаний стало хватать для понимания причин такого разрыва, то в голове сразу же щелкнули шестеренки, картина мира обрела гармонию и я получил заслуженную порцию дофамина.

Под катом я рассказываю о том, как формируется зарплата (особенно программиста) с точки зрения экономики.

Читать далее
Total votes 70: ↑62 and ↓8 +54
Comments 399

Какой язык программирования учить в 2020-м?

Reading time 13 min
Views 176K

Статей с подобными заголовками существует уже множество. Но в них постоянно какая-то дичь! Смотрите, Google ещё до основных результатов советует такое:



HCL, Карл! Язык, который не просто очень далёк от «Самых Популярных», но ещё и создан для конфигурации, так что его вообще странно ставить в один ряд с языками общего назначения. Страшно представить приключения новичка, который решит строить карьеру по таким советам. Начнём с того, что по запросу «как выучить HCL» вместо туториалов по языку вылезают тексты о соляной кислоте.


Это только одна из многих дикостей, которые я встретил в подобных текстах. Поэтому захотелось объяснить, что с ними не так — и написать собственный текст получше, ссылку на который можно кидать начинающим. Конечно, аудитории Хабра информация для начинающих не очень требуется, зато хабравчане могут дополнить текст в комментариях, сделав его ещё полезнее.

Читать дальше →
Total votes 146: ↑131 and ↓15 +116
Comments 487

Гровинг по-гиковски, или ферма для выработки веществ из подвала

Reading time 4 min
Views 16K


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

Собственно говоря, смысл делать, описывать и читать сие имеется только при наличии вызванной самоизоляцией скуки и томления духа. Это — про здравый смысл. Остальное — под катом.
Читать дальше →
Total votes 27: ↑26 and ↓1 +25
Comments 79

Вирус и антибиотики: нежный ликбез для паникующих

Reading time 12 min
Views 109K

Эта няшка — пушистый мимивирус с размером кода 2,5 Мегабазы (бит четвертичной системы)

Мы тут мониторили каналы, чатики и форумы по поводу текущей обстановки в разных странах. Я просто офигевал от того, что люди могут придумать в панике и безграмотности. Поэтому ликбез. Не про коронавирус. Просто про вирусы. Маленьких «нанороботов». И антибиотики. Которые не надо кушать просто так.

Ликбез мы подготовили вместе с инфекционистом Викторией Валиковой, руководящей клиниками в Гватемале и Никарагуа. Естественно, он полон грубых упрощений.

Кто такие вирусы?


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

  1. Переработкой клеток на свои копии.
  2. Путешествиями в поиске новых клеток.

Про «форму жизни» есть холивар, потому что вирион (транспортное состояние вируса, частица без клетки) — это просто кусок кода ДНК или РНК + оболочки + некий аналог порта-коннектора. В этом состоянии вирус почти ничем не напоминает жизнь, а, скорее, похож на набор инструкций. И ведёт себя именно, как распечатка инструкций: пока не найдётся кто-то, кто их выполнит, они неактивны.

Если инструкция говорит вам, как использовать ксерокс, чтобы самоскопироваться, можно ли считать её живой?
Читать дальше →
Total votes 251: ↑243 and ↓8 +235
Comments 291

Пост хвастовства домашними офисами

Reading time 1 min
Views 59K
image

Привет, это ваша дорогая редакция. Мы тут все на удаленке, а к вечеру стало немного грустненько. Поэтому этот материал мы объявляем постом хвастовства домашними рабочими местами. Начать предлагаем с хоум-офисов команды Хабра — попробуйте по должности, хобби и увлечениям угадать, кто где работает. А потом заходите в комментарии и оставляйте свои фотки.
Читать дальше →
Total votes 116: ↑111 and ↓5 +106
Comments 426

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

Reading time 2 min
Views 54K
Современные программисты — счастливчики: мы живём в мире, в котором исторические и оказавшие существенное влияние программы имеют открытый код, доступный для изучения. Однако, многие программисты только учатся, и изучают те программы, над которыми работают сами. У нас редко находится время для изучения исторических работ, и курсы программирования редко тратят время на такие вещи.

Мы полагаем, что разработчикам следует изучать исходники программ, оказавших большое влияние, подобно тому, как архитекторы изучают здания, оказавшие влияние на архитектуру (и критикуют их). Чем повторять те же ошибки снова и снова, мы должны изучить большую работу, проделанную до нас, и вынести из неё уроки.
Читать дальше →
Total votes 74: ↑69 and ↓5 +64
Comments 68

Илья Якямсев: Эффективность не работает

Reading time 19 min
Views 65K
С точки зрения проект-менеджера и с точки зрения управления людьми, люди в депрессии — идеальные работники.

Привет, Хабр.

Недавно посмотрела выступление одного scrum-мастера и stand up комика по совместительству. Выступление оказалось эмоциональное, с большим количеством непечатных слов и долей здравого смысла.

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


Эффективность не работает


Этот доклад скорее жизнеутверждающий, позитивный, и он про жизнь, не про программирование. Хотя много будет про программирование, но косвенно. 

Я работаю менеджером проекта. Начинал я в Тольятти, в 96 году, на должности «эй, пацан, принеси пиво». С 99 года я начал программировать front, тогда это называлось «верстак». Потом я открыл контору, закрыл ее, многое произошло, и сейчас я менеджер проектов.

Мой доклад называется «Эффективность не работает». И я объясню почему.

Жизнь после 30


Дело в том, что мне сорокет в этом году. Я работаю в основном с людьми помоложе себя, и они у меня часто спрашивают: «Илья, как она жизнь в IT после 30? Ну, то есть, что с ней происходит?». Я отшучиваюсь: как говорится, баб поменьше, детей побольше



Но я всерьез задался этим вопросом, подумал, что случилось со всеми людьми, с которыми я начинал, с которыми продолжаю. Всем моим друзьям около 40, все по-разному живут. Какое у нас общее свойство? О чем стоит рассказать людям? На что им ориентироваться в процессе работы? Каким образом это будет у них? И я вывел то общее, о котором хочу сегодня рассказать.
Читать дальше →
Total votes 157: ↑129 and ↓28 +101
Comments 88

Обзор способов и протоколов аутентификации в веб-приложениях

Reading time 18 min
Views 615K


Я расскажу о применении различных способов аутентификации для веб-приложений, включая аутентификацию по паролю, по сертификатам, по одноразовым паролям, по ключам доступа и по токенам. Коснусь технологии единого входа (Single Sign-On), рассмотрю различные стандарты и протоколы аутентификации.

Перед тем, как перейти к техническим деталям, давайте немного освежим терминологию.

  • Идентификация — это заявление о том, кем вы являетесь. В зависимости от ситуации, это может быть имя, адрес электронной почты, номер учетной записи, итд.
  • Аутентификация — предоставление доказательств, что вы на самом деле есть тот, кем идентифицировались (от слова “authentic” — истинный, подлинный).
  • Авторизация — проверка, что вам разрешен доступ к запрашиваемому ресурсу.


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

Аналогично эти термины применяются в компьютерных системах, где традиционно под идентификацией понимают получение вашей учетной записи (identity) по username или email; под аутентификацией — проверку, что вы знаете пароль от этой учетной записи, а под авторизацией — проверку вашей роли в системе и решение о предоставлении доступа к запрошенной странице или ресурсу.

Однако в современных системах существуют и более сложные схемы аутентификации и авторизации, о которых я расскажу далее. Но начнем с простого и понятного.
Читать дальше →
Total votes 48: ↑48 and ↓0 +48
Comments 20

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

Reading time 58 min
Views 30K

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

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


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


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

Как разработчик, я никогда не знаю себе цену, потому что её нет. Но вся система построена так, как будто она есть

Reading time 11 min
Views 105K


Каждый раз перед собесом я говорю себе: "Спокойно, не нужно ничего выдумывать, доучивать и врать, твоих знаний и опыта достаточно для того, что бы работать у них. Ты усилишь любую команду, тебе есть что предложить, а пробелы в твоих знаниях — приемлемы. Если бы они знали о твоих навыках всё, что знаешь ты, они бы точно тебя взяли". Но когда начинается собеседование, я всегда перестаю в это верить. Все два часа интервью я хожу как по минному полю, что бы не дай бог не спалиться, что я чего-то не знаю.

Читать дальше →
Total votes 229: ↑205 and ↓24 +181
Comments 324

Дружба, благодаря которой Google вырос до огромных размеров

Reading time 23 min
Views 39K
Программируя вместе за одним компьютером, Джефф Дин и Санджай Гемават изменили курс компании — и весь Интернет. На иллюстрации: лучшие программисты Google иногда кажутся двумя полушариями одного мозга. Рисунок Дэвида Планкерта

Однажды в марте 2000 года шесть лучших инженеров Google собрались в импровизированном конференц-зале. Произошло ЧП: с октября 1999 года остановились краулеры. Хотя пользователям ещё выдавали поисковые результаты, но они устарели на пять месяцев. На карту было поставлено больше, чем предполагали инженеры. В данный момент Ларри Пейдж и Сергей Брин вели переговоры о поставке поиска Google на крупнейший в интернете портал Yahoo и обещали увеличить поисковый индекс в десять раз, чтобы идти в ногу со Всемирной паутиной, которая за предыдущий год удвоилась в размере. Если краулеры не починят, google.com застрянет в прошлом, сделка с Yahoo может провалиться, а компания рискует сжечь полученные инвестиции и кануть в небытие.
Читать дальше →
Total votes 57: ↑50 and ↓7 +43
Comments 36

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

Reading time 7 min
Views 151K


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

Из-за этого большинство подобных материалов мало полезны, несмотря на то, что могут содержать толковые книги. Мне давно хотелось написать полезный обзор, который не станет навязывать определенные материалы, а позволит читателю выбрать наиболее подходящие.
Читать дальше →
Total votes 62: ↑55 and ↓7 +48
Comments 79

Моё разочарование в софте

Reading time 11 min
Views 388K

Суть разработки программного обеспечения
— Нужно проделать 500 отверстий в стене, так что я сконструировал автоматическую дрель. В ней используются элегантные точные шестерни для непрерывной регулировки скорости и крутящего момента по мере необходимости.
— Отлично, у неё идеальный вес. Загрузим 500 таких дрелей в пушку, которые мы сделали, и выстрелим в стену.


Я занимаюсь программированием уже 15 лет. Но в последнее время при разработке не принято думать об эффективности, простоте и совершенстве: вплоть до того, что мне становится грустно за свою карьеру и за IT-отрасль в целом.

Для примера, современные автомобили работают, скажем, на 98% от того, что физически позволяет нынешняя конструкция двигателя. Современная архитектура использует точно рассчитанное количество материала, чтобы выполнять свою функцию и оставаться в безопасности в данных условиях. Все самолёты сошлись к оптимальному размеру/форме/нагрузке и в основном выглядят одинаково.

Только в программном обеспечении считается нормальным, если программа работает на уровне 1% или даже 0,01% от возможной производительности. Ни у кого вроде нет возражений.
Total votes 505: ↑474 and ↓31 +443
Comments 2474

Конкурентность: Параллелизм

Reading time 5 min
Views 50K

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


И, надеюсь, кому-нибудь это может оказаться полезно, ибо кто-нибудь может чего-нибудь не знать, или, наоборот, окажется полезно мне, если кто-нибудь покажет что-нибудь ещё/укажет на изъяны в моих знаниях.


Читать дальше →
Total votes 50: ↑42 and ↓8 +34
Comments 40

Чистая прагматичная архитектура. Мозговой штурм

Reading time 25 min
Views 26K
Закрадывалась ли вам в голову идея переписать своё жирное энтерпрайзное приложение с нуля? Если с нуля, то это ж ого-го. Как минимум кода будет раза в два меньше, верно? Но ведь пройдёт пара лет, и оно тоже обрастёт, станет легаси… времени и денег на переписывание не так много, чтобы делать идеально.

Успокойтесь, начальство всё равно не даст ничего переписать. Остаётся рефакторить. На что лучше всего потратить свои невеликие ресурсы? Как именно рефакторить, где проводить чистки?

Название этой статьи — в том числе отсылка к книге Дяди Боба «Чистая Архитектура», а сделана она на основе замечательного доклада Victor Rentea (твиттер, сайт) на JPoint (под катом он начнёт говорить от первого лица, но пока дочитайте вводную). Чтения умных книжек эта статья не заменит, но для такого короткого описания изложено весьма хорошо.

Идея в том, что популярные в народе вещи вроде «Clean Architecture» действительно являются полезными. Сюрприз. Если нужно решить вполне конкретную задачу, простой изящный код не требует сверхусилий и оверинжиниринга. Чистая архитектура говорит, что нужно защищать свою доменную модель от внешних эффектов, и подсказывает, как именно это можно сделать. Эволюционный подход к наращиванию объема микросервисов. Тесты, которые делают рефакторинг менее страшным. Вы ведь уже знаете всё это? Или знаете, но боитесь даже подумать об этом, ведь это же ужас что тогда делать придётся?

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



Читать дальше →
Total votes 42: ↑40 and ↓2 +38
Comments 24

Анализ графиков бинарных опционов или как я в очередной раз доказал себе, что халявы не существует

Reading time 6 min
Views 70K


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


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

Читать дальше →
Total votes 125: ↑120 and ↓5 +115
Comments 191

Как я не уехал в США и стал Президентом в России

Reading time 13 min
Views 58K
В этом лонгриде я рассказываю как от безработного дорасти до президента. Запаситесь терпением и чувством юмора!



Как я стал безработным


В 2007-м мои рабочие будни проходили в большом “курятнике” в центре Москвы. В роли курочек выступали менеджеры, высиживающие свои проекты, на отведенной каждому площади в полтора квадратных метра на территории общего оупен-спейса. Контора носила очень гордое название, что-то в стиле Super Mega World Media Ventures. Ой, да именно такое и носила, только без Super Mega.

Бизнес-идея мирового венчура заключалась в том, чтобы “понабрать по объявлению” как можно больше менеджеров со всяческими идеями и пусть они стартапят свои проекты кто во что горазд. Авось парочка из них станет новыми фейсбуками — теория больших чисел в действии.
Читать дальше →
Total votes 124: ↑91 and ↓33 +58
Comments 422

Покажем себя Вселенной: маяки, которые останутся после нашей цивилизации

Reading time 42 min
Views 17K
Из блога Стивена Вольфрама — британского физика, математика, программиста, писателя. Разработал систему компьютерной алгебры Mathematica и систему извлечения знаний WolframAlpha.

Суть задачи


Допустим, мы можем расставить по нашей солнечной системе (и за её пределами) маяки, способные выжить несколько миллиардов лет и записать все достижения нашей цивилизации. Какими они должны быть?

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

И всё же один мой приятель недавно занялся этой проблемой всерьёз – он делает маленькие кварцевые диски, и хочет разбросать их по солнечной системе при помощи космических кораблей. Сначала я говорил, что эти попытки тщетны, но в итоге всё же согласился побыть советником проекта, и, по крайней мере, попытаться решить, что мы можем с этим сделать.

Хорошо, так в чём проблема? По сути, она состоит в передаче знаний или смысла изнутри нашего культурного и интеллектуального контекста наружу. Чтобы понять, что это трудно, достаточно вспомнить об археологии. Для чего несколько тысяч лет назад какие-то камни были выстроены в определённой конфигурации? Иногда мы можем ответить на такой вопрос, поскольку он оказывается близким к нашей современной культуре. Но большую часть времени сказать это очень сложно.
Читать дальше →
Total votes 35: ↑33 and ↓2 +31
Comments 42

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity