Как обмануть нейронную сеть
В статье One pixel attack for fooling deep neural networks изложен метод атаки на нейросеть, когда в результате замены всего одного пикселя на изображении распознавание становится некорректным. Чёрным подписано исходное изображение, в скобках "уверенность" нейросети, синим — распознавание после замены пикселя. И чашка становится супницей, детская люлька — бумажным полотенцем, чайник — джойстиком, а хомяк — соской.
Что это значит на практике? Дорожный знак из-за небольшой наклейки может превратиться в "кирпич" для беспилотного автомобиля, заставив машину остановиться. В современном машинном обучении многие непозволительно мало внимания уделяют злонамеренным атакам.
#skills #datascience
В статье One pixel attack for fooling deep neural networks изложен метод атаки на нейросеть, когда в результате замены всего одного пикселя на изображении распознавание становится некорректным. Чёрным подписано исходное изображение, в скобках "уверенность" нейросети, синим — распознавание после замены пикселя. И чашка становится супницей, детская люлька — бумажным полотенцем, чайник — джойстиком, а хомяк — соской.
Что это значит на практике? Дорожный знак из-за небольшой наклейки может превратиться в "кирпич" для беспилотного автомобиля, заставив машину остановиться. В современном машинном обучении многие непозволительно мало внимания уделяют злонамеренным атакам.
#skills #datascience
🔥12⚡3👍3❤2🌭1
Backup: сентябрь
Python
1. Типовая структура python-проекта без веба
2. Вопросы для junior python developer
3. Зачем WSGI в Python?
4. Почему стоит выбрать Python
5. Возможности f-строк
6. Разработка надёжных Python-скриптов
7. Pattern Matching
Нетехнические навыки:
1. Социальная инженерия Кевина Митника
2. Хорошая и плохая прокрастинация
3. История поиска работы "Борис опять"
Рассуждаем о программировании:
1. Sublime Merge — графический git-клиент
2. Магия CORS
Разбираем код:
1. Что же не так в этом коде?
2. Хитрости getattr
Hardskills:
1. Брокер сообщений Apache Kafka
2. Проектируем сервис: поиск организаций по картам
3. Поиск команд в консоли с помощью ctrl+r
4. Постигаем git stash
5. Мониторинг важен. Рабочий мониторинг ещё важнее
6. Продолжаем о собеседованиях
7. Миграция БД без даунтайма
#backup
Python
1. Типовая структура python-проекта без веба
2. Вопросы для junior python developer
3. Зачем WSGI в Python?
4. Почему стоит выбрать Python
5. Возможности f-строк
6. Разработка надёжных Python-скриптов
7. Pattern Matching
Нетехнические навыки:
1. Социальная инженерия Кевина Митника
2. Хорошая и плохая прокрастинация
3. История поиска работы "Борис опять"
Рассуждаем о программировании:
1. Sublime Merge — графический git-клиент
2. Магия CORS
Разбираем код:
1. Что же не так в этом коде?
2. Хитрости getattr
Hardskills:
1. Брокер сообщений Apache Kafka
2. Проектируем сервис: поиск организаций по картам
3. Поиск команд в консоли с помощью ctrl+r
4. Постигаем git stash
5. Мониторинг важен. Рабочий мониторинг ещё важнее
6. Продолжаем о собеседованиях
7. Миграция БД без даунтайма
#backup
🔥8👍3⚡2❤1
О правах на код в канале ЦИФРА
Мы рассказываем об IT-технологиях. Существует другой уровень абстракции с не менее интересными процессами. Высокоуровневое понимание цифрового права необходимо современному разработчику. Кому принадлежат права на разработанную программу?
В посте ребята освещают спорный вопрос о праве на код. Программист обвиняет компанию в неправомерном использовании разработанной им программы. Захватывает внимание отсутствие единогласия судов разных инстанций и игнорирование очевидных разработчикам фактов. Спор дошёл до Конституционного суда, где автор доказывал свое право на судебную защиту.
#edu
Мы рассказываем об IT-технологиях. Существует другой уровень абстракции с не менее интересными процессами. Высокоуровневое понимание цифрового права необходимо современному разработчику. Кому принадлежат права на разработанную программу?
В посте ребята освещают спорный вопрос о праве на код. Программист обвиняет компанию в неправомерном использовании разработанной им программы. Захватывает внимание отсутствие единогласия судов разных инстанций и игнорирование очевидных разработчикам фактов. Спор дошёл до Конституционного суда, где автор доказывал свое право на судебную защиту.
#edu
Telegram
ЦИФРА
Цифровое право. Новости из мира IT и технологий.
Telegram-канал практики "Технологии, Инновации, Диджитал" Коллегии адвокатов Делькредере.
delcredere.org
ask@delcredere.org
Telegram-канал практики "Технологии, Инновации, Диджитал" Коллегии адвокатов Делькредере.
delcredere.org
ask@delcredere.org
⚡3❤2👍2🔥1
Теория разбитых окон
10% людей* всегда несут фантик до мусорки, 5% людей всегда бросают фантик под ноги. Остальные 85% людей действует по ситуации — если вокруг уже грязно, то бросают под ноги, а если чисто — то несут до мусорки.
В статье О разбитых окнах проводится параллель между разбитыми окнами и проектной разработкой. Выстраивание правильных процессов даёт долгосрочный положительный эффект. На наш взгляд, в правильном процессе обязательны:
— документация (Docstrings, Readme)
— статический анализ кода (pylint, mypy, ...)
— тесты
— постановка задач и тракт issue — branch — merge request
— code review
— CI/CD
— онбординг новых разработчиков
Эксперименты про теорию разбитых окон интересно описаны в вики.
*наши наблюдения.
#edu #devfm
10% людей* всегда несут фантик до мусорки, 5% людей всегда бросают фантик под ноги. Остальные 85% людей действует по ситуации — если вокруг уже грязно, то бросают под ноги, а если чисто — то несут до мусорки.
В статье О разбитых окнах проводится параллель между разбитыми окнами и проектной разработкой. Выстраивание правильных процессов даёт долгосрочный положительный эффект. На наш взгляд, в правильном процессе обязательны:
— документация (Docstrings, Readme)
— статический анализ кода (pylint, mypy, ...)
— тесты
— постановка задач и тракт issue — branch — merge request
— code review
— CI/CD
— онбординг новых разработчиков
Эксперименты про теорию разбитых окон интересно описаны в вики.
*наши наблюдения.
#edu #devfm
Хабр
О разбитых окнах.
Ученые установили, что за ограду с табличкой «Не входить! Велосипеды не пристегивать!» все равно входят 27% желающих срезать путь, но если рядом пристегнуть велосипед, число вырастет до 82%. Что же...
👍8❤2⚡1🔥1🌭1
В прошлый раз мы разобрались, как сделать удобный доступ к первому и последнему элементу объекта users. Для этого использовали динамические атрибуты и реализовали магический метод
При выполнении
Для решения проблемы сделаем атрибуты
При попытке присвоить значение атрибуту проверяется содержится ли он в
#codereview
__getattr__.При выполнении
self.first = "new_user" происходит нежелательное поведение, и атрибут first перестанет указывать на первый элемент.Для решения проблемы сделаем атрибуты
first и second read only. Для этого определим магический метод __setattr__. Обратите внимание: __getattr__ вызывается, только если искомого атрибута нет, а метод __setattr__ вызывается каждый раз при присваивании значения атрибуту.При попытке присвоить значение атрибуту проверяется содержится ли он в
shortcut_names. Если содержится, то порождается исключение. Если не содержится, вызывается родительский __setattr__.#codereview
👍6🌭4❤3⚡1
Тернистый путь к ClickHouse
Статья ClickHouse: Путь джедая, искавшего дом для своих данных не о самой технологии, а о неоднозначном, сложном пути выбора технологии. И в этом её особенная ценность.
Внедрение новой технологии не возникает на пустом месте. Нужно критически подходить к этому вопросу.
1. Сначала обнаруживается проблема. Если проблемы нет, то и чинить не нужно. В статье обозначена проблема сбора и анализа большого количества данных о действиях пользователей из разных систем и их вечном хранении.
2. Решение следует начинать с анализа предметной области и формирования важных критериев. Автор выделил сложность внедрения и сопровождения, порог входа для аналитиков данных, цену использования.
3. Предлагаемые решения сравниваются по сформированным критериям.
Помимо описания процесса выбора и возникающих сложностей интересно узнать в ретроспективе об архитектуре хранения и работы с данными: MariaDB -> Elasticsearch -> ClickHouse.
Для желающих погрузиться в технические особенности рекомендуем статью от тех же авторов: Репликация ClickHouse без костылей: ожидание и реальность
#skills #database
Статья ClickHouse: Путь джедая, искавшего дом для своих данных не о самой технологии, а о неоднозначном, сложном пути выбора технологии. И в этом её особенная ценность.
Внедрение новой технологии не возникает на пустом месте. Нужно критически подходить к этому вопросу.
1. Сначала обнаруживается проблема. Если проблемы нет, то и чинить не нужно. В статье обозначена проблема сбора и анализа большого количества данных о действиях пользователей из разных систем и их вечном хранении.
2. Решение следует начинать с анализа предметной области и формирования важных критериев. Автор выделил сложность внедрения и сопровождения, порог входа для аналитиков данных, цену использования.
3. Предлагаемые решения сравниваются по сформированным критериям.
Помимо описания процесса выбора и возникающих сложностей интересно узнать в ретроспективе об архитектуре хранения и работы с данными: MariaDB -> Elasticsearch -> ClickHouse.
Для желающих погрузиться в технические особенности рекомендуем статью от тех же авторов: Репликация ClickHouse без костылей: ожидание и реальность
#skills #database
Хабр
ClickHouse: Путь джедая, искавшего дом для своих данных
* Юристы попросили нас написать, что картинка шуточная, и мы уважаем всех гордых любителей разных систем хранения данных. В разные эпохи развития нашего проекта в качестве основного хранилища, которое...
🔥5⚡2❤2
Пятничное развлекательное — клипы
В этот день вместо профильного контента у нас культурный код.
Заряд динамической музыки вы найдёте в клипе Gigi D'Agostino Bla Bla Bla. В нём показана необычная история о путешествии, о единстве и борьбе противоположностей, о дружбе и соперничестве. Или нет, абстрактное искусство оно такое.
Если у вас нет настроения для драйва, можете расслабиться за просмотром ASMR Programming - Coding Matrix - No Talking. Vim, механическая клавиатура, немного javascript — и через 15 минут у вас заставка из Матрицы на экране. Кстати, Матрицу мы вспоминали в подборке фильмов про реальность нашего мира. А кто не знаком с ASMR — поищите другие ролики, вам может понравиться.
#fun
В этот день вместо профильного контента у нас культурный код.
Заряд динамической музыки вы найдёте в клипе Gigi D'Agostino Bla Bla Bla. В нём показана необычная история о путешествии, о единстве и борьбе противоположностей, о дружбе и соперничестве. Или нет, абстрактное искусство оно такое.
Если у вас нет настроения для драйва, можете расслабиться за просмотром ASMR Programming - Coding Matrix - No Talking. Vim, механическая клавиатура, немного javascript — и через 15 минут у вас заставка из Матрицы на экране. Кстати, Матрицу мы вспоминали в подборке фильмов про реальность нашего мира. А кто не знаком с ASMR — поищите другие ролики, вам может понравиться.
#fun
YouTube
Gigi D'Agostino Bla Bla Bla
First giant Hit of Gigi D'Agostino.
A A BEN
WAREM A BEN BEN
WAREM BEN BEN BEN
WAREM A WA TWO BEN BEN
WAREM A BLA A BLA BEN
WAREM A A BEN
WAREM BEN BEN BEN
WAREM A TWO BEN BEN
http://www.facebook.com/ZYX.DANCE
A A BEN
WAREM A BEN BEN
WAREM BEN BEN BEN
WAREM A WA TWO BEN BEN
WAREM A BLA A BLA BEN
WAREM A A BEN
WAREM BEN BEN BEN
WAREM A TWO BEN BEN
http://www.facebook.com/ZYX.DANCE
❤5🔥3👍1
Кино на выходные
Продолжаем подборку любимых фильмов о времени.
Эффект бабочки 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