Как стать автором
Обновить
4
0

Материаловедение, Dart/Flutter, Python

Отправить сообщение

Основы реляционной алгебры

Время на прочтение6 мин
Количество просмотров317K
Реляционная алгебра базируется на теории множеств и является основой логики работы баз данных.
Когда я только изучал устройство баз данных и SQL, предварительное ознакомление с реляционной алгеброй очень помогло дальнейшим знаниям правильно уложиться в голове, и я постараюсь что бы эта статья произвела подобный эффект.

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

Читать дальше →
Всего голосов 78: ↑71 и ↓7+64
Комментарии42

Полный гайд по тестированию на Flutter. Часть 2: Простые модульные тесты

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров1K

Hola, Amigos! На связи Павел Гершевич, Mobile Team Lead агентства разработки сайтов и мобильных приложений Amiga. Продолжаем нашу серию статей переводов о тестировании в Flutter. В этой и нескольких следующих частях поговорим о модульном (Unit) тестировании.

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии2

Компонентная архитектура приложений на Flutter: почему выбрать BLoC недостаточно

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2.5K

Всем привет! Меня зовут Никита Королев, я тимлид Flutter‑команды в компании IBS. Уже год я работаю на проекте компании Атом — разработчика российского электромобиля. На данный момент наша команда занимается разработкой приложений для направления Такси.

Мы с командой выработали свой подход к построению архитектуры Flutter‑приложений и хотим поделиться им со всеми, кому будет интересна эта тема.

Читать далее
Всего голосов 4: ↑4 и ↓0+6
Комментарии4

Windows 11 24H2 IoT Enterprise LTSC – что за зверь, и чем он хорош?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров27K

Месяц назад я писал статью об издании Enterprise G, созданную Microsoft для китайского правительства, в котором много лишнего отключено. Статья вызвала большой интерес, много кому нужна ОС с максимальным функционалом — при вашем желании его использовать, но с возможностью отключить всё (или почти всё) ненужное. У версии Enterprise G основной недостаток в том, что политика продукта, прописанная в цифровой лицензии, запрещает установку любых языковых пакетов, отличных от китайского и английского. То бишь, русского интерфейса легким путем не достичь. Возникает вопрос выбора другого издания.

Сразу на ум приходит версия Enterprise LTSC, как полнофункциональная с длительным циклом обслуживания и поддержки, благо для Windows 11 24H2 она утекла еще в апреле. Но, оказывается, есть и более достойный выбор, о котором мы сейчас с вами и поговорим. Речь идёт об издании IoT Enterprise LTSC. Что это такое? Чем оно лучше, чем Enterprise LTSC? А чем хуже? Как её русифицировать и как активировать? Об это сегодняшний разговор.

Чем же так отличается IoT Enterprise LTSC?
Всего голосов 48: ↑47 и ↓1+55
Комментарии98

BLE под микроскопом. Андроид. Часть2

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров2K

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

Читать далее
Всего голосов 4: ↑3 и ↓1+4
Комментарии16

Экстремальное программирование: полное руководство

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров6.5K

Экстремальное программирование (XP) — это одна из методологий Agile. Несмотря на название, некоторые практики уже стали стандартом в индустрии — например, рефакторинг и непрерывная интеграция. XP сосредоточена на упрощении процесса разработки, минимизации документации и максимизации обратной связи от заказчиков.

Читать далее
Всего голосов 7: ↑5 и ↓2+5
Комментарии9

Встроенные коллекции Dart: как реализовать в коде основные структуры данных. Глава из книги

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров1.8K

Привет, Хабр! Меня зовут Станислав Чернышев, я автор книги «Основы Dart», телеграм-канала MADTeacher и доцент кафедры прикладной информатики в Санкт-Петербургском государственном университете аэрокосмического приборостроения. 

При поддержке компании Friflex буквально на днях вышла печатная версия моей книги. В ней есть раздел о нюансах изоляционной модели памяти в Dart, сквозной проект на пять глав (игра «Крестики-Нолики») и две дополнительные главы: «Алгоритмы, структуры данных на Dart и встроенные коллекции» и «Интероперабельность в Dart (Dart FFI)».

В этой статье я делюсь разделом «Встроенные коллекции Dart». В книге он идет после классических структур данных и их реализации на Dart. Такой подход, по моему мнению, позволяет лучше понять принципы работы встроенных коллекций, их сильные и слабые стороны.

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии2

Создаем Flutter-приложение для оплаты через СБП без натива

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4K

Всем привет! Меня зовут Мурат Насиров, я Flutter-разработчик в Friflex. Мы разрабатываем мобильные приложения для бизнеса и специализируемся на Flutter. 

Ранее я поделился своим опытом, как интегрировать СБП при помощи нативных решений НСПК (Национальной системы платежных карт). В этой статье рассказываю, как можно сделать это при помощи Flutter-приложения и двух пакетов из pub.dev.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии8

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

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров41K

Я всегда знал, что если отвлекать человека во время работы, это вредит делу. Но до конца не осознавал, насколько это серьёзная проблема. Особенно для разработчиков ПО.

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

Читать далее
Всего голосов 54: ↑46 и ↓8+44
Комментарии86

CTF — для начинающих

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров4.6K

CTF «захватить флаг» - секретный код, который в реальной жизни мог бы хранить ценные данные. Побеждает тот, кто быстрее и эффективнее решит задачи, демонстрируя свои навыки.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

Крекер. SQL инъекции. Уязвимость LFI

Время на прочтение4 мин
Количество просмотров3.9K

Введение

Рады вновь приветствовать дорогих читателей! Начиная с этой статьи мы запускаем новую рубрику "Крекер", в серии этих статьей мы будем разбирать различные уязвимости, их эксплуатацию. В этой вступительной статье мы разберём уязвимости SQL, LFI, ADB и инструменты их эксплуатации.

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

Читать далее
Всего голосов 3: ↑2 и ↓1+1
Комментарии1

От ручной работы к автоматизации: наш путь к идеальной доставке сборок Flutter

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1.2K

Привет! Мы занимаемся созданием мобильных приложений, а также поддержкой и развитием уже существующих проектов.

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

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии3

Тик-так: Timer vs Ticker для анимаций

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров756

Всем привет! Это статья для тех, кто увлекается Flutter-разработкой. А я Николай —человек, который рулит этим направлением в Mad Brains. Поговорим о Timer и Ticker?

Итак, представим, что нам нужно построить экран, в котором будет отображаться текущее Unix-время в миллисекундах. Давайте сначала сделаем верстку без анимации.

Читать далее
Всего голосов 2: ↑2 и ↓0+4
Комментарии0

Вы пожалеете об использовании естественных ключей

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров20K

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

Я немного занервничал, потому что покупал машину с рук, и внезапно задался вопросом, действительно ли всё так, как я думал. Неужели я непреднамеренно купил краденную машину?

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

Читать далее
Всего голосов 45: ↑42 и ↓3+55
Комментарии126

Мотивация — тайм-менеджмент

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров30K

Это первая статья в серии материалов для Хабра, где разбираем поведенческие механизмы и способы корректировать их под режим дня. Этот материал написан с использованием лекций профессора нейробиологии Эндрю Губермана. Речь пойдет о том, как связаны мотивация, тайм-менеджмент и о том, как создать условия для действительно продуктивной работы.

Читать далее
Всего голосов 27: ↑22 и ↓5+18
Комментарии2

Собственные проекты, углубленная практика алгоритмов и другое: поднимаем навыки программирования на новый уровень

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров5.3K

Неважно, новичок ли вы, отлаживающий вашу первую программу «Hello World», или опытный инженер, — у каждого из нас всегда есть возможность улучшить свои навыки. Александр Шелютин, Data Architect в KarmaHQ, расскажет о разнице между тем, как просто заставить что-то работать, и написанием действительно хорошего кода.

Читать далее
Всего голосов 7: ↑4 и ↓3+3
Комментарии0

Людвиг. Победи прокрастинацию. Как перестать откладывать дела на завтра (инструменты из книги)

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров29K

Одна из самых практичных книг по тайм-менеджменту. Помогает в борьбе с откладыванием дел на потом и в более стоящем использовании своего времени. Расскажу про 3 инструмента, которые взял в работу.

Читать далее
Всего голосов 10: ↑8 и ↓2+9
Комментарии20

Реактивные формы во Flutter: как делать формы с меньшими трудозатратами

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.4K

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

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии4

Я до последнего буду защищать сильную статическую типизацию

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров24K

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

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

Читать далее
Всего голосов 61: ↑55 и ↓6+65
Комментарии135

Глубокое погружение в папку .idea в Android Studio

Время на прочтение3 мин
Количество просмотров18K

Глубокое погружение в папку .idea в Android Studio


Как и для многих разработчиков, папка .idea в Android Studio для меня всегда была, как черный ящик: я знал, что она существует, я знал, что её всегда добавляют в .gitignore, но я решил узнать, для чего же там нужны те или иные файлы и папки, чтобы у меня была возможность обрабатывать иногда возникающие git-конфликты, и для того, чтобы точно знать, какой файл можно безопасно добавить в .gitignore, а какой нет.


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

Читать дальше →
Всего голосов 35: ↑30 и ↓5+25
Комментарии9

Информация

В рейтинге
3 924-й
Откуда
Красноярск, Красноярский край, Россия
Дата рождения
Зарегистрирован
Активность