Обновить
Сначала показывать
Порог рейтинга
Уровень сложности

Изучаем «МойОфис Частное облако 2» — защищенное российское решение для работы с документами

Время на прочтение18 мин
Охват и читатели9.3K

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

Под катом мы публикуем рассказ* о возможностях «МойОфис Частное Облако 2» — комплексного продукта для организации безопасной среды и совместной работы с документами. В его состав входят веб-приложения для работы с текстовыми, табличными документами и презентациями, мобильное приложение «МойОфис Документы», серверные системы для обеспечения совместной работы и средства администрирования. Продукт полностью разработан в России и позволяет организовать работу в собственном облачном пространстве без риска попасть под ограничения регуляторов или сервис-провайдеров.

*Изначально этот материал был подготовлен и выпущен журналистом издания Tadviser. Аудитория Хабра несколько шире, поэтому мы решили представить статью и на этой площадке: надеемся, вам будет интересно почитать о нашем продукте. Приводим текст без правок в основном содержании.

Читать далее

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

Время на прочтение13 мин
Охват и читатели8.6K

Значимость темы машинного обучения (machine learning) сегодня очевидна. Это огромный домен знаний в Computer Science, которому в России, в частности, посвящают конференции уровня недавней AI Journey. Существует множество способов применения ML в различных областях, среди самых исследованных: распознавание изображений/видео/голоса, процессинг текста. Однако есть и более любопытные задачи, с которыми справляется ML. Например, обучение с подкреплением, что позволяет ИИ играть в игры типа Го, идентификация людей по фотографии, распознавание жестов, движений и поз человека.

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

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

Читать далее

Как в МойОфис обучают разработчиков. Возможности и форматы

Время на прочтение5 мин
Охват и читатели2.6K

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

Читать далее

6 устаревших команд Linux и инструменты, которые пришли им на замену

Время на прочтение7 мин
Охват и читатели51K

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

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

В статье под катом разработчик Хосе Висенте Нуньес* рассказывает о нескольких устаревших инструментах, которые вы, возможно, все еще используете. А также о том, чем их можно заменить. Автор объясняет, почему вам следует переключиться на эти улучшенные альтернативы, которые обеспечивают ту же — а в некоторых случаях даже большую — функциональность. Список составлен в произвольном порядке.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее

«МойОфис Почта 2». Как и для чего мы переработали нашу почтовую систему

Время на прочтение11 мин
Охват и читатели13K

В рамках релизов 2.0, 2.1 и 2.2 — все они вышли в этом году — мы представили переработанные и усовершенствованные продукты МойОфис. Одним из лидеров по числу внесенных изменений стала «МойОфис Почта 2» — почтовая система для корпоративных пользователей, которая включает в себя средства для работы с почтовыми сообщениями, инструменты календарного планирования и адресную книгу.

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

Рассмотреть в одной статье весь объем выполненных работ было бы непросто. Поэтому сегодня мы остановимся на основных изменениях и этапах редизайна «МойОфис Почта 2», которые произошли в 2022 году. О предпосылках масштабного обновления продукта, его новых возможностях и стеке технологий, читайте под катом.

Читать далее

Как работать с атомарными типами данных в C++

Время на прочтение13 мин
Охват и читатели38K

Насколько популярна сегодня тема атомарных данных, настолько же она обширна для одной статьи. Можно подробно останавливаться на разных аспектах атомарности: например, анализировать memory ordering, рассуждать о lock-free алгоритмах с использованием атомиков или исследовать производительность атомиков на разных платформах.

Под катом мы рассмотрим некоторые базовые принципы работы с атомарными типами данных в языке C++. А именно: осветим работу с атомарными данными, основные операции с ними в стандартной библиотеке C++, а также некоторые аспекты использования атомиков с пользовательскими типами данных.

Читать далее

Как оценить размер данных: краткий гайд

Время на прочтение5 мин
Охват и читатели18K

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

Автор Уилл Ларсон*, технический директор компании Calm, в своей статье признается, что никогда не был особенно хорош в «оценке». Поэтому он решил потратить несколько часов на развитие этого навыка, что со временем вылилось в текстовые заметки на эту тему. Под катом автор делится полезными правилами для оценки требуемого дискового пространства, а затем собирает фрагмент кода на SQLite3, чтобы продемонстрировать, как можно проверить результаты вашей «оценки».

*Обращаем ваше внимание, что позиция автора не всегда может совпадать с мнением МойОфис.

Читать далее

С потайным компьютером в ботинках можно обыграть даже гроссмейстера

Время на прочтение7 мин
Охват и читатели22K

"Запатентовано" уже немало способов шахматного жульничества: кто-то использует телефоны, примотанные к ногам скотчем, и штуки вроде пультов от телевизора, другие просто выходят в туалет, чтобы подсмотреть варианты хода на телефоне. И это не говоря о случаях с неочевидным и лишь отчасти подтвержденным читерством, вроде недавнего скандала с гроссмейстером Хансом Ниманном.

Программист Джеймс Стэнли* придумал еще один способ выигрывать в шахматы. Миниатюрный компьютер Raspberry Pi Zero, лежащий у него в кармане, подключен к нескольким кнопкам и вибромоторам в его ботинках, так что он может тайком обмениваться данными с шахматным движком на базе Pi. Ноги идеально подходят для этой цели: это единственная часть тела, с помощью которой при известной степени ловкости можно проделывать сложные манипуляции незаметно для окружающих.

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

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее

Рассказываем о пользе и вреде FullStack-фреймворков на примере Meteor.js

Время на прочтение6 мин
Охват и читатели11K

В последнее время появляется довольно много Fullstack-фреймворков, они становятся популярны, их обсуждают.

Если посмотреть на результаты The State of JS 2021 в разделе «Библиотеки — Бэкенд-фреймворки», то минимум 5 из них (возможно, больше) будут как раз FullStack. Отсортировав бэкенд-фреймворки по заинтересованности, в самом верху списка мы снова увидим именно FullStack. Это понятно — они востребованы и лежат в основе разных проектов.

Однако на наш взгляд, область их применимости несколько ограничена. Почему — объясняем под катом.

Читать далее

Способ представления числовых ключей для обратного поискового индекса

Время на прочтение5 мин
Охват и читатели4K

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

Не проще обстоят дела и с программным представлением таких объектов.

Читать далее

Вот почему вам стоит использовать оператор Walrus в Python

Время на прочтение8 мин
Охват и читатели32K

Выражение присваивания (также известное как оператор walrus) — это функциональность, которая появилась в Python недавно, в версии 3.8. Однако применение walrus является предметом дискуссий и множество людей испытывают безосновательную неприязнь к нему.

Под катом эксперт компании IBM Мартин Хайнц*, разработчик и DevOps-инженер, постарается убедить вас в том, что оператор walrus — действительно хорошее дополнение языка. И его правильное использование поможет вам сделать код более лаконичным и читаемым.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее

МойОфис выпустил релиз 2.2. Более 700 улучшений в Mailion, редакторах документов и других продуктах компании

Время на прочтение10 мин
Охват и читатели6.7K

МойОфис, российский разработчик офисного программного обеспечения, выпустил релиз 2.2. Изменения коснулись большинства компонентов платформы, включая почту (в том числе Mailion), частное облако, настольную и веб-версию редакторов документов. В продуктах появились сотни новых корпоративных функций и востребованных на рынке решений — от отказоустойчивого поиска в почтовой системе Mailion до интерфейсных улучшений в редакторах и файловом менеджере, а также расширения возможностей «Комплекта средств разработки» (SDK).

О ключевых нововведениях релиза читайте под катом.

Читать далее

Что читать DevOps-инженеру: 7 полезных книг

Время на прочтение4 мин
Охват и читатели28K

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

Читать далее

Ближайшие события

Девять порочных практик React. Разбираем частые ошибки

Время на прочтение10 мин
Охват и читатели29K

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

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

Под катом — наш перевод статьи*, в которой Патрик сосредоточился на отрицательных примерах: некоторых из худших React-практик, которые он когда-либо видел (а возможно даже использовал сам). Материал призван помочь вам избежать подобных ошибок в будущем.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее

Вычисления с плавающей запятой: сравниваем вывод в разных языках

Время на прочтение6 мин
Охват и читатели9.5K

С вашим языком программирования все в порядке — он просто производит вычисления с плавающей запятой. Изначально компьютеры могут хранить только целые числа, так что им нужен какой-то способ представления десятичных чисел. Это представление не совсем точное. Именно поэтому, чаще всего, 0.1 + 0.2 != 0.3.

ИТ-эксперт Эрик Уиффин, директор по инжинирингу компании Devetry, провел любопытный эксперимент: сравнил вывод в разных языках программирования при вычислениях с плавающей запятой. В рамках опыта автор продемонстрировал специфику выполнения одной и той же математической операции в нескольких десятках языков.

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

Читать далее

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

Время на прочтение12 мин
Охват и читатели15K

В августе нашей компании исполнилось 9 лет. За это время МойОфис прошел путь от амбициозного стартапа до лидера рынка отечественного офисного ПО. Ежегодно мы выпускаем несколько крупных обновлений — только в 2022 году вышло уже три таких релиза с сотнями улучшений. А общее число нововведений, которые появились в наших продуктах за последнюю пару лет, измеряется тысячами.

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

Читать далее

Что читать разработчику C++

Время на прочтение6 мин
Охват и читатели29K

В этой подборке — не только классические рекомендации книг для C++ программистов. Обычно советуют издания про паттерны, развитие стандарта или успехи большой компании. Но за всем этим изобилием «экспертных советов» и best practices теряется одна простая мысль: язык программирования — это средство выражения мысли от одного разработчика другому, а также средство описания пользовательского API в самом широком смысле.

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

Первые 5 книг этой подборки — в меньшей степени про технику, в большей степени об осознанности деятельности C++ программистов любого уровня. Остальные — «золотой фонд» классической литературы для C++ разработчиков.

Читать далее

Языковая модель GPT-3 умеет объяснять код — рассказываем, как это можно использовать

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

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

На этот вопрос в своей новой статье отвечает британский разработчик Саймон Уиллисон* — директор по архитектуре Eventbrite и один из создателей веб-фреймворка Django. Среди различных вариантов применения языковой модели GPT-3 Уиллисон особенно подчеркивает ее способность объяснять, что делает код. По словам специалиста, в этом GPT-3 поразительно эффективна, поскольку явно обучалась на огромном количестве исходного кода.

Под катом — наш перевод материала, в котором автор демонстрирует недавние примеры из своей практики: объяснение кода на Python, JavaScript, SQL, а также работу в рамках GPT-3 с математическими формулами.

*Обращаем ваше внимание, что позиция автора не всегда может совпадать с мнением МойОфис.

Читать далее

Почему айтишники не могут пройти собеседование с эйчаром

Время на прочтение7 мин
Охват и читатели86K

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

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

Читать далее

Предотвращаем утечки памяти в Go, ч. 2. Особенности рантайма

Время на прочтение13 мин
Охват и читатели21K

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

Читать далее