Size: a a a

Библиотека программиста

2020 January 23
Библиотека программиста
Каким образом вы нырнули в океан IT? Поделитесь своим опытом: https://proglib.io/discussions/kakoy-u-vas-opyt-raboty-v-it-2020-01-18
источник
Библиотека программиста
Что нового в Pandas 1.0? 🐼

Команда разработчиков Pandas недавно опубликовала предварительную версию 1.0. Главное новшество: наконец-то введён заполнитель пропущенных значений общего типа.

https://proglib.io/sh/lJLmVEz61U
источник
2020 January 24
Библиотека программиста
источник
Библиотека программиста
11 тенденций мобильной разработки в 2020 году

Обсуждаем ближайшее будущее мобильных платформ и делимся ссылками на материалы по каждому из трендов.

https://proglib.io/sh/J5Bi83eKIN
источник
2020 January 25
Библиотека программиста
​​#algorithm

Depth-First Search(s) – Поиск в глубину

Давайте вспомним один из популярных способов обхода графа, ведь разработчики постоянно сталкиваются с подобными задачами. Из названия этого метода обхода графа ясно, что в процессе поиска мы идем «вглубь» графа настолько, насколько возможно. Следуя алгоритму, мы последовательно обойдем все вершины графа, которые доступны из начальной вершины. Если ребро ведет в не пройдённую до этого момента вершину, то алгоритм запускается с нее. В случае если ребер, которые ведут в не рассмотренную вершину, больше нет, то происходит возврат назад.
источник
Библиотека программиста
​​#logic

Новая головоломка. Задача о вирусе в колонии бактерий

Биологические вирусы поражают все типы организмов, не только убивая клетки, но также используя их материал для репликации. Выживет ли в этой борьбе описанная в головоломке колония бактерий?

После описания задачи идёт ответ на предыдущую головоломку о Часах с одинаковыми стрелками. Головоломки публикуются по субботам и средам.

https://proglib.io/sh/T0WEkrdb5t
источник
Библиотека программиста
#git

Система контроля версий Git стала незаменимым инструментом разработчиков, а умение работать с ней является обязательным требованием к разработчику при приеме на работу. Давайте сегодня постараемся ответить на достаточно важные вопросы, связанные с Git, а завтра сверим ответы 😉

1. В чем отличие git от svn?
2. Как взять удаленные изменения?
3. Что делает «git stash»?
4. В чем отличие «git pull» от «git fetch»
5. В чем отличие «git merge» от «git rebase»
6. В чем заключается стратегия Git Flow?
источник
2020 January 26
Библиотека программиста
#git

Ну что, сверяем ответы?

1. В чем отличие git от svn? Отличий достаточно много, но из основных можно выделить следующие:
– Git – распределенная система, а svn – нет. Это позволяет хранить репозиторий (его копию) у каждого разработчика, работающего с данной системой. Практически каждая операция выполняется с данными на локальном диске, что достаточно быстро и может быть выполнено в оффлайн режиме. Вы можете выполнять команды «commit», «diff», «log», «branch», «merge», создавать аннотации к файлам и многое другое, полностью в оффлайн режиме.
– Git сохраняет метаданные изменений, а svn целые файлы. Это экономит место и время.
– В git рабочий процесс не имеет единой точки отказа. Поскольку каждый разработчик, работающий над проектом, имеет по сути его резервную копию, потеря связи с серверами ничем ему не грозит.

2. Как взять удаленные изменения?
– С помощью команды «git fetch <url>», которая связывается с указанным удаленным проектом и забирает все те данные проекта, которых у вас еще нет. После выполнения команды должны появиться ссылки на все ветки из этого удалённого проекта, которые вы можете просмотреть или слить в любой момент.

3. Что делает «git stash»?
– Довольно часто при работе с git возникает ситуация, когда необходимо обновиться (сделать pull), но при этом коммитить сырой код не хочется. Команда «git stash» скрывает все сделанные изменения и переводит код в состояние HEAD. Последовательность команд в данном случае такая:
$ git stash
$ git pull
$ git stash apply

4. В чем отличие «git pull» от «git fetch»?
– «git pull» – это, по сути, команда «git fetch», после которой сразу же следует «git merge». «git fetch» получает изменения с сервера и сохраняет их в каталог refs/remotes/. Это никак не влияет на локальные ветки и текущие изменения. А «git merge» уже вливает все эти изменения в локальную копию.

5. В чем отличие «git merge» от «git rebase»?
– «git merge» – слияние изменений из одной ветки в другую. Независимо от того, созданы ли ветки для тестирования, исправления ошибок или по другим причинам, слияние фиксирует изменения в другом месте. Слияние принимает содержимое ветки источника и объединяет их с целевой веткой. В этом процессе изменяется только целевая ветка. История исходных веток остается неизменной. «git rebase» сжимает все изменения в один «патч». Затем он интегрирует патч в целевую ветку. В отличие от слияния, перемещение перезаписывает историю, потому что она передает завершенную работу из одной ветки в другую. В процессе устраняется нежелательная история.

6. В чем заключается стратегия Git Flow?
– Git Flow – одна из первых крупных стратегий ветвления, которая завоевала популярность. Git Flow описывает несколько веток для разработки, релизов и взаимодействия между ними: feature branches, release branches, hotfix branches.
источник
Библиотека программиста
​​Глубокое обучение – это метод машинного обучения, который позволяет обучать нейронную сеть предсказывать результаты по набору входных данных. Ниже представлена демонстрация как раз такой нейросети.
источник
2020 January 27
Библиотека программиста
#git

Интерес к теме, связанной с Git, не оставляет нам ничего, кроме рассмотрения данной темы более подробно. Давайте разберемся с тем, как использовать ветвление в Git: создание, обновление, удаление и многое другое.

https://proglib.io/sh/3gVS8YUWHn
источник
Библиотека программиста
​​#algorithm

Breadth-First Search(s) Поиск в ширину

Алгоритм позволяет найти кратчайший (содержащий наименьшее число ребер) путь из одной вершины графа до всех остальных вершин. В нем сначала посещаются все вершины, смежные с текущей, а затем их потомки.
источник
Библиотека программиста
​​Бесплатные митапы о блокчейн разработке в Казани!

28 января в ИТ-парке г. Казань пройдет встреча, посвященная финтех решениям на блокчейне для банков и крупного бизнеса. Расскажем об использовании технологии в различных бизнес-отраслях, а также покажем архитектуру типовых решений и познакомим с функциональными инструментами разработки и внедрения.
Регистрация по ссылке: http://leader-id.ru/event/41240/?utm_source=proglibrary

29 января в г. Иннополисе эксперты Университета Иннополис, а также компаний-разработчиков блокчейн решений Waves Enterprise и Soramitsu Lab расскажут о кейсах применения технологии на практике и ответят на технические вопросы о внедрении блокчейна.
Регистрация по ссылке: https://oez-innopolis.timepad.ru/event/1240660/?utm_source=proglibrary
источник
Библиотека программиста
Новые мероприятия на конец января и первую половину февраля

Москва
PyData Moscow Meetup, 01 февраля
Forum.Digital AI. Будущее искусственного интеллекта, 05 февраля
moscowcss №17, 06 февраля
Хакатон Moscow Travel Hack, 08 февраля
Хакатон Photo Hack, 15 февраля

Казань
Митап «Финтех решения на базе блокчейн-платформы Waves Enterprise для банков и крупного бизнеса», 28 января
MEET UP: «Эволюция блокчейн – основа цифровой трансформации», 29 января
Отбор проектов в Бизнес-инкубатор ИТ-парка, 02 февраля

Санкт-Петербург
Tender Hack.Spb, 01 февраля

Витебск
Митап Miniq #22, 30 января

Минск
Митап Minsk PostgreSQL, 12 февраля
источник
2020 January 28
Библиотека программиста
​​Структуры данных

Структуры данных являются важной частью разработки программного обеспечения и одной из наиболее распространенных тем для вопросов на собеседованиях с разработчиками. Давайте вспомним что из себя представляют структуры данных и начнем со связных списков.

Связный список является одной из самых основных структур данных. Его часто сравнивают с массивом, поскольку многие другие структуры данных могут быть реализованы либо с помощью массива, либо с помощью связного списка. У каждого из них есть свои преимущества и недостатки.

Связный список состоит из группы узлов, которые вместе представляют последовательность. Каждый узел содержит две вещи: фактические данные, которые хранятся (которые могут быть представлены любым типом данных), и указатель (или ссылка) на следующий узел в последовательности. Существуют также дважды связанные списки, в которых каждый узел имеет указатель и на следующий, и на предыдущий элемент в списке. Самые основные операции в связанном списке включают добавление элемента в список, удаление элемента из списка и поиск в списке для элемента.
источник
Библиотека программиста
Окей, гуру! Каковы стоимость и риски автоматизации тестирования?

Гуру тестирования и тест-менеджер компании Luxoft Александр Александров рассказывает о себе и делится своими соображениями о преимущества и недостатках автоматизации тестирования.

1 часть: https://proglib.io/sh/pueanIlT9X
2 часть: https://proglib.io/sh/ZHYDfQtiUz
источник
Библиотека программиста
Стань специалистом по анализу данных: используй продвинутые методы и инструменты, чтобы автоматизировать рутину, работать быстрее или получить высокооплачиваемую профессию с высоким спросом.

Регистрация по ссылке: https://clc.to/EsNZRA.

💣 Ты научишься исследовать данные с помощью Python, восстанавливать отсутствующую информацию, находить аномалии.
💣 Построишь модели для реальных кейсов.
💣 Познакомишься с инструментами анализа данных — библиотеками Pandas и Matplotlib.

Занятия проведёт главный инженер Сбербанка Анастасия Борнева с 30 января по 1 февраля.
источник
Библиотека программиста
​​​​#algorithm #sort

Quick sort (быстрая сортировка)

Быстрая сортировка - в целом это один из самых быстрых алгоритмов сортировки массивов, однако на практике он чаще всего применяется с разного рода модификациями. Является примером принципа «разделяй и властвуй».

Идея алгоритма заключается в том, что выбирается опорный элемент, относительно которого будет происходить сортировка. Равные и бОльшие элементы помещаются справа, меньшие – слева. Затем к полученным подмассивам рекурсивно применяются два первых пункта.
источник
2020 January 29
Библиотека программиста
#job #interview

Практика прохождения собеседований

Большинство интервьюеров на собеседованиях не будут задавать вопросы о конкретных алгоритмах балансировки двоичного дерева или каких-то других сложных алгоритмах. Не исключено, что они сами их уже забыли, ведь такие вещи забываются сразу после окончания учебы.

Вам нужно знать основы и вы должны убедиться, что понимаете как их использовать и реализовывать, а также знаете их область применения, эффективность использования памяти и время выполнения. Вам могут задать вопрос как по теме из списка ниже (список не исчерпывающий, естественно), так и попросить реализовать какую-либо его модификацию.

Структуры данных:
- связные списки,
- бинарные деревья,
- графы,
- стеки,
- очереди,
- векторы/списки массивов,
- хеш-таблицы.

Алгоритмы:
- поиск в ширину и глубину,
- бинарный поиск,
- сортировка слиянием и быстрая сортировка,
- вставка в дерево.

Концепции:
- манипуляция битами,
- паттерн одиночка,
- паттерн фабричный метод.
- память (стек, куча),
- рекурсия,
- время порядка «О-большое».
источник
Библиотека программиста
​​#logic

Новая головоломка. Задача о шести шахматных конях

Сегодня нам предстоит алгоритмическая задача с позиционным обменом двух типов объектов. Наглядно такое движение можно представить через перемещение шахматных коней.

После описания задачи идёт ответ на предыдущую головоломку о вирусе в колонии бактерий. Ответ и новая задача будут опубликованы в 14:00 в субботу.

https://proglib.io/sh/JmH5Ms16YL
источник
Библиотека программиста

Специально, для тех, кто ищет работу в сфере АйТи, был создан канал, где публикуют только качественные вакансии.

Больше не нужно бесконечно сёрфить в надежде найти что-то годное...всё уже собрано здесь!

Ссылка на канал с отборными вакансиями: https://t.me/joinchat/AAAAAFZEHKueTRHhpUEoww

Го сам и захвати друга 😉
источник