Pull to refresh
19
0
Иван Манжос @Sirix

User

Send message

Как устроен системный калькулятор в iPhone

Reading time 1 min
Views 9.2K

Приложение написано на сценах. Root-контроллер называется DisplayViewController. Лейбл с введенными цифрами обернули в контейнер DisplayView и добавили жесты LongPress, Swipe и Tap.

Читать далее
Total votes 67: ↑6 and ↓61 -55
Comments 15

Пирамида инспекции кода

Reading time 3 min
Views 7.5K
При инспекции кода часто складывается такая ситуация: какие-то обыденные моменты вроде форматирования или стиля рассматриваются очень тщательно, вокруг них ведутся бесконечные обсуждения, в то время как важным аспектам (выполняет ли код те функции, на которые рассчитан, производителен ли он, есть ли у него обратная совместимость с существующими клиентами и многое другое) уделяется гораздо меньше внимания.

Недавно я разместил в своем Твиттере небольшую иллюстрацию, которая проливает свет на эту проблему и дает наводку, на каких аспектах следует сосредоточиться прежде всего, и назвал ее «Пирамида инспекции кода». Ее назначение – помочь держать в приоритете составляющие инспекции кода, имеющие первостепенную важность (по крайней мере, на мой взгляд), а так же указать, какие составляющие можно и нужно автоматизировать.

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



Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 8

Финансовая устойчивость

Reading time 4 min
Views 5.5K

Каждый раз, когда мы смотрим на какую-либо огромную компанию, будь это McDonald`s, Apple или Starbucks мы думаем: “У них хороший продукт, много клиентов, у них все хорошо, куплю я эту компанию, она будет расти!”

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

А что, если она когда-то набрала огромное количество долгов и сейчас сводит концы с концами, чтобы выплатить их?

Читать далее
Total votes 21: ↑12 and ↓9 +3
Comments 5

Тестирование контракта потребителя сервиса — часть 2

Reading time 8 min
Views 2.4K

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

Читать далее
Total votes 6: ↑6 and ↓0 +6
Comments 0

Почему в InVision затаскивают микросервисы обратно в монолит

Reading time 7 min
Views 23K

Прим. перев.: автор этой статьи — Ben Nadel, сооснователь и главный инженер InVision App Inc. Миссию своей команды, поддерживающей серверную инфраструктуру компании, он сам характеризует как «advocate for the users», т.к. её главная цель — гарантировать пользователям InVision «получение опыта, который они заслуживают». Его опыт — яркая иллюстрация того, что микросервисы не серебряная пуля.

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

Читать далее
Total votes 54: ↑51 and ↓3 +48
Comments 44

Проектируем мульти-парадигменный язык программирования. Часть 4 — Основные конструкции языка моделирования

Reading time 17 min
Views 1.9K
Продолжаем рассказ о создании мульти-парадигменного языка программирования, сочетающего декларативный стиль с объектно-ориентированным и функциональным, который был бы удобен при работе со слабоструктурированными данными и интеграции данных из разрозненных источников. Наконец-то после введения и обзоров существующих мульти-парадигменных технологий и языков представления знаний мы добрались до описания той части гибридного языка, которая ответственна за описание модели предметной области. Я назвал ее компонентой моделирования.

Компонента моделирования предназначена для декларативного описания модели предметной области в форме онтологии — сети из экземпляров данных (фактов) и абстрактных понятий, связанных между собой с помощью отношений. В ее основе лежит фреймовая логика — гибрид объектно-ориентированного подхода к представлению знаний и логики первого порядка. Ее основной элемент — понятие, описывающее моделируемый объект с помощью набора атрибутов. Понятие строится на основе других понятий или фактов, исходные понятия назовем родительскими, производное — дочерним. Отношения связывают значения атрибутов дочернего и родительских понятий или ограничивают их возможные значения. Я решил включить отношения в состав определения понятия, чтобы вся информация о нем находилась по возможности в одном месте. Стиль синтаксиса для определений понятий будет похож на SQL — атрибуты, родительские понятия и отношения между ними должны быть разнесены по разным секциям.

В этой публикации я хочу представить основные способы определения понятий.
Читать дальше →
Total votes 8: ↑7 and ↓1 +6
Comments 25

Как упростить жизнь ИТ-разработчику и ускорить time-to-market с месяца до двух дней

Reading time 1 min
Views 2.1K
image

На эту тему мы провели вместе с Dell Technologies и AMD онлайн-митап 29 октября, который в общей сложности увидело более 150 ИТ-разработчиков — начинающих и не очень.

Ниже запись мероприятия на случай, если вы хотели присоедениться и посмотреть, но не смогли.

Total votes 18: ↑14 and ↓4 +10
Comments 2

АМА с Хабром #18. Марафон, Промо и обновленный дайджест

Reading time 3 min
Views 1.8K
Посты с AMA (Ask Me Anything) выходят в последнюю пятницу каждого месяца, а значит этой инициативе уже 1.5 года. Но ещё никогда мы с вами не были в такой ситуации, как сейчас. Мы не будем говорить о теме года (надеемся, других тем такого рода не случится и всякие вспышки на Солнце и астероиды не удивят человеческую цивилизацию ещё больше), а попробуем найти что-то позитивное. Благо, что Хабр трудится в полном составе из дома и готов радовать своих читателей.


Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Comments 38

WebAuthn в реальной жизни

Reading time 19 min
Views 32K
В сентябре 2019 года команда Почты Mail.ru поддержала технологию WebAuthn. Мы стали первым в мире сервисом электронной почты, который реализовал возможность входа в аккаунт с использованием электронных ключей вместо паролей. Сейчас эта возможность доступна всем нашим пользователям, вы можете привязать электронный ключ к своему аккаунту в настройках и после этого свободно использовать его для входа.



Мы уже писали новость об этом событии здесь, на Хабре. В этой статье я хочу рассказать подробнее о причинах внедрения WebAuthn в наши сервисы и о технических аспектах работы с этой технологией.
Читать дальше →
Total votes 63: ↑59 and ↓4 +55
Comments 49

Вентиляция с рекуперацией в квартире. Без воздуховодов и СМС

Reading time 7 min
Views 111K
Написать этот пост меня подтолкнула недавняя статья о приточной вентиляции в квартире. Я было хотел оставить развёрнутый комментарий, но понял что правильнее будет написать статью, т.к. мой опыт использования комнатных рекуператоров в качестве основной системы вентиляции может быть интересен многим.


Это КДПВ блок рекуперации/регенерации. Надеюсь, ни у кого нет трипофобии?

Итак, всё началось с духоты. Точнее, с утепления квартиры слоем экструзионного пенополистирола по всему периметру (панельная 9-этажка родом из 80-х, с кучей сквозящих углов). В результате чего, квартира стала условно герметичной и вопрос свежего воздуха встал в полный рост.
Читать дальше →
Total votes 157: ↑156 and ↓1 +155
Comments 250

ConfigureAwait: часто задаваемые вопросы

Reading time 20 min
Views 129K
Привет, Хабр! Представляю вашему вниманию перевод статьи «ConfigureAwait FAQ» автора Стивен Тауб.

image

Async/await добавили в .NET более семи лет назад. Это решение оказало существенное влияние не только на экосистему .NET — оно также находит отражение во многих других языках и фреймворках. На данный момент реализовано множество усовершенствований в .NET с точки зрения дополнительных языковых конструкций, использующих асинхронность, реализованы API-интерфейсы с поддержкой асинхронности, произошли фундаментальные улучшения в инфраструктуре, благодаря которым async/await работает как часы (в особенности, улучшены возможности производительности и диагностики в .NET Core).

ConfigureAwait — один из аспектов async/await, который продолжает вызывать вопросы. Надеюсь, у меня получится ответить на многие из них. Я постараюсь сделать эту статью читаемой от начала до конца, и вместе с тем выполнить ее в стиле ответов на часто задаваемые вопросы (FAQ), чтобы на нее можно было ссылаться в последующем.
Читать дальше →
Total votes 23: ↑23 and ↓0 +23
Comments 18

Я написал кроссбраузерное расширение для вкладок, но вы так не делайте

Reading time 11 min
Views 12K

Длинное, нудное вступление с претензией на манию величия


Однажды я обнаружил, что меня, как всегда, что-то сильно не устраивает в этом мире. А именно, введя какой-то длинный запрос в поисковике на настольном компьютере и затем перейдя на планшет, я никак не мог вспомнить дословно текст запроса, чтобы выйти ровно на те же результаты. А начиналось все так хорошо. Я увидел в поисковике ссылку на ответ на свой вопрос и понял, что она сулит долгое чтиво. Тогда я выключил комп и плюхнулся на диван с планшетом с мыслью о том, что вот сейчас я просто заново вобью все это в поисковик, открою ту ссылку теперь уже на планшете и лежа, спокойно, в более удобной позе прочитаю… Но не тут-то было. Какие-то мелкие разночтения в тексте — и моей ссылки уже нет в выдаче поисковика. Воспроизвести саму ссылку — тоже не вариант: она слишком длинная. Ломая голову над вариантами текста запроса, я чуть было в ярости не сломал планшет. Черт побери, пришлось вставать, снова включать компьютер, запускать браузер и копаться в истории, чтобы найти точный текст своего запроса.


Расширение, установленное в Chrome и Firefox
Читать дальше →
Total votes 19: ↑16 and ↓3 +13
Comments 33

Экзотичные заголовки HTTP

Reading time 12 min
Views 104K

Привет Хабрахабр! В этой статье будут наглядно продемонстрирован результат применения некоторых важных и экзотичных HTTP заголовков, большинство из которых связаны с безопасностью.
Читать дальше →
Total votes 83: ↑80 and ↓3 +77
Comments 35

Поднимаем Owncloud с нуля с динамическим IP и Let's Encrypt. Тысяча слонов!*

Reading time 16 min
Views 92K


Давно хотел написать целостный туториал по поднятию Owncloud в условиях домашнего сервера или небольшой компании до 500 пользователей. Owncloud — это прекрасный open-source проект, который позволяет на собственной инфраструктуре поднять свой вариант сервера синхронизации. По возможностям очень похож на Dropbox, а в чем-то его и превосходит. Огромный плюс — отсутствие ограничений по объемам хранения, полный контроль над сервером. Минусы тоже очевидны: вам самим придется следить за всем этим безобразием и беспокоиться о надежности сервера, валяющегося на антресолях или в шкафу.

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

  1. Развертывание актуального LEMP-stack
  2. HTTPS. Let's Encrypt для Nginx с автоматическим обновлением сертификата
  3. Конфигурирование Nginx для Owncloud
  4. Кэширование php-apcu
  5. Подключение внешнего основного хранилища по NFS
Читать дальше →
Total votes 53: ↑47 and ↓6 +41
Comments 95

Ошибки анкетных опросов. 2 ошибка: формулировка анкеты. 13 случаев непонимания и манипуляций в опросе (1 часть)

Reading time 23 min
Views 68K
Я продолжаю делиться опытом ошибок и находок в анкетных исследованиях. В первой статье я рассказала, как можно привлечь релевантных респондентов и увеличить возврат заполненных анкет.

Читать первую статью Ошибки анкетных опросов. 1 ошибка: смещение выборки. 8 способов привлечь нужных респондентов



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

Читать дальше →
Total votes 32: ↑30 and ↓2 +28
Comments 6

Подборка: Более 70 источников по машинному обучению для начинающих

Reading time 5 min
Views 103K


Индикатор кулачкового аналогового компьютера / Wiki

В нашем блоге мы уже рассказывали о разработке системы квантовой связи и о том, как из простых студентов готовят продвинутых программистов. Сегодня мы решили вернуться к теме машинного обучения и привести адаптированную (источник) подборку полезных материалов.
Читать дальше →
Total votes 35: ↑31 and ↓4 +27
Comments 16

Лекции по биоинформатике

Reading time 11 min
Views 27K


Рад представить вам 27 лекций по биоинформатике (включая описания, слайды и полные видеозаписи). Лекции читались на летней школе по биоинформатике, которая проходила в июле 2014 под Санкт-Петербургом, собрала вместе 100 студентов со всей России и СНГ, а также лекторов из МГУ, МФТИ, Сколтеха, РАН, СПбАУ, СПбГПУ, СПбГУ, Yale University, Fox Chase Cancer Center, George Washington University, Pennsylvania State и других прекрасных организаций.

Школу традиционно проводила команда Института биоинформатики, а поддерживали ее СПбАУ РАН, СПбГУ, JetBrains, РВК, BIOCAD, EMC, Фонд «Династия» и РФФИ, благодаря чему удалось сделать мероприятие абсолютно бесплатным для всех участников.
Смотреть лекции, узнавать новое
Total votes 20: ↑19 and ↓1 +18
Comments 0

Видео докладов от SPB .NET Community

Reading time 3 min
Views 12K


C июня этого года мы начали проводить митапы SPB .NET Community в Санкт-Петербурге и за это время у нас скопилось немало видео, которым я и хочу поделиться. Кому интересно посмотреть доклады про новшества в Visual Studio 2015, безопасность платформы ASP .NET, детали разработки многозадачных приложений и про взаимодействие с unmanaged миром из C#, прошу под кат.
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Comments 2

«Многие выбирают Agile, потому что больше ничего не умеют» — интервью с Дмитрием Завалишиным из DZ Systems

Reading time 23 min
Views 14K
Всем привет. Это снова «Без слайдов», и на этот раз у меня в гостях побывал легендарный Дмитрий Завалишин, известный всем как один из создателей Яндекс.Гуру (предшественник Яндекс.Маркета), основатель группы компаний DZ Systems и автор операционной системы Фантом.



О чем мы поговорили:

  • кем Дмитрий себя сегодня ощущает: бизнесменом или айтишником;
  • какие ниши заняли мобильные и веб-приложения в современной жизни;
  • что такое горизонтальные и вертикальные рынки;
  • чем отличается бизнес по разработке для этих рынков, и чем отличаются коробочные решения от кастомных;
  • как можно быстро оценивать клиентов по трем параметрам;
  • как найти хорошие кадры на проект;
  • почему Agile — это беда для российского рынка разработки;
  • наконец, как сделать ваших заказчиков счастливыми.


Все это — в традиционном видеоинтервью:



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

Enjoy!
Читать дальше →
Total votes 22: ↑20 and ↓2 +18
Comments 13

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity