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

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

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

РКН https://clck.ru/3KoAbH
Download Telegram
Главные ошибки при анализе данных

Аналитик данных — лучший в статистике среди программистов и лучший программист среди статистиков. В этом топе обсудим, как программисту стать лучше в статистике.

👉 @bookflow
👍3
Преобразование строки в число

Не вызывает исключение

// функция преобразует строку в число, примеры:
// 315 руб. = 315
// 1 007,30 м2 (квадратный метр) = 1007,3
// -12.5% = -12,5
// ,05 = 0,05
// пустая строка или пробелы = 0
Функция грв_СтрокаВЧисло(Знач СтрокаЧисло) Экспорт

Результат = "";
Для Индекс = 1 По СтрДлина(СтрокаЧисло) Цикл
Символ = Сред(СтрокаЧисло, Индекс, 1);
КодСимвола = КодСимвола(Символ);
Если ((КодСимвола >= 48 И КодСимвола <= 57) Или (Символ = "-" И Индекс = 1) Или (Символ = ",") Или (Символ = ".") Или (Символ = " ") Или (КодСимвола = 160)) Тогда
Если КодСимвола <> 32 И КодСимвола <> 160 Тогда
Результат = Результат + Символ;
КонецЕсли;
Иначе
Прервать;
КонецЕсли;
КонецЦикла;

Результат = СтроковыеФункцииКлиентСервер.СтрокаВЧисло(Результат);

Возврат Результат;

КонецФункции

✍️ @odin1C_rus
🤮13👍6🤔2🔥1
Forwarded from Kotlin
This media is not supported in your browser
VIEW IN TELEGRAM
Учим Kotlin с нуля

1 Введение.
2 Переменные.3 Математические операции.
4 Условные операторы: if-else, when.
5 Циклы while, do-while, for.
6 Массивы.
7 Преобразование строк. Чтение данных из консоли.
8 Функции.
9 Практика. Решаем задачи.
10 Null. Null safety.
11 Классы и объекты.
12 Конструкторы.
13 ООП. Наследование.
14 Модификаторы доступа.
15 Абстрактные классы и интерфейсы.
16 Практика. Решаем задачу.
17 Структура памяти в Kotlin.
18 Класс Any. toString().
19 Класс Any. equals() и hashCode().
20 Полиморфизм.
21 Исключения и ошибки.

https://www.youtube.com/playlist?list=PLxizNdMtXgxo0y4n-jK_YrQNrI4sPoDFo


✍️ @kotlin_lib
🔥5
Подборка каналов для IT специалистов 🎯

https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/React_lib Подборки по React js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста


Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++

Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

CodePen 📌
https://t.me/codepen_1 Сообщество пользователей CodePen

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT

Чат программистов📌
https://t.me/developers_ru

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
https://t.me/arhitekturamira World Architecture

Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.

Английский 📌
https://t.me/UchuEnglish Английский с нуля

Математика 📌
https://t.me/Pomatematike Канал по математике

Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика

Крипта 📌
https://t.me/bitkoinoff Новости криптовалют

Метавселенная, GameFi, Crypto 📌
https://t.me/metaverse360

DeepFake 📌
https://t.me/deepfakenow Публикуем deepfake видео

Мир технологий 📌
https://t.me/mir_teh Видео из мира технологий

Excel лайфхак📌
https://t.me/Excel_lifehack
🔥4👍1
Эй, QA, почему ты не нашел эту ошибку?

Почему этот вопрос - токсичный, и что следует задать вместо него

На следующий день после релиза важный клиент сообщает о том, что нашёл ошибку в продакшене. Начинаются звонки, сообщения и письма. Команда бросает все и переходит в режим "неотложки", чтобы максимально быстро всё исправить. Работа над ошибками проведена, клиент спокоен, все вздохнули с облегчением. Позже менеджеры вместе со старшими менеджерами на закрытых встречах обсуждают «почему так вышло» и «как этого избежать в дальнейшем». Далее

#qa #testing

Подпишись👉 @testlab_qa
👍1🤔1
Жизнь по понятиям или принципы в программировании

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

Короче, в программировании тоже есть свои принципы, чтобы клёвые программисты могли жить по ИТшным понятиям. Сегодня я решил пройтись по-понятиям и разобраться с ними.

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

👉 @bookflow
👍6👎5🔥2
Академия Яндекса впервые проведет Открытый лекторий https://clck.ru/sKNuj. Это бесплатный образовательный проект, где можно прокачаться по востребованным IT-направлениям:

• разработка интерфейсов;
• бэкенд-разработка на Python и Java;
• мобильная разработка на Android, iOS и Flutter;
• маркетинг в IT и управление проектами и продуктами.

В программе более 100 вебинаров: это и традиционные лекции, и семинары с разбором реальных бизнес-кейсов вместе с топовыми экспертами Яндекса, которые создают и продвигают сервисы для миллионов людей. Каждый сможет выбрать занятия из разных блоков и составить свою уникальную программу.

Сегодня в 19:15 по мск состоится открытие - https://www.youtube.com/watch?v=Cr_WwzjSJOI), Даша Золотухина, HRD Яндекса, начнет мероприятие, поделится историей Школ, а руководители Школ расскажут о том, как получить максимум от обучения, подсветят вдохновляющие
👍2
Forwarded from Kotlin
Мой опыт после года использования Kotlin Multiplatform в продакшене

https://betterprogramming.pub/experience-using-kmp-in-production-apps-for-a-year-2474406d99d4

✍️ @kotlin_lib
🔥2
Алгоритмы работы с B-деревом

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

👉 @bookflow
👍2😁1
Историй про эмоциональное выгорание на рабочем месте многие слышали с десяток раз от друзей, знакомых и коллег по цеху. Тупиковая точка перенасыщения подобных кейсов пришлась на пандемию, когда заточение в четырех стенах выбило из здорового ритма жизни даже представителей самого стойкого типа офисного планктона. Прошло время: масочный режим отменили, люди частично вышли с удаленки, на первый план вышли куда более актуальные проблемы. А выгорание продолжает накрывать миллионы сотрудников. Как вовремя сегодня заметить его первые симптомы и не пойти по печально известной дороге вниз?

Последний кейс Delivery Club на Хабре рассказывает десятилетнюю историю профессионального развития в IT, которая привела к выгоранию со счастливым концом. Автор восстановился и дал несколько простых советов, как не довести себя до такого состояние и в нужный момент сказать себе "стоп".
👍9
Подборка каналов для IT специалистов 🎯

https://t.me/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻
https://t.me/odin1C_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://t.me/kotlin_lib Подборки полезного материала по Kotlin
https://t.me/nodejs_lib Подборки по Node js и все что с ним связано
https://t.me/React_lib Подборки по React js и все что с ним связано
https://t.me/ruby_lib Библиотека Ruby программиста


Программирование C++📌
https://t.me/cpp_lib Библиотека C/C++ разработчика
https://t.me/cpp_knigi Книги для программистов C/C++

Программирование Python 📌
https://t.me/pythonofff Python академия. Учи Python быстро и легко🐍
https://t.me/BookPython Библиотека Python разработчика
https://t.me/python_real Python подборки на русском и английском
https://t.me/python_360 Книги по Python Rus

Java разработка 📌
https://t.me/BookJava Библиотека Java разработчика
https://t.me/java_360 Книги по Java Rus

GitHub Сообщество 📌
https://t.me/Githublib Интересное из GitHub

CodePen 📌
https://t.me/codepen_1 Сообщество пользователей CodePen

Базы данных (Data Base) 📌
https://t.me/database_info Все про базы данных

Мобильная разработка: iOS, Android 📌
https://t.me/developer_mobila Мобильная разработка

Фронтенд разработка 📌
https://t.me/frontend_1 Подборки для frontend разработчиков

Разработка игр 📌
https://t.me/game_devv Все о разработке игр

Вакансии 📌
https://t.me/sysadmin_rabota Системный Администратор
https://t.me/progjob Вакансии в IT

Чат программистов📌
https://t.me/developers_ru

Библиотеки 📌
https://t.me/book_for_dev Книги для программистов Rus
https://t.me/programmist_of Книги по программированию
https://t.me/proglb Библиотека программиста
https://t.me/bfbook Книги для программистов

БигДата, машинное обучение 📌
https://t.me/bigdata_1 Data Science, Big Data, Machine Learning, Deep Learning

Программирование 📌
https://t.me/bookflow Лекции, видеоуроки, доклады с IT конференций
https://t.me/coddy_academy Полезные советы по программированию

QA, тестирование 📌
https://t.me/testlab_qa Библиотека тестировщика

Шутки программистов 📌
https://t.me/itumor Шутки программистов

Защита, взлом, безопасность 📌
https://t.me/thehaking Канал о кибербезопасности

Книги, статьи для дизайнеров 📌
https://t.me/ux_web Статьи, книги для дизайнеров
https://t.me/arhitekturamira World Architecture

Системное администрирование 📌
https://t.me/tipsysdmin Типичный Сисадмин (фото железа, было/стало)
https://t.me/sysadminof Книги для админов, полезные материалы
https://t.me/i_odmin Все для системного администратора
https://t.me/i_odmin_book Библиотека Системного Администратора
https://t.me/i_odmin_chat Чат системных администраторов
https://t.me/i_DevOps DevOps: Пишем о Docker, Kubernetes и др.

Английский 📌
https://t.me/UchuEnglish Английский с нуля

Математика 📌
https://t.me/Pomatematike Канал по математике

Арбитраж трафика 📌
https://t.me/partnerochkin CPA и арбитраж трафика

Крипта 📌
https://t.me/bitkoinoff Новости криптовалют

Метавселенная, GameFi, Crypto 📌
https://t.me/metaverse360

DeepFake 📌
https://t.me/deepfakenow Публикуем deepfake видео

Мир технологий 📌
https://t.me/mir_teh Видео из мира технологий

Excel лайфхак📌
https://t.me/Excel_lifehack
Подборка вопросов и задач по SQL на собеседовании с ответами

Назовите типы джойнов в SQL
Ответ:
INNER, JOIN LEFT, JOIN RIGHT, JOIN FULL, JOIN CROSS

Чем NULL отличается от 0
Ответ:
0 - это число.
NULL - это не число, а также NULL не является значением пустой строки. NULL используется для указания того, что данные отсутствуют, неизвестны, неприменимы. NULL не равен ничему, даже другому NULL.

Какие параметры используются в конструкции order by?
Ответ:
ASC и DESC

Какой оператор имеет больший приоритет AND или OR (если они используются совместно)?
Ответ:
AND имеет больший приоритет, нежели OR

Какие операторы обязательны при выборке данных с соединением таблиц (не учитывая cartesian product)?
Ответ:
SELECT, JOIN, FROM

Какие из операторов SQL могут быть использованы для выполнения CRUD (Create, Read, Update, Delete) операций над данными?
Ответ:
INSERT, DELETE, SELECT, UPDATE

С помощью какого запроса можно удалить все записи из таблицы?
Ответ:
DELETE FROM

Для чего нужен оператор UNION?
Ответ:
Для объединения двух таблиц, при условии что каждая имеет одинаковое количество столбцов, столбцы имеют схожие типы данных, столбцы располагаются в том же порядке.

Какой оператор используется для изменения объектов базы данных?
Ответ:
ALTER

Что такое оконная функция? И в чем отличие от функции агрегации с группировкой?
Ответ:
Оконная функция в SQL - функция, которая работает с выделенным набором строк (окном, партицией) и выполняет вычисление для этого набора строк в отдельном столбце.
При использовании агрегирующих функций предложение GROUP BY сокращает количество строк в запросе с помощью их группировки. При использовании оконных функций количество строк в запросе не уменьшается по сравнению с исходной таблицей.

#SQL

👉 @database_info
👍9
Сегментация экземпляров с помощью Mask R-CNN

Задача сегментации изображений может решаться в нескольких постановках. Самая распространённая - semantic segmentation с одним классом и фоном, необходимо просто отделить объекты от фона, не различая их между собой. Но часто просто отделения от фона недостаточно, необходимо отделять отдельные образцы друг от друга, например, чтобы оценить размер или расположение каждого отдельного объекта. Как это можно сделать?

👉 @bookflow
1👍1
Анатомия асинхронных фреймворков в С++ и других языках

В этой статье я расскажу об устройстве асинхронных движков с корутинами и без них. Для начала сосредоточимся не на конкретном движке, а на том, почему во всех популярных языках программирования появились корутины и чем они так хороши. Это может быть интересно не только C++-разработчикам, но и всем, кто занимается разработкой сетевых приложений или интересуется архитектурой современных фреймворков.

Пройдёмся по разным архитектурам построения серверов — от самой простой синхронной к более интересным, посмотрим на типичную архитектуру корутинового движка, а после окунёмся в дебри C++ и взглянем на самое страшное на примере нашего фреймворка userver.

👉 @bookflow
👍1
Как использовать Psalm на легаси проекте

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

Править их все сразу — это мог быть правильный вариант, если не был бы таким утомительным и долгим.

Глобально подавлять ошибки — это однозначно плохой способ, так как повлияет и на новый код.

Конфиг

Можно воспользоваться конфигом псалма и заигнорировать те директории, где расположен старый код. Однако в таком варианте необходимо, чтобы старый код был однозначно локализован. Такое возможно при наличии некоего подобия модулей, чем может похвастаться далеко не каждый легаси проект.

<psalm>
....
<projectFiles>
<directory name="src"/>
<ignoreFiles>
<directory name="src/Module1"/>
<directory name="src/Module2"/>
<directory name="src/Module3"/>
</ignoreFiles>
</projectFiles>
....
</psalm>


Этот способ имеет ещё один недостаток: наверняка вы до сих пор что-то правите в этих модулях, и тогда ваш новый код в старых модулях тоже не будет проанализирован псалмом. Но вы же не этого добивались?

psalm-baseline

У псалма есть решение для таких случаев — baseline. Данный способ найдёт и сохранит все текущие ошибки в конкретный xml файл и будет их игнорировать при анализе. Также вам не придётся игнорировать директории и глобально подавлять ошибки. Зато новый код в любых директориях — новых и старых — будет успешно проанализирован псалмом. Чтобы настроить baseline, вам необходимо выполнить следующую команду в вашем проекте:

./vendor/bin/psalm --set-baseline=psalm-baseline.xml


У вас в проекте появится psalm-baseline.xml файл, который необходимо закоммитить. Теперь вы сможете спокойно использовать psalm в CI. Только не забывайте в свободное время править ошибки в старых модулях. Когда вы поправите часть из них, обновите baseline:

./vendor/bin/psalm --update-baseline


И так до тех пор, пока вы не избавитесь от всех ошибок, либо не удалите модули, заменив их новыми.

👉 @php_lib
👍3🥰1
Учись сейчас, плати потом.

Спросишь, как это возможно?

Ответ простой — благодаря модели ISA. ISA пришла к нам с Запада, это взаимовыгодное сотрудничество между школой и студентом.

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

В Kata Academy ты сможешь выучиться на Java-разработчика в формате постоплаты и устроится на зарплату минимум от 100 000₽ — это закреплено в договоре. В среднем выпускники наших курсов получают зарплату на 30-40% выше ожидаемой.

Если заинтересовался, переходи по ссылке и подробнее читай про программу обучения. Ждем тебя на курсе после прохождения тестового задания!
👍1
Как обучить джунов QA за 3 дня (сборник материалов)

Чему нужно обучить junior QA, чтобы он начал приносить пользу проекту? Конечно, было бы здорово «всему и сразу», но это может затянуться надолго. А вот с основами тестирования можно познакомить буквально за пару-тройку дней. Особенно если это фулл-тайм дни (рабочее время). Далее

#qa #testing

Подпишись👉 @testlab_qa
👍2
​Octotree – Гитхаб на стероидах

Это браузерное расширение, которое улучшает просмотр и изучение кода проектов GitHub

Такие функции, как обзор pull реквестов, синтаксические темы, возможность разделить интерфейс на несколько вкладок, пользовательские шрифты кода и другие, выводят опыт пользования GitHub на новый уровень

#GitHub | #JavaScript #Extension #Browser #Useful

👉 @Githublib
👍2