[DotNetBook] Особенности выбора class/struct. Свой boxing, превращение Int в структуру, реализующую интерфейс

Автор: admin от 20-11-2017, 12:50, посмотрело: 22

С этой статьей я продолжаю публиковать целую серию статей, результатом которой будет книга по работе .NET CLR, и .NET в целом. Тема IDisposable была выбрана в качестве разгона, пробы пера. Теперь коснемся разныцы между типами. Вся книга будет доступна на GitHub: DotNetBook. Так что Issues и Pull Requests приветствуются :)



Особенности выбора между class/struct



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

Категория: Программирование

 

Что делать, если не знаешь, как работает ПО

Автор: admin от 20-11-2017, 12:15, посмотрело: 69

Что делать, если не знаешь, как работает ПО
Источник



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



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



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

Категория: Программирование » Веб-разработка

 

Куда катится техничка с полторашкой: хакатоны в Avito

Автор: admin от 20-11-2017, 12:15, посмотрело: 22

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



Куда катится техничка с полторашкой: хакатоны в Avito

Категория: Программирование » Веб-разработка

 

Как PacketZoom Mobile Expresslane увеличивает производительность приложений

Автор: admin от 20-11-2017, 12:15, посмотрело: 26

Мы в GlobalDots используем разные инструменты для увеличения производительности приложений. В списке популярных проблем мобильных приложений часто всплывает низкая конверсия, большой процент обрывов соединений, медленная работа сторонних API. CDN не спасает от всех бед. Мы хотим рассказать о PacketZoom Mobile Expresslane — программном решении ускоренной передачи контента между облаками и мобильными приложениями через собственный протокол на основе UDP для обработки HTTP-запросов вместо TCP/IP.



PacketZoom Mobile Expresslane SDK — не единственное решение своего рода, но оно распространено достаточно широко и умеет решать разные проблемы. В этой статье мы составили выборку из различных кейсов, чтобы вы могли прикинуть, будет ли вам интересен PacketZoom Mobile Expresslane, стоит ли присматриваться к нему дальше.



Как PacketZoom Mobile Expresslane увеличивает производительность приложений

Категория: Программирование » Веб-разработка

 

Туту.ру: Как провести День айтишника своими силами и недорого

Автор: admin от 20-11-2017, 11:55, посмотрело: 19

Туту.ру: Как провести День айтишника своими силами и недорого



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

Категория: Программирование » Веб-разработка

 

Оптимизация скорости визуализации веб-страниц

Автор: admin от 20-11-2017, 11:55, посмотрело: 24

Нередко рассказы о том, как веб-разработчики заботятся о своих приложениях, начинаются с процесса визуализации сайта, опускаются на уровень DOM и останавливаются на утверждениях типа: «И это быстро потому, что используется ускорение». Мартин Сплитт рассказывает о производительности снизу вверх: он начинает с пикселя и поднимается уровень за уровнем, заканчивая компоновкой страницы.





В основе статьи – выступление Мартина на javascript-конференции HolyJS 2017 в Питере, где он рассказывает о том, как происходит визуализация в браузерах и что нужно делать для того, чтобы ваши сайты «летали».

Категория: Программирование » Веб-разработка

 

Трёхмерная графика с нуля. Часть 1: трассировка лучей

Автор: admin от 20-11-2017, 11:55, посмотрело: 21

Трёхмерная графика с нуля. Часть 1: трассировка лучей




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



В этой работе мы сосредоточимся не на скорости, а на чётком объяснении концепций. Код примеров написан наиболее понятным образом, который не обязательно является самым эффективным для реализации алгоритмов. Есть множество способов реализации, я выбрал тот, который проще всего понять.



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



Трёхмерная графика с нуля. Часть 1: трассировка лучей

Категория: Программирование » Веб-разработка

 

Jest и Puppeteer: автоматизация тестирования веб-интерфейсов

Автор: admin от 20-11-2017, 11:55, посмотрело: 18

Категория: Программирование » Веб-разработка

 

Дайджест свежих материалов из мира фронтенда за последнюю неделю №289 (13 — 19 ноября 2017)

Автор: admin от 20-11-2017, 05:45, посмотрело: 22

Предлагаем вашему вниманию подборку с ссылками на новые материалы из области фронтенда и около него.



Дайджест свежих материалов из мира фронтенда за последнюю неделю №289 (13 — 19 ноября 2017)

Категория: Программирование

 

Давайте поговорим о Plesk с расширением Docker

Автор: admin от 20-11-2017, 05:45, посмотрело: 41

Давайте поговорим о Plesk с расширением Docker



Недавно вышла статья Iron_Butterfly, где в числе прочего рассказывается, каким образом возможно запустить мощнейший поисковый движок ElasticSearch внутри Docker-контейнера. Я хочу продолжить этот вектор и рассказать, какие еще задачи возможно решить с помощью Docker-контейнеров используя для этого Plesk и расширение Docker.



Краткий план



В статье мы рассмотрим, как можно решить с помощью нашего Docker extension задачи, которые тяжело решить в Plesk без Docker-контейнеров (или даже невозможно). Данный список задач сформирован на основе популярных вопросов наших пользователей; в качестве пользователей мы рассмотрим владельцев хостинга, разработчиков web-приложений, администраторов WordPress.



Задачи:



— Одновременное использование различных версий баз данных;

— Разворачивание Memcached для WordPress;

— Использование собственного облачного Nextcloud хранилища;

— Запуск собственного приложения на Go. Запуск собственного git-репозитория;

— Тестирование новых версий Plesk не мешая работать боевому серверу.



Хочу уточнить, что все примеры в статье выполнены с использованием бесплатной версии расширения Docker (платная версия позволяет управлять сервисом Docker на удаленных серверах).

Категория: Программирование