Forwarded from Программирование {BookFlow}
Полный список вопросов с собеседований по Python для дата-сайентистов и инженеров
Бывает, что компания ищет дата-сайентиста, а на самом деле ей нужен Python-разработчик. Поэтому при подготовке к собеседованию есть смысл освежить в памяти информацию по Python, а не только штудировать алгоритмы.
https://bookflow.ru/spisok-voprosov-s-sobesedovanij-po-python/
Бывает, что компания ищет дата-сайентиста, а на самом деле ей нужен Python-разработчик. Поэтому при подготовке к собеседованию есть смысл освежить в памяти информацию по Python, а не только штудировать алгоритмы.
https://bookflow.ru/spisok-voprosov-s-sobesedovanij-po-python/
👍6
Forwarded from Python академия
Объединение словарей в python.
Начиная с Python 3.5 можно легко объединить словари. Будьте осторожны, если ключи будут пересекаться, то вы можете потерять данные.
С версии 3.9 объединение становится еще легче. Пример.
Подписывайтесь на канал 👉@pythonofff
Начиная с Python 3.5 можно легко объединить словари. Будьте осторожны, если ключи будут пересекаться, то вы можете потерять данные.
С версии 3.9 объединение становится еще легче. Пример.
Подписывайтесь на канал 👉@pythonofff
👍13👎2
Forwarded from GameDev: разработка игр
Prince Of Persia (1989)
Разработчик: Jordan Mechner
Издатель: Brøderbund
Платформа: Apple II / DOS / many more
Обзор кода: fabiensanglard.net
Prince Of Persia произвёл фурор благодаря плавной анимации, голливудскому стилю подачи истории и интересному геймплею.
Написана полностью на ассемблере, что затрудняет задачу обзора кода. Рекомендую посмотреть интервью с Джорданом Мехнером, где он делится деталями о создании игры.
Исходник (Apple II): github.com/jmechner/Prince-of-Persia-Apple-II
Разработчик: Jordan Mechner
Издатель: Brøderbund
Платформа: Apple II / DOS / many more
Обзор кода: fabiensanglard.net
Prince Of Persia произвёл фурор благодаря плавной анимации, голливудскому стилю подачи истории и интересному геймплею.
Написана полностью на ассемблере, что затрудняет задачу обзора кода. Рекомендую посмотреть интервью с Джорданом Мехнером, где он делится деталями о создании игры.
Исходник (Apple II): github.com/jmechner/Prince-of-Persia-Apple-II
👍31❤1👎1
Forwarded from Python академия
Списковые включения.
В python можно заменить громоздкие циклы, которые используются для заполнения списков. Самый простой пример использования списковых включений представлен в первом примере.
В примере 2 показано как можно добавить немного математики.
Вы даже можете использовать свои функции, как в примере 3.
Ну и куда без условного оператора? Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
В python можно заменить громоздкие циклы, которые используются для заполнения списков. Самый простой пример использования списковых включений представлен в первом примере.
В примере 2 показано как можно добавить немного математики.
Вы даже можете использовать свои функции, как в примере 3.
Ну и куда без условного оператора? Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
👍11
Forwarded from Академия Кода
Свойство flex
Свойство flex определяет способность гибкого элемента растягиваться или сжиматься для заполнения собой доступного свободного пространства. Состоит из следующих свойств: flex-grow (коэффициент увеличения flex), flex-shrink (фактор сжатия), flex-basis (базовый размер элемента по основной оси).
Подписывайтесь на канал 👉@coddy_academy
#css
Свойство flex определяет способность гибкого элемента растягиваться или сжиматься для заполнения собой доступного свободного пространства. Состоит из следующих свойств: flex-grow (коэффициент увеличения flex), flex-shrink (фактор сжатия), flex-basis (базовый размер элемента по основной оси).
Подписывайтесь на канал 👉@coddy_academy
#css
👍8👎8
Forwarded from Академия Кода
setState()
В React метод setState() позволяет планировать изменение объекта состояния компонента. Сам state находится внутри компонента. Вызов setState() является асинхронным, поэтому this.state не сможет отобразить новое значение мгновенно. Всегда нужно использовать this.SetState() для изменения состояния вместо прямой модификации объекта.
Подписывайтесь на канал 👉@coddy_academy
#javascript
В React метод setState() позволяет планировать изменение объекта состояния компонента. Сам state находится внутри компонента. Вызов setState() является асинхронным, поэтому this.state не сможет отобразить новое значение мгновенно. Всегда нужно использовать this.SetState() для изменения состояния вместо прямой модификации объекта.
Подписывайтесь на канал 👉@coddy_academy
#javascript
👎28👍7
Forwarded from Python академия
Искусственная нейронная сеть с нуля на Python c библиотекой NumPy
В туториале показано, как с нуля построить искусственную нейронную сеть на Python с помощью библиотеки NumPy. Сеть будет классифицировать изображения из датасета Fruit360.
Подробнее
Подписывайтесь на канал 👉@pythonofff
В туториале показано, как с нуля построить искусственную нейронную сеть на Python с помощью библиотеки NumPy. Сеть будет классифицировать изображения из датасета Fruit360.
Подробнее
Подписывайтесь на канал 👉@pythonofff
👍6👎3
Forwarded from Академия Кода
This media is not supported in your browser
VIEW IN TELEGRAM
Сортировка пузырьком
В Python уже есть встроенные функции сортировок массивов sort() и .sorted(), но достаточно важно самому знать хотя бы несколько реализаций.
Суть алгоритма в том, что совершается несколько проходов по массиву. При проходе последовательно сравниваются пары элементов в массиве и в случае несоответствия выбранному порядку меняются местами. Если пары элементов находятся в верном порядке, то ничего не происходит. В результате первого прохода максимальный элемент окажется в конце, то есть всплывет словно пузырек. Затем все повторяется до того момента пока весь массив не будет отсортирован. Последний проход будет по отсортированному массиву.
Подписывайтесь на канал 👉@coddy_academy
#python
В Python уже есть встроенные функции сортировок массивов sort() и .sorted(), но достаточно важно самому знать хотя бы несколько реализаций.
Суть алгоритма в том, что совершается несколько проходов по массиву. При проходе последовательно сравниваются пары элементов в массиве и в случае несоответствия выбранному порядку меняются местами. Если пары элементов находятся в верном порядке, то ничего не происходит. В результате первого прохода максимальный элемент окажется в конце, то есть всплывет словно пузырек. Затем все повторяется до того момента пока весь массив не будет отсортирован. Последний проход будет по отсортированному массиву.
def bubble_sort(array):
for i in range(len(array), 0, -1):
for j in range(1, i):
if array[j - 1] > array[j]:
tmp = array[j-1]
array[j-1] = array[j]
array[j] = tmp
return array Подписывайтесь на канал 👉@coddy_academy
#python
👍17👎9🎉2🤯1
Forwarded from Python академия
Как копировать файлы из одной папки в другую на Python?
Библиотека под названием
Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
Библиотека под названием
shutil включает в себя несколько полезных функций для создания копий объектов на жестком диске. Посмотреть пример в онлайн редакторе.
Подписывайтесь на канал 👉@pythonofff
👍5
Forwarded from Академия Кода
Ленивые итерации
Мы используем ленивые/отложенные итерации в функциональном программировании для более эффективной работы с памятью. Итератор срабатывает только тогда, когда требуется следующее значение. В данном примере вызов следующего четного числа произойдет с помощью next(evens).
Подписывайтесь на канал 👉@coddy_academy
#python
Мы используем ленивые/отложенные итерации в функциональном программировании для более эффективной работы с памятью. Итератор срабатывает только тогда, когда требуется следующее значение. В данном примере вызов следующего четного числа произойдет с помощью next(evens).
Подписывайтесь на канал 👉@coddy_academy
#python
👍10👎3
Forwarded from Python академия
Распаковка
Неудобно каждый раз для вывода объединять строки через
На самом деле применение более широкое. Звездочка может также собирать несколько значений в одну переменную. Очень удобно применять для функций с бесконечным количеством аргументов или только с именованными аргументами.
Подписывайтесь на канал 👉@pythonofff
Неудобно каждый раз для вывода объединять строки через
join() или тем более как-то объединять числа. Мы можем распаковать кортеж или список, воспользовавшись звездочкой *. Со словарями данный способ не работает.На самом деле применение более широкое. Звездочка может также собирать несколько значений в одну переменную. Очень удобно применять для функций с бесконечным количеством аргументов или только с именованными аргументами.
Подписывайтесь на канал 👉@pythonofff
👍8
Forwarded from ITumor | программисты шутят
Программист умирает в 45 лет и попадает в рай. Он спрашивает у Бога, почему же он умер так рано.
Бог: Сын мой, если учитывать, сколько отработанных часов ты указывал в своих отчетах, ты прожил 82 года.
Подписывайтесь на канал 👉@itumor
Бог: Сын мой, если учитывать, сколько отработанных часов ты указывал в своих отчетах, ты прожил 82 года.
Подписывайтесь на канал 👉@itumor
👍40👎10
Forwarded from Академия Кода
Делаем GIF из видео
Преобразуем видео в GIF просто и элегантно. Видео нужно сохранить в папку со скриптом, там же появится гифка. У пакета также есть дополнительная функциональность, позволяющая менять разрешение и изменять отрезки времени для гифки. Документацию можно найти по ссылке: https://pypi.org/project/moviepy/
Подписывайтесь на канал 👉@coddy_academy
#python
Преобразуем видео в GIF просто и элегантно. Видео нужно сохранить в папку со скриптом, там же появится гифка. У пакета также есть дополнительная функциональность, позволяющая менять разрешение и изменять отрезки времени для гифки. Документацию можно найти по ссылке: https://pypi.org/project/moviepy/
Подписывайтесь на канал 👉@coddy_academy
#python
👍14
Forwarded from Библиотека Python разработчика | Книги по питону
Практика программирования на Python 3
Тимофей Хирьянов, Московский физико-технический институт
Смотреть на youtube
Тимофей Хирьянов, Московский физико-технический институт
Смотреть на youtube
👍12👎1
The Kubernetes Book
Автор: Nigel Poulton (2017)
Целевая аудитория: опытные разработчики.
Kubernetes - это популярная технология для управления и развёртывания контейнеризированных приложений. В основном используется в связке с другой популярной технологией - Docker. Это руководство предназначено для опытных разработчиков, уже использовавших Docker и работающих с высоконагруженными приложениями. В книге множество примеров, советов и рецептов по решению сложных ситуаций.
В книге рассматриваются следующие темы:
✔️ установка Kubernetes;
✔️ основные принципы работы и использования;
✔️ работа с контейнерами;
✔️ сервисы;
✔️ деплой приложения с помощью Kubernetes и многое другое.
Скачать книгу
Автор: Nigel Poulton (2017)
Целевая аудитория: опытные разработчики.
Kubernetes - это популярная технология для управления и развёртывания контейнеризированных приложений. В основном используется в связке с другой популярной технологией - Docker. Это руководство предназначено для опытных разработчиков, уже использовавших Docker и работающих с высоконагруженными приложениями. В книге множество примеров, советов и рецептов по решению сложных ситуаций.
В книге рассматриваются следующие темы:
✔️ установка Kubernetes;
✔️ основные принципы работы и использования;
✔️ работа с контейнерами;
✔️ сервисы;
✔️ деплой приложения с помощью Kubernetes и многое другое.
Скачать книгу
👍11
Linux System Programming
Автор: Tony Bautts, Terry Dawson (2015)
Целевая аудитория: опытные разработчики.
Linux является наиболее предпочтительной ОС для опытных разработчиков как для создания программ и приложений, так и для сетевого администрирования. Настоящее руководство посвящено программированию под Linux и в качестве примеров предлагает написать несколько приложений, напрямую опирающихся на ресурсы этой операционной системы.
В книге рассматриваются следующие темы:
✔️ файловый ввод-вывод;
✔️ буфферизированный ввод-вывод;
✔️ управление потоками;
✔️ работа с памятью и многое другое.
Скачать книгу
Автор: Tony Bautts, Terry Dawson (2015)
Целевая аудитория: опытные разработчики.
Linux является наиболее предпочтительной ОС для опытных разработчиков как для создания программ и приложений, так и для сетевого администрирования. Настоящее руководство посвящено программированию под Linux и в качестве примеров предлагает написать несколько приложений, напрямую опирающихся на ресурсы этой операционной системы.
В книге рассматриваются следующие темы:
✔️ файловый ввод-вывод;
✔️ буфферизированный ввод-вывод;
✔️ управление потоками;
✔️ работа с памятью и многое другое.
Скачать книгу
👍4
Web Development for beginners
Автор: White Belt Mastery (2020)
Книга подойдет вам, если вы не знакомы ни с одним из языков программирования и хотите начать изучение веб-разработки. Автор пошагово разбирает этапы создания сайта с использованием HTML, CSS и JavaScript. В книге сравниваются разные подходы к веб-разработке и содержатся ссылки на материалы для дальнейшего обучения.
Достоинства:
➕Актуальность материала;
➕Небольшой объём;
➕Множество примеров кода.
Скачать книгу
Автор: White Belt Mastery (2020)
Книга подойдет вам, если вы не знакомы ни с одним из языков программирования и хотите начать изучение веб-разработки. Автор пошагово разбирает этапы создания сайта с использованием HTML, CSS и JavaScript. В книге сравниваются разные подходы к веб-разработке и содержатся ссылки на материалы для дальнейшего обучения.
Достоинства:
➕Актуальность материала;
➕Небольшой объём;
➕Множество примеров кода.
Скачать книгу
👍17
Forwarded from GameDev: разработка игр
This media is not supported in your browser
VIEW IN TELEGRAM
Шутер в духе Quake на HTML5 и JavaScript, который весит 13 КБ
Ровно месяц потребовалось разработчику Доминику Саблевски (Dominic Szablewski), что бы написать шутер, похожий на легендарно известный Quake.
В шутере есть два уровня, которые вдохновлены картами E1M1 и E1M3 из оригинальной Quake. Игрок может использовать три вида оружия, а противостоят ему пять типов противников, в том числе собаки. В него можно сыграть прямо в браузере.
Подробнее
Ровно месяц потребовалось разработчику Доминику Саблевски (Dominic Szablewski), что бы написать шутер, похожий на легендарно известный Quake.
В шутере есть два уровня, которые вдохновлены картами E1M1 и E1M3 из оригинальной Quake. Игрок может использовать три вида оружия, а противостоят ему пять типов противников, в том числе собаки. В него можно сыграть прямо в браузере.
Подробнее
👍85👎1
Forwarded from Python академия
Принципы программирования.
Хороший разработчик пишет качественный код. Сейчас существуют главные правила написания хорошего кода, им даже придуманы аббревиатуры. Их сейчас и разберем.
KISS
Keep It Stupid Simple - придерживайся простоты. Хороший пример этому - побитовые операции и регулярки. Это не означает, что их нельзя использовать. Но не надо использовать их там, где это не нужно. Чем проще написан код, тем легче его поддерживать вам и вашим коллегам.
DRY
Don’t Repeat Yourself - не повторяйся. Не следует дублировать код. Вместо копирования нужно создать функцию. В будущем это упростит отладку и изменение кода. Особенно в больших программах.
YAGNI
You Aren’t Gonna Need It - тебе это не понадобится. Неправильно создавать места только для будущего расширения кода. Неизвестно точно, какой именно понадобится функционал и возможно код будет мешать новому (речь не идет о заглушках на заказанный функционал).
SLAP
Single Level of Abstraction Principle - принцип единого уровня абстракций. Код должен оставаться поддерживаемым, особенно функции. Если функция не помещается на экран, то ее следует разбить на несколько других функций.
«Функции должны выполнять только одно действие, но выполнять его хорошо» (Роберт Мартин). В частности напоминает принцип DRY, но сильно отличается, код не обязательно должен повторяться. Но должен быть разбит на логические блоки, для большего удобства
Подписывайтесь на канал 👉@pythonofff
Хороший разработчик пишет качественный код. Сейчас существуют главные правила написания хорошего кода, им даже придуманы аббревиатуры. Их сейчас и разберем.
KISS
Keep It Stupid Simple - придерживайся простоты. Хороший пример этому - побитовые операции и регулярки. Это не означает, что их нельзя использовать. Но не надо использовать их там, где это не нужно. Чем проще написан код, тем легче его поддерживать вам и вашим коллегам.
DRY
Don’t Repeat Yourself - не повторяйся. Не следует дублировать код. Вместо копирования нужно создать функцию. В будущем это упростит отладку и изменение кода. Особенно в больших программах.
YAGNI
You Aren’t Gonna Need It - тебе это не понадобится. Неправильно создавать места только для будущего расширения кода. Неизвестно точно, какой именно понадобится функционал и возможно код будет мешать новому (речь не идет о заглушках на заказанный функционал).
SLAP
Single Level of Abstraction Principle - принцип единого уровня абстракций. Код должен оставаться поддерживаемым, особенно функции. Если функция не помещается на экран, то ее следует разбить на несколько других функций.
«Функции должны выполнять только одно действие, но выполнять его хорошо» (Роберт Мартин). В частности напоминает принцип DRY, но сильно отличается, код не обязательно должен повторяться. Но должен быть разбит на логические блоки, для большего удобства
Подписывайтесь на канал 👉@pythonofff
👍30👎2
Learn Vue JS 2 + Google Maps API for Beginners
Автор: Raja Tamil (2020)
Google Maps API - надежный инструмент, который часто выбирают при создании приложений, работающих с местоположением пользователя. В книге автор учит создавать программы с использованием Vue.js, приводя в пример некоторые приложения. Книга основана на популярном курсе с Udemy.
Достоинства:
➕Хорошо подходит для новичков;
➕Множество примеров кода.
Скачать книгу
Автор: Raja Tamil (2020)
Google Maps API - надежный инструмент, который часто выбирают при создании приложений, работающих с местоположением пользователя. В книге автор учит создавать программы с использованием Vue.js, приводя в пример некоторые приложения. Книга основана на популярном курсе с Udemy.
Достоинства:
➕Хорошо подходит для новичков;
➕Множество примеров кода.
Скачать книгу
👍8❤1👎1
Forwarded from Системный администратор
Курс по администрированию инфраструктуры
Это начало курса по администрированию инфраструктуры. Здесь мы разберём всё что полезно понимать системному администратору - от поднятия инфрастуктуры с нуля до настройки различных отказоустойчивых сетевых сервисов. Данный курс является продолжением курса "Основы GNU/Linux" и требует понимания многих тем, разобранных там.
Особенностью курса является то, что вся наша инфраструктура будет строиться на операционных системах семейства GNU/Linux. Реальная инфрастуктура зачастую состоит из множества готовых проприетарных решений, я же буду акцентировать внимание не на инструментах, а на задачах администратора. Т.е. мы научимся практикам, которые применимы везде, независимо от программного обеспечения. И тем не менее, умение работать с опенсорсными решениями также будет вам полезно.
https://github.com/gnulinuxpro/infra/
Это начало курса по администрированию инфраструктуры. Здесь мы разберём всё что полезно понимать системному администратору - от поднятия инфрастуктуры с нуля до настройки различных отказоустойчивых сетевых сервисов. Данный курс является продолжением курса "Основы GNU/Linux" и требует понимания многих тем, разобранных там.
Особенностью курса является то, что вся наша инфраструктура будет строиться на операционных системах семейства GNU/Linux. Реальная инфрастуктура зачастую состоит из множества готовых проприетарных решений, я же буду акцентировать внимание не на инструментах, а на задачах администратора. Т.е. мы научимся практикам, которые применимы везде, независимо от программного обеспечения. И тем не менее, умение работать с опенсорсными решениями также будет вам полезно.
https://github.com/gnulinuxpro/infra/
👍6🔥3