Программирование {BookFlow}
16.2K subscribers
1.58K photos
468 videos
145 files
2.1K links
Мы публикуем лекции и книги по программированию, видеоуроки, доклады с IT конференций, новости технологий.

Группа в https://vk.com/bookflow.

По всем вопросам @evgenycarter

РКН https://clck.ru/3KoAbH
Download Telegram
ООП в картинках

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

Подробнее
Прикручиваем авторизацию на основе KeyCloak к веб-приложению

Жизненный цикл разработки корпоративного приложения в нашей компании привел меня к, по сути, банальной задаче - “прикручиванию” пользовательской авторизации к фронту приложения. Пользователями приложения должны быть сотрудники компании, а идентификационным провайдером должен стать корпоративный Active Directory (далее AD).

https://habr.com/ru/company/alfastrah/blog/651861/
👍2
Как понять, что перед вами плохой разработчик

Мало просто сменить свою сферу работы на IT, желательно еще и стать хорошим разработчиком. Бывший тимлид и консультант Александр Усков рассказывает, как понять, что перед вами плохой разработчик и что с ним вообще можно делать.

Подробнее
👍6
Forwarded from Python академия
Функция reduce

Модуль functools позволяет хорошо раскрыть функциональные возможности Python. Например, в functools есть интересная функция reduce, которая позволяет «сжимать» данные, применяя последовательно функцию и запоминая результат.

Таким образом, в примере выше reduce умножает 1 на 2, затем результат этого умножения на 3 и так далее.

Подписывайтесь на канал 👉@pythonofff

#функции #reduce
👍4
Туториал: параллельные вычисления больших данных с MapReduce

Метод MapReduce представляет собой технику, которая используется для обработки огромного количества данных (до нескольких петабайт). Существует много реализаций MapReduce, в том числе известный Apache Hadoop. Здесь я не буду говорить о реализациях MapReduce. Я попытаюсь представить концепцию как можно более интуитивно понятным способом, приведу реальные примеры.

Подробнее
👍2🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Интерактивная визуализация и учебник по git. Начинающие изучать git могут использовать это приложение для обучения и преодоления трудностей на пути к освоению git!

https://github.com/pcottle/learnGitBranching
👍4
Собственные команды в командной оболочке

Небольшая, но на мой взгляд, очень полезная заметка про то как можно сделать свои собственные команды для CLI (Command Line Interface) программ. Давайте приведу пример и все сразу станет ясно.


Подробнее
👍4
Программирование на C++

Лекция 1. Стандартная библиотека (Программирование на C++, часть 2)
Лекция 2. Move semantics && perfect forwarding (Программирование на C++, часть 2)
Лекция 3. Алгоритмы и функторы
Лекция 4. bind & function
Лекция 5. Исключения (Программирование на C++, часть 2)
Лекция 6. To SFINAE or not to SFINAE © (Программирование на C++, часть 2)
Лекция 7. Нововведения С++ 11/14 (Программирование на C++, часть 2)
Лекция 9. Строки. Ввод/вывод. (Программирование на C++, часть 2)
Лекция 10. Препроцессор
Лекция 11. Libraries
Лекция 12. Многопоточность
Лекция 13. Многопоточность. Часть 2

https://www.youtube.com/playlist?list=PLlb7e2G7aSpRs7YafQ1GgJvyRku10m1RN
👍12
12 небольших фишек для улучшения твоего кода

1. Обмен значений
x, y = 1, 2
x, y = y, x


2. Получение строки из списка
a_list = [‘I’, ‘like’, ‘python’, ‘programming’]
a_string = “ “.join(a_list)


3. Разбиение строки на список
a_string = ‘I like python programming’
a_list = a_string.split()


4. Инициализация листа каким либо значением
[0]*1000 # лист, заполненный 1000 нулями
[1]*1000 # лист, заполненный 1000 единицами


5. Слияние словарей
x = {‘a’:1, ‘b’:2}
y = {‘c’:3, ‘d’:4}
z = {**x, **y}


6. Переворачивание строки
a = ‘My string’
a = a[::-1]


7. Возврат нескольких переменных из функции
def test(x,y):
return x,y
a,b = test(1,2)


8. Итерирование по словарю
a_dict = {‘a’:1, ‘b’:2, ’c’:3}
for k, v in a_dict.items():
print(‘{0}:{1}’.format(k, v))


9. Инициализация пустых контейнеров
a_list = list()
a_dict = dict()
a_set = set()
a_tuple = tuple()


10. Удаление символов в конце строки
my_string = ‘My string///‘
my_string.strip(‘/‘)


11. Проверка занимаемой объектом памяти
import sys
x = 1
print(sys.getsizeof(x))


12. Нахождение наиболее частого элемента в списке
a_list = [1, 2, 3, 1, 1, 4, 1, 4, 4, 1]
print(max(set(a_list), key=a_list.count))
👍12
Россию решили отключить от мировой сети
Ключевой американский провайдер Интернета в России прекращает обслуживание этой страны, ссылаясь на «неспровоцированное вторжение в Украину

Компания Cogent Communications предупредила российских клиентов о том, что в пятницу в полдень по восточному времени начнет прерывать соединения.

https://bookflow.ru/rossiyu-reshili-otklyuchit-ot-mirovoj-seti/
12👍7👎2😁1
Как подружить Git с приложением на Webpack+React

Иногда бывает полезно отображать некоторую информацию из Git-репозитория прямо в приложении. В статье мы воспользуемся преимуществом встроенной в NodeJS функции execSync и будем показывать в приложении три версии мастер-ветки: версию мастера в текущей ветке, в локальном мастере и удалённую в репозитории.

Подробнее
👍3
Оптимизируем Java-приложения с помощью GraalVM

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

Подробнее
👍5
Анонимизация базы данных или как быть уверенным, что ты не нарушаешь закон “О персональных данных”

В настоящее время практически все ИТ-продукты работают с персональной информацией пользователя: ФИО, телефон, e-mail, паспортные и другие идентифицирующие данные. Для обеспечения защиты прав и свобод, человека и гражданина при обработке его персональных данных в Российской Федерации существует Федеральный закон от 27.07.2006 N 152-ФЗ “О персональных данных”.

Подробнее
👍6
Как объединить массивы в Ruby?

Вы можете использовать concat() метод, чтобы объединить один массив в другой на Ruby, посмотрите код как пример.

Подписывайтесь на канал 👉@coddy_academy

#ruby
👍5
Структуры данных: что такое деревья?

Наиболее простой и понятной структурой данных является обычный массив. С тем, как устроены массивы, редко возникают вопросы. Чего нельзя сказать о такой структуре данных, как деревья. Предлагаем разобраться с деревьями - нелинейной структурой, где данные упорядочиваются иерархически.

Подробнее
👍11
Разница между наукой о данных, машинным обучением и искусственным интеллектом

Хотя термины «наука о данных», «машинное обучение» и «искусственный интеллект» (ИИ) относятся к одной и той же области и связаны друг с другом, они имеют свои конкретные приложения и значение.
Подробнее
👍2👎1
cheat_sheet_git_final.pdf
111.9 KB
Шпаргалка: Git

Git является доминирующей утилитой контроля версий в наши дни. Вот как эффективно его использовать.
👍7
Изучаем Java. Методы equals() и hashCode()

В этой статье мы рассмотрим два важных метода класса Object в Java - equals() и hashCode(), разберемся, зачем они нужны и расскажем об их использовании на конкретных примерах.

Подробнее
👍5