Pull to refresh
8
0
Михаил Коротеев @M1Q4

User

Send message

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

Reading time5 min
Views201K

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

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

Читать далее
Total votes 496: ↑485 and ↓11+474
Comments101

Удаленный доступ к IDE при помощи Projector

Reading time4 min
Views8.9K

Как вы наверняка знаете, Swing — это фреймворк, позволяющий разрабатывать графические интерфейсы для приложений на платформе Java. IDE JetBrains используют Swing для отрисовки интерфейсов. Также Swing применяется и в других IDE на базе IntelliJ, например, в Android Studio.

IDE JetBrains и приложения на Swing — десктопные приложения, и, в целом, это плюс. Однако бывают случаи, которые требуют иного подхода (например, тонкий клиент). И именно здесь нам пригодится Projector.

Projector — это технология, с помощью которой вы запускаете IDE на базе IntelliJ либо Swing-приложения на сервере. Далее вы можете подключаться к ним откуда угодно, используя браузеры или нативные приложения.

Читать далее
Total votes 24: ↑24 and ↓0+24
Comments28

NewNode — децентрализованная CDN от разработчика FireChat

Reading time3 min
Views16K


На днях я наткнулся на упоминание некоего NewNode:
NewNode — SDK для мобильной разработки, который делает любое приложение неубиваемым для любой цензуры и DDoS, и драматически снижает нагрузку на сервере. P2P сеть. Может работать в теории без интернета.

Выглядело довольно сумбурно, но интересно, и я полез разбираться. В репозитории не нашлось места описанию проекта, поэтому пришлось идти на сайт Clostra (довольно странный) и перечитывать несколько раз местный лендинг, чтобы понять, что это вообще за технология и какая часть у неё основная. Пересказываю ниже.
Читать дальше →
Total votes 30: ↑26 and ↓4+22
Comments10

NewNode — децентрализованная CDN нового поколения

Reading time2 min
Views11K

Привет! Сто лет сюда не писал, но теперь появился повод. 

Когда-то, я рассказывал в России про Firechat. Сегодня, все та-жа команда работает над новым решением - распределенной сетью передачи данных. Этот пост, приглашение к диалогу. 

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

Сеть NewNode состоит из трех типов узлов: инжекторов, пиров и пиров, которые становятся прокси инжекторами. Инжекторы - это доверенная служба, работающая в облаке, в то время как каждый пользователь контента по умолчанию является одноранговым узлом. Узел, который устанавливает соединение с инжектором, становится прокси-сервером инжектора. Каждый инжектор обладает личным ключом инжектора, в то время как каждый одноранговый узел имеет жестко закодированную копию всех открытых ключей инжектора. 

Вот как работу сети изобразили авторы, практически на салфетке, в наших лучших традициях:

Read more
Total votes 10: ↑7 and ↓3+4
Comments28

Как найти иллюстратора, если вы ничего не понимаете в иллюстрации

Reading time12 min
Views14K
Меня зовут Полина, я работаю веб-дизайнером и иллюстратором. Работы много, поэтому со временем возник вопрос о поиске «запасного игрока», который в случае моего большого загруза мог бы подхватить задачу по созданию иллюстраций для статей на Хабр и Яндекс Дзен.

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



Эта статья для тех, кто ищет иллюстраторов на фриланс, при этом «не умеет рисовать», мало взаимодействует с «творческими людьми» и имеет слабое представление об иллюстрации в целом. Слово «иллюстрация» можно заменить на «логотип», «лендинг», «сайт», «анимированное видео».
Читать дальше →
Total votes 38: ↑38 and ↓0+38
Comments9

Работаем в IntelliJ IDEA на слабом железе

Reading time7 min
Views49K

Обнаружил секретный репозиторий на гитхабе JetBrains под названием Projector. Благодаря нему написал кусок кода в IntelliJ IDEA, запущенной на Android-планшете. Рассказываю, как это повторить.


Читать дальше →
Total votes 94: ↑93 and ↓1+92
Comments147

Релиз мобильных приложений одной кнопкой

Reading time11 min
Views12K


Всем привет! Меня зовут Михаил Булгаков (нет, не родственник), я работаю релиз-инженером в Badoo. Пять лет назад я занялся автоматизацией релизов iOS-приложений, о чём подробно рассказывал в этой статье. А после взялся и за Android-приложения.

Сегодня я подведу некоторые итоги: расскажу, к чему мы пришли за это время. Long story short: любой причастный к процессу сотрудник может зарелизить хоть все наши приложения на обеих платформах в несколько кликов — без головной боли, больших затрат времени, регистрации и СМС. Так, наш отдел релиз-инженеров за 2019 год сэкономил около 830 часов.

За подробностями — добро пожаловать под кат!
Читать дальше →
Total votes 40: ↑38 and ↓2+36
Comments11

Как я самостоятельно выучил новый язык за 12 месяцев: тотальный гайд

Reading time31 min
Views155K
От А0 до B2 за год

Чуть больше года назад я был полностью монолингвом, говорящем только на английском, с нулевыми познаниями во французском языке. А спустя двенадцать месяцев, я с лёгкостью сдал международный экзамен DELF B2. Если вы не знаете, что значит «В2», посмотрите шкалу CEFR.

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

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

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

  • Беседа на французском в течение нескольких часов;
  • Понимание различных видов французских СМИ (например, новости и видео на YouTube);
  • Чтение статей, написанных для носителей французского языка;
  • Построение мыслей на французском;

Конечно, я всё ещё очень далёк от уровня носителя. У меня точно есть слабые места, и я не могу выражаться на французском так же хорошо, как на английском. Тем не менее, я очень даже доволен своим уровнем владения французским и думаю, что многие изучающие язык тоже были бы довольны.
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments91

Очень много YouTube-каналов для прокачки английского языка для программистов

Reading time4 min
Views61K
Привет, Хабр!

С помощью YouTube можно ощутимо и сравнительно быстро улучшить английский.
Понимание на слух как минимум. Истина не нова, но мало кто смотрит английский YouTube, потому что легко потеряться в бесконечности каналов. Но для вас я собрал самые стоящие каналы!

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

Поучить английский


AJ Hoge. На его канале есть всё: от базовых слов до размышлений о важности языка тела в общении. Чувак пилит видосы уже много лет, материальчик накопился.

EngVid. Если бы можно было выбрать что-то одно для улучшения английского, то это оно. Разные преподы и тематики, постоянное обновление, бездонный ресурс. Ещё сайт одноимённый крутой, с удобной навигацией — можно найти очень узкую тему по интересам.
Читать дальше →
Total votes 59: ↑52 and ↓7+45
Comments19

«Сгоревшие» сотрудники: есть ли выход?

Reading time18 min
Views157K
Ты работаешь в хорошей компании. Вокруг тебя крутые профессионалы, получаешь достойную зарплату, каждый день делаешь важные и нужные вещи. Илон Маск запускает спутники, Сергей Семёнович улучшает и без того лучший город Земли. Погода отличная, солнце светит, деревья цветут — живи да радуйся!

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

Что же делать? Как работать с Игнатом? Добро пожаловать под кат!


Total votes 224: ↑210 and ↓14+196
Comments400

Ликбез по передаче параметров по значению в конструкторы и сеттеры (современный C++, примеры)

Reading time4 min
Views20K
Судя по комментам habr.com/ru/post/460831/#comment_20416435 в соседнем посте и развернувшейся там дискуссии, на Хабре не помешает статья, как правильно передавать аргументы в конструктор или сеттер. На StackOverflow подобного материала полно, но тут что-то я не припомню.

Потому что пример в той статье полностью корректен, и автор статьи абсолютно прав. Вот этот пример:

// Хорошо.
struct person {
  person(std::string first_name, std::string last_name)
    : first_name{std::move(first_name)} // верно
    , last_name{std::move(last_name)} // std::move здесь СУЩЕСТВЕНЕН!
  {}
private:
  std::string first_name;
  std::string last_name;
};

Такой код позволяет покрыть все (ну ладно, почти все) возможные варианты использования класса:
Читать дальше →
Total votes 46: ↑45 and ↓1+44
Comments76

Цвет: от шестнадцатеричных кодов до глаза

Reading time16 min
Views53K


Почему мы воспринимаем background-color: #9B51E0 как этот конкретный фиолетовый цвет?



Долгое время я думал, что знаю ответ на этот вопрос. Но хорошенько поразмыслив, осознал значительные пробелы в своих знаниях.
Читать дальше →
Total votes 104: ↑104 and ↓0+104
Comments27

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

Reading time6 min
Views26K
В прошлом году я решил продолжить изучение французского языка, моего второго иностранного языка. Я решил учить язык самостоятельно, опираясь на грамматико-переводной метод. Я поставил себе цель — дойти до уровня свободного чтения статей на французской википедии. Чтобы полностью сконцентрироваться на этой цели, я отложил изучение разговорной части на потом.

Первый подход к французскому у меня состоялся почти 8 лет назад. Воодушевленный успехами в английском, который я довольно неорганизованно учил со школы и который резко пошел в гору при поступлении в иностранную компанию, я решил взяться за французский. Как известно, в английском языке добрая половина слов имеет романское происхождение, поэтому мне захотелось укрепить свой английский познанием французского. Еще хотелось, например, иметь возможность прочитать «Войну и Мир», без необходимости обращаться к сноскам в французских цитатах. Звучание французского языка и французская культура меня не сильно интересовали, и каких-то романтических побуждений к изучению «языка любви» у меня не было.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments36

Большой FAQ про разные виды коррекции зрения: все вопросы гиков в одном месте

Reading time29 min
Views179K
Ниже – прямое сравнение видов коррекции (операций) с удобной сводкой по возможным осложнениям и применимости, плюс море других вопросов от профессиональных параноиков: от «что будет, если махнуть головой во время операции» до «а отдадут ли мне ткань, которую вынули из моего глаза» и «что будет в старости с моим зрением».

– Что лучше: очки, линзы или лазерная коррекция?

Если вас полностью устраивают очки – сохраняйте спокойствие, коррекцию делать не нужно. Однако, если вы никогда не пробовали линзы, то стоит попробовать поносить их пару недель, чтобы понять, как мир будет выглядеть после коррекции. В 10-летней перспективе контактные линзы (даже однодневные) существенно опаснее коррекции по обратимым и необратимым побочным эффектам и осложнениям. Поэтому я рекомендую их только для ознакомления с дивным новым миром.

– Я решил остановиться на очках, но боюсь, что мне в лицо откроется подушка автомобиля и они станут контактными линзами. Что делать?

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

Если вы видите плохо и не надеваете очки, то вы теряете часть информации об окружающем мире и при этом создаёте дополнительную нагрузку на зрительный аппарат. Есть проблема – нужна оптическая коррекция. А испортить глаза очками можно, как один из наших коллег из клиники в г. Марбурге – он уснул в стеклянных очках за компьютером дома, упал лицом на клавиатуру, и осколок стекла вошёл в хрусталик. В итоге сначала заменили хрусталик, потом через год понадобилась трансплантация.
Читать дальше →
Total votes 57: ↑55 and ↓2+53
Comments91

Побеждая «математическое чудище»: дело не в числах, а в том, чтобы учиться думать

Reading time8 min
Views25K
Недавно по сети пробежал твит, содержание которого было следующим: в одной из кулинарий Питтсбурга появилась загадочная табличка со следующим обращением к посетителям: «Пожалуйста, откажитесь от обсуждения математики в очереди к кассе».

image

Жители Питтсбурга не смогли найти нашумевший магазин, потому что на самом деле он находится в Коннектикуте. Впрочем, это не помешало юмористам принять новость за чистую монету и поверить, что это настоящая табличка, якобы действительно помещенная в заведении кассиром, которому надоело, что какие-то всезнайки спорят с ним по поводу итоговой суммы. А так все и было?

На самом деле нет, ничего подобного (в качестве подтверждения можете почитать про эту историю). Но в целом это объяснение вполне правдоподобно. Кассиры в наши дни не умеют делать расчеты в уме, не так ли?

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

Это утверждение, опять же, неверно. Неверно, но популярно? Что ж, вполне может быть.
Читать дальше →
Total votes 15: ↑13 and ↓2+11
Comments52

Что почитать, чтобы писать нормально

Reading time5 min
Views12K
damn-hard-writing

В прошлых выпусках мы рассказывали почему бренды должны делать контент, а не втупую пропагандировать свои продукты. Теперь поговорим о том, как писать о продукте. Сегодня мы поделимся полезными ссылками, чтобы вы никогда не писали как амёба.
Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments2

Искусство командной строки

Reading time15 min
Views249K


Вот уже как неделю английская версия the art of command line висит в секции trending на Github. Для себя я нашел этот материал невероятно полезным и решил помочь сообществу его переводом на русский язык. В переводе наверняка есть несколько недоработок, поэтому милости прошу слать пулл-реквесты мне сюда или автору оригинальной работы Joshua Levy вот сюда. (Если PR отправите мне, то я после того, как пересмотрю изменения отправлю их в мастер-бранч Джоша). Отдельное спасибо jtraub за помощь и исправление опечаток.

Enjoy!
Total votes 127: ↑122 and ↓5+117
Comments143

99 ресурсов для продвижения стартапов

Reading time3 min
Views48K


В адаптированной нами подборке вы сможете найти множество полезных источников по ряду маркетинговых задач, которые приходится решать всем бизнесам без исключения. Уверены, что каждый сможет найти что-то подходящее для своих проектов.
Читать дальше →
Total votes 39: ↑38 and ↓1+37
Comments1

Уменьшаем количество ошибок с помощью чек-листа Code Review

Reading time3 min
Views30K
В нашей статье об эффективных ревью кода мы рекомендовали использовать чеклист. Чеклисты (контрольные списки) — это великая вещь в ревью: они гарантируют, что ревью действительно прошло через вашу команду. Также они способствуют выявлению и решению общих трудностей.

Исследование, проведенное Software Engineering Institute, показывает, что программисты делают 15-20 распространенных ошибок. Добавив такие ошибки в чеклист, вы можете быть уверены, что заметите их в момент появления и поможете от них избавиться надолго.

Чтобы вам было от чего отталкиваться, вот вам список типичных пунктов:
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments13

A/B тестирование: 70 ресурсов, которые послужат хорошим стартом для начинающих

Reading time10 min
Views118K
Сделать веб-сайт доходным можно двумя способами. Первый – привлекать больше трафика, второй – повышать конверсию, т.е. побуждать большее количество посетителей становиться покупателями. Скорее всего, вы уже слышали о том, что трафик можно просто купить – сотни интернет-ресурсов предлагают эту услугу. А не лучше ли оптимизировать конверсию? Как узнать, что именно нужно проверить, и как провести A/B тестирование?

А/В тестированию и оптимизации уровня конверсии посвящено бесчисленное количество ресурсов. Однако, очень редко на сайтах подробно разбирается весь этот процесс целиком от самого начала («Что и как тестировать?») и до конца («Как улучшить конверсию?»).
Читать дальше →
Total votes 62: ↑53 and ↓9+44
Comments5

Information

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