Pull to refresh
181
0.2
Валентин @GlukKazan

Программист, Администратор БД

Send message

Полный гайд по CSS Flexbox с примерами из практики

Level of difficultyEasy
Reading time10 min
Views5.5K

Привет! Сегодня мы поговорим про flexbox в css. Это очень важная тема, в которой должен разбираться каждый фронтенд-разработчик или верстальщик. Я покажу вам как flexbox работает на реальных примерах. А в конце статьи покажу лайфхаки, которыми сам постоянно пользуюсь на работе.

Читать далее
Total votes 24: ↑23 and ↓1+26
Comments5

Основы TypeScript

Reading time22 min
Views7.9K
image Привет, Хаброжители!

TypeScript — популярная надстройка над JavaScript с поддержкой статической типизации, которая наверняка покажется знакомой программистам на C# или Java. TypeScript поможет вам сократить количество ошибок и повысить общее качество кода на JavaScript.

«Основы TypeScript» — это полностью обновленное третье издание классического бестселлера Адама Фримена. В нем освещены все возможности TypeScript 5, включая новые, такие как декораторы. Сначала вы узнаете, зачем и почему был создан язык TypeScript, а затем почти сразу перейдете к практическому применению статических типов. Ничего лишнего! Каждая глава посвящена навыкам, необходимым для написания потрясающих веб-приложений.
Читать дальше →
Total votes 12: ↑11 and ↓1+16
Comments7

Машинное обучение с Python и TensorFlow на Windows. Быстрый старт

Level of difficultyEasy
Reading time6 min
Views7.9K

Словосочетание «машинное обучение» становится всё более значимым с каждым годом и проникает во все возможные сферы жизни, а с появлением в открытом доступе таких нейронных сетей как Chat GPT [1] интерес к машинному обучению стал высок как никогда. Но при этом многих отпугивает сложность создания своих систем на основе машинного обучения, потому что нужно одновременного использовать и настраивать много разных инструментов разработки.

Поэтому я хочу представить вашему вниманию максимально простую инструкцию для быстрого погружения в мир машинного обучения. Инструкция ориентирована в первую очередь на начинающих программистов, мы будем применять Python 3 [2] с библиотекой TensorFlow [3]. Это лучший выбор для начинающих из-за простоты языка и большого сообщества разработчиков, использующих TensorFlow.

Читать далее
Total votes 10: ↑9 and ↓1+12
Comments8

Треугольник Паскаля и скрытые в нём «паск(х)алки» (часть 1)

Level of difficultyMedium
Reading time10 min
Views6.4K

Известный американский популяризатор науки Мартин Гарднер в своей книге «Математические новеллы» посвятил целую главу «одной из самых изящных и известных схем в истории математики», которую чаще всего принято называть треугольником Паскаля. Эта математическая конструкция, конечно, была известна и до того, как «французский Архимед» написал свой «Трактат об арифметическом треугольнике». Однако на момент издания труда Блеза Паскаля именно в нём содержалась наиболее полная информация об этом математическом явлении. Правда, итальянцы предпочитают называть этот фундаментальный артефакт треугольником Тартальи, описавшем таблицу за сто лет до Паскаля, а в Германии его называют треугольником Штифеля. В Иране и, пожалуй, в большинстве арабских стран его принято называть треугольником Хайяма, а китайцы отстаивают приоритет своего соотечественника и называют его треугольником Ян Хуэя.

Читать далее
Total votes 13: ↑11 and ↓2+13
Comments10

Справочник по применению GPU в машинном обучении

Level of difficultyMedium
Reading time35 min
Views6.7K

Это перевод популярного лонгрида Тима Детмерса "Выбор графического процессора для глубокого обучения: мой опыт и советы".

Глубокое обучение (Deep learning, DL) - область с высокими вычислительными требованиями, и выбор графического процессора будет в корне определять ваши возможности в этой сфере. Какие характеристики важны при выборе нового GPU? Оперативная память GPU, ядра, тензорные ядра, кэш? Как сделать экономически эффективный выбор? Мы рассмотрим эти вопросы, заодно разберемся с распространенными заблуждениями, разберемся в характеристиках GPU, дадим советы, которые помогут вам сделать правильный выбор.

Читать далее
Total votes 21: ↑21 and ↓0+26
Comments2

Как составить функцию инициализации микроконтроллера (Топологическая сортировка графов утилитой Make)

Level of difficultyEasy
Reading time14 min
Views4.8K

В программировании микроконтроллеров приходится определять порядок инициализации прошивки. Порядок тут всегда имеет значение.

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

Чтобы всё это работало надо соблюдать правильный порядок инициализации.

В этом тексте я представил формальный алгоритм определения этого порядка.

По сути это топологическая сортировка ориентированного графа зависимостей программных компонентов.

Читать далее
Total votes 14: ↑13 and ↓1+19
Comments49

Расширяем возможности Keras с помощью кастомных слоев

Level of difficultyEasy
Reading time5 min
Views1.3K

Привет, Хабр!

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

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

Читать далее
Total votes 11: ↑8 and ↓3+8
Comments1

Сложно ли генерировать 1024-битные простые числа?

Level of difficultyEasy
Reading time28 min
Views11K

Простые числа удивительны!

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

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

Вызов

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

Генерировать простые числа, способные генерировать ключи для алгоритма RSA

На момент написания этой статьи хорошей длиной ключей RSA считаются 2048 битов. Ключи RSA генерируются перемножением двух простых чисел, так что для получения 2048-битного ключа нам нужны два числа длиной примерно 1024 бита. Это ограничивает рамки задачи генерацией 1024-битных простых чисел. Теперь вы знаете, откуда взялось число из заголовка поста.

Читать далее
Total votes 55: ↑55 and ↓0+73
Comments24

Интеграция PostgreSQL и Hadoop

Reading time5 min
Views1.8K

Представим некое перепутье, где с одной стороны — мощные возможности PostgreSQL, а с другой — необъятные просторы Hadoop. Выбор кажется сложным, но зачем выбирать одно, если можно соединить их и получить лучшее из обоих?

Объединяя их можно создать мощную систему, способную обрабатывать и анализировать огромные объемы данных.

Читать далее
Total votes 8: ↑7 and ↓1+9
Comments0

PostgreSQL 16: Часть 5 или Коммитфест 2023-03

Reading time27 min
Views6.9K

Вместе с окончанием мартовского коммитфеста, закончился прием изменений в 16-ю версию. Пришла пора посмотреть, что в нем было нового и интересного.


Надеюсь, что представленный материал вместе с предыдущими статьями серии (2022-07, 2022-09, 2022-11, 2023-01) поможет сформировать представление о новинках PostgreSQL 16.

Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments0

Механический квантовый компьютер

Level of difficultyMedium
Reading time15 min
Views9.6K

Квантовые компьютеры постепенно мигрировали от «натуральных» квантовых объектов типа ионов и quantum dots к «искусственным» объектам типа трансмонов, где роль атомных переходов выполняют собственные частоты колебаний LC контуров. К таким контурам прикручены коаксиальные кабели для возбуждения системы, считывания их состояния и регулирования их свойств. Они все еще являются квантовыми объектами и работают при низкой температуре.


Мне стало интересно, а можно ли создать прототип квантового компьютера на основе больших «классических» механических объектов. Я демонстрирую квантовый компьютер сделанный из связанных маятников.


Читать дальше →
Total votes 19: ↑19 and ↓0+24
Comments25

Как подготовить данные для запроса в Postman через pre-request

Level of difficultyEasy
Reading time6 min
Views4.2K

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

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

Подготовка данных делается через функцию pm.sendRequest() в pre-request скриптах, и в этой статье я покажу, как её использовать. Показывать буду в стиле «бери и повторяй» с примерами на бесплатной системе Users.

Читать далее
Total votes 6: ↑5 and ↓1+7
Comments0

Compiler Explorer — уникальный проект для исследования компилируемого кода

Level of difficultyMedium
Reading time7 min
Views11K
Этот пост посвящён замечательному инструменту, полезному для каждого, кто интересуется компиляторами или архитектурой компьютеров. Это Compiler Explorer, который я в дальнейшем будут называть CE.

CE — потрясающий инструмент. Если вы с ним не знакомы, то прервите чтение и перейдите на веб-сайт CE, где вы увидите примерно такой экран:

Предупреждение: вы забираетесь в «кроличью нору», на которую можете потратить несколько часов своего времени.


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

CE поддерживает 69 языков, более двух тысяч компиляторов и широкий спектр архитектур, включая x86, arm, risc-v, avr, mips, vax, tensa, 68k, PowerPC, SPARC и даже древний 6502.

То есть теперь для просмотра результата работы компилятора достаточно открыть godbolt.org и скопировать туда блок кода.

Это само по себе удивительно, но у CE есть гораздо больше возможностей. Это инструмент, который должны знать все интересующиеся компиляторами и архитектурами компьютеров. В статье мы сможем лишь поверхностно рассмотреть функции CE. Вам стоит самим перейти на сайт CE и попробовать всё самостоятельно.
Читать дальше →
Total votes 62: ↑60 and ↓2+76
Comments13

200 таблиц в одном дашборде: как мы создаём проект визуализации данных медицинской статистики

Level of difficultyEasy
Reading time9 min
Views9.1K

Хабровчане, приветствую! Меня зовут Андрей Иванов, я системный аналитик в сфере медицины и здравоохранения. До 2005 года работал врачом, потом руководил медицинским информационно-аналитическим центром. Спустя время возникла настоятельная потребность научиться делать самостоятельно то, чем прежде приходилось руководить, — так я поступил на курс «Системный аналитик» в Практикуме.

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

Читать далее
Total votes 17: ↑16 and ↓1+20
Comments10

Фабрика для std::variant: как объединить compile-time и run-time, чтобы получить выигрыш от обоих

Level of difficultyMedium
Reading time18 min
Views3.8K


Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой Desktop-версии пользовательского приложения для совместной работы сотрудников с любого устройства VK Teams

Если вы тоже работали с большими проектами, где активно применяются объектно-ориентированные паттерны проектирования, то наверняка знаете о быстро нарастающей лавине кода. Такой код сложно писать, изучать и тем более поддерживать. Сегодня я расскажу, как удалось избежать таких сложностей. Поделюсь, как можно использовать современный С++, чтобы совместить compile-time и run-time исполнение, не потеряв при этом в производительности и выразительности кода.
Читать дальше →
Total votes 16: ↑16 and ↓0+24
Comments8

Интуитивное понимание пространств и ядер в машинном обучении: Часть 1

Level of difficultyHard
Reading time9 min
Views6.5K

При изучении темы ядер (kernel) в ML/DS программы вузов, роадмэпы и видео на YouTube обычно рассматривают её через призму SVM, не говоря уже о всеми любимых курсах:). Казалось бы, это неплохо: вот тебе краткое объяснение и модель, которая использует ядра. Но, увы, в этих областях желательно понимать многие процессы интуитивно, так сказать — «тяжело в учении, легко в бою». К тому же, эта тема нечто большее, чем просто метод; она позволяет связать многие вещи в машинном обучении в единую картину через пространство, что я и хочу показать в этой статье.

Читать далее
Total votes 20: ↑18 and ↓2+20
Comments12

Как сделать виртуальную АТС на базе VPS

Level of difficultyEasy
Reading time6 min
Views8.8K


Несмотря на популярность мессенджеров и телеконференций, ни один офис ещё не отказался от телефонной связи. Люди такие существа, что иногда предпочитают общаться голосом.

В каждом офисе установлена мини-АТС, которая коммутирует внутренние звонки. Телефоны сотрудников подключаются к коммуникационному шкафу или коробочке с Asterisk (как на КДПВ), а она подключена к телефонной сети общего пользования (PSTN или ТСОП). Таким образом, сотню офисных телефонов можно повесить на один внешний номер. В общем, мини-АТС — совершенно необходимая вещь.

Виртуальная или облачная АТС (hosted PBX) — это услуга для компаний, которая заменяет им обычную офисную АТС. Вместо того, чтобы покупать специализированное телекоммуникационное оборудование или выделять отдельный компьютер с Asterisk, они заказывают услугу на удалённом хостинге. И этот компьютер с Asterisk (IP-АТС) физически размещается у провайдера. Таким образом, виртуализация добралась и до АТС, всё в русле современных тенденций.
Читать дальше →
Total votes 23: ↑21 and ↓2+30
Comments45

Postgres Pro Shardman: горизонтальное масштабирование реляционных СУБД

Level of difficultyMedium
Reading time24 min
Views5.5K

Последние несколько лет мы в Postgres Professional активно занимаемся разработкой своего решения для горизонтального масштабирования PostgreSQL. Пользователям нужен был простой способ увеличить производительность путем добавления узлов. Традиционно для веба в таких случаях просто брали NoSQL базы или шардировали вручную, позже появились распределенные SQL-решения с поддержкой ACID-транзакций. Тем не менее терялась часть возможностей и достоинств PostgreSQL. Корпоративный рынок тяжелых вертикальных решений также сильно ограничен как ценой, так и доступностью. Поэтому исследованиями в области распределенных СУБД в компании занимались еще с 2017 года, а в 2020 началась работа над коммерческим продуктом. 

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

Читать далее
Total votes 28: ↑28 and ↓0+37
Comments8

Профиль Firefox для посещения Сбербанка и Рунета в целом

Level of difficultyEasy
Reading time4 min
Views8.3K

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

Как известно, некоторые российские госкомпании сейчас под санкциями, в том числе эмитентами сертификатов. Сбер уже перешёл на сертификаты от Минцифры. Ростелеком, вероятно, к ноябрю 2024 года тоже перейдёт. А CA Минцифры соответственно рукопожат только браузерами Яндекс Браузер и Atom.

У этой проблемы есть несколько решений.

Использовать Яндекс Браузер или Atom с уже установленными сертификатами Минцифры и горя не знать.

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

Использовать браузер Firefox с выделенным пользовательским профилем под Рунет.

Использовать виртуальное окружение для любимого браузера с нелюбимым сертификатом Минцифры. (не могу найти ту публикацию).

Запускать браузер от имени другого пользователя.

Статья собственно о третьем методе.

Читать далее
Total votes 11: ↑11 and ↓0+16
Comments16
1
23 ...

Information

Rating
2,443-rd
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity