Программирование {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
Как подружить 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
Как это работает? Oценка сложности алгоритмов

Одним из наиболее важных и используемых свойств алгоритмов является сложность, а, значит, при использовании различных алгоритмов очень важно уметь правильно её оценивать. Как раз об этом сегодня и пойдет речь.
Подробнее
Forwarded from Python академия
Пишем игру Сапер на Python

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

Подробнее

Полный код игры сапер на Python на GitHub

Подписывайтесь на канал 👉@pythonofff
👍7👎1
Практика программирования на Python 3

Тимофей Хирьянов, Московский физико-технический институт

Смотреть на youtube
👍8🔥4🤔1
Лямбда-выражения

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

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

#c_sharp
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Memory Game

Смысл игры в том, чтобы найти пары одинаковых карточек. Логика сделана на JS.

Посмотреть пример в онлайн редакторе.

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

#javascript
👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Как создать впечатляющий профиль на GitHub README

Мы рассмотрим следующее:

что такое README профиля GitHub
как создать README профиля GitHub
добавление социальных значков, навыков и описаний о себе
добавление статистики GitHub
создание рабочего процесса GitHub для извлечения последних опубликованных блогов

https://www.sitepoint.com/github-profile-readme/
👍6
This media is not supported in your browser
VIEW IN TELEGRAM
Supabase – это альтернатива Firebase с открытым исходным кодом. https://supabase.com/

Это сочетание инструментов с открытым исходным кодом, которая создаёт функционал Firebase, используя инструменты Enterprise уровня с открытым исходным кодом.

Supabase не является точной копией Firebase. Цель - предоставить разработчикам опыт работы с Firebase, используя инструменты с открытым исходным кодом.
1
👋 Мы — команда айтишников. В текущих условиях компания не может работать как работала, и мы решили переехать всей командой.

💬 Создали канал для таких же, как мы, — тех, кто хочет уехать. Собираем всё самое полезное про релокацию. Рассказываем, с чем столкнулись сами, ищем лайфхаки и способы похачить систему (например, нашли несколько способов, как жить за границей на рубли).

👨‍💻 А вообще, мы HR-IT-чувачки (то есть без лишней скромности профи в сфере трудоустройства) и сейчас готовим новый проект: будем помогать айтишникам организовать переезд и устроиться на работу в валюте. И ещё сверху грант будем давать💰

👉 Что для этого нужно? Пока что — присоединиться к каналу RelocationDev и следить за новостями😉 Скоро обо всём расскажем — в мельчайших подробностях.
💩11👎6👍3
Трюки в C#, которые облегчат вам жизнь

Держите статью про полезные вещи в C#, которые помогут начинающим. Сохраняйте и пользуйтесь:

— Инициализаторы объектов, массивов и коллекций. Поля объектов можно заполнять сразу при инициализации самого объекта: Employee emp = new Employee {Name="John Smith", StartDate=DateTime.Now()};

— Оператор объединения со значением null. ?? — оператор, который возвращает левый операнд, если тот не null, иначе он вернёт правый операнд: var result = someValue ?? defaultValue; В одной строке может быть несколько таких операторов.

— Интерполированные строки. В строки можно удобно вставлять значения переменных без конкатенации: var someString = $"Some data: {someVariable}, some more data: {someOtherVariable}";

— Оператор безопасной навигации. Если какой-либо из операндов будет null, то возвращаемое значение тоже будет null: var currentAge = customer?.profile?.age;

— Ключевое слово yield. Используется в итераторах. С его помощью можно возвращать промежуточное значение, то есть не выходя из метода. Пример есть в статье.
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Шутер в духе Quake на HTML5 и JavaScript, который весит 13 КБ

Ровно месяц потребовалось разработчику Доминику Саблевски (Dominic Szablewski), что бы написать шутер, похожий на легендарно известный Quake.

В шутере есть два уровня, которые вдохновлены картами E1M1 и E1M3 из оригинальной Quake. Игрок может использовать три вида оружия, а противостоят ему пять типов противников, в том числе собаки. В него можно сыграть прямо в браузере.

Подробнее
🔥8👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Освойте бэкенд-разработку на Java за 10 месяцев!
Профессия для тех, кто настроен серьезно: https://bit.ly/3wgbndZ

Научим:
✔️Писать код на Java
✔️Использовать фреймворки Javalin, Spring
✔️Применять принципы ООП
✔️Работать с базами данным, SQL
✔️Настраивать окружение: IDEA, Gradle/Maven, JDK
✔️Пользоваться командной строкой и Git

Поможем:
✔️Наработать практику — вы сделаете 5 проектов на GitHub
✔️Грамотно оформить резюме
✔️Подготовиться к собеседованиям

А еще порекомендуем в хорошие компании и познакомим с сообществом из 26 тысяч айтишников. Присоединяйтесь!
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
👍9
Год последовательного Leetcod-инга каждый день
В конце концов, неважно, насколько вы умны, глупы или удачливы, если вы достаточно последовательны, вы сможете обогнать всех людей, которых вы считаете более талантливыми или умными.

Rus https://apptractor.ru/info/articles/god-posledovatelnogo-leetcod-inga-kazhdyy-den.html

Eng https://medium.com/@aryannayakk/one-year-of-consistent-leetcoding-everyday-5d070d1c590a
👍9