Pull to refresh
80
26
МойОфис @myoffice_ru

Официальный аккаунт компании

Send message

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

Reading time6 min
Views28K

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

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

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

Читать далее
Total votes 95: ↑85 and ↓10+76
Comments16

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

Reading time8 min
Views12K

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

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

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

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

Читать далее
Total votes 90: ↑87 and ↓3+90
Comments7

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

Reading time7 min
Views84K

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

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

Читать далее
Total votes 281: ↑146 and ↓135+23
Comments378

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

Reading time14 min
Views16K

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

Читать далее
Total votes 83: ↑82 and ↓1+82
Comments8

Предотвращаем утечки памяти в Go, ч. 1. Ошибки бизнес-логики

Reading time11 min
Views18K

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

Но, по сообщениям некоторых пользователей, у программ, написанных на Go, течёт память. Issue-трекер языка Go на github по запросам «high memory usage», «memory leak», «out of memory» выдаёт сотни и тысячи тикетов. А в самом популярном вопросе на stackoverflow по словосочетанию «golang memory» автор пытается разобраться, почему потребление оперативной памяти в рантайме в 4 раза превышает количество реально сделанных аллокаций. Обращения, в которых люди рапортуют о перерасходе оперативной памяти в Go, стали массовым явлением.

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

Читать далее
Total votes 68: ↑66 and ↓2+69
Comments9

Исследуем пользовательский опыт. Как демократизация процессов помогает в UX

Reading time12 min
Views5.5K

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

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

Читать далее
Total votes 27: ↑26 and ↓1+25
Comments10

Что читать Golang-разработчику. Семь главных книг: от Донована и Кернигана до МакДауэлл

Reading time7 min
Views28K

Спрос на бэкенд-разработчиков — а Go неотделим от бэкенд-программирования — стабильно растет. У самого же Golang немало плюсов: простой, строгий, статически типизированный, он обладает развитой стандартной библиотекой и славится поддержкой параллельного и асинхронного программирования. При этом в Golang нет классов и нет поддержки наследования, что значительно повышает удобство поддержки кода. Благодаря этим и другим преимуществам Go в последние годы сохраняет статус популярного и перспективного языка.

В МойОфис мы широко используем Go в качестве основного языка для разработки корпоративной почты нового поколения Mailion. При этом разрабатываем на нём не только микросервисы, но и собственное хранилище с поддержкой дедупликации (про устройство Mailion читайте здесь). В связи с этим мы постоянно следим за книжными новинками и актуальными темами современной бэкенд-разработки. Специальной литературы по теме Golang существует немало, однако с помощью наших разработчиков мы выбрали самые важные, профессионально полезные и увлекательно написанные издания.

Делимся рекомендациями книг под катом!

Открыть подборку книг
Total votes 28: ↑22 and ↓6+16
Comments7

Go, Allure и HTTP, или Как мило тестировать HTTP-сервисы на Go

Reading time10 min
Views15K

Привет! Меня зовут Сергей, я старший разработчик в Ozon и раньше вообще не был замечен в QA.

Все мы привыкли к лёгкому написанию тестов на Python и Java — это основные языки автотестировщиков с богатым инструментарием утилит и всего, что упрощает жизнь. Что нужно для написания автотестов для HTTP-сервиса на Python или Java? Гугл, бутылочка крафта и два часа времени. 

А как быть в случае с Go? Как раз на нём мы в большинстве случаев пишем микросервисы. И если тесты написаны на другом языке, разработчики не могут внести в них свой вклад или отревьюить их. Поэтому внутри Ozon активно развивается Go-сообщество QA, и этим ребятам тоже нужно тестировать HTTP-сервисы и проверять отчёты в Allure. Как настоящие сварщики мы подумали: «Если чего-то не хватает, нужно написать своё». Сказано — сделано: встречайте опенсорс-библиотеку CUTE в BDD-стиле, которая облегчает тяготы создания автотестов и упрощает переход на Go. Главные фичи: создание HTTP-тестов, возможность реализовывать проверки из коробки, Allure-отчёты и низкий порог входа. Инструкция — под катом.

Читать далее
Total votes 50: ↑48 and ↓2+51
Comments9

Краткая история компьютерных шрифтов. От Chicago до XO Fonts

Reading time7 min
Views9.2K

Пять лет назад мы в МойОфис выпустили собственный набор шрифтов XO Fonts. Сегодня в нем 11 шрифтов и 24 начертаний. Они помогают заменить иностранные проприетарные шрифты и предназначены для корректного отображения ранее созданных документов при работе на компьютерах с российскими операционными системами. Тем не менее, область применения XO Fonts не ограничена только этой задачей — благодаря открытой лицензии шрифты могут бесплатно загрузить любые пользователи и сторонние разработчики.

Специально для Хабра я подготовил статью про развитие компьютерных шрифтов с 1984 года по наши дни. Из неё вы узнаете, что такое TrueType и хинты, почему Adobe долгое время была лидером на рынке компьютерных шрифтов, что означает фраза «писать углем» и зачем в 2021 году в России был изменен ГОСТ о требованиях к оформлению документов.

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

МойОфис выпустил публичный релиз Mailion 1.0 и добавил более 180 новых функций в другие продукты

Reading time7 min
Views5K

МойОфис, российская компания-разработчик офисного программного обеспечения для совместной работы с документами и коммуникаций, объявляет о выпуске релиза 1.0 корпоративной почты нового поколения Mailion и обновлении других компонентов платформы до версии 2.1.

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

Читать далее
Total votes 26: ↑23 and ↓3+22
Comments16

Зачем учиться motion-дизайну и как это сделать своими силами

Reading time7 min
Views37K

Если в 2018 году люди тратили на просмотр видео 1,5 часа в день, то в 2022 году вовлечённость выросла до 2,5 часов. Пользователи делятся видео в два раза чаще, чем любым другим контентом, а motion-графика почти так же популярна, как простые записи. Сделали для вас подборку обучающих ресурсов, программ и инструментов для самостоятельного обучения.

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

Как помочь компилятору повысить быстродействие вашей программы

Reading time8 min
Views9.6K

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

Под катом старший разработчик ПО компании Google, Minhaz A V*, рассказывает об оптимизации производительности кода. Менее чем за час работы автор ускорил код на 18%, добавив в него всего пару строк. Несмотря на то, что в большинстве примеров этого материала используется C++, статья может быть полезна широкому кругу читателей.

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

Читать далее
Total votes 25: ↑21 and ↓4+21
Comments10

Почтовый сервер: разбираем сценарии миграции

Reading time7 min
Views10K


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

МойОфис разрабатывает сразу два корпоративных почтовых решения: «МойОфис Почта 2», с поддержкой до 30 тыс. пользователей, а также Mailion — почту нового поколения на Cloud Native микросервисной архитектуре с одновременной поддержкой до 1 млн пользователей. Оба продукта можно развернуть на серверах организации (частное облако) или на базе инфраструктуры доверенного партнера.

Под катом мы рассмотрим ряд типовых сценариев «переезда» почтовых сервисов и разберем наиболее распространенную схему сосуществования двух почтовых серверов в рамках одного домена. А также расскажем, какие типы данных, помимо электронных сообщений, подлежат переносу, и какие практики и инструменты мы для этого используем.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments10

Полезные личностные качества для ИТ-специалиста + материалы для их развития

Reading time8 min
Views22K

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

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

Читать далее
Total votes 22: ↑17 and ↓5+13
Comments12

Десять уроков от математика Джан-Карло Рота, которые он сам хотел бы усвоить

Reading time11 min
Views8.1K

Сегодня, 27 апреля, могло бы исполниться 90 лет Джан-Карло Рота* — итальянскому математику и философу, выдающемуся специалисту в области комбинаторики и основателю ежегодного издания Advances in Mathematics. Имя Рота и результаты его трудов (главным из них стали «Основы комбинаторики» — серия из десяти работ) хорошо знакомы не только в академических кругах, но и многим ИТ-специалистам. В том числе сотрудникам департамента разработки МойОфис.

Вместе с коллегами мы перевели лекцию, которую Джан-Карло Рота прочитал в апреле 1996 года в Кембридже. Позже лекция была опубликована в виде статьи и перепечатана с разрешения издательства Birkhauser Boston в 1997 году журналом Notices of the American Mathematical Society. Под катом вы найдете ее полный текст. Изложенные в ней советы ориентированы не только на математиков и будут полезны всем, кто время от времени участвует в обмене специальными знаниями. А именно: читает лекции, проводит мастер-классы, публикует доклады и исследования.

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

Читать далее
Total votes 30: ↑27 and ↓3+25
Comments8

Monotype ушел из России. Чем заменить популярные иностранные шрифты?

Reading time4 min
Views18K

На прошлой неделе компания Monotype — владелец прав на популярные шрифты Times New Roman, Verdana, Arial, Helvetica и Tahoma — объявила об ограничении доступа из России к своей библиотеке и сообщила о приостановке взаимодействия с российскими организациями. Новость стала еще одним поводом обратить внимание на специфику использования проприетарных шрифтов в бизнес-среде – проблему, которая выходит далеко за рамки ситуации с Monotype. Речь о возможных сложностях при отображении существующих документов и шаблонов, особенно при работе с различными таблицами, формами и автоматически формируемыми файлами из информационных систем.


Для минимизации подобных проблем мы в МойОфис еще шесть лет назад представили свои шрифты XO_Fonts. Они свободно распространяются и доступны бесплатно. Сегодня этот набор состоит из 11 шрифтов и 24 начертаний. Их особенностью является метрическая совместимость с распространенными проприетарными шрифтами, которая позволяет сохранить оригинальное форматирование и верстку документов, ранее созданных с использованием популярных иностранных шрифтов.

Некоторое время назад на D-Russia была опубликована история создания XO_Fonts. Теперь мы предлагаем ознакомиться с ней и читателям Хабра.

Читать далее
Total votes 52: ↑49 and ↓3+54
Comments59

МойОфис интегрировал почтовую систему и ВКС-решение TrueConf. Рассказываем, как это работает

Reading time4 min
Views4.6K

В рамках недавнего релиза 2.0 мы улучшили и расширили возможности продукта «МойОфис Почта» для корпоративных заказчиков. Подробности о составе релиза читайте здесь. Сегодня же рассмотрим одно из его интересных нововведений — возможность интегрировать с «МойОфис Почта» сторонние системы видеоконференцсвязи для проведения онлайн-совещаний. Востребованность подобных решений существенно выросла в период пандемии; согласно исследованию МойОфис, 65% коммерческих клиентов сегодня нуждаются в удобном инструменте резервирования видеоконференций.

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

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

Читать далее
Total votes 23: ↑19 and ↓4+17
Comments11

МойОфис изменил состав продуктов, добавил 293 функции и представил инструмент для перевода макросов с VBA на Lua

Reading time9 min
Views12K

МойОфис, российская компания-разработчик офисного программного обеспечения для совместной работы с документами и коммуникаций, объявляет о выпуске масштабного обновления продуктов и расширении их интеграционных возможностей, а также запуске первого в РФ средства помощи в переводе макросов с VBA на Lua.

В результате пересмотра и оптимизации кода продукта, в «МойОфис Частное Облако 2» были значительно снижены требования к аппаратному обеспечению сервера совместной работы. Это позволило на 40% снизить нагрузку на серверные процессоры, на 30% сократить потребление оперативной памяти и более чем на 70% эффективнее расходовать дисковое пространство.

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

Читать далее
Total votes 34: ↑32 and ↓2+39
Comments43

Как написать сообщение, чтобы его прочитали и поняли

Reading time8 min
Views13K

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

Читать далее
Total votes 22: ↑18 and ↓4+16
Comments9

Изучаем «МойОфис Документы». Мобильное приложение для работы с текстами и таблицами

Reading time6 min
Views9K

Год назад стартовала программа предустановки отечественного ПО. Согласно нашему совместному исследованию с BCGroup, 57% опрошенных лояльны к программе предустановки, причем по сравнению с прошлым годом этот показатель вырос на 13%. Из опрошенных 3000 человек 35% заявили, что благодаря программе они начали активнее использовать отечественное ПО, а 12% отметили, что всегда предпочитали российские решения.

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

Читать далее
Total votes 22: ↑20 and ↓2+19
Comments36

Information

Rating
294-th
Works in
Registered
Activity