Pull to refresh
1
0

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

Send message

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

Reading time3 min
Views3.6K

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

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

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

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

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

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

Читать далее
Total votes 13: ↑8 and ↓5+3
Comments2

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

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

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

image

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

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

Reading time16 min
Views6.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. Такое портирование в основном сводится к добавлению аннотаций типов.
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments1

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

Reading time12 min
Views2.1K

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

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

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

Reading time7 min
Views68K

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

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

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

Reading time9 min
Views43K


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

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

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

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

Reading time4 min
Views7.9K

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

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

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

Блииин…

Дальше больше...
Total votes 16: ↑15 and ↓1+14
Comments13

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

Reading time9 min
Views14K

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

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

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

Reading time8 min
Views12K

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

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

Читать далее
Total votes 18: ↑16 and ↓2+14
Comments13

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

Reading time8 min
Views15K

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


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


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

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

Reading time10 min
Views19K

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

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

Read more
Total votes 47: ↑47 and ↓0+47
Comments5

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

Reading time14 min
Views13K

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

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

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

Так откуда же берутся хорошие идеи?
Total votes 29: ↑27 and ↓2+25
Comments3

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

Reading time15 min
Views28K

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

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

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

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

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

   

Окунуться в безумие
Total votes 43: ↑32 and ↓11+21
Comments691

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

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



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

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

Reading time5 min
Views3.9K

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

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

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

Reading time13 min
Views5.8K

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

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

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

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

Read more
Total votes 18: ↑17 and ↓1+16
Comments13

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

Reading time8 min
Views4.5K

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

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

В этом обновлении много яркого и интересно
Total votes 12: ↑10 and ↓2+8
Comments73

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

Reading time6 min
Views20K

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



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

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

Reading time21 min
Views870K

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

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

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

Читать далее
Total votes 59: ↑51 and ↓8+43
Comments76

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

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

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

image

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

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

Information

Rating
Does not participate
Location
Россия
Registered
Activity