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

Пользователь

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

Чем сложна демонизация POSIX

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

Согласно Стивенсу, setsid() делает три важные вещи:

Процесс становится лидером сеанса нового сеанса, который содержит только вызывающий процесс. (PID = SID)

Процесс становится лидером группы процессов новой группы. (PID = SID = PGID)

У процесса не будет управляющего терминала. Если он у него был до setsid(), то связь будет разорвана.

Кроме того, setsid() не может завершиться успехом, если вызывающий процесс уже является лидером группы процессов (PID = PGID), поэтому необходимо сначала вызвать fork(), который гарантирует, что вновь созданный процесс не является лидером группы процессов (он наследует идентификатор группы от родителя).

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

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

Рассказываем про библиотеку для Process Mining: теперь SberPM в открытом доступе

Время на прочтение5 мин
Количество просмотров14K
Process Mining – это подход к извлечению, анализу и оптимизации процессов на основе данных из так называемых журналов событий (event logs), доступных в корпоративных ИТ-системах. Являясь своеобразным мостиком между Data Mining и Process Management, он выводит исследование бизнес-процессов на принципиально новый уровень. Подробнее о том, чем полезен такой подход и как мы его применяем вот здесь .

В конце 2020 года в открытый доступ вышла разработанная Сбером python-библиотека SberPM – первая в России мультифункциональная библиотека для интеллектуального анализа процессов и клиентских путей. Ниже про то, как она устроена и как ей пользоваться.

image

Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии10

Оптимизируем производительность: JavaScript (V8) vs AssemblyScript (WebAssembly)

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


Чтобы повысить производительность web-приложений, используйте WebAssembly в связке с AssemblyScript, чтобы переписать критически важные для производительности компоненты web-приложения, написанные на JavaScript. «И это действительно поможет?», — спросите вы.

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

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

Кто я такой и почему занимаюсь этой темой? 


(Данный раздел можете пропустить, это несущественно для понимания дальнейшего материала).

Мне по-настоящему нравится язык AssemblyScript. Я даже в какой-то момент начал помогать разработчикам финансово. У них небольшая команда, в которой каждый серьёзно увлечён этим проектом. AssemblyScript — очень молодой язык, похожий на TypeScript и способный компилироваться в WebAssembly (Wasm). Именно в этом и заключается одно из его преимуществ. Раньше, чтобы использовать Wasm, web-разработчик должен был учить чуждые ему языки типа С, C++, C#, Go или Rust, так как в WebAssembly изначально могли компилироваться именно такие высокоуровневые языки со статической типизацией. 

Хотя AssemblyScript (ASC) и похож на TypeScript (TS), он не связан с этим языком и не  компилируется в JS. Схожесть в синтаксисе и семантике нужна, чтобы облегчить процесс «портирования» с TS на ASC. Такое портирование в основном сводится к добавлению аннотаций типов.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии1

Категория контекста

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

Математической моделью знаковых последовательностей с повторами (текстов) является мультимножество. Мультимножество было определено Д. Кнутом в 1969 году и позже подробно изучено А.Б. Петровским [1]. Универсальное свойство мультимножества – существование одинаковых элементов. Предельным случаем мультимножества при единичных кратностях элементов является множество. Множество с единичными кратностями, соответствующее мультимножеству, называется его порождающим множеством или доменом. Множество с нулевой кратностью – это пустое множество.

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

Как проходить собеседования на Unity разработчика

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

Собеседование на юнити-разработчика состоит в основном из трёх частей. Процесс выглядит практически один в один как и на любую другую техническую специальность в IT. Сначала собеседование с HR или рекрутером, потом техническое интервью с Team Leader команды разработки. В конце, если предыдущие этапы успешно пройдены, вас ждет финальный босс - Project Manager(или Product Owner). Эта статья будет полезна для джунов и мидлов, а также людей которые недавно познакомились с Unity. Бородатые синьоры и лиды - буду рад увидеть от вас в комментариях ваш опыт.

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

Временные ряды. Простые решения

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


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

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

Материал, изложенный в статье, на мой взгляд, хорошо дополняет первую неделю курса «Прикладные задачи анализа данных» от МФТИ и Яндекс. На обозначенном курсе можно получить теоретические знания, достаточные для решения задач прогнозирования рядов динамики, а в качестве практического закрепления материала предлагается с помощью модели ARIMA библиотеки scipy сформировать прогноз заработной платы в Российской Федерации на год вперед. В статье, мы также будем формировать прогноз заработной платы, но при этом будем использовать не библиотеку scipy, а библиотеку sklearn. Фишка в том, что в scipy уже предусмотрена модель ARIMA, а sklearn не располагает готовой моделью, поэтому нам придется потрудиться ручками. Таким образом, нам для решения задачи, в каком то смысле, необходимо будет разобраться как устроена модель изнутри. Также, в качестве дополнительного материала, в статье, задача прогнозирования решается с помощью однослойной нейронной сети библиотеки pytorch.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии4

Трёхпроходный алгоритм рефакторинга Front End

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

Попался мне достаточно крупного размера проект написанный на React + Typescript.
Покопался в коде. Всё круто, контейнеры, компоненты, типы везде стоят, линтер настроен, styled-components, даже storybook есть и некий react-query.

Ну просто счастье, а не проект!

Сажусь делать простую таску – какую-то страничку собрать из компонентов.
Пишу в коде But… и IDE мне предлагает 16 Button компонентов.

Блииин…

Дальше больше...
Всего голосов 16: ↑15 и ↓1+14
Комментарии13

Ещё один шаг в сторону open source: как и почему мы внедрили Arenadata DB

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

Привет, Хабр! Меня зовут Станислав Маскайкин, я архитектор аналитических систем ВТБ. Сегодня я расскажу о том, почему мы перевели нашу систему подготовки отчётности с Oracle SuperCluster на российскую Arenadata DB. Как мы выбирали решение, почему не взяли чистый опенсорс, а также о некоторых результатах такой миграции — под катом.

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

– А у нас нет мышей! – А мы заведём… Какая польза от архитектора решений

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

Приветствую, хабровчане. В далёком 1998-м я поступил в вуз на инженера-программиста и ещё в первом семестре реализовал свой первый коммерческий программный проект. Нет, это не курсовая для сокурсников, как вы могли бы подумать. Это была простенькая система складского учета для знакомых коммерсантов (работает, кстати, и поныне). Забавно, но она и стала тем триггером, который через пару лет надолго привел меня в коммерческую продуктовую разработку сперва на позицию разработчика, потом тимлида, аналитика…

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

Читать далее
Всего голосов 18: ↑16 и ↓2+14
Комментарии13

Как мы выбирали Data Catalog, но в итоге оставили все как есть

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

Меня зовут Никита Василюк, я инженер по работе с данными в департаменте данных и аналитики Lamoda. Я и моя команда занимаемся всем, что связано с распределенной системой хранения и обработки данных.


Периодически нам приходится отвечать на вопросы, где у нас лежат те или иные данные. Поэтому однажды мы решили провести эксперимент и внедрить Data Catalog, чтобы запросы приходили уже не к нам, а в систему. Например, если человеку понадобилась информация, связанная с заказами, он может перейти в систему, ввести слово order и найти все, что ему нужно по этой теме. Мы рассмотрели три инструмента и в итоге… не стали ничего менять. Рассказываю почему.


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

Как использовать ClickHouse не по его прямому назначению

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

Алексей Миловидов делает ClickHouse и, конечно, знает его вдоль и поперек. В том числе и о том, как его можно использовать дополнительно к его штатным и всем хорошо известным функциям.

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

Read more
Всего голосов 47: ↑47 и ↓0+47
Комментарии5

Откуда берутся хорошие идеи. Конспект книги Стивена Джонсона

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

Для своего телеграм-канала я время от времени пишу конспекты интересных мне деловых книг. Одна из них — «Откуда берутся хорошие идеи» Стивена Джонсона. Тираж книги на русском закончился еще в 2014 году, купить можно только на английском языке.

Стивен Джонсон (Steven Johnson) — известный американский ученый и писатель, автор двенадцати книг о взаимодействии науки, техники и человеческого опыта, в том числе, бестселлера «Нет худа без добра: как современная массовая культура делает нас умнее».

Последние десять лет Джонсон изучает историю инноваций. Результаты его исследований и легли в основу бестселлера «Откуда берутся хорошие идеи». Стивен создал несколько сайтов, в том числе, «Магазин исчезнувшей еды», Plastic.com.

Так откуда же берутся хорошие идеи?
Всего голосов 29: ↑27 и ↓2+25
Комментарии3

Мозг, смысл и конец света

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

Напомню предысторию. Меня зовут Алексей Редозубов и я занимаюсь созданием сильного искусственного интеллекта. Мой подход крутится вокруг контекстно-смысловой модели работы мозга. Об этом был цикл статей на хабре и много видео на Youtube. Сейчас я хочу рассказать об основах контекстно-смысловой модели и о недавних исследованиях, которые позволили взглянуть на эту модель с новой, неожиданной стороны. Исследованиях невероятных настолько, что уверен — многие сочтут их безумием.

Есть два интересных и важных термина — “искусственный интеллект” (ИИ) и “сильный искусственный интеллект” (СИИ). В английской традиции Artificial intelligence (AI) и Artificial general intelligence (AGI). Первый подразумевает любую деятельность компьютера, имитирующую человеческий интеллект, второй — только такую, которая претендует на что-то универсально общее, похожее на то, как мыслит человек.

Точного определения СИИ нет. Лучшее, что есть — это знаменитый Тест Тьюринга

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

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

   

Окунуться в безумие
Всего голосов 43: ↑32 и ↓11+21
Комментарии691

Где я и где конечный автомат? Доклад Вадима Пацева о математике во фронтенде

Время на прочтение14 мин
Количество просмотров9.2K
Некоторые фронтенд-разработчики полушутливо называют себя «форма-клепатель». Это не так. Руководитель фронтенда Яндекс.Маршрутизации Вадим Пацев поставил себе задачу — на примере развития и «уточнения» одной простой задачи взаимодействия с пользователем показать: не стоит бояться лезть в такие вещи, как конечный автомат, цепи Маркова и так далее. Во фронтенде тоже есть место «взрослым» архитектурным паттернам и алгоритмам. Ссылка на видео — в конце текста.



— Меня зовут Вадим Пацев, я долгое время работаю в Яндексе, участвовал в таких проектах, как Я.ру, Музыка, Почта, Диск, а также в проектах вне Яндекса, это Roborace, система управления гонками беспилотных автомобилей, и ExperimentX — комплекс по анализу крови. Вообще, я люблю программировать, занимаюсь этим достаточно давно, и это одна из причин, почему я тут и хочу вам рассказать про всякие интересные вещи.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии2

Как преобразовать текст в алгебру: примеры

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

В предыдущей статье было разработано представление знаковых последовательностей полиномами матричных единиц на примере языкового текста. Текст превращается в алгебраический объект. С текстом можно совершать все алгебраические операции, необходимые для структуризации -- вычисления заголовков, словарей, аннотаций, смысловой разметки. В данной статье приведены два примера алгебраической структуризации текстов иной природы. Азбука Морзе выбрана из-за предельной краткости словаря, а математические формулы как пример обратной задачи.

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

Архитектура архитектуры. Шаг 4: воспалённый аппендикс

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

Продолжение. К предыдущим постам и карте цикла.

Да, если запустить, то будет больно. Ну а пока, возрадуемся же выигранному конкурсу! Ожидать горы золота или похвалы будет как минимум глупо. Солнце ещё высоко и время работать. Дядюшка Скрудж не выстроил бы своей империи, если б сразу бил по рукам и переходил к оплате. Поэтому его воплощение в вашем энтерпрайз-заказчике в очередной раз просто улыбнётся и опять поправит очки. Это, внучка, чтобы получше тебя видеть. И, конечно, чтоб читать текст приложений к контракту мелким шрифтом. Техническая часть всегда запрятана где-нибудь в Appendix 7/C.1.1

И так, на данном этапе вашей компании присылают ноту доверия. Значит тендер почти завершен, но еще нет. Осталось самое главное – контракт. После обката и обсоса на прошлой стадии у вашего клиента появились всевозможные желания, которые надо оформить. Да и опасения тоже никуда не делись. Несмотря на первичный тест и даже аудит.

Честно скажу, что я бы на месте клиента поступил так же. Обвести аудиторов вокруг пальца – вполне выполнимая задача. Просмотр документаций и планов никак не заставит саму компанию им следовать. Показательные процессы, тоже большинстве своём постановочные. А уж прогонка исходников через какой-нибудь статический анализ или PT черного ящика вряд ли что-то покажет. У вашей компании есть продукты (и это не веники) на рынке уже много лет. Откровенной лажи там не будет. Понять состояние крупного проекта за пару недель – может лишь команда специалистов из такого же проекта. Так как весь изюм - в расхождении текущего функционала с тем, чего требуют в тендере.

Read more
Всего голосов 18: ↑17 и ↓1+16
Комментарии13

Релиз CLion 2021.1: глобальный анализ потоков данных, улучшения для удаленной работы, постфиксное автодополнение

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

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

В JetBrains стартовал новый релизный год: все наши десктопные продукты обновились или обновятся в самое ближайшее время. Сегодня мы хотим поговорить о CLion 2021.1 — новейшей версии нашей кроссплатформенной IDE для разработки на C и C++.

В этом обновлении много яркого и интересно
Всего голосов 12: ↑10 и ↓2+8
Комментарии73

Как перестать бояться и полюбить регулярные выражения

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

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



Чтобы функции отыскать, воедино созвать и единою чёрною волей сковать.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии27

Регулярные выражения (regexp) — основы

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

Регулярные выражения (их еще называют regexp, или regex) — это механизм для поиска и замены текста. В строке, файле, нескольких файлах... Их используют разработчики в коде приложения, тестировщики в автотестах, да просто при работе в командной строке!

Чем это лучше простого поиска? Тем, что позволяет задать шаблон.

Например, на вход приходит дата рождения в формате ДД.ММ.ГГГГГ. Вам надо передать ее дальше, но уже в формате ГГГГ-ММ-ДД. Как это сделать с помощью простого поиска? Вы же не знаете заранее, какая именно дата будет.

Читать далее
Всего голосов 59: ↑51 и ↓8+43
Комментарии76

Process Mining как эволюция «научного управления» — и наша открытая библиотека для анализа

Время на прочтение8 мин
Количество просмотров15K
Process Mining – это мост между Data Mining и Process Management. Это подход к извлечению, анализу и оптимизации процессов на основе данных из журналов событий (event logs), доступных в информационных системах. Мы разработали и открыли библиотеку, позволяющую быстро и достаточно просто обрабатывать данные информационных систем производства, чтобы находить узкие места и точки неэффективности.

Первой научной теорией, целью которой был анализ и оптимизация рабочих процессов, является «Научное управление». На рубеже XIX – XX веков усилиями американского исследователя Фредерика Тейлора и его единомышленников была создана теория классического менеджмента. Она основывается на положении, что существует «наилучший способ» выполнения каждой конкретной работы, и проблема низкой производительности может быть решена путем использования метода, названного «научным хронометрированием». Суть метода заключается в разделении работы на последовательность элементарных операций, которые хронометрируются и фиксируются при участии рабочих. В итоге это позволяет получить точную информацию о необходимых затратах времени на выполнение той или иной работы.

image

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

Современный Process Mining — это эволюция этого подхода с учётом больших данных.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии3

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность