Возможности f-строк
В статье Python f-strings Are More Powerful Than You Might Think автор рассказывает об интересных возможностях f-строк:
— форматирование даты и времени
— различные форматы представления чисел
— выравнивание строк по ширине
— условное форматирование
Особенно удобно оказалось при логгировании и отладке выводить имена и значения переменных, используя такой синтаксис:
#python
В статье Python f-strings Are More Powerful Than You Might Think автор рассказывает об интересных возможностях f-строк:
— форматирование даты и времени
— различные форматы представления чисел
— выравнивание строк по ширине
— условное форматирование
Особенно удобно оказалось при логгировании и отладке выводить имена и значения переменных, используя такой синтаксис:
print(f"{var = }")#python
🔥10❤2⚡2
Нас 2^9=512 — очередное круглое число. Все помнят, что в 512 году произошло легендарное извержение Везувия. Не то, которое стёрло Помпеи с лица земли в 79 году, а одно из полусотни других извержений, но всё же событие.
Сегодня читаем Как правильно задавать вопросы, если ты начинающий айтишник.
#ToTheMoon
Сегодня читаем Как правильно задавать вопросы, если ты начинающий айтишник.
#ToTheMoon
🔥8👍3🌭3❤2
Разработка надёжных Python-скриптов
В статье (оригинал) показано, что нужно не забыть в поддерживаемом проекте на python:
— документацию
— разбор аргументов командной строки
— логгирование
— тесты
По каждому пункту есть вопросы. Например, для документации мы бы предложили использовать Google Docstring, для разбора аргументов — click, для логгирования — loguru. Но выбор конкретного инструмента — дискуссионный вопрос, главное — не забыть ни про один из этих элементов в своём следующем проекте, даже небольшом.
#python
В статье (оригинал) показано, что нужно не забыть в поддерживаемом проекте на python:
— документацию
— разбор аргументов командной строки
— логгирование
— тесты
По каждому пункту есть вопросы. Например, для документации мы бы предложили использовать Google Docstring, для разбора аргументов — click, для логгирования — loguru. Но выбор конкретного инструмента — дискуссионный вопрос, главное — не забыть ни про один из этих элементов в своём следующем проекте, даже небольшом.
#python
Хабр
Разработка надёжных Python-скриптов
Python — это язык программирования, который отлично подходит для разработки самостоятельных скриптов. Для того чтобы добиться с помощью подобного скрипта желаемого результата, нужно написать несколько...
🔥5👍3❤2
Пятничное развлекательное — подборка
В этот день вместо профильного контента у нас культурный код — рекомендации фильмов, книг и мемов. Мы отдыхаем и делимся тем прекрасным, что у нас есть.
Вспомним, что мы уже обсуждали:
— ужасные интерфейсы
— 7 красных линий
— дудеизм Лебовски
— фильмы про хакеров
— цыган
— batmetal
— фильмы про реальность происходящего
— человека (Трасса 60, я и другие)
— книгу методы рационального мышления
— бобров
А какое пятничное развлекательное понравилось вам?
#fun
В этот день вместо профильного контента у нас культурный код — рекомендации фильмов, книг и мемов. Мы отдыхаем и делимся тем прекрасным, что у нас есть.
Вспомним, что мы уже обсуждали:
— ужасные интерфейсы
— 7 красных линий
— дудеизм Лебовски
— фильмы про хакеров
— цыган
— batmetal
— фильмы про реальность происходящего
— человека (Трасса 60, я и другие)
— книгу методы рационального мышления
— бобров
А какое пятничное развлекательное понравилось вам?
#fun
Telegram
DevFM
Пятничное развлекательное. В этот день мы делимся культурным кодом. Поговорим про интерфейсы?
В статье Интерфейсы в реальном мире обсуждаются крутые интерфейсы в физическом мире. Есть вкусное продолжение. Подмечены крутые детали окружения, на которые мы…
В статье Интерфейсы в реальном мире обсуждаются крутые интерфейсы в физическом мире. Есть вкусное продолжение. Подмечены крутые детали окружения, на которые мы…
🔥6❤2👍1🌭1
Пятничное развлекательное — Люди Икс
Мстители прочно вошли в современную культуру. Но новаторами в части масштабной экранизации комиксов были Люди Икс — отличная линейка комиксов, мультфильмов и фильмов, которая осталась в сердцах многих. Интересные способности мутантов, запоминающиеся персонажи, противостояние Профессора Икс и Магнето, любимый Хью Джекман в роли Росомахи — целая вселенная.
Попытка реанимировать франшизу за счёт перемещений во времени весьма негативно отразилась на логике повествования, в результате фан-база сильно пострадала. Возможно, первые три фильма нулевых стоило оставить особняком, перезапустив вселенную с нуля.
Совершенно бестолковый в раннем фильме Дедпул был удачно перезапущен и полюбился зрителям в том числе за счёт высмеивания всего и вся с разрушением четвёртой стены.
В часовом ролике Как убили людей Икс в кино восстанавливают хронологический порядок повествования в фильмах. Есть спойлеры.
#fun
Мстители прочно вошли в современную культуру. Но новаторами в части масштабной экранизации комиксов были Люди Икс — отличная линейка комиксов, мультфильмов и фильмов, которая осталась в сердцах многих. Интересные способности мутантов, запоминающиеся персонажи, противостояние Профессора Икс и Магнето, любимый Хью Джекман в роли Росомахи — целая вселенная.
Попытка реанимировать франшизу за счёт перемещений во времени весьма негативно отразилась на логике повествования, в результате фан-база сильно пострадала. Возможно, первые три фильма нулевых стоило оставить особняком, перезапустив вселенную с нуля.
Совершенно бестолковый в раннем фильме Дедпул был удачно перезапущен и полюбился зрителям в том числе за счёт высмеивания всего и вся с разрушением четвёртой стены.
В часовом ролике Как убили людей Икс в кино восстанавливают хронологический порядок повествования в фильмах. Есть спойлеры.
#fun
YouTube
КАК УБИЛИ ЛЮДЕЙ ИКС В КИНО [Кино-Мыло]
Тинькофф: Выбери свою бесплатную карту с Риком и Морти — https://l.tinkoff.ru/chuckreviewprjun
Добро пожаловать в огромное и мясистое гик безумие. Сегодня говорим о людях икс. От Росомахи до Дэдпула. От стремных фильмов до хороших. Приятного просмотра! …
Добро пожаловать в огромное и мясистое гик безумие. Сегодня говорим о людях икс. От Росомахи до Дэдпула. От стремных фильмов до хороших. Приятного просмотра! …
🔥6❤3👍2
Media is too big
VIEW IN TELEGRAM
Sublime Merge — графический git-клиент
Как мы писали раньше, 85% разработчиков работают с git из консоли.
Но для сложного merge c конфликтами рекомендуем использовать sublime merge. На видео демонстрируем, как sublime merge представляет состояние разных веток и позволяет в один клик выбирать нужный код для слияния.
Также sublime merge может быть полезен тем, кто только начинает осваивать git. Он дает наглядное представление об устройстве репозитория и взаимосвязях между ветками.
#procode
Как мы писали раньше, 85% разработчиков работают с git из консоли.
Но для сложного merge c конфликтами рекомендуем использовать sublime merge. На видео демонстрируем, как sublime merge представляет состояние разных веток и позволяет в один клик выбирать нужный код для слияния.
Также sublime merge может быть полезен тем, кто только начинает осваивать git. Он дает наглядное представление об устройстве репозитория и взаимосвязях между ветками.
#procode
👍8🔥3❤2
Магия CORS
При разработке веб-приложения в консоли браузера можно увидеть не очень информативную ошибку:
В результате беглого гугления глаза разбегаются от количества разных объяснений и костылей для фикса. И часто решение сводится к "забил и поставил хедер
К сожалению, нельзя дать простое и быстрое решение этой проблемы. Мы рекомендуем статью Deep dive in CORS (перевод), где подробно, с картинками излагается история и причины возникновения CORS, где и как они применяются, и почему решение выше — плохое. В конце статьи приводятся практические советы по настройке CORS.
#procode
При разработке веб-приложения в консоли браузера можно увидеть не очень информативную ошибку:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at ..В результате беглого гугления глаза разбегаются от количества разных объяснений и костылей для фикса. И часто решение сводится к "забил и поставил хедер
Access-Control-Allow-Origin: *".К сожалению, нельзя дать простое и быстрое решение этой проблемы. Мы рекомендуем статью Deep dive in CORS (перевод), где подробно, с картинками излагается история и причины возникновения CORS, где и как они применяются, и почему решение выше — плохое. В конце статьи приводятся практические советы по настройке CORS.
#procode
Ilija Eftimov 👨🚀
Deep dive in CORS: History, how it works, and best practices
Learn the history and evolution of same-origin policy and CORS, understand CORS and the different types of cross-origin access in depth, and learn (some) best practices.
🔥8👍2❤1🌭1
Что выведет первый print в 16 строке?
Anonymous Quiz
14%
Исключение AttributeError
44%
U1
9%
["U1","U2", "U3"]
19%
0
14%
Исключение NameError
⚡6🌭3👍2👎2🔥2❤1
Что выведет второй print в 18 строке?
Anonymous Quiz
25%
Ошибка присвоения в 17 строке
15%
Исключение AttributeError
11%
U1
5%
["U1","U2", "U3"]
2%
0
43%
new_user
😁6🌭5👍3🔥2❤1
Хитрости __getattr__
В примере выше мы создаём класс Users, который, по сути, скрывает внутри обычный список пользователей.
Для получения первого и последнего пользователя потребуется писать
Один из вариантов решения — декоратор
Другой приём — использование динамических атрибутов. Создаём словарь, где ключом будет имя, а значением индекс в списке пользователей. Метод
Детали решения
Почему первый
Вся суть в том, как python ищет атрибуты. Атрибут ищется в классе. В нашем случае атрибута
Почему второй
В 17 строке явно создаем атрибут
Обратите внимание ещё на одну интересность. Вывод
Поставьте 🔥, если интересно возможное решение такой проблемы.
В примере выше мы создаём класс Users, который, по сути, скрывает внутри обычный список пользователей.
Для получения первого и последнего пользователя потребуется писать
self.users[0] и self.users[-1]. Такие конструкции раскрывают внутреннее устройство класса, загрязняют код и делают его менее читабельным. Мы заставляем внешнего потребителя класса разбираться в его внутреннем устройстве.Один из вариантов решения — декоратор
@property и создание нужных атрибутов. Но для большого количества атрибутов будет спагетти из однотипных property.Другой приём — использование динамических атрибутов. Создаём словарь, где ключом будет имя, а значением индекс в списке пользователей. Метод
getattr проверяет наличие искомого атрибута среди ключей словаря, если такой есть — то возвращает пользователя по индексу из словаря.Детали решения
Почему первый
print выведет U1?Вся суть в том, как python ищет атрибуты. Атрибут ищется в классе. В нашем случае атрибута
first нет. Далее производится поиск по иерархии наследования, и тоже безуспешно. Только в этом случае вызывается магический метод __getattr__, и параметром ему передаётся имя аргумента в виде строки "first". По словарю first превратится в нулевой индекс из self.users, что соответствует выводу U1.Почему второй
print выведет new_user?В 17 строке явно создаем атрибут
first и присваиваем ему значение new_user. В 18 строке в классе будет найден атрибут first и метод getattr не будет вызываться.Обратите внимание ещё на одну интересность. Вывод
self.users.users[0] всё ещё даст U1. Получается некая несогласованность. Мы переопределили first, и это уже не первый пользователь.Поставьте 🔥, если интересно возможное решение такой проблемы.
🔥36❤3⚡2👍1🌭1
История поиска работы "Борис опять"
Недавно вышла интересная серия постов о поиске работы machine learning-инженером. Пожалуй, самое ценное в ней — личный опыт и нешаблонные советы автора. История ещё не закончена, автор продолжает рассказывать о своём опыте переезда и искренне делится эмоциями.
Наши мысли по мотивам этой серии статей:
1. Всегда стоит критически подходить к таким постам. Это как книги об историях успеха — что сработало для одних, не сработает для других. Особенно аспекты, связанные с нанимающей стороной — компании разные и ситуации тоже бывают разные.
2. "Нельзя врать", — говорит автор. Врать действительно нельзя, но приукрасить можно. Грань между "приукрасить" и "врать" заслуживает отдельного поста.
3. Интересно увидеть реальное CV автора. Не будем вдаваться в нюансы составления CV, но хорошей практикой считается summary часть. В ней следует тезисно рассказать кто вы, что умеете и что хотите. Автор сетует на блок CV с перечислением технологий, которыми владеешь. И что он — инженер, готовый овладеть всеми необходимыми для решения задачи навыками. Как раз об этом и стоило бы сказать в summary. Способность осваивать новое для решения задач — скилл хорошего разработчика. А блок технологий полезен для HR, которые умеют только grep-ать резюме.
4. По этой серии постов молодой разработчик сможет приземлиться, понять, что IT это не радужное место с гарантированными 300кк/с. Найти хорошо оплачиваемую работу — это труд и дисциплина.
5. Отдельного внимания заслуживают части, где автор описывает примеры тестовых заданий, а главное — ход мыслей при решении. Именно здесь понимаешь важность широкого кругозора. Об этом у нас был отдельный пост.
6. Переговоры — важная часть собеседований. "Уметь говорить нет" выглядит простым и понятным советом, который на деле применять совсем не просто. Хорошо работает приём, будто решение принимаете не вы, и нужно обязательно посоветоваться с третьей стороной, от которой зависит финальное решение.
#devfm #edu #резюме
Недавно вышла интересная серия постов о поиске работы machine learning-инженером. Пожалуй, самое ценное в ней — личный опыт и нешаблонные советы автора. История ещё не закончена, автор продолжает рассказывать о своём опыте переезда и искренне делится эмоциями.
Наши мысли по мотивам этой серии статей:
1. Всегда стоит критически подходить к таким постам. Это как книги об историях успеха — что сработало для одних, не сработает для других. Особенно аспекты, связанные с нанимающей стороной — компании разные и ситуации тоже бывают разные.
2. "Нельзя врать", — говорит автор. Врать действительно нельзя, но приукрасить можно. Грань между "приукрасить" и "врать" заслуживает отдельного поста.
3. Интересно увидеть реальное CV автора. Не будем вдаваться в нюансы составления CV, но хорошей практикой считается summary часть. В ней следует тезисно рассказать кто вы, что умеете и что хотите. Автор сетует на блок CV с перечислением технологий, которыми владеешь. И что он — инженер, готовый овладеть всеми необходимыми для решения задачи навыками. Как раз об этом и стоило бы сказать в summary. Способность осваивать новое для решения задач — скилл хорошего разработчика. А блок технологий полезен для HR, которые умеют только grep-ать резюме.
4. По этой серии постов молодой разработчик сможет приземлиться, понять, что IT это не радужное место с гарантированными 300кк/с. Найти хорошо оплачиваемую работу — это труд и дисциплина.
5. Отдельного внимания заслуживают части, где автор описывает примеры тестовых заданий, а главное — ход мыслей при решении. Именно здесь понимаешь важность широкого кругозора. Об этом у нас был отдельный пост.
6. Переговоры — важная часть собеседований. "Уметь говорить нет" выглядит простым и понятным советом, который на деле применять совсем не просто. Хорошо работает приём, будто решение принимаете не вы, и нужно обязательно посоветоваться с третьей стороной, от которой зависит финальное решение.
#devfm #edu #резюме
Telegram
Борис опять
# Серия постов про поиск работы в ML (и не только)
Делюсь тем, как искал работу в марте - мае 2022 и что успел понять за почти десять лет на рынке. Статистика, личные истории, факапы, принципы коммуникации, детальный разбор тестовых, жонглирование офферами…
Делюсь тем, как искал работу в марте - мае 2022 и что успел понять за почти десять лет на рынке. Статистика, личные истории, факапы, принципы коммуникации, детальный разбор тестовых, жонглирование офферами…
👍3❤2⚡1🔥1😁1🌭1
Миграция БД без даунтайма
Во время разработки несложно вносить изменения в базу данных — достаточно создать и применить миграции. В приложении с живыми пользователя так просто это не сделать.
При последовательном обновлении базы и приложения легко оказаться в рассинхронизированном состоянии, например, с обновлённой базой и старой версией приложения. Старая версия приложения не умеет работать с обновлённой базой, в результате будут сбои до тех пор, пока новая версия приложения не заменит старую.
В статье Migrating a production database without any downtime (перевод) рассказывается на примерах и с картинками, как пошагово решать проблему обратной совместимости базы данных и приложения.
#skills #database
Во время разработки несложно вносить изменения в базу данных — достаточно создать и применить миграции. В приложении с живыми пользователя так просто это не сделать.
При последовательном обновлении базы и приложения легко оказаться в рассинхронизированном состоянии, например, с обновлённой базой и старой версией приложения. Старая версия приложения не умеет работать с обновлённой базой, в результате будут сбои до тех пор, пока новая версия приложения не заменит старую.
В статье Migrating a production database without any downtime (перевод) рассказывается на примерах и с картинками, как пошагово решать проблему обратной совместимости базы данных и приложения.
#skills #database
Teamplify
Migrating a production database without any downtime
The basic principles of zero-downtime DB migrations and quick recipes for the most common scenarios for MySQL and Postgres
👍4⚡2❤2🔥2
Pattern Matching
В python 3.10 появилась долгожданная возможность использовать конструкцию match/case. На первый взгляд это классический switch, но в питоне пошли дальше.
В статье Recipes and Tricks for Effective Structural Pattern Matching in Python автор рассказывает о неочевидных возможностях pattern matching:
— как использовать в блоке case регулярные выражения, хотя это не предусмотрено по умолчанию
— как с помощью атрибута
— как хитро проверить ключи и их значения в json-объектах
— и несколько ещё менее очевидных применений
Важное предупреждение: этот функционал открывает много возможностей. Первая реакция: ого, как можно! Но чрезмерно сложный case затрудняет читабельность кода и приводит к неочевидным проблемам.
О неочевидных проблемах автор также не забывает:
— порядок case важен, потому что какой-то case может быть недостижим
— неожиданное поведение при несовпадении ни с одним из case
#python
В python 3.10 появилась долгожданная возможность использовать конструкцию match/case. На первый взгляд это классический switch, но в питоне пошли дальше.
В статье Recipes and Tricks for Effective Structural Pattern Matching in Python автор рассказывает о неочевидных возможностях pattern matching:
— как использовать в блоке case регулярные выражения, хотя это не предусмотрено по умолчанию
— как с помощью атрибута
__match_args__ сделать позиционные аргументы в клаccе и использовать их в case— как хитро проверить ключи и их значения в json-объектах
— и несколько ещё менее очевидных применений
Важное предупреждение: этот функционал открывает много возможностей. Первая реакция: ого, как можно! Но чрезмерно сложный case затрудняет читабельность кода и приводит к неочевидным проблемам.
О неочевидных проблемах автор также не забывает:
— порядок case важен, потому что какой-то case может быть недостижим
— неожиданное поведение при несовпадении ни с одним из case
#python
martinheinz.dev
Recipes and Tricks for Effective Structural Pattern Matching in Python
<p>
If you're a Python developer, then you're probably aware that <code class="inline">match</code>/<code class="inline">case</code> statement got introduc...
If you're a Python developer, then you're probably aware that <code class="inline">match</code>/<code class="inline">case</code> statement got introduc...
🔥6⚡2❤2👍2🌭1
Пятничное развлекательное.
Среди ИТ-тусовки весьма популярны комиксы xkcd. К каждому комиксу есть интересное текстовое дополнение, которое в английской версии появляется после наведения на картинку, в русской — сразу показывается под картинкой. На Дзене есть крутая статья про историю xkcd. Приготовили для вас подборку наших любимых комиксов на ИТ-тематику:
Хороший код
Себе из будущего (код придётся переписать)
Успех (критерий успешности при сборке Linux)
Усилок рок-группы (умный инженер)
Руководства (man sudoers)
Самоописание (изящная рекурсия)
Разница (учёный vs нормальный человек)
#fun #xkcd
Среди ИТ-тусовки весьма популярны комиксы xkcd. К каждому комиксу есть интересное текстовое дополнение, которое в английской версии появляется после наведения на картинку, в русской — сразу показывается под картинкой. На Дзене есть крутая статья про историю xkcd. Приготовили для вас подборку наших любимых комиксов на ИТ-тематику:
Хороший код
Себе из будущего (код придётся переписать)
Успех (критерий успешности при сборке Linux)
Усилок рок-группы (умный инженер)
Руководства (man sudoers)
Самоописание (изящная рекурсия)
Разница (учёный vs нормальный человек)
#fun #xkcd
🔥5👍3⚡2❤1🌭1
Кино на выходные
В 2021 году в Китае полноценно развернули систему социального кредита. За нарушения у гражданина снижают рейтинг, за полезные действия вроде благотворительности рейтинг повышают. Рейтинг влияет на многие сферы жизни, в том числе на доступность перемещения внутри страны.
Идея не нова. Уже в 2016 году в серии Нырок e1s3 сериала Чёрное зеркало показывалось возможное развитие событий. Как повлияет на людей возможность оценить любой поступок человека?
Ещё раньше, в 2015 году в серии Ты не Иелпишь e19s4 мультсериала Южный парк рассматривался вопрос массовых рейтингов, в частности, оценки кафе и ресторанов. Велико ли влияние инфлюенсеров? Кого вообще считать инфлюенсером?
Предупреждение — в целом сериал Чёрное зеркало достаточно мрачный, а Южный парк наполнен сарказмом, перегибами, матом и местами жестью.
#fun #films
В 2021 году в Китае полноценно развернули систему социального кредита. За нарушения у гражданина снижают рейтинг, за полезные действия вроде благотворительности рейтинг повышают. Рейтинг влияет на многие сферы жизни, в том числе на доступность перемещения внутри страны.
Идея не нова. Уже в 2016 году в серии Нырок e1s3 сериала Чёрное зеркало показывалось возможное развитие событий. Как повлияет на людей возможность оценить любой поступок человека?
Ещё раньше, в 2015 году в серии Ты не Иелпишь e19s4 мультсериала Южный парк рассматривался вопрос массовых рейтингов, в частности, оценки кафе и ресторанов. Велико ли влияние инфлюенсеров? Кого вообще считать инфлюенсером?
Предупреждение — в целом сериал Чёрное зеркало достаточно мрачный, а Южный парк наполнен сарказмом, перегибами, матом и местами жестью.
#fun #films
TAdviser.ru
В Китае официально узаконили «Систему социального кредита»
Цель системы состоит в том, чтобы осуществлять всесторонний контроль за людьми посредством сбора и обработки их персональных данных. В рамках реализации системы предполагается анализ общественно политического поведения частных лиц, компаний и других организаций…
🌭4👍3❤1⚡1🔥1
Как обмануть нейронную сеть
В статье 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
