Публикации

ALF — Платформа прикладного уровня на основе потока
ТЛ; ДР. Перейти непосредственно на страницу ALF . FBP и актеры Поточное программирование — довольно старая идея (начало 70-х) представления приложения в виде сети независимых процессов (компонентов), обменивающихся данными посредством передачи сообщений. Это похоже на известную модель Актера, но с парой существенных отличий. Во-первых, соединения между процессами (какой процесс и какому может отправлять сообщения) предопределены. Во-вторых, что более важно, FBP — это подход,..

Давайте проясним подъем на JavaScript
Что такое подъем в JavaScript и как это работает? Подъем - это функция в JavaScript, которая перемещает все объявления переменных и функций в начало кода (это утверждение не означает, что код физически перемещается вверх). Как мы все знаем, движок JavaScript создает контекст выполнения , в котором запускает код JavaScript. В контекстах выполнения есть две фазы - фаза создания и фаза выполнения. Этап создания - это этап, на котором происходит подъем. Теперь давайте попробуем..

Самая длинная общая подпоследовательность строк
Самая длинная общая подпоследовательность строк Проблема: Напишите функцию, которая принимает два массива строк в качестве входных данных и возвращает самую длинную непрерывную последовательность строк, которые встречаются в обоих. Например, для следующих двух массивов: a = [ “/home”, “/register”, “/login”, “/user”, “/one”, “/two” ] b = [ “/home”, “/red”, “/login”, “/user”, “/one”, “/pink” ] Вы должны вернуть следующее: [ “/login”, “/user”, “/one” ] Подход: Ключевой..

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

k самые большие элементы
Вопрос: Ссылка: https://practice.geeksforgeeks.org/problems/k-largest-elements4206/1 Имея массив Arr из N положительных целых чисел и целое число K , найдите K самых больших элементов из массива. Элементы вывода должны быть напечатаны в порядке убывания. Пример 1: Input: N = 5, K = 2 Arr[] = {12, 5, 787, 1, 23} Output: 787 23 Explanation: 1st largest element in the array is 787 and second largest is 23. Пример 2: Input: N = 7, K = 3 Arr[] = {1, 23, 12, 9, 30,..

Причуды и особенности NaN
Это число или нет? NaN — это свойство глобального объекта, представляющее несостоятельность математического оператора. Буквально это означает «не-число». Это также может быть болью в прикладе, чтобы придавить. Вот почему. Значит, NaN — это не число? Кажется очевидным, я имею в виду, в конце концов, это в названии. Быстрая проверка его типа данных подтвердит это: Довольно иронично, что вещь под названием «Not-A-Number» на самом деле является числовым типом данных. Так..

4 практики планирования крупномасштабной миграции данных
Чему я научился, перенеся 25 миллиардов записей Миграция данных — это просто процесс перемещения данных из одного места в другое. По мере роста бизнеса миграция данных практически неизбежна. Вам может понадобиться хранилище большего размера для поддержки роста объема данных. Или вам нужно изменить формат данных из-за меняющихся требований. Недавно я завершил миграцию данных с помощью Elasticsearch. Всего было 25 миллиардов документов , и весь процесс занял почти 14 дней ! Как..

Потратьте 5 минут, чтобы начать работу с многопоточностью в Python
Запуск нескольких приложений одновременно Введение Это очевидный факт, что наши телефоны и ноутбуки запускают все программы и приложения с использованием процессоров. Раньше у нас был только один основной процессор, тогда как в настоящее время большинство используемых нами процессоров являются многоядерными. Это означает, что система или устройство имеют несколько…

Победить Spectre, вариант 1: Сделай сам дома
Измените флаги оптимизатора в вашем компиляторе. Этот (длинный) пост предназначен для технических специалистов, которые хотят увидеть, как предсказатели ветвлений обучаются, а также как их побеждают, если ветки меняются. Начнем с этого кода в открытом доступе: https://repl.it/repls/DeliriousGreenOxpecker Это копия Spectre Variant 1 (Bounds Check Bypass). Я этого не писал . Атака Когда я запускаю его на своем Mac, я получаю следующее: root@47089c73b470:/# gcc spectre.c..

Создание надежной инфраструктуры для использования потоков данных
В моем городе идет сильный дождь. Это напоминает мне данные, которые производятся или регистрируются даже организацией среднего размера. Многочисленные потоки данных наводняют бизнес каждый день. Чтобы использовать эту силу, бизнес должен разумно создавать озера данных и блокировать данные, не нанося вреда бизнес-среде, используя собранные данные для получения информации, прогнозов и указаний. Хорошо, позвольте мне прекратить эту аналогию, прежде чем мы направимся к взрыву облака! Дж..

Что такое замыкание в JS
"Что такое закрытие…?" Этот вопрос должен быть вам хорошо знаком, если вы посещали собеседования, проверяющие ваши знания JavaScript. ДА…. Это очень распространенный вопрос на собеседованиях по JS. Но плохо то, что многие разработчики JS не смогли дать на это правильный ответ. Не волнуйся…! Сегодня научимся.. Согласно MDN , Замыкание — это комбинация функции, связанной вместе (enclosed) со ссылками на ее окружающее состояние (лексическое окружение). Другими словами, замыкание..

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

Простая среда для проверки кода
Еще в 2017 году мне надоели базы данных, и я решил, что хочу заняться фронтенд-разработкой. Это небольшое изменение, поэтому я искал практичные курсы и выбрал Full Stack Web Developer с Udacity . Это просто, но приличный объем работы. В основном смотрите видео, читайте статьи и время от времени отправляйте проекты. Вот тут стало по-настоящему интересно. Когда вы отправляете проект, его отправляют на оценку людям, которые уже профессионально используют технологию. Они прочесывают..

Лучший практический курс по машинному обучению 2022 года
Машинное обучение (МО) затрагивает многие аспекты нашей жизни. От стен Facebook до рекомендаций Netflix, Google Maps и даже беспилотных автомобилей — машинное обучение лежит в основе всего этого. В 2022 году все больше и больше компаний используют его в своей деятельности, чтобы улучшить качество обслуживания клиентов и получить конкурентное преимущество. ЧТО ТАКОЕ МАШИННОЕ ОБУЧЕНИЕ? Это наука, которая позволяет компьютерам действовать без предварительного программирования...

Новые методы с методом наименьших квадратов, часть 2 (машинное обучение)
Высокоразмерный предел однопроходного SGD по методу наименьших квадратов (arXiv) Автор: Элизабет Коллинз-Вудфин , Эллиот Пакетт . Аннотация: Мы даем описание многомерного предела однопроходного однопакетного стохастического градиентного спуска (SGD) в задаче наименьших квадратов. Этот предел берется с ненулевым размером шага и с пропорциональным отношением количества выборок к размерности задачи. Предел описывается в терминах стохастического дифференциального уравнения в больших..

Программирование и музыка — сатира
Только что вернулся с пробежки в 5 утра и, возможно, наткнулся на озарение, которое сэкономит мне тысячи часов того, что могло бы быть отвлечено. Представьте себе: вы возитесь с каким-то кодом, расстраиваетесь и расстраиваетесь, слушая какие-то случайные песни. Затем внезапно одна песня задевает вас за живое, и вы впадаете в транс. Вы переводите песню в режим повтора и отключаете выкачку кода, как никогда раньше. Вы чувствуете себя чрезвычайно продуктивным, будущее выглядит ярким, жизнь..

10 оправданий, чтобы не тестировать код, 1 КЛЮЧЕВАЯ причина, по которой вы должны
10 классических произведений, которые всем нам близки Ни один программист никогда не вводил код в производство непроверенным или функционально неправильным. Я точно никогда этого не делал, я идеальный разработчик

Какие навыки нужны Data Engineer?
ЧАСТЬ 2 — Знание языка программирования Какие навыки нужны Data Engineer? Как увеличить свою рыночную стоимость и зарплату Чтобы добиться успеха в качестве инженера данных и, таким образом, повысить свою рыночную стоимость и зарплату, вам необходимы определенные навыки. Я думал о том, чтобы осветить их более подробно в различных статьях — в прошлый раз я писал о том, как Дейта …

10 малоизвестных методов работы с массивами JavaScript, которые вы могли пропустить
Знакомство с расширенными методами работы с массивами JS Массивы являются ключевыми элементами в JavaScript. Разработчики могут создавать более оптимизированный код, используя методы массивов, ускоряя веб-разработку. Хотя такие методы, как push() , pop() и splice() , широко известны и широко распространены, API массивов JavaScript имеет множество других удобные методы. В этой статье мы рассмотрим 10 таких методов, которые, возможно, менее известны, но имеют неоценимое значение..

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