Size: a a a

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

2020 June 28
Библиотека программиста
Вы разработчик, который думает о переходе в область Data Science? Тогда вам будет интересно прийти на онлайн-митап, посвященной этой теме.
На нем мы поделимся опытом перехода из программистов в дата сайентисты, расскажем о том, что вас ждет и на какие грабли лучше не наступать.
Если вам интересно, о чем весь этот хайп про data science – ждем вас на митапе в понедельник 29 июня в 18-00 (время московское): https://skillfactoryschool.timepad.ru/event/1343117
источник
Библиотека программиста
Встраивание переменной зачастую используется как часть таких приёмов рефакторинга, как замена переменной вызовом метода или извлечения метода.

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

Алгоритм рефакторинга:
1. Найдите все места, где используется переменная, и замените их выражением, которое ей присваивалось.
2. Удалите объявление переменной и строку присваивания ей значения.
источник
Библиотека программиста
​​💸 12 способов зарабатывать с помощью программного кода

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

https://proglib.io/sh/u7tJsmH5S4
источник
Библиотека программиста
У вас есть ветка <branch>, над которой вы хотите поработать с кем-то ещё на удалённом сервере. С помощью какой команды можно поместить копию локальной ветки <branch> в удалённый репозиторий <remote>?
Анонимная викторина
13%
git branch <branch> <remote>
63%
git push <remote> <branch>
18%
git copy <remote> <branch>
6%
Посмотреть результаты
Проголосовало: 3469
источник
2020 June 29
Библиотека программиста
Если вы хотите поделиться веткой, вам необходимо отправить её на удалённый сервер, где у вас есть права на запись. Ваши локальные ветки автоматически не синхронизируются с удалёнными при отправке — вам нужно явно указать те ветки, которые вы хотите отправить.

Если у вас есть ветка <branch>, над которой вы хотите работать с кем-то ещё, вы можете отправить её на удалённый сервер <remote> с помощью команды git push <remote> <branch>.

Закрепляем знания: для выполнения операций на удаленных ветках сначала настраиваем удаленный репозиторий и добавляем его в конфигурацию локального репозитория.
$ git remote add <remote> <remote-url>

Помещаем копию локальной ветки <branch> в удаленный репозиторий <remote>:
$ git push <remote> <branch>
источник
Библиотека программиста
1 июля в 20:00 (мск) – День открытых дверей онлайн-курса «Промышленный ML на больших данных». Запишитесь: https://otus.pw/fGNM/

Встречу проведет руководитель онлайн-курса Дмитрий Бугайченко (Управляющий директор в Сбербанке). Специалист по работе с большими данными и машинному обучению. В течение 8 лет работал в «Одноклассники.ru». Руководил командой OK Data Lab (лаборатория для исследователей в области big data и machine learning).

Первые 20 участников, зарегистрировавшихся на вебинар, получат Сертификат на скидку на электронную почту в течение 1-2 дней после трансляции.
Еще 10 сертификатов на скидку распределят в прямом эфире между теми, кто записался на вебинар.

Запись на участие в розыгрыше закрывается в день проведения вебинара в 16:00 (полные правила акции читайте на сайте https://otus.ru/legal/promo/) Применить Сертификат можно только после успешного прохождения вступительного тестирования.

Так что готовьте вопросы, сдавайте вступительный тест и присоединяйтесь: https://otus.pw/3HCI/
источник
Библиотека программиста
В вашей программе клиент получает объект B из поля или метода объекта А, затем клиент вызывает какой-то метод объекта B. Как называется приём рефакторинга, который подразумевает создание нового метода в классе А, который бы делегировал вызов объекту B?
Анонимная викторина
22%
Удаление посредника
49%
Сокрытие делегирования
21%
Извлечение класса
9%
Посмотреть результаты
Проголосовало: 2488
источник
2020 June 30
Библиотека программиста
Приём рефакторинга, включающий создание нового метода в классе А, который бы делегировал вызов объекту B, называется сокрытием делегирования. Он приводит к тому, что клиент перестаёт знать о классе В и зависеть от него.

Для описания причин использования данного приёма рефакторинга необходимо определиться с понятиями: сервер — это объект, к которому клиент имеет непосредственный доступ; делегат — это конечный объект, который содержит функциональность, нужную клиенту. Цепочка вызовов появляется тогда, когда клиент запрашивает у одного объекта другой, потом второй объект запрашивает еще один и т. д. Такие последовательности вызовов означают, что клиент связан с навигацией по структуре классов. Любые изменения промежуточных связей означают необходимость модификации клиента.

Данный приём скрывает делегирование от клиента. Чем меньше клиентский код знает подробностей о связях между объектами, тем проще будет впоследствии вносить изменения в программу. Однако если требуется создать слишком много делегирующих методов, класс-сервер рискует превратиться в лишнее промежуточное звено.

Алгоритм рефакторинга:
1. Для каждого метода класса-делегата, вызываемого клиентом, нужно создать метод в классе-сервере, который бы делегировал вызов классу-делегату.
2. Измените код клиента так, чтобы он вызывал методы класса-сервера.
3. Если после всех изменений клиент больше не нуждается в классе-делегате, можно убрать метод доступа к классу-делегату из класса-сервера (тот метод, который использовался изначально для получения класса-делегата).
источник
Библиотека программиста
источник
Библиотека программиста
​​Ситуация на рынке труда непростая, немало людей лишились рабочих мест. Держим руку на пульсе: недавно SuperJob запустили канал с вакансиями.

В отличие от других подобных каналов, здесь всё коротко и по делу: должность 👨‍💻 локация📍 компания 🏢 и зарплата 💵. У нескольких последних позиций зарплата 225 тыс. руб.

Приятный бонус подписки: розыгрыши ценных призов и скидок на курсы партнеров SuperJob. Итоги подводятся каждый четверг в 16:00. Мы уже подписались: @superjob_it.
источник
Библиотека программиста
​​👨‍🎓️📊 Как научиться Data Science онлайн: 12 шагов от новичка до профи

12 шагов для тех, кто хочет с нуля построить карьеру в Data Science. Руководство к действию и россыпь ссылок на полезные ресурсы.

https://proglib.io/sh/760CuE9i4w
источник
2020 July 01
Библиотека программиста
Какая периодичность викторин вас устраивает больше?
Анонимный опрос
62%
Каждый день
19%
Раз в два дня
20%
Раз в три дня
Проголосовало: 3034
источник
Библиотека программиста
Какая команда позволяет устанавливать значения конфигурации Git на глобальном или локальном уровне проекта?
Анонимная викторина
10%
git push config
8%
git settings
78%
git config
4%
Посмотреть результаты
Проголосовало: 3993
источник
2020 July 02
Библиотека программиста
Команда git config используется для установки значений конфигурации Git на глобальном или локальном уровне проекта. Эти уровни конфигурации соответствуют текстовым файлам .gitconfig.

Самый простой пример использования git config — вызов этой команды с именем конфигурации. При этом будет показано заданное для этого имени значение. Имена конфигурации представляют собой строку, состоящую из иерархической последовательности «раздела» и «ключа», отделенных друг от друга точкой. Пример:
$ git config user.email

В этом примере «email» является дочерним свойством блока конфигурации «user». Команда вернет адрес электронной почты (если таковой был указан), который Git свяжет с локально созданными коммитами.

Чтобы указать уровень конфигурации, на котором производится работа, к команде git config можно добавить аргументы. Доступны следующие уровни конфигурации: --local (конфигурация применяется к репозиторию, в котором вызывается команда), --global (конфигурация применяется к пользователю операционной системы) и --system (конфигурация уровня системы применяется ко всей машине).

Рассмотрим пример записи значения:
$ git config --global user.email "your_email@example.com"

В данном примере значение your_email@example.com будет записано в имя конфигурации user.email. Поскольку используется флаг --global, значение будет задано для текущего пользователя операционной системы.
источник
Библиотека программиста
​​Что бы там ни говорили, а данные – это не только аналитика. Кто-то должен эти данные найти, сохранить и подготовить для анализа. Теперь всему можно научиться на факультете Data Engineering онлайн-университета GeekBrains:

🛠 Автоматизировать сбор данных
🚠 Создать конвейер обработки информации
🏗 Разработать архитектуру хранения и мониторинга
👓 Подготовить результаты для аналитиков

При успешном прохождении курсов компания гарантирует не только диплом, но и трудоустройство. Список осваиваемых инструментов и отзывы учеников здесь: https://proglib.io/w/56243610
источник
Библиотека программиста
Предположим, что в вашей программе один класс работает за двоих. Как называется приём рефакторинга, подразумевающий создание нового класса и перемещение в него полей и методов, отвечающих за определённую функциональность?
Анонимная викторина
10%
Перемещение метода
79%
Извлечение класса
5%
Перемещение поля
5%
Посмотреть результаты
Проголосовало: 3060
источник
2020 July 03
Библиотека программиста
Извлечение класса используется, когда ранее чёткие и понятные классы получают массу дополнительных обязанностей.

Данный приём рефакторинга призван помочь в соблюдении принципа единственной обязанности класса. Это делает код классов очевиднее и понятнее. Однако, если при проведении этого рефакторинга вы перестараетесь, придётся прибегнуть к встраиванию класса.

Алгоритм рефакторинга:
1. Создайте новый класс, который будет содержать выделенную вами функциональность.
2. Создайте связь между старым и новым классом.
3. Переместите поля и методы в новый класс.
4. Вы можете полностью спрятать новый класс от клиента, сделав его приватным, управляя при этом его полями из старого класса. Либо можете сделать его публичным, предоставив клиенту возможность напрямую менять значения. Решение зависит от того, насколько безопасны для поведения старого класса будут неожиданные прямые изменения значений в новом классе.
источник
Библиотека программиста
💰Программа поддержки для владельцев мобильных приложений от Яндекса
В её рамках, мобильные разработчики могут подключиться к рекламной сети компании, получать с неё доход и плюс получить до 600К рублей бонусами на счет в Яндекс.Директе. Их можно использовать на рекламу своего приложения, чтобы привлечь еще больше пользователей.  
Заявки принимаются до конца августа: https://clck.ru/PPh55
источник
Библиотека программиста
​​📱 70 YouTube-каналов и плейлистов о мобильной разработке

Подборка каналов и плейлистов YouTube о различных аспектах мобильной разработки под Android и iOS: курсы по языкам и созданию приложений, записи докладов и скринкастов, дизайн и кодинг.

https://proglib.io/sh/9J0q6NdLpz
источник
2020 July 04
Библиотека программиста
С помощью какой команды Git можно узнать какие коммиты есть либо в ветке master, либо в ветке experiment, но не в обеих сразу?
Анонимная викторина
23%
git log master...experiment
34%
git show master experiment
28%
git log master..experiment
15%
Посмотреть результаты
Проголосовало: 3436
источник