Кино на выходные
Продолжаем подборку любимых фильмов о времени.
Эффект бабочки 2003 года поднимает вопрос влияния на историю в классической постановке фантастов. Может ли незначительное изменение прошлого изменить будущее? Рассказывается история Эвана, способного возвращаться в прошлое. У фильма несколько концовок. Режиссёрская версия заслуживает просмотра. Популярность фильма обеспечила выход двух совершенно провальных сиквелов.
Исходный код 2011 года показывает интересную возможность детективного расследования инцидента в прошлом за счёт перемещения сознания. Имитация реальности наше всё.
Для совместного времяпрепровождения отличным решением может быть мелодрама Кейт и Лео 2001 года. Хью Джекман в роли герцога из прошлого, оказавшегося в нашем времени. Кино оставляет приятные впечатления.
Нельзя не вспомнить Невероятные приключения Билла и Теда 1989 года. Молодой Киану Ривз уже тогда был хорош. Неплохая комедия своего времени.
В прошлые разы мы вспоминали Назад в будущее и фильмы о зацикленном времени. Приятного просмотра.
#fun #films
Продолжаем подборку любимых фильмов о времени.
Эффект бабочки 2003 года поднимает вопрос влияния на историю в классической постановке фантастов. Может ли незначительное изменение прошлого изменить будущее? Рассказывается история Эвана, способного возвращаться в прошлое. У фильма несколько концовок. Режиссёрская версия заслуживает просмотра. Популярность фильма обеспечила выход двух совершенно провальных сиквелов.
Исходный код 2011 года показывает интересную возможность детективного расследования инцидента в прошлом за счёт перемещения сознания. Имитация реальности наше всё.
Для совместного времяпрепровождения отличным решением может быть мелодрама Кейт и Лео 2001 года. Хью Джекман в роли герцога из прошлого, оказавшегося в нашем времени. Кино оставляет приятные впечатления.
Нельзя не вспомнить Невероятные приключения Билла и Теда 1989 года. Молодой Киану Ривз уже тогда был хорош. Неплохая комедия своего времени.
В прошлые разы мы вспоминали Назад в будущее и фильмы о зацикленном времени. Приятного просмотра.
#fun #films
Кинопоиск
«Эффект бабочки» (The Butterfly Effect, 2003)
🎬 Эван перенял от своего отца-психопата, ныне запертого в доме для умалишённых, странную болезнь — он не помнит некоторых эпизодов своей жизни, причем в эти моменты происходили довольно странные, а то и ужасные события. Поступив в колледж, Эван делает удивительное…
⚡4🔥4❤2👍1
ИИ на службе мошенников
Технология deepfake уже лет 5 известна широкой публике. Замена лиц на видеозаписях получается всё качественнее, а артефактов на изображении всё меньше. Изменять таким образом можно не только видео, но и аудио, причём в режиме реального времени.
В 2019 состоялся один из самых первых известных случаев применения искусственного интеллекта мошенниками. В новостной статье Fraudsters Used AI to Mimic CEO’s Voice in Unusual Cybercrime Case (русскоязычная статья по мотивам) рассказывается об этом случае. Мошенник позвонил исполнительному директору компании, представился генеральным директором и велел срочно перевести 220 тысяч евро поставщику. Из-за использования программы коррекции голоса мошенник звучал в точности как гендир, с учётом акцента и других особенностей голоса.
Скомпрометированный пароль можно сменить, утраченный токен отозвать. Проблема биометрии в том, что после компрометации сделать ничего нельзя.
С высокой вероятностью, злоумышленник также знал внутренние особенности компании, например, наличие срочных переводов по звонку. Тогда можно этот случай ещё и пример социальной инженерии, о которой мы писали ранее.
#skills #datascience
Технология deepfake уже лет 5 известна широкой публике. Замена лиц на видеозаписях получается всё качественнее, а артефактов на изображении всё меньше. Изменять таким образом можно не только видео, но и аудио, причём в режиме реального времени.
В 2019 состоялся один из самых первых известных случаев применения искусственного интеллекта мошенниками. В новостной статье Fraudsters Used AI to Mimic CEO’s Voice in Unusual Cybercrime Case (русскоязычная статья по мотивам) рассказывается об этом случае. Мошенник позвонил исполнительному директору компании, представился генеральным директором и велел срочно перевести 220 тысяч евро поставщику. Из-за использования программы коррекции голоса мошенник звучал в точности как гендир, с учётом акцента и других особенностей голоса.
Скомпрометированный пароль можно сменить, утраченный токен отозвать. Проблема биометрии в том, что после компрометации сделать ничего нельзя.
С высокой вероятностью, злоумышленник также знал внутренние особенности компании, например, наличие срочных переводов по звонку. Тогда можно этот случай ещё и пример социальной инженерии, о которой мы писали ранее.
#skills #datascience
The Wall Street Journal
Fraudsters Used AI to Mimic CEO’s Voice in Unusual Cybercrime Case
Criminals used artificial intelligence-based software to impersonate a chief executive’s voice and demand a fraudulent transfer of funds in March in what cybercrime experts described as an unusual case of artificial intelligence being used in hacking.
⚡6❤3👍3🔥1
Git — исход
Удивительные факты:
— при разработке Linux системы контроля версий (СКВ) уже существовали*, но долгое время не использовались. Все изменения приходили по email в виде набора патчей Линусу.
— BitKeeper стал первой СКВ, которую начали использовать при разработке Linux. Ирония в том, что для символа open source использовали СКВ с закрытым исходным кодом и очень ограничивающей лицензией.
А git так возможно и не появился бы, если не одно НО. Об этом можно почитать в захватывающей статье со скучным названием A Git Origin Story.
*Linux был опубликован в 1991. Первая СКВ была создана в 1982 году — RCS. В 2000 появился BitKeeper.
#procode
Удивительные факты:
— при разработке Linux системы контроля версий (СКВ) уже существовали*, но долгое время не использовались. Все изменения приходили по email в виде набора патчей Линусу.
— BitKeeper стал первой СКВ, которую начали использовать при разработке Linux. Ирония в том, что для символа open source использовали СКВ с закрытым исходным кодом и очень ограничивающей лицензией.
А git так возможно и не появился бы, если не одно НО. Об этом можно почитать в захватывающей статье со скучным названием A Git Origin Story.
*Linux был опубликован в 1991. Первая СКВ была создана в 1982 году — RCS. В 2000 появился BitKeeper.
#procode
😁5❤3🌭3⚡1
Docker. Практические советы
Мы активно пропагандируем использовать Docker для разработки и прода. Он упрощает управление зависимостями, позволяет в один клик поднимать окружение разработчика, обеспечивает стабильность деплоя и многое другое.
В статье Docker Best Practices for Python Developers собран полный набор практических советов по работе с докером. Важными считаем:
— располагать в docker файле команды в правильном порядке
— минимизировать количество слоёв в образе
— не запускать процессы от рута
— понимать разницу entrypoint и cmd
— использовать multi stage сборку
— использовать маленькие базовые образы
От себя дополним статью:
— вместо sudo docker... настройте запуск Docker as a non-root user
— замените устаревший docker-compose на docker compose. В свежих версиях compose является частью докера
— в compose файле можно не указывать поле version
Если знаете другие полезные советы напишите, пожалуйста, о них в комментариях.
#skills #docker
Мы активно пропагандируем использовать Docker для разработки и прода. Он упрощает управление зависимостями, позволяет в один клик поднимать окружение разработчика, обеспечивает стабильность деплоя и многое другое.
В статье Docker Best Practices for Python Developers собран полный набор практических советов по работе с докером. Важными считаем:
— располагать в docker файле команды в правильном порядке
— минимизировать количество слоёв в образе
— не запускать процессы от рута
— понимать разницу entrypoint и cmd
— использовать multi stage сборку
— использовать маленькие базовые образы
От себя дополним статью:
— вместо sudo docker... настройте запуск Docker as a non-root user
— замените устаревший docker-compose на docker compose. В свежих версиях compose является частью докера
— в compose файле можно не указывать поле version
Если знаете другие полезные советы напишите, пожалуйста, о них в комментариях.
#skills #docker
testdriven.io
Docker Best Practices for Python Developers
This article looks at several best practices to make your Dockerfiles and images cleaner, leaner, and more secure.
👍10🔥3❤2⚡1
Завышать ли опыт в резюме?
Раскроем мысль приукрашивания резюме из прошлого поста. Начнём издалека. Сотрудник отдела кадров (HR) просматривает поток резюме на предмет первичного соответствия вакансии. Можно сказать, что это такой человеческий grep по ключевым словам с целью отбраковки неподходящих резюме. Завышение опыта в резюме увеличивает шанс пройти скрининг и попасть на собеседование с техническим специалистом.
На техническом собеседовании уже никому нет дела до циферок, которые вы указали в резюме. Проверяют ваши реальные навыки. Или бездумно копируют методы собеседования из FAANG и спрашивают, почему люки круглые. К таким нужно относиться настороженно.
Завысить опыт можно, но важно отличать преувеличение от вранья. Если преувеличение сложно выявить, то враньё распознается очень просто. Полгода и год опыта стоят рядом, а между "нет опыта" и "5 лет опыта" есть заметная невооружённым взглядом разница. Стоит также помнить, что количественный показатель опыта относителен. Год опыта однотипного клепания сайтов — не то же самое, что год работы над высоконагруженным проектом в команде сильных разработчиков. Эту разницу grep от HR не в состоянии оценить.
При этом не следует приписывать себе несуществующие навыки. Не надо указывать в резюме технологию, о которой что-то слышали. Добавляйте в резюме только те технологии, в которых разбираетесь выше уровня hello world.
Зарплатная вилка вакансии часто не является жёсткой. Если вы не тянете на вакансию, но выглядите перспективным, вам могут предложить ниже вилки. Если вы показываете себя блестяще, то оффер может быть и выше вилки.
Помните: собеседование всегда заканчивается хорошо. Вы получаете либо оффер, либо ценный опыт.
#devfm #edu #резюме
Раскроем мысль приукрашивания резюме из прошлого поста. Начнём издалека. Сотрудник отдела кадров (HR) просматривает поток резюме на предмет первичного соответствия вакансии. Можно сказать, что это такой человеческий grep по ключевым словам с целью отбраковки неподходящих резюме. Завышение опыта в резюме увеличивает шанс пройти скрининг и попасть на собеседование с техническим специалистом.
На техническом собеседовании уже никому нет дела до циферок, которые вы указали в резюме. Проверяют ваши реальные навыки. Или бездумно копируют методы собеседования из FAANG и спрашивают, почему люки круглые. К таким нужно относиться настороженно.
Завысить опыт можно, но важно отличать преувеличение от вранья. Если преувеличение сложно выявить, то враньё распознается очень просто. Полгода и год опыта стоят рядом, а между "нет опыта" и "5 лет опыта" есть заметная невооружённым взглядом разница. Стоит также помнить, что количественный показатель опыта относителен. Год опыта однотипного клепания сайтов — не то же самое, что год работы над высоконагруженным проектом в команде сильных разработчиков. Эту разницу grep от HR не в состоянии оценить.
При этом не следует приписывать себе несуществующие навыки. Не надо указывать в резюме технологию, о которой что-то слышали. Добавляйте в резюме только те технологии, в которых разбираетесь выше уровня hello world.
Зарплатная вилка вакансии часто не является жёсткой. Если вы не тянете на вакансию, но выглядите перспективным, вам могут предложить ниже вилки. Если вы показываете себя блестяще, то оффер может быть и выше вилки.
Помните: собеседование всегда заканчивается хорошо. Вы получаете либо оффер, либо ценный опыт.
#devfm #edu #резюме
Telegram
DevFM
История поиска работы "Борис опять"
Недавно вышла интересная серия постов о поиске работы machine learning-инженером. Пожалуй, самое ценное в ней — личный опыт и нешаблонные советы автора. История ещё не закончена, автор продолжает рассказывать о своём опыте…
Недавно вышла интересная серия постов о поиске работы machine learning-инженером. Пожалуй, самое ценное в ней — личный опыт и нешаблонные советы автора. История ещё не закончена, автор продолжает рассказывать о своём опыте…
👍13❤4🔥3⚡1
Технический долг
В статье Мартина Фаулера TechnicalDebt (перевод) описана проблема технического долга. Когда быстро сделал костыль здесь и сейчас для решения задачи, то есть словно взял кредит. Через полгода из-за этого решения потратил время на поиск бага — выплатил долг по кредиту.
Будьте внимательны! Нередко написать правильно и без технического долга по времени занимает столько же, сколько написать неправильно. Например, начинающие разработчики часто полагают, что юнит-тесты отнимают у них время, не осознавая, сколько потом времени тратится на отладку.
#procode
В статье Мартина Фаулера TechnicalDebt (перевод) описана проблема технического долга. Когда быстро сделал костыль здесь и сейчас для решения задачи, то есть словно взял кредит. Через полгода из-за этого решения потратил время на поиск бага — выплатил долг по кредиту.
Будьте внимательны! Нередко написать правильно и без технического долга по времени занимает столько же, сколько написать неправильно. Например, начинающие разработчики часто полагают, что юнит-тесты отнимают у них время, не осознавая, сколько потом времени тратится на отладку.
#procode
martinfowler.com
bliki: Technical Debt
Technical Debt is a metaphor for the consequences of cruft. You either have to accept a drag on further features (paying interest) or fix the software (paying the principal)
👍7⚡3❤1🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Решение задачи
На самом деле в задаче два важных момента на понимание работы python: копирование объектов и изменяемость типов.
По умолчанию копирование поверхностное. При копировании дублируется самый внешний контейнер и заполняется ссылками на те же элементы, что хранятся в исходном контейнере. И все хорошо, пока внутри контейнера не появляется изменяемый тип — список. В этом случае в l1 и l2 будет ссылка на один и тот же список.
Таким образом, в третьей строке добавление элемента изменит только l1, а удаление в четвертой строке повлияет на оба списка l1 и l2.
Самостоятельно посмотреть пример с визуализацией можно в python tutor.
Обратите внимание еще на один пример с визуализацией, если изменить внутренний список на кортеж.
Было также предположение, что сработает исключение из-за странного синтаксиса в 6 строке, но это не так. О такой возможности f-строк у нас был отдельный пост.
На самом деле в задаче два важных момента на понимание работы python: копирование объектов и изменяемость типов.
По умолчанию копирование поверхностное. При копировании дублируется самый внешний контейнер и заполняется ссылками на те же элементы, что хранятся в исходном контейнере. И все хорошо, пока внутри контейнера не появляется изменяемый тип — список. В этом случае в l1 и l2 будет ссылка на один и тот же список.
Таким образом, в третьей строке добавление элемента изменит только l1, а удаление в четвертой строке повлияет на оба списка l1 и l2.
Самостоятельно посмотреть пример с визуализацией можно в python tutor.
Обратите внимание еще на один пример с визуализацией, если изменить внутренний список на кортеж.
Было также предположение, что сработает исключение из-за странного синтаксиса в 6 строке, но это не так. О такой возможности f-строк у нас был отдельный пост.
👍11❤3🔥3⚡1🌭1
Пятничное развлекательное – Universal Paperclips
Совершенно умопомрачительная браузерная игра. Вы занимаетесь бизнесом по производству и продаже скрепок. Создаёте скрепку, определяете цену, закупаете материалы. Развиваетесь. Вкладываетесь в технологии и маркетинг.
Пока не выпустите гипно-дронов. Тогда людям станут нужны только скрепки, и мир никогда не будет прежним...
Вас ждёт только текст, только хардкор. Три стадии игры с совершенно разным игровым процессом. Часы потраченного времени.
Для ускорения процесса можно зажимать на клавиатуре enter либо использовать кликер.
Веб-версия на ПК бесплатная, приложение для телефона платное.
#fun #games
Совершенно умопомрачительная браузерная игра. Вы занимаетесь бизнесом по производству и продаже скрепок. Создаёте скрепку, определяете цену, закупаете материалы. Развиваетесь. Вкладываетесь в технологии и маркетинг.
Пока не выпустите гипно-дронов. Тогда людям станут нужны только скрепки, и мир никогда не будет прежним...
Вас ждёт только текст, только хардкор. Три стадии игры с совершенно разным игровым процессом. Часы потраченного времени.
Для ускорения процесса можно зажимать на клавиатуре enter либо использовать кликер.
Веб-версия на ПК бесплатная, приложение для телефона платное.
#fun #games
🌭7⚡2🔥2❤1
Кино на выходные
Цельнометаллическая оболочка – культовое антивоенное кино 1987 года от Стэнли Кубрика о подготовке морских пехотинцев и последующей войне во Вьетнаме. Наибольшее впечатление сможете получить в озвучке Гоблина. Естественно, присутствует мат.
Эпизод знакомства с сержантом является классикой. "Как будешь оправдываться?". Интересно, что актёр Рональд Ли Эрми был приглашённым консультантом. Его харизма так понравилась режиссеру, что он получил роль сержанта Хартмана.
Впоследствии Эрми снялся в различных фильмах. Можно вспомнить Техасскую резню бензопилой 2003 года – удачный перезапуск одноимённого фильма ужасов 1974 года, породивший волну ремейков старых ужастиков.
Комедийный фильм ужасов с невзрачным названием Страшилы 1996 года демонстрирует занятную идею коммерческой эксплуатации призраков. В главной роли Майкл Джей Фокс, известный по роли Марти из Назад в будущее. У Эрми в Страшилах эпизодическая роль.
#fun
Цельнометаллическая оболочка – культовое антивоенное кино 1987 года от Стэнли Кубрика о подготовке морских пехотинцев и последующей войне во Вьетнаме. Наибольшее впечатление сможете получить в озвучке Гоблина. Естественно, присутствует мат.
Эпизод знакомства с сержантом является классикой. "Как будешь оправдываться?". Интересно, что актёр Рональд Ли Эрми был приглашённым консультантом. Его харизма так понравилась режиссеру, что он получил роль сержанта Хартмана.
Впоследствии Эрми снялся в различных фильмах. Можно вспомнить Техасскую резню бензопилой 2003 года – удачный перезапуск одноимённого фильма ужасов 1974 года, породивший волну ремейков старых ужастиков.
Комедийный фильм ужасов с невзрачным названием Страшилы 1996 года демонстрирует занятную идею коммерческой эксплуатации призраков. В главной роли Майкл Джей Фокс, известный по роли Марти из Назад в будущее. У Эрми в Страшилах эпизодическая роль.
#fun
Кинопоиск
«Цельнометаллическая оболочка» (Full Metal Jacket, 1987)
🎬 Американская база подготовки новобранцев корпуса морской пехоты. Жесточайшая, бесчеловечная система призвана превратить домашних мальчишек в натренированных хладнокровных убийц. Их готовят к войне во Вьетнаме, где им придется часто задавать себе вопрос…
🔥11👍4⚡2
Какие знания нужны разработчику?
При погружении в новую область знаний сразу возникает вопрос, куда копать и с чего начать. Ответ можно найти в книгах, обзорных статьях, видео и других источниках.
Одним из вариантов визуализации подобных знаний является roadmap. Это такая "дорожная карта" с пометками, что следует освоить.
Самым популярным проектом является roadmap.sh. В их github 215к звёзд, настолько это общее место для индустрии. Прописаны roadmap для самых разных специализаций и технологий. Недавно к каждому навыку они стали прикреплять пачку статей и видео из изучения.
Roadmap позволяет выявить пробелы в текущих знаниях и наметить актуальные вопросы для изучения.
#sudo #edu
При погружении в новую область знаний сразу возникает вопрос, куда копать и с чего начать. Ответ можно найти в книгах, обзорных статьях, видео и других источниках.
Одним из вариантов визуализации подобных знаний является roadmap. Это такая "дорожная карта" с пометками, что следует освоить.
Самым популярным проектом является roadmap.sh. В их github 215к звёзд, настолько это общее место для индустрии. Прописаны roadmap для самых разных специализаций и технологий. Недавно к каждому навыку они стали прикреплять пачку статей и видео из изучения.
Roadmap позволяет выявить пробелы в текущих знаниях и наметить актуальные вопросы для изучения.
#sudo #edu
👍17🔥4❤3🌭3⚡1
Проблемы курсов по программированию
В статье Хватит клепать псевдопрограммистов, или «Горшочек — не в IT!» автор критикует состояние платных ИТ-курсов в 2021 году. При этом он сам полгода преподавал в geekbrains, то есть знаком с внутренней кухней курсов не понаслышке.
Кажется, что за прошедший год дела не сильно изменились. Обсуждаются проблемы
— специалистов-преподавателей
— размера групп на курсах
— проектов для портфолио
— ненужных сертификатов
— домашних заданий
— гарантий трудоустройства
В конце сформулирован ряд имеющих смысл правил, соблюдение которых поможет обучению.
В комментах делятся опытом поиска годных курсов на udemy. Есть интересная мысль о роли случайности в устройстве на работу.
Был ли у вас опыт прохождения платных или бесплатных курсов? Делитесь историями в комментариях.
#edu
В статье Хватит клепать псевдопрограммистов, или «Горшочек — не в IT!» автор критикует состояние платных ИТ-курсов в 2021 году. При этом он сам полгода преподавал в geekbrains, то есть знаком с внутренней кухней курсов не понаслышке.
Кажется, что за прошедший год дела не сильно изменились. Обсуждаются проблемы
— специалистов-преподавателей
— размера групп на курсах
— проектов для портфолио
— ненужных сертификатов
— домашних заданий
— гарантий трудоустройства
В конце сформулирован ряд имеющих смысл правил, соблюдение которых поможет обучению.
В комментах делятся опытом поиска годных курсов на udemy. Есть интересная мысль о роли случайности в устройстве на работу.
Был ли у вас опыт прохождения платных или бесплатных курсов? Делитесь историями в комментариях.
#edu
Хабр
Хватит клепать псевдопрограммистов, или «Горшочек — не в IT!»
Дисклеймер: все события являются вымышленными, а совпадения - случайными Все они были мертвы. Последний выстрел поставил жирную точку в этой истории. Я снял палец с курка — всё было кончено. Макс Пэйн...
⚡4👍3🌭2❤1
Пересмотри своё собеседование
В статьях о собеседованиях часто говорят о пользе обратной связи после интервью. Беда в том, что компании нечасто дают обратную связь. Вы получаете либо оффер, либо отписку в духе "извините, но вы нам не подходите".
Вы можете быть отличным специалистом. Вы можете потратить тонну времени на изучение нового материала, щёлкать задачи с leetcode, знать теорию и практику прохождения собесов. Но один небольшой аспект может всё испортить. Держитесь неуверенно? Путано излагаете мысли? Пропускаете ключевые детали, в результате чего изложение выглядит рваным и несвязным? Зависаете при ответе на вопрос?
В случае онлайн-собеседований у вас есть уникальная возможность посмотреть на себя со стороны. Запишите всё: аудио, видео со своей камеры и монитор с собеседником. На Linux для записи экрана удобен Kazam.
По видеозаписи вы сможете выявить свои косяки, которые совершенно не заметны без взгляда "со стороны". Кроме того, вы можете словить реакцию собеседующего на ваши ответы. В процессе интервью сделать это сложно — мозг занят другими вопросами.
После прохождения интервью просмотрите запись и выявите систематические ошибки. Легко сказать — выявить ошибки. На деле совсем не просто найти проблемы в своём же интервью.
Хорошим вариантом будет получить мнение со стороны. Попросите друзей посмотреть вашу запись свежим взглядом и подметить проблемы. Прямо по пунктам, где и что не так.
Все полученные замечания нужно критически обработать. Проанализируйте и проработайте каждый пункт, чтобы не повторить ту же ошибку в будущем. Сформулируйте список проблем, которые нужно поправить.
При анализе следующего интервью сверяйтесь со списком проблем. Всё ли получилось исправить?
По результатам просмотра двух первых интервью мои злые друзья нашли 36 проблемных мест. В результате их проработки я сформулировал десяток конкретных пунктов как надо делать и как делать не надо.
Запишите своё следующее интервью и проработайте его. Вы удивитесь, как много нового можно узнать.
Желательно спросить разрешение противоположной стороны на видеозапись. С другой стороны, если вы не планируете запись публиковать, то требуется ли разрешение?
🌭, если интересно узнать мой список конкретных пунктов.
#devfm #edu #резюме
В статьях о собеседованиях часто говорят о пользе обратной связи после интервью. Беда в том, что компании нечасто дают обратную связь. Вы получаете либо оффер, либо отписку в духе "извините, но вы нам не подходите".
Вы можете быть отличным специалистом. Вы можете потратить тонну времени на изучение нового материала, щёлкать задачи с leetcode, знать теорию и практику прохождения собесов. Но один небольшой аспект может всё испортить. Держитесь неуверенно? Путано излагаете мысли? Пропускаете ключевые детали, в результате чего изложение выглядит рваным и несвязным? Зависаете при ответе на вопрос?
В случае онлайн-собеседований у вас есть уникальная возможность посмотреть на себя со стороны. Запишите всё: аудио, видео со своей камеры и монитор с собеседником. На Linux для записи экрана удобен Kazam.
По видеозаписи вы сможете выявить свои косяки, которые совершенно не заметны без взгляда "со стороны". Кроме того, вы можете словить реакцию собеседующего на ваши ответы. В процессе интервью сделать это сложно — мозг занят другими вопросами.
После прохождения интервью просмотрите запись и выявите систематические ошибки. Легко сказать — выявить ошибки. На деле совсем не просто найти проблемы в своём же интервью.
Хорошим вариантом будет получить мнение со стороны. Попросите друзей посмотреть вашу запись свежим взглядом и подметить проблемы. Прямо по пунктам, где и что не так.
Все полученные замечания нужно критически обработать. Проанализируйте и проработайте каждый пункт, чтобы не повторить ту же ошибку в будущем. Сформулируйте список проблем, которые нужно поправить.
При анализе следующего интервью сверяйтесь со списком проблем. Всё ли получилось исправить?
По результатам просмотра двух первых интервью мои злые друзья нашли 36 проблемных мест. В результате их проработки я сформулировал десяток конкретных пунктов как надо делать и как делать не надо.
Запишите своё следующее интервью и проработайте его. Вы удивитесь, как много нового можно узнать.
Желательно спросить разрешение противоположной стороны на видеозапись. С другой стороны, если вы не планируете запись публиковать, то требуется ли разрешение?
🌭, если интересно узнать мой список конкретных пунктов.
#devfm #edu #резюме
🌭41👍7❤2🔥1
Pre-commit — must have утилита любого проекта
Бывает смотришь на код и сразу видно, что код плохой. Признаков может быть множество:
— разные куски кода по-разному отформатированы
— импорты в файлах никак не структурированы
— используются вперемешку синтаксис старых и новых версий питона
— где-то видны зачатки использования типов, но не везде
— где-то docstring есть, где-то нет
Всё это характеризуется так: нет единого стиля в написании кода. Проблема становится особенно актуальной, когда над проектом трудится несколько разработчиков.
Частично эту проблему решает встроенный в среду разработки анализатор кода или запускаемые вручную анализаторы кода. Но анализатор в среде разработки может быть настроен по-разному у разных членов команды. Если в проекте принято использовать несколько анализаторов одновременно, то разработчик может забыть прогнать код через все анализаторы до коммита.
Для решения всех обозначенных проблем есть замечательная утилита — pre-commit. Один раз в конфиге прописываете, какие анализаторы кода нужно запускать, и далее при любом коммите они будут запускаться автоматически. С этого момента код будет опрятным и шелковистым. Вы просто не сможете сделать коммит, если у анализатора есть вопросики к коду.
#devfm #procode
Бывает смотришь на код и сразу видно, что код плохой. Признаков может быть множество:
— разные куски кода по-разному отформатированы
— импорты в файлах никак не структурированы
— используются вперемешку синтаксис старых и новых версий питона
— где-то видны зачатки использования типов, но не везде
— где-то docstring есть, где-то нет
Всё это характеризуется так: нет единого стиля в написании кода. Проблема становится особенно актуальной, когда над проектом трудится несколько разработчиков.
Частично эту проблему решает встроенный в среду разработки анализатор кода или запускаемые вручную анализаторы кода. Но анализатор в среде разработки может быть настроен по-разному у разных членов команды. Если в проекте принято использовать несколько анализаторов одновременно, то разработчик может забыть прогнать код через все анализаторы до коммита.
Для решения всех обозначенных проблем есть замечательная утилита — pre-commit. Один раз в конфиге прописываете, какие анализаторы кода нужно запускать, и далее при любом коммите они будут запускаться автоматически. С этого момента код будет опрятным и шелковистым. Вы просто не сможете сделать коммит, если у анализатора есть вопросики к коду.
#devfm #procode
🔥7👍3🌭2⚡1❤1
Как вызвать функцию summator?
Anonymous Quiz
14%
summator(1, 12, 5)
31%
summator(1, 12, mod=5)
12%
summator(a=1, b=12, mod=5)
3%
summator(a=1, b=12, 5)
11%
в объявлении функции ошибка
28%
все предложенные варианты рабочие
👍5🔥4
Чисто позиционные параметры
В python 3.8 появилась возможность определять чисто позиционные параметры с помощью символа /. Параметры слева от / будут позиционными.
Символ * , напротив, нужен чтобы вызывать функцию с чисто именованными параметрами. Параметры справа от * должны быть именованными.
Комбинация * и / позволяет гибко управлять параметрами.
Функция summator возвращает сумму двух чисел по модулю. Первые два параметра просто числа, для них не важен порядок и у них нет какого-то осмысленного названия. Поэтому мы делаем эти параметры чисто позиционными — слева от /. Модуль, по которому будет суммирование, наоборот, имеет смысловую нагрузку. При вызове функции важно, что третий параметр именно модуль, поэтому мы его делаем чисто именованным и размещаем справа от *.
Отдельного внимания заслуживает четвертый вариант ответа
summator(a=1, b=12, 5)
Таким образом никогда не получится передать параметры в функцию. Позиционные параметры не могут идти после именованных.
В python 3.8 появилась возможность определять чисто позиционные параметры с помощью символа /. Параметры слева от / будут позиционными.
Символ * , напротив, нужен чтобы вызывать функцию с чисто именованными параметрами. Параметры справа от * должны быть именованными.
Комбинация * и / позволяет гибко управлять параметрами.
Функция summator возвращает сумму двух чисел по модулю. Первые два параметра просто числа, для них не важен порядок и у них нет какого-то осмысленного названия. Поэтому мы делаем эти параметры чисто позиционными — слева от /. Модуль, по которому будет суммирование, наоборот, имеет смысловую нагрузку. При вызове функции важно, что третий параметр именно модуль, поэтому мы его делаем чисто именованным и размещаем справа от *.
Отдельного внимания заслуживает четвертый вариант ответа
summator(a=1, b=12, 5)
Таким образом никогда не получится передать параметры в функцию. Позиционные параметры не могут идти после именованных.
Telegram
DevFM
Используем относительно новые фишечки питона.
Объяснение вечером, как и всегда.
#quiz
Объяснение вечером, как и всегда.
#quiz
👍10🌭6🔥3⚡1❤1
Пятничное развлекательное
Разработчики — люди весёлые. Существует практика при создании игр, фильмов и программного обеспечения оставлять "пасхалки", они же easter eggs.
Google славится различными пасхалками. Всем знаком Динозавр, появляющийся в Chrome при отсутствии интернета.
Команда elgoog сохранила у себя многие пасхалки. Тактика игры в StarCraft Zerg rush уничтожит ваш поиск. Подводный поиск позволит побуянить вместе с рыбками. При нажатии на туфельки в Волшебнике страны Оз вы попадёте в ураган. Google gravity покажет поиск с гравитацией. Вообще у elgooG собрано много пасхалок от Google. На вики собран подробный перечень, но многие пасхалки оттуда были временными и уже не работают.
Atari оказала огромное влияние на видеоигры. Прямо в выдаче картинок в гугле можно поиграть в breakout, который является переизданием физического аркадного автомата Pong. Выпущенный в 1972 году, автомат Pong от Atari стал первой коммерчески успешной видеоигрой. Спустя 15 лет такой класс игр назвали Арканоид.
Многие пасхалки доступны на гугле прямо сейчас. Загуглите Томатина, нажмите на томат вверху. Поиск любого персонажа из сериала Друзья предоставит интерактивную отсылку. Например, Джо Триббиани, как известно, не делится едой. Некоторые простые запросы вроде кот или собака также интерактивны. Запрос рождество, если нажать на подарок, отправит вас в огромный набор детских игр и мультиков. Там даже есть игры про алгоритмы.
Все мы любим запрос о рекурсии. И игру Жизнь Конвея (только с компьютера).
А какие пасхалки любите вы?
#fun
Разработчики — люди весёлые. Существует практика при создании игр, фильмов и программного обеспечения оставлять "пасхалки", они же easter eggs.
Google славится различными пасхалками. Всем знаком Динозавр, появляющийся в Chrome при отсутствии интернета.
Команда elgoog сохранила у себя многие пасхалки. Тактика игры в StarCraft Zerg rush уничтожит ваш поиск. Подводный поиск позволит побуянить вместе с рыбками. При нажатии на туфельки в Волшебнике страны Оз вы попадёте в ураган. Google gravity покажет поиск с гравитацией. Вообще у elgooG собрано много пасхалок от Google. На вики собран подробный перечень, но многие пасхалки оттуда были временными и уже не работают.
Atari оказала огромное влияние на видеоигры. Прямо в выдаче картинок в гугле можно поиграть в breakout, который является переизданием физического аркадного автомата Pong. Выпущенный в 1972 году, автомат Pong от Atari стал первой коммерчески успешной видеоигрой. Спустя 15 лет такой класс игр назвали Арканоид.
Многие пасхалки доступны на гугле прямо сейчас. Загуглите Томатина, нажмите на томат вверху. Поиск любого персонажа из сериала Друзья предоставит интерактивную отсылку. Например, Джо Триббиани, как известно, не делится едой. Некоторые простые запросы вроде кот или собака также интерактивны. Запрос рождество, если нажать на подарок, отправит вас в огромный набор детских игр и мультиков. Там даже есть игры про алгоритмы.
Все мы любим запрос о рекурсии. И игру Жизнь Конвея (только с компьютера).
А какие пасхалки любите вы?
#fun
elgoog.im
Chrome Dinosaur Game: Birthday Edition - elgooG
Celebrate with the Chrome T-Rex Dinosaur Game's 🎂 Birthday Limited Edition, commemorating Google Chrome's 10th anniversary in September 2018. Whether you call it Chrome Dino, or the NO INTERNET GAME, this Google surprise is a nostalgic treat. Craving some…
👍5🌭5❤2🔥2
Генеративно-состязательная сеть (GAN)
В машинном обучении наибольшую популярность приобрели нейронные сети. Существуют различные архитектуры нейронок. Потихоньку появляются новые. Более того, комбинация различных нейронных сетей может привести к неожиданным результатам. Так, в 2014 году Ian Goodfellow придумал GAN — комбинацию из пары нейронных сетей. Рассмотрим её идею на примере генерации фотореалистичного изображения.
Первая сеть, называемая Generator генерирует фотографии. Вторая сеть, называемая Discriminator отбраковывает фотографии, которые не похожи на реалистичные. Обе сети учатся в процессе, Generator пытается сформировать реалистичную фотографию, которая обманет Discriminator, который в свою очередь пытается научиться лучше отбраковывать сгенерированные изображения. В результате конкуренции этих нейронных сетей Generator оказывается способен выдавать изображения, которые с точки зрения человека совершенно реалистичны.
Больше деталей о GAN, включая примеры кода, можно найти в статье Generative Adversarial Networks: Build Your First Models (перевод). Различные презентации от Ian Goodfellow можно найти на его личном сайте.
В прошлый раз мы писали, что deepfake уже применяется для мошенничества в виде замены голоса.
#devfm #skills #datascience
В машинном обучении наибольшую популярность приобрели нейронные сети. Существуют различные архитектуры нейронок. Потихоньку появляются новые. Более того, комбинация различных нейронных сетей может привести к неожиданным результатам. Так, в 2014 году Ian Goodfellow придумал GAN — комбинацию из пары нейронных сетей. Рассмотрим её идею на примере генерации фотореалистичного изображения.
Первая сеть, называемая Generator генерирует фотографии. Вторая сеть, называемая Discriminator отбраковывает фотографии, которые не похожи на реалистичные. Обе сети учатся в процессе, Generator пытается сформировать реалистичную фотографию, которая обманет Discriminator, который в свою очередь пытается научиться лучше отбраковывать сгенерированные изображения. В результате конкуренции этих нейронных сетей Generator оказывается способен выдавать изображения, которые с точки зрения человека совершенно реалистичны.
Больше деталей о GAN, включая примеры кода, можно найти в статье Generative Adversarial Networks: Build Your First Models (перевод). Различные презентации от Ian Goodfellow можно найти на его личном сайте.
В прошлый раз мы писали, что deepfake уже применяется для мошенничества в виде замены голоса.
#devfm #skills #datascience
Realpython
Generative Adversarial Networks: Build Your First Models – Real Python
In this step-by-step tutorial, you'll learn all about one of the most exciting areas of research in the field of machine learning: generative adversarial networks. You'll learn the basics of how GANs are structured and trained before implementing your own…
🌭3🔥2❤1⚡1
Делаем код мягким и шелковистым
Мы уже говорили об утилите pre-commit, которая автоматизирует рутинный запуск анализаторов кода и не позволяет сделать коммит, пока проблемы не будут исправлены.
Теперь расскажем о тех утилитах, которые применяются в каждом нашем проекте:
— flake8 — статический анализатор кода с поддержкой очень большого количества плагинов
— black форматирует и приводит код в общему виду
— mypy проверяет аннотации типов
— reorder-python-imports единообразно организует импорты
— autoflake удаляет неиспользуемые импорты и переменные
— pyupgrade обновляет синтаксис до текущей версии python
— yesqa удаляет ненужные
Применение всех утилит с настройками по умолчанию скорее вредно, поэтому вот несколько советов:
— настройте в pre-commit опцию exclude — список каталогов, для которых не применять анализатор
— в flake8 настройте игнорирование особо душных замечаний
— в autoflake настройте автоматическое исправление замечаний
— при использовании mypy совместно с pre-commit нужно пользоваться специальной версией
Применение перечисленных утилит в командной работе облегчит проведение code review. Никто не будет тратить время на то, что может поправить машина.
Расскажите, если на практике используете другие анализаторы кода.
#devfm #procode
Мы уже говорили об утилите pre-commit, которая автоматизирует рутинный запуск анализаторов кода и не позволяет сделать коммит, пока проблемы не будут исправлены.
Теперь расскажем о тех утилитах, которые применяются в каждом нашем проекте:
— flake8 — статический анализатор кода с поддержкой очень большого количества плагинов
— black форматирует и приводит код в общему виду
— mypy проверяет аннотации типов
— reorder-python-imports единообразно организует импорты
— autoflake удаляет неиспользуемые импорты и переменные
— pyupgrade обновляет синтаксис до текущей версии python
— yesqa удаляет ненужные
#noqaПрименение всех утилит с настройками по умолчанию скорее вредно, поэтому вот несколько советов:
— настройте в pre-commit опцию exclude — список каталогов, для которых не применять анализатор
— в flake8 настройте игнорирование особо душных замечаний
— в autoflake настройте автоматическое исправление замечаний
— при использовании mypy совместно с pre-commit нужно пользоваться специальной версией
Применение перечисленных утилит в командной работе облегчит проведение code review. Никто не будет тратить время на то, что может поправить машина.
Расскажите, если на практике используете другие анализаторы кода.
#devfm #procode
Telegram
DevFM
Pre-commit — must have утилита любого проекта
Бывает смотришь на код и сразу видно, что код плохой. Признаков может быть множество:
— разные куски кода по-разному отформатированы
— импорты в файлах никак не структурированы
— используются вперемешку синтаксис…
Бывает смотришь на код и сразу видно, что код плохой. Признаков может быть множество:
— разные куски кода по-разному отформатированы
— импорты в файлах никак не структурированы
— используются вперемешку синтаксис…
🔥11👍7❤2⚡1🌭1