Мы продолжаем пилить свой мини-дайджест. На этой неделе в зарубежных изданиях вышло несколько интересных статей о CRM-системах и о бизнес-процессах. Мы выбрали самые яркие и готовы их прокомментировать — как всегда, субъективно и с долей иронии.
Мы продолжаем пилить свой мини-дайджест. На этой неделе в зарубежных изданиях вышло несколько интересных статей о CRM-системах и о бизнес-процессах. Мы выбрали самые яркие и готовы их прокомментировать — как всегда, субъективно и с долей иронии.
PVS-Studio — это статический анализатор кода для поиска ошибок и потенциальных уязвимостей в коде программ на языке C, C++ и C#. Мы давно радуем читателей нашего блога проверкой открытых проектов и разбором найденных ошибок. Наши статьи имеют потенциал стать более интересными, так как анализатор научился проверять код встроенных устройств. Мы поддержали несколько ARM-компиляторов, про которые подробнее вы узнаете из статьи. Ошибки во встроенных устройствах и роботах могут быть более зрелищными, чем в прикладных программах. Ошибка во встроенном устройстве — это не просто падение/зависание программы или неправильная картинка. Это сошедший с ума Wi-Fi-чайник, который будет кипятить воду, пока она не выкипит и не сработает термопредохранитель. В общем, с ошибками в мире embedded-систем всё обстоит куда интереснее и страшнее. Читать дальше ->
Кэширование позволяет увеличивать производительность веб-приложений за счёт использования сохранённых ранее данных, вроде ответов на сетевые запросы или результатов вычислений. Благодаря кэшу, при очередном обращении клиента за одними и теми же данными, сервер может обслуживать запросы быстрее. Кэширование — эффективный архитектурный паттерн, так как большинство программ часто обращаются к одним и тем же данным и инструкциям. Эта технология присутствует на всех уровнях вычислительных систем. Кэши есть у процессоров, жёстких дисков, серверов, браузеров.
Ник Карник, автор материала, перевод которого мы сегодня публикуем, предлагает поговорить о роли кэширования в производительности веб-приложений, рассмотрев средства кэширования разных уровней, начиная с самого низкого. Он обращает особое внимание на то, где именно могут быть кэшированы данные, а не на то, как это происходит.
Мы полагаем, что понимание особенностей систем кэширования, каждая из которых вносит определённый вклад в скорость реакции приложений на внешние воздействия, расширит кругозор веб-разработчика и поможет ему в деле создания быстрых и надёжных систем. Читать дальше ->
Сразу скажу, пост не о политике и послании, а о том как НЕ нужно делать графики, вообще ни для кого не нужно так делать, тем более для президента, особенно когда аудитория столь обширная.
Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий.
Мы продолжаем цикл из 18 статей на основе его лекций:
Ни для кого не секрет, что .net сейчас используется в большинстве случаев как инструмент бэкенд разработки, а в клиентской разработке последние лет 5 правит js сообщество с своей экосистемой и инструментами для разработки. Это все безобразие с каждым годом усиливает пропасть между фронтэндом и бэкендом, и планка вхождения в область становится все выше и выше, разработчики начинают делиться на два лагеря и уходит такое понятие как фуллстек.
Да, под Node.js можно написать сервер, но для бэковой разработки, все же, .net бесспорный лидер. На js, на мой взгляд, очень сложно написать гибкий и легко поддерживаемый бэкенд, хотя возможно многие со мной и не согласятся.
Давайте ударим автопробегом по бездорожью попытаемся вопреки всему этому написать SPA приложение с бэком на .net core и клиентом на js, из инструментов разработки будем использовать горячо любимую Visual Studio.
После этого туториала, я надеюсь, веб и бэк разработчикам будет проще найти почву под ногами в вражьей области и понять в какую сторону двигаться для более углубленного изучения. Поехали! Читать дальше →
Привет, Хабр! Сегодня мы запускаем экспериментальную серию статей. Вы погрузитесь в реалити-шоу для программистов-самоучек, в котором Алексей Плотников, один из участников нашего сообщества Microsoft Developer, будет рассказывать о том, как он создаёт игру на UWP. Под катом — первая часть, с описанием идеи проекта и ответом на простой вопрос: «Что нужно заложить с самого начала?» Не забудьте оставить комментарии, вы можете повлиять на ход разработки.
В предыдущих статьях мы много рассказывали о Splunk. Это продукт, который позволяет собирать и анализировать данные с любых IT-систем в режиме реального времени, например, это могут быть результаты работы web-сервера, почтового сервера, Windows, различных приложений и тд. Значит ли это, что если всем сотрудникам, заинтересованным в аналитике, полученной в Splunk, необходимо разбираться в работе программы, вносить изменения в свои бизнес-процессы и делать всю аналитику только в Splunk? Конечно же, нет!
В данной статье мы покажем, как сделать так, чтобы в несколько кликов отдел продаж мог получать в MS Excel таблицу, с актуальными данными о реализации товара через интернет магазин. Читать дальше ->
Как и обещали, публикуем ответы Эвана Ю (Evan You) на вопросы, которые мы долго и мучительно собирали в предыдущем посте, а также русскоязычном Vue чате в Telegram.
Специалистам в области информационной безопасности сегодня почти невозможно обойтись без знаний соответствующих стандартов и спецификаций. На то имеется несколько причин. Формальная состоит в том, что необходимость следования некоторым стандартам, таким как «криптографические» стандарты или «руководящие документы» закреплена законодательно. Однако наиболее убедительны содержательные причины. Читать дальше ->
Вот и пролетело полгода с тех пор, как я перевёл свой математический пакет на Андроид, “Микро-Математику”, в статус свободных приложений с открытым исходным кодом и опубликовал код на github. Благодаря такому шагу, “Микро-Математика” получила мощный импульс для развития, а я сам — ценный и весьма позитивный опыт общения с сообществом. В данной небольшой заметке я хочу представить новую версию приложения, которая сейчас готовится к релизу, а также поделиться всем тем позитивом, который был получен в рамках работы над релизом. Эта заметка для тех, кто интересуется как общими вопросами разработки под Андроид и ПО с открытым исходным кодом, так и прикладными вопросами, связанными с математическими вычислениями.
На Хабре откровенно мало статей про АСУ ТП. Более того, подозреваю, что программирование в отрасли промышленной автоматизации для большинства хабровчан — некий магический темный лес со странными легендами и существами. И вот мне захотелось провести небольшую экскурсию по этому лесу в познавательных целях, но познавательными целями ограничиваться не будем, и постараемся, чтобы данный материал был полезен людям, только начинающим свой путь в АСУТП, либо впервые столкнувшимися с рассматриваемым типом контроллеров. Читать дальше ->
Почему крупнейший мобильный оператор платит за critical bug 3-мя месяцами бесплатного интернета, гос. авиа компания считает паспортные данные и дату рождения не конфиденциальной информацией, а служба доставки №1 в стране по скриншотам отрицает утечку данных?
А тем временем, на другом континенте, Пентагон собирает 1410 фрилансеров ИБ-шников и выплачивает 75 000 долларов за найденные баги. U.S. Dept Of Defense так же запускает программу вознаграждения и выплачивает более 100 000 долларов за 118 найденных багов на всех официальных сайтах департамента.
В данной статье рассмотрим особенности внедрения и обслуживания одного из самых эффективных мер в security — bug bounty.
Около года назад я заприметил интереснейшую и увлекательную серию лекций Эдди Мартина, который потрясающе доходчиво, благодаря своей истории и примерам из реальной жизни, а также колоссальному опыту в обучении, позволяет приобрести понимание довольно сложных технологий.
Мы продолжаем цикл из 18 статей на основе его лекций:
Disclaimer: Это перевод статьи профессора Бертрана Мейера из блога Communications of the ACM.
Статья относительно недавняя (по сравнению с предыдущим переводом). А профессор Бертран Мейер, представлять которого не нужно, является почетным доктором и заведующим кафедрой ИТМО, преподает в университете Иннополис. И, что важно знать комментаторам, прекрасно владеет русским языком. ;)
Тема программной инженерии никогда не была особо популярной. Начиналось эта область как «методология программирования», что вызывает пред взором образ этакого бородача среднего возраста, призывающего вас, с голландским, швейцаро-немецким или оксфордским акцентом, покаяться и встать на путь истинный. Охваченного (перефразируя Марка Твена) навязчивым страхом того, что кто-то, где-то может и на самом деле получать удовольствие от программирования.
Но так было в давние времена. За некоторыми исключениями, одно из которых будет упомянуто ниже, если кто и продолжает изучать методологии программирования, занимается он этим уже в мире agile, там, где решающие доводы часто начинаются с фразы «Я всегда говорю…» (Пример со страницы консультанта: «я всегда говорю команде: ‘Мне хотелось бы, чтобы [пользовательские] истории были небольшими, умещались в одну итерацию, однако такой путь не всегда приемлем»). Дейкстра, бывало, апеллировал к внутренним чувствам, однако поддерживал их строгими концептуальными доказательствами. Читать дальше ->
Сегодня, почта до сих пор остаётся одним из ключевых средств обмена сообщениями в корпоративном сегменте. Объём хранимой почты только растёт и со временем занимает сотни гигабайт, а то и вовсе несколько терабайт. В такой момент пользователи в большинстве случаев начинают испытывать проблемы в процессе эксплуатации почты, например с поиском. Если использовать Web клиент, например тот же RoundCube, то при поиске по всем сообщениям во всех папках да и ещё по содержимому самого письма, очень часто результат приходилось ждать десятки секунд, что не очень приятно. Поэтому я и подумал, что пора бы в dovecot настроить FTS плагин. Читать дальше ->
Для визуализации массивов произвольных данных Apple дала нам таблицы UITableView для одномерных визуализаций и коллекции UICollectionView для более сложных случаев. Например, в iFunny ежедневно десятки тысяч пользователей публикуют и рассылают «мемасики». Приложение постоянно работает с различными списками: мемы, пользователи, тэги, переписки и т.д.
Задача отображения какого-либо списка весьма распространённая, и это довольно легко программируется. Однако всё существенно усложняется, если этот список динамически меняется. Неожиданно поймать NSInternalInconsistencyException после очередного обновления содержимого таблицы или коллекции — удовольствие сомнительное. Давайте разберёмся, как этого избежать. Читать дальше ->
Если вашему бизнесу необходим BDD с живой документацией на русском, нет выделенной позиции тестировщика, либо уровень его знаний недостаточен для самостоятельной автоматизации и важно обеспечение единого стека технологий между scrum-командами, то вам безусловно необходимо хотя бы раз подключить нашу библиотеку Akita и проверить ее в действии.
Перед тем как пуститься в рассказы о том, что такое библиотека Akita, хотелось бы рассказать о том, как мы дошли до мысли о ее реализации, какие проблемы хотели решить и что в итоге у нас получилось. Читать дальше ->
Мониторинг — это главное, что есть у админа. Админы нужны для мониторинга, а мониторинг нужен для админов.
За последние несколько лет поменялась сама парадигма мониторинга. Новая эра уже наступила, и если сейчас вы мониторите инфраструктуру как набор серверов — вы не мониторите почти ничего. Потому что теперь "инфраструктура" — это многоуровневая архитектура, и для мониторинга каждого уровня есть свои инструменты.
Кроме проблем типа "упал сервер", "надо заменить винт в рейде", теперь надо понимать проблемы уровня приложения и уровня бизнеса: "взаимодействие с микросервисом таким-то замедлилось", "в очереди слишком мало сообщений для текущего времени", "время выполнения запросов к бд в приложении растет, запросы — такие-то".
У нас на поддержке около пяти тысяч серверов, в самых разных конфигурациях: от систем из трех серверов с кастомными докеровскими сетками, до больших проектов с сотнями серверов в Kubernetes. И за всем этим надо как-то следить, вовремя понимать, что что-то сломалось и быстро чинить. Для этого надо понять что такое мониторинг, как он строится в современных реалиях, как его проектировать и что он должен делать. Об этом и хотелось бы рассказать.