Что-то вообще на канале тихо стало, простите. Надеюсь, вы скучаете.
А у нас пока #экстравакансия от Антона. Он ищет себе напарника в американский стартап (https://securitytrails.com/). Хочется эликсирщика хорошего или отличного уровня. Работа удаленная, без привязки ко времени с остальными всеми самыми вкусными плюшки подобной работы.
Я Антона знаю, как крутого разработчика и офигенского эликсирщика. Самое классное, что скорее всего вы знаете Антона тоже, если пишете на эликсире. Антон — автор библиотеки espec.
Пишите ему в личку (@anton_mishchuk), он ответит на ваши вопросы.
А у нас пока #экстравакансия от Антона. Он ищет себе напарника в американский стартап (https://securitytrails.com/). Хочется эликсирщика хорошего или отличного уровня. Работа удаленная, без привязки ко времени с остальными всеми самыми вкусными плюшки подобной работы.
Я Антона знаю, как крутого разработчика и офигенского эликсирщика. Самое классное, что скорее всего вы знаете Антона тоже, если пишете на эликсире. Антон — автор библиотеки espec.
Пишите ему в личку (@anton_mishchuk), он ответит на ваши вопросы.
Утиная типизация настройки серверов.
Вот что такое «утиная типизация» знает почти каждый, но по совершено непонятной причине этот офигенский принцип обходит стороной настройку окружений.
Ребята, не существует продакшена, стейджинга или девелопмента. Есть кеширование, генерация статических файлов, обфускация, количество тредов, номер порта, пароль к базе данных и всё такое прочее. Вместо проверки константой ISPRODUCTION значительно правильней проверять отдельно CACHE и отдельно HOTRELOAD.
Да, многие сервисы и библиотеки полагаются на, скажем, NODEENV=production, чтобы вообще начать работать и да, в некоторых случаях допустимо выставлять дефолты, опираясь на NODEENV, но менять логику поведения всего приложения, основываясь на этой переменной ужасно плохо.
Вот что такое «утиная типизация» знает почти каждый, но по совершено непонятной причине этот офигенский принцип обходит стороной настройку окружений.
Ребята, не существует продакшена, стейджинга или девелопмента. Есть кеширование, генерация статических файлов, обфускация, количество тредов, номер порта, пароль к базе данных и всё такое прочее. Вместо проверки константой ISPRODUCTION значительно правильней проверять отдельно CACHE и отдельно HOTRELOAD.
Да, многие сервисы и библиотеки полагаются на, скажем, NODEENV=production, чтобы вообще начать работать и да, в некоторых случаях допустимо выставлять дефолты, опираясь на NODEENV, но менять логику поведения всего приложения, основываясь на этой переменной ужасно плохо.
Не спрашивайте как и зачем, но недавно я узнал об одном термине фитнес-моделей и не смог пройти мимо этой концепции.
У них там в бодибилдинге принято не отрабатывать съеденный сникерс, а зарабатывать на то, чтобы съесть эту вкусняшку. Поняли, да? Идея того, что съеденная вкуснятина будет отработана сполна даже не рассматривается и нет доверия даже к себе самому. «Наверняка я съем раз в десять больше калорий, чем потом отработаю. А вот если я сначала тяжелыми физическими упражнениями заработаю, то потом смогу съесть строго лимитированное количество вредной еды». Вполне обыденно для фитокачков и вообще не очевидно зачем об этом рассказывать в «Экстраполяции».
Короче, ребят. Нет никакого технического долга, не надо обманываться. Если хочется насрать в коде, нужно сначала заслужить эту привилегию тщательной уборкой уже существующего говна. Назовём это «привилегия говнокода», которое нужно ещё заслужить.
У них там в бодибилдинге принято не отрабатывать съеденный сникерс, а зарабатывать на то, чтобы съесть эту вкусняшку. Поняли, да? Идея того, что съеденная вкуснятина будет отработана сполна даже не рассматривается и нет доверия даже к себе самому. «Наверняка я съем раз в десять больше калорий, чем потом отработаю. А вот если я сначала тяжелыми физическими упражнениями заработаю, то потом смогу съесть строго лимитированное количество вредной еды». Вполне обыденно для фитокачков и вообще не очевидно зачем об этом рассказывать в «Экстраполяции».
Короче, ребят. Нет никакого технического долга, не надо обманываться. Если хочется насрать в коде, нужно сначала заслужить эту привилегию тщательной уборкой уже существующего говна. Назовём это «привилегия говнокода», которое нужно ещё заслужить.
Выдержка из чата с хештегом #dimoneverything от Дмитрия:
Сникерс жрут потому, что вкусно. Хочется удовольствия от сникерса, и ты можешь взять его в кредит, пообещав отдать в спортзале, а можешь купить за свои, расплатившись на беговой дорожке до того, как взять его в руки.
Не думаю, что кому-то сходное удовольствие доставляет поговнокодить. Ну вот прям ну очень хочется, потом возвращать технический долг запретили, надо сначала ради такой возможности сделать код красивым и качественным, а потом уже с чувством выполненного долга туда накакать.
Технический долг появляется по одной из двух причин:
1. Враги сожгли родной продакшен, Дима, я попросила Аарона и он уже создал для тебя хотфикс бранч, он называется
2. Человек, берущий технический долг, не думает, что он сейчас берёт технический долг. В этом случае требование сначала заплатить долг, прежде чем брать новый, выдвинуть может только ревьювер, и логично, что вместо этого он предложит исправить собственно сам пулл-реквест. Мало того, человек, берущий технический долг именно по этой, второй причине, по определению не в состоянии сам оплатить ни этот долг, ни предыдущие.
Сникерс жрут потому, что вкусно. Хочется удовольствия от сникерса, и ты можешь взять его в кредит, пообещав отдать в спортзале, а можешь купить за свои, расплатившись на беговой дорожке до того, как взять его в руки.
Не думаю, что кому-то сходное удовольствие доставляет поговнокодить. Ну вот прям ну очень хочется, потом возвращать технический долг запретили, надо сначала ради такой возможности сделать код красивым и качественным, а потом уже с чувством выполненного долга туда накакать.
Технический долг появляется по одной из двух причин:
1. Враги сожгли родной продакшен, Дима, я попросила Аарона и он уже создал для тебя хотфикс бранч, он называется
hotfix/2019.11.04
, лупашь, всё лежит, QA-инженеры обосрались. В этой ситуации сказать, что у нас уже превышен кредитный лимит и давай я сначала порефакторю невозможно.2. Человек, берущий технический долг, не думает, что он сейчас берёт технический долг. В этом случае требование сначала заплатить долг, прежде чем брать новый, выдвинуть может только ревьювер, и логично, что вместо этого он предложит исправить собственно сам пулл-реквест. Мало того, человек, берущий технический долг именно по этой, второй причине, по определению не в состоянии сам оплатить ни этот долг, ни предыдущие.
Многие воспринимают гит, как инструмент для синхронизации кода между разработчиками. Признаков у такого подхода несколько: один коммит в день, пулл реквест с названием «dashboard-v2», постоянное использование команды «git add .», оправдание «я не пушу, потому что не закончил» и всякое такое подобное. Этот подход настолько плох, что минусы и недостатки даже перечислять не хочется.
Гит — это и есть инструмент манипуляции кодом. Разработчик не добавляет классы и методы, разработчик делает пулл реквесты. Разработчик не фиксит баги, а делает пулл реквесты. И как следствие уже в результате этих пулл реквестов появляются фичи и исчезают баги. И иногда наоборот.
К репозиторию нужен относится, как к в принципе единственному способу менять проект.
Гит — это и есть инструмент манипуляции кодом. Разработчик не добавляет классы и методы, разработчик делает пулл реквесты. Разработчик не фиксит баги, а делает пулл реквесты. И как следствие уже в результате этих пулл реквестов появляются фичи и исчезают баги. И иногда наоборот.
К репозиторию нужен относится, как к в принципе единственному способу менять проект.
Интересная штука этот ваш говнокод.
Одни говорят, типа, говнокодить можно, если «бизнес просит». Другие говорят, что плохой код писать нельзя, а можно только меньше фич делать. И вроде бы оба правы и спорить бесполезно как с первыми, так и со вторыми. К тому же само понятие «говнокод» слишком субъективно и нужно сначала абзаца три спорить о термине. И мы даже уже спорили об этом и критериев понапридумали даже.
Есть один принцип, по которому можно на всех законных основаниях написать то, что разработчики после вас назовут «техническим долгом» и даже пофиксят. Идея в том, что ни один говнокод в мире не должен нарушать абстракцию, в рамках которого написан этот говнокод. Пока ваш код остаётся в рамках того модуля, в котором определен, говнокодьте себе на здоровье.
Одни говорят, типа, говнокодить можно, если «бизнес просит». Другие говорят, что плохой код писать нельзя, а можно только меньше фич делать. И вроде бы оба правы и спорить бесполезно как с первыми, так и со вторыми. К тому же само понятие «говнокод» слишком субъективно и нужно сначала абзаца три спорить о термине. И мы даже уже спорили об этом и критериев понапридумали даже.
Есть один принцип, по которому можно на всех законных основаниях написать то, что разработчики после вас назовут «техническим долгом» и даже пофиксят. Идея в том, что ни один говнокод в мире не должен нарушать абстракцию, в рамках которого написан этот говнокод. Пока ваш код остаётся в рамках того модуля, в котором определен, говнокодьте себе на здоровье.
Формулировка мысли.
В одном известном афоризме говорится о том, что знание считается усвоенным, если его можно объяснить простым языком, но вот оказывается, что понять что-то можно гораздо раньше, чем это смочь объяснить. И отсюда два вывода:
1. Если разработчик не может что-то объяснить, это не значит, что он этого не знает. Это стоит учитывать на собеседованиях.
2. Объяснить можно пытаться только технологию, в которой разобрался очень хорошо. Попытка делать доклады по только что прочитанным ридми проваливается полностью.
В одном известном афоризме говорится о том, что знание считается усвоенным, если его можно объяснить простым языком, но вот оказывается, что понять что-то можно гораздо раньше, чем это смочь объяснить. И отсюда два вывода:
1. Если разработчик не может что-то объяснить, это не значит, что он этого не знает. Это стоит учитывать на собеседованиях.
2. Объяснить можно пытаться только технологию, в которой разобрался очень хорошо. Попытка делать доклады по только что прочитанным ридми проваливается полностью.
Ну, ладно, сам афоризм приписывают Ричарду Фейману и я думал его все знают.
«Если вы учёный, квантовый физик, и не можете в двух словах объяснить пятилетнему ребёнку, чем вы занимаетесь, — вы шарлатан».
«Если вы учёный, квантовый физик, и не можете в двух словах объяснить пятилетнему ребёнку, чем вы занимаетесь, — вы шарлатан».
В работе из дому многие жалуются на то, что очень тяжело переключаться между работой и домашними делами. В принципе, из-за этого многие валят в коворкинг если работают из кафе. Можно этого же эффекта рабочей обстановки добиваться и более простыми способами, но способ нужно выбрать каждому самому, универсального рецепта нет. Есть только подход.
А идея в том, чтобы искусственно создать рабочую атмосферу. Садишься работать — одень рубашку и штаны, выдели отдельную комнату для работы, в которой ничего нельзя делать, кроме работы, возьми отдельный ноутбук для работы, купи отдельную клавиатуру и мышь для работы. На крайний случай создай два профиля в операционной системе или поменяй темную тему на светлую. Можно делать несколько таких ритуалов, но главное делать это каждый раз перед работой и не делать это во всех остальных случаях. Первую неделю будет непонятно и не совсем комфортно, но потом рабочий лад будет настраиваться по ритуалу.
В рабочем режиме ни в коем случае нельзя делать то, что отвлекает. Хочется открыть одноклассники или косынку — перелогинься, переоденься, выйди из комнаты и поменяй клавиатуру. Зато потом не будет хотеться открыть фейсбук или ютуб, запустить игру или почитать новости во время работы.
А идея в том, чтобы искусственно создать рабочую атмосферу. Садишься работать — одень рубашку и штаны, выдели отдельную комнату для работы, в которой ничего нельзя делать, кроме работы, возьми отдельный ноутбук для работы, купи отдельную клавиатуру и мышь для работы. На крайний случай создай два профиля в операционной системе или поменяй темную тему на светлую. Можно делать несколько таких ритуалов, но главное делать это каждый раз перед работой и не делать это во всех остальных случаях. Первую неделю будет непонятно и не совсем комфортно, но потом рабочий лад будет настраиваться по ритуалу.
В рабочем режиме ни в коем случае нельзя делать то, что отвлекает. Хочется открыть одноклассники или косынку — перелогинься, переоденься, выйди из комнаты и поменяй клавиатуру. Зато потом не будет хотеться открыть фейсбук или ютуб, запустить игру или почитать новости во время работы.
Учим современную бизнес-лексику. Если кому-то говоришь «пшел вон» и не уточняешь куда конкретно, то ты ментор. А если уточняешь куда ему конкретно идти — ты коуч. А если при этом объясняешь как быстро и что будет, если он не пойдет — ты тьютор.
Ребята, затишье в «Экстраполяции» было не зря, я считаю. Мы тут второй сезон «Лямбдашоу» запилили. Анонс и самореклама вот прям вот тут:
https://www.youtube.com/watch?v=OQYs3URQ8Sw
Лайки, сабскрайбы и вот это вот всё.
https://www.youtube.com/watch?v=OQYs3URQ8Sw
Лайки, сабскрайбы и вот это вот всё.
YouTube
"Лямбдашоу", анонс второго сезона.
#lambdanightshow #lambdashow
Совершенно неожиданно, как коронавирус в Италии, нагрянул второй сезон "Лямбдашоу". Новый формат, новые герои, новая цель и старые мы. Потирайте жадно ручки и оставайтесь на проводе!
Совершенно неожиданно, как коронавирус в Италии, нагрянул второй сезон "Лямбдашоу". Новый формат, новые герои, новая цель и старые мы. Потирайте жадно ручки и оставайтесь на проводе!
Итак, первое видео нового сезона будет из рубрики «Lambda Short Stories» и в нем Павел Суйков коротко расскажет о том, что же такое Лямбда-куб.
А если поделитесь этим видео в чатиках с коллегами, то тогда таких видео станет больше.
https://www.youtube.com/watch?v=b0YSHqul7I0
А если поделитесь этим видео в чатиках с коллегами, то тогда таких видео станет больше.
https://www.youtube.com/watch?v=b0YSHqul7I0
Ребята, так как сейчас все работают из дому, проблема окружающих шумов во время аудиоразговоров стала острее всех других.
Когда-то, во времена бета-версии, я пользовался программой krisp.ai, которая убирает фоновые шумы и делает это достаточно качественно. В общем, пять баксов в месяц, чтобы ваши собеседники не слышали плач ребёнка и перфоратор соседа того стоят, уверен.
Когда-то, во времена бета-версии, я пользовался программой krisp.ai, которая убирает фоновые шумы и делает это достаточно качественно. В общем, пять баксов в месяц, чтобы ваши собеседники не слышали плач ребёнка и перфоратор соседа того стоят, уверен.
Krisp
Krisp - AI Meeting Assistant with Built-In Noise Cancellation
Krisp cancels background noise, records, transcribes, and summarizes meetings and calls.
Очередной раз обсуждали тему контроля удаленных сотрудников. Для тех, кто обычно работает в офисах и сейчас находится на вынужденной удаленке и все процессы настроены под личный контакт, это прям больно должно быть.
Мы же, как будто всегда готовились к пандемиям и работу свою настроили так, что принципиально не важно как и где находится коллега. К слову, об этом мы говорили с Евгением Выборовым (техдиректором из YayPay) в последнем выпуске лямбдашоу. Не буду повторяться и пересказывать видео, лучше посмотрите.
А тут я хотел рассказать о том, что важным пунктом в настройке удаленной работы в команде является доверие к сотрудникам.
Абсолютно плевать есть ли следящая программа с пробегом мыши, есть ли красная кнопка на стуле и как быстро отвечает собеседник в чате. Если проверяющий не доверяет сотруднику, работать не будет ничего.
Опять же, в сложных иерархиях структуры компании все сильно усложняется. Твой тимлид вполне может доверять тебе, но вот у его начальника может не быть доверия к тимлиду и пробег мыши будут менять у обычного разработчика.
В общем, если нет доверия к сотруднику, лучше распрощаться и найти кого-то с доверием, а не вводить деспотизм, как форму правления в команде.
И наоборот, если вас заставляют ставить следящие программы на компьютер, значит вам не доверяют. И что делать с этой информацией — решать вам.
Мы же, как будто всегда готовились к пандемиям и работу свою настроили так, что принципиально не важно как и где находится коллега. К слову, об этом мы говорили с Евгением Выборовым (техдиректором из YayPay) в последнем выпуске лямбдашоу. Не буду повторяться и пересказывать видео, лучше посмотрите.
А тут я хотел рассказать о том, что важным пунктом в настройке удаленной работы в команде является доверие к сотрудникам.
Абсолютно плевать есть ли следящая программа с пробегом мыши, есть ли красная кнопка на стуле и как быстро отвечает собеседник в чате. Если проверяющий не доверяет сотруднику, работать не будет ничего.
Опять же, в сложных иерархиях структуры компании все сильно усложняется. Твой тимлид вполне может доверять тебе, но вот у его начальника может не быть доверия к тимлиду и пробег мыши будут менять у обычного разработчика.
В общем, если нет доверия к сотруднику, лучше распрощаться и найти кого-то с доверием, а не вводить деспотизм, как форму правления в команде.
И наоборот, если вас заставляют ставить следящие программы на компьютер, значит вам не доверяют. И что делать с этой информацией — решать вам.
Есть идея организовать прямую трансляцию и поговорить о том, что поменялось в процессах в разработке с вынужденной удалённой работой. Будет несколько гостей, с которыми, собственно, и будем это обсуждать. Ориентируемся пока на пятницу, но это не точно.
Как вам идея?
Как вам идея?
В этот раз, в Лямбдашоу в гостях был Влад Пранскевичус, основатель letsenhance.io и он рассказал о сложностях планирования проектов с машинным обучением. А это, черт побери, не сайтики рисовать. Смотрите сами:
https://youtu.be/utEV6wSvXBo
https://youtu.be/utEV6wSvXBo
Поразительно как точные науки научились систематизировать открытия. И принцип «научного метода» до одури простой: внимательно наблюдай и систематизируй. В Экстраполяции даже об этом было уже, но там было про css, а сейчас хочется вообще о программировании.
Очень важно строить такие абстракции, которые соответствуют реальным процессам. Например, если в компании три отдела и данные между отделами передают строго по процедуре, то архитектура в три сервиса будет лучше монолита. Или если в приложении отдельная штука бывает законченной и незаконченной, то конечный автомат из двух состояний будет правильней поля логического типа.
Если классифицировать все причины важности, то их по сути три:
1. Улучшения и изменения системы. Попросить поменять могут что угодно и когда угодно и нужно быть к этому готовым. Чем прямее код соответсвует реальным процессам, тем проще вносить изменения, которые могут попросить.
2. Красивый легаси. Задачи всегда ставятся по процессам, а не по коду и с прямыми абстракциями сильно легче разобраться в незнакомом участке кода.
3. Автотесты по процессам. Прямые абстракции проще всего тестировать, ведь логику тестов и все нюансы скорее всего записаны в описании к задаче.
Собственно, часть работы программиста и состоит в том, чтобы правильно распознавать такие абстракции и предупреждать неправильное использование подходов и паттернов.
Очень важно строить такие абстракции, которые соответствуют реальным процессам. Например, если в компании три отдела и данные между отделами передают строго по процедуре, то архитектура в три сервиса будет лучше монолита. Или если в приложении отдельная штука бывает законченной и незаконченной, то конечный автомат из двух состояний будет правильней поля логического типа.
Если классифицировать все причины важности, то их по сути три:
1. Улучшения и изменения системы. Попросить поменять могут что угодно и когда угодно и нужно быть к этому готовым. Чем прямее код соответсвует реальным процессам, тем проще вносить изменения, которые могут попросить.
2. Красивый легаси. Задачи всегда ставятся по процессам, а не по коду и с прямыми абстракциями сильно легче разобраться в незнакомом участке кода.
3. Автотесты по процессам. Прямые абстракции проще всего тестировать, ведь логику тестов и все нюансы скорее всего записаны в описании к задаче.
Собственно, часть работы программиста и состоит в том, чтобы правильно распознавать такие абстракции и предупреждать неправильное использование подходов и паттернов.
Telegram
Экстраполяция IT
Буквально вчера в разговоре сформулировали очень хорошую аналогию с вёрсткой. Она прям настолько хороша, что нравится мне при всей нелюбви к аналогиям в целом.
Итак, физика (наука).
У ученых-физиков есть только один внятный способ выводить законы и находить…
Итак, физика (наука).
У ученых-физиков есть только один внятный способ выводить законы и находить…
Ребята, мы таки настроили работу с гит сабмодулями в нашей сервисной архитектуре, наступили на кучу граблей и сделали пачку костылей. Год назад в «Экстраполяции» я описывал причины почему этого захотелось и получил много справедливой критики в ответ. Где-то тогда и было решено попробовать эту систему в боевых условиях. Прошёл год и система работает довольно хорошо и стабильно с некоторыми нюансами:
1. Обновление сабмодуля в десяти сервисах — дело неблагодарное и рутинное. Мы сделали сиай-скрипт, который при релизе конкретного модуля делает по пулл реквесту в каждый репозиторий, где он сабмодуль. В итоге вручную обновлять сабмодули практически никогда не нужно.
2. Всячески избегаем саб-сабмодулей. Такие зависимости становятся логически сложными и неудобными в поддержке. И да, во всех случаях, когда в сабмодуле хочется ещё один сабмодуль — это всегда костыль и это легко решается правильно выбранной архитектурой.
3. Не все языки и фреймворки готовы к такому. Скажем, джаваскриптовый npm к такому не готов, а вот yarn имеет опцию workspaces, которая ведёт себя ровно так, как хочется.
4. Автотесты становятся просто необходимыми. Без них уж очень много ручной необходимой работы.
5. Публичными зависимостями и их версиями нужно управлять автоматически. У нас настроен бот renovate, который каждое утро делает пулл реквесты с обновлением всех зависимостей во всех репозиториях. Ещё в планах настроить правильный автомерж таких вот пулл реквестов, но пока приходится вручную.
6. Нужна жесткая фиксация версий внешних зависимостей. Никаких ">= 1.14", только "1.14.5". Так и обновлять легче и синхронизировать удобнее.
7. Изменения в сабмодули вносить стало очень удобно. Просто
8. Всего-то пару настроек в гите и работа с субмодулями становится такой же, как и без сабмодулей. Все твики и хуки легко можно нагуглить.
В общем, всё, что можно автоматизировано, изменения делать удобно, лишней бюрократии нет. Сплошные плюсы.
1. Обновление сабмодуля в десяти сервисах — дело неблагодарное и рутинное. Мы сделали сиай-скрипт, который при релизе конкретного модуля делает по пулл реквесту в каждый репозиторий, где он сабмодуль. В итоге вручную обновлять сабмодули практически никогда не нужно.
2. Всячески избегаем саб-сабмодулей. Такие зависимости становятся логически сложными и неудобными в поддержке. И да, во всех случаях, когда в сабмодуле хочется ещё один сабмодуль — это всегда костыль и это легко решается правильно выбранной архитектурой.
3. Не все языки и фреймворки готовы к такому. Скажем, джаваскриптовый npm к такому не готов, а вот yarn имеет опцию workspaces, которая ведёт себя ровно так, как хочется.
4. Автотесты становятся просто необходимыми. Без них уж очень много ручной необходимой работы.
5. Публичными зависимостями и их версиями нужно управлять автоматически. У нас настроен бот renovate, который каждое утро делает пулл реквесты с обновлением всех зависимостей во всех репозиториях. Ещё в планах настроить правильный автомерж таких вот пулл реквестов, но пока приходится вручную.
6. Нужна жесткая фиксация версий внешних зависимостей. Никаких ">= 1.14", только "1.14.5". Так и обновлять легче и синхронизировать удобнее.
7. Изменения в сабмодули вносить стало очень удобно. Просто
cd submodulename
и уже там работаешь с сабмодулем непосредственно. А в родительском репозитории можно даже коммитить изменения дочернего, чтобы оно вместе работало. Потом с релизом дочернего всё станет, как должно быть.8. Всего-то пару настроек в гите и работа с субмодулями становится такой же, как и без сабмодулей. Все твики и хуки легко можно нагуглить.
В общем, всё, что можно автоматизировано, изменения делать удобно, лишней бюрократии нет. Сплошные плюсы.
Ребята, кому эликсира? Наш хорошо знакомый эликсирклуб организует встречу с Андреа Леопарди, который один из разработчиков языка первого круга. Рассказывать будет про OTP и уверен, даже те, кто пишут на эликсире, узнают что-то новое обязательно. Детали по ссылке, нам традиционная десятинная скидка по коду
https://www.facebook.com/events/293583834971044/?active_tab=discussion
extrapolation
https://www.facebook.com/events/293583834971044/?active_tab=discussion
Facebook
Online Training "OTP in Elixir"
We invite you to pass a training “OTP in Elixir”.
It is an online 6 hours training splitted on 2 days Friday and Saturday.
Concurrency, resiliency, and fault-tolerance are among the most...
It is an online 6 hours training splitted on 2 days Friday and Saturday.
Concurrency, resiliency, and fault-tolerance are among the most...
Ух, давно ничего не писал. Не подумайте, что нечего писать, периодически что-то как начну писать, но мысль выходит слишком недоформулированной или безопеляционной. Вроде «прежде чем программировать, выясните зачем у вас это вот просят». Гениальная мысль, я знаю.
А вот сформулировать мысль получилось о современных микрофонах и удаленном общении.
Качество звука в онлайн-разговорах может зависеть от множества факторов, вроде пропускного канала интернета или шума вокруг. И если с шумом вокруг можно что-то сделать, а качество интернет-соединения более-менее приемлимое уже везде, то вот остальные факторы просто игнорируются большинством.
1. Микрофон. Хватит разговаривать в тапок, купите уже наконец нормальный микрофон. Купленная за десять долларов гарнитура вот уж никак не обеспечит приятное звучание вашего голоса для собеедника. Она будет фонить, рипеть чихать и трещать, а вот вам будет казаться, что все отлично.
2. Блютуз. Беспроводные наушники — это безусловно хорошо, особенно модные эйпродсы или любые другие аналоги. В некоторых случаях операционная система понижает битрейт передачи данных и звук становится такой, как будто разговариваешь по мобиле в девяностых. Экспериментируйте и гуглите чтобы решить эту проблему.
3. Вебкамера. Посмотрите внимательно что находится за вами — там не должно быть ничего провокационного и черезчур домашнего. Никаких сушилок для белья или семейных портретов. Откорректируйте угол обзора вебкамеры и расстояние до неё — никому не интересно смотреть на часть вашего лба и бровей в пол экрана.
4. Внешний вид. Про одежду и прическу банальности говорить не буду, но вот во время разговора ничего не жуйте и не пейте. В половине случаев будут слышны ваши чавкания, а во второй половине случаев собеседник будет недоумевать почему вы делаете такие странные паузы посреди предложения.
В качестве проверки, возьмите и запишите свой голос в аудиодорожку и послушайте как это звучит. Прям вообще в качестве энд-ту-энд тестирования попросите своего коллегу записать ваш разговор и послушайте это аудио. Уверен, большинство удивится насколько дерьмово его слышно и видно на том конце провода.
И вместо послесловия добавлю: помните, что качество звука и картинки для собеседника будет играть весьма внушительную роль в составлении общего впечатления от разговора. Если надо кого-то в чём-то убедить, используйте для этого всё, что вам доступно.
А вот сформулировать мысль получилось о современных микрофонах и удаленном общении.
Качество звука в онлайн-разговорах может зависеть от множества факторов, вроде пропускного канала интернета или шума вокруг. И если с шумом вокруг можно что-то сделать, а качество интернет-соединения более-менее приемлимое уже везде, то вот остальные факторы просто игнорируются большинством.
1. Микрофон. Хватит разговаривать в тапок, купите уже наконец нормальный микрофон. Купленная за десять долларов гарнитура вот уж никак не обеспечит приятное звучание вашего голоса для собеедника. Она будет фонить, рипеть чихать и трещать, а вот вам будет казаться, что все отлично.
2. Блютуз. Беспроводные наушники — это безусловно хорошо, особенно модные эйпродсы или любые другие аналоги. В некоторых случаях операционная система понижает битрейт передачи данных и звук становится такой, как будто разговариваешь по мобиле в девяностых. Экспериментируйте и гуглите чтобы решить эту проблему.
3. Вебкамера. Посмотрите внимательно что находится за вами — там не должно быть ничего провокационного и черезчур домашнего. Никаких сушилок для белья или семейных портретов. Откорректируйте угол обзора вебкамеры и расстояние до неё — никому не интересно смотреть на часть вашего лба и бровей в пол экрана.
4. Внешний вид. Про одежду и прическу банальности говорить не буду, но вот во время разговора ничего не жуйте и не пейте. В половине случаев будут слышны ваши чавкания, а во второй половине случаев собеседник будет недоумевать почему вы делаете такие странные паузы посреди предложения.
В качестве проверки, возьмите и запишите свой голос в аудиодорожку и послушайте как это звучит. Прям вообще в качестве энд-ту-энд тестирования попросите своего коллегу записать ваш разговор и послушайте это аудио. Уверен, большинство удивится насколько дерьмово его слышно и видно на том конце провода.
И вместо послесловия добавлю: помните, что качество звука и картинки для собеседника будет играть весьма внушительную роль в составлении общего впечатления от разговора. Если надо кого-то в чём-то убедить, используйте для этого всё, что вам доступно.