Как стать автором
Обновить

Релиз кросс-платформенного XAML UI-фреймворка AvaloniaUI 0.5

Время на прочтение3 мин
Количество просмотров20K

Состоялся релиз версии 0.5 кросслплатформенного XAML UI фреймворка AvaloniaUI (раннее назывался Perspex). Фреймворк сделан по тем же принципам, что и WPF/UWP, т. е. используется XAML, биндинги и шаблонизированные элементы управления. На текущий момент это единственный способ сделать UI на настоящем XAML, который будет работать на Windows, OS X и Linux (так же имеется экспериментальная поддержка iOS и Android).


КПДВ


Каталог встроенных контролов (gif 3MB)


Начать работать с фреймворком можно скачав дополнение для Visual Studio 2017 и создав проект из шаблона. Так же стоит ознакомиться с документацией на wiki.


В этом релизе: Поддержка .NET Core, переход на GTK3 для *nix-систем, поддержка вывода через Linux fbdev, система расширений, исправлено множество ошибок.

Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии56

Мобильное приложение — must have наших дней

Время на прочтение3 мин
Количество просмотров6K
Как часто вы слышите от собеседника фразу: «Сейчас еще почту проверю», хотя он залипает в своем телефоне уже на протяжении получаса. Сколько времени вы сами проводите в обнимку с любимыми гаджетами? Что же это? Всепоглощающая мода на мобильные приложения? Мобильная болезнь века под названием «оторвите взгляд от своего смартфона»? Называйте, как хотите, но рынок мобильных приложений действительно развивается со скоростью света, и мы активно идем в ногу со временем, используя приложения в повседневной жизни. Но остановимся на приложениях, которые создаются для бизнеса.

Хороший толчок для развития бизнеса


Люди начинают больше зарабатывать и больше тратить, а ввиду того, что наша жизнь становится более мобильной, деньги тратятся в частности на смартфоны и мобильные приложения. Такое положение дел — хороший толчок для развития бизнеса, особенно для стремительно развивающегося рынка мобильных приложений.
Тот факт, что рынок смартфонов и планшетов за 2012 год вырос вполовину, не может игнорироваться собственниками бизнеса. Уже сейчас аналитики KPCB говорят о преобладании поставок мобильных устройств над поставками ноутбуков и персональных компьютеров, и это значит, что мы вступаем в, так называемую, «пост-компьютерную эру».

image
Читать дальше →
Всего голосов 29: ↑10 и ↓19-9
Комментарии6

Прием платежей по банковским картам в приложениях — PayOnline Payment SDK

Время на прочтение7 мин
Количество просмотров21K
В конце лета PayOnline совместно с Microsoft анонсировали выход нового продукта — PayOnline Payment SDK, позволяющего разработчикам мобильных приложений интегрировать прием безналичных платежей в приложения Windows Store и Windows Phone. 12 сентября мы выступили на Windows Camp с презентацией Payment SDK, встретились с разработчиками приложений лицом к лицу и рассказали о самых интересных аспектах реализации приема платежей в приложениях. О том, что такое интернет-эквайринг, написано много и в Интернете, и, в частности, на Хабре (1,2), поэтому повторяться не хочется, перейдем сразу к делу.

image
Читать дальше →
Всего голосов 22: ↑20 и ↓2+18
Комментарии6

Получаем информацию о рабочем месте пользователя

Время на прочтение8 мин
Количество просмотров8.3K

image


0. Предисловие


Все началось с очередного звонка пользователя, который с гордостью сообщил сообщил: — „Всё сломалось“, и с моих „потуг“ удаленно найти PC, на котором работает данный пользователь..


Решение планировало быть простым до безумия и собираться на коленке. Так-как большинство наших сотрудников работают под "виндой" и все рабочие станции входят в домен, был задан вектор поиска решения. Изначально, планировалось написать небольшой скрипт. В его задачу входило собрать базовую информацию о системе и сотруднике, который за этой системой работает. Набор информации минимальный. А именно: логин, название рабочей станции и ее ip. Результат работы сохраняем на сервере, а сам скрипт "вешаем" на пользователя через GPO.


В такой реализации были существенные недостатки в виде:


  • получить информацию можно было бы только зайдя на сервер (его сетевую папку где хранился файл), что не всегда удобно
  • поддерживать файл в актуальном состоянии
  • получать данные в реальном времени

После раздумий пришло решение: использовать бота в Telegram. Прибегнув к небольшой ловкости рук, скрипт был переписан в небольшую программку для отправки информации в чат, за место "скучной" записи в файл на сервере. (+ были добавлены еще некоторые параметры которые оправлялись боту)

Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии16

Новые курсы виртуальной академии Microsoft Virtual Academy

Время на прочтение1 мин
Количество просмотров12K
image

Хорошие новости! На портале виртуальной академии Microsoft Virtual Academy опубликованы новые бесплатные курсы по разработке ПО для Windows, Windows Phone, Windows Azure и по другим темам.

Highlight
  • Глубокий курс по игровым движкам Unity, Construct2, GameMaker, разработке и монетизации игр для Windows 8 (англ)

C#/Visual Studio/SQL

Web/Windows Azure

Windows Phone

Windows 8
Читать дальше →
Всего голосов 30: ↑19 и ↓11+8
Комментарии2

Открытая трансляция DotNext 2017 Piter: Jon Skeet, Sasha Goldshtein и Андрей Акиньшин в прямом эфире

Время на прочтение4 мин
Количество просмотров7.9K
Мы продолжаем наш цикл открытых трансляций для всех желающих проводить субботы с пользой! До этого мы делали вещание с Mobius 2017 и JPoint 2017 (доступ к ней уже закрыли вроде) В этот раз у нас есть кое-что интересное для .NET-разработчиков.

Сегодня в 10 утра начнется бесплатная YouTube-трансляция первого трека DotNext 2017 Piter!



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

  • Sasha goldshtn Goldshtein – The Performance Investigator's Field Guide
  • Jon Skeet – The changing state of immutability C#
  • Tomas Herceg – Entity Framework Core: Is It Ready Yet?
  • Андрей DreamWalker Акиньшин – Поговорим про память
  • Игорь Лабутин – Межпроцессные разговоры: причины и способы
  • Алексей Савватеев – Задача о коллективной ответственности

Кроме того, утром в 10:10 вы сможете посмотреть live-интервью с Джоном Скитом, а также еще пяток интервью с другими нашими спикерами. Будет круто!

Ссылка на YouTube-трансляцию под катом.
Всего голосов 38: ↑37 и ↓1+36
Комментарии2

Как я в 15 лет взломал хостинг

Время на прочтение3 мин
Количество просмотров8.9K

Был тёплый, солнечный обед, все шло своим чередом.

Я писал колесо фортуны в интернет-магазине для сети магазинов мяса, в котором можно выиграть продукт...

Читать!
Всего голосов 16: ↑10 и ↓6+7
Комментарии23

Мой опыт знакомства с BrainTree

Время на прочтение6 мин
Количество просмотров27K
image
Итак, началось все с того, что на работе к проекту понадобилось прикрутить систему оплаты BrainTree. Поискав на русскоязычных сайтах инструкцию как это сделать, я понял, что придется во всем разбираться самому.
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии11

Проектирование и разработка шаблонного движка на C# и ANTLR

Время на прочтение14 мин
Количество просмотров10K

Предыстория


Уже много лет мы помогаем нашим клиентам отправлять потребителям хорошие, информативные и человеческие письма. В них вместо сухого “Добрый день” мы пишем “Здравствуйте, Никита!”, а вместо “Ваш баланс пополнился” сообщаем “вы получили 25 баллов”. Но маркетологи становятся все изобретательнее, и современное письмо от интернет-магазина должно выглядеть так:


В реальной жизни всего этого на порядок больше в каждом письме


И мы хотим уметь генерировать такие письма автоматически.

Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии56

Делегаты и Лямбда выражения в C# .Net — Шпаргалка или коротко о главном

Время на прочтение6 мин
Количество просмотров84K

Привет, Дорогой читатель!


Почти все кто мало-мальски работал в .Net знает что такое Делегаты (Delegates). А те кто не знает о них, почти наверняка хотя бы в курсе о Лямбда-выражениях (Lambda expressions). Но лично я постоянно то забываю о синтаксисе их объявления, то возвращаюсь к многостраничным объяснениям умных людей о том, как компилятор реагирует на подобные конструкции. Если у Вас случается такая проблема, то милости прошу!
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии15

Путь разработчика ASP.NET → PHP

Время на прочтение6 мин
Количество просмотров30K
Так получилось, что в сентябре прошлого года назад я перешел в компанию, где основным языком бэкенд-разработки был PHP 7. До этого технологии с которыми я работал ограничивались C#, ASP.NET, Javascript (JQuery, Angular 1.x, Typescript), MS SQL, IIS и Windows Server. Теперь же предстояло погружение в новый стек. Данная статьи — не очередной наброс на вентилятор для поддержки холивара. Постараюсь отметить, что показалось необычным или непривычным. Статья обращена к .net разработчикам, но, надеюсь, будет интересна и PHP сообществу.
image

Начнем с сессии

Читать дальше →
Всего голосов 34: ↑24 и ↓10+14
Комментарии75

Разворачиваем и демонизируем ASP.NET Core приложение под Linux в виде фонового сервиса

Время на прочтение5 мин
Количество просмотров75K
Доброго дня, господа. Сегодня мы затронем тему, за обсуждение которой ещё два года назад сожгли бы на костре — запуск ASP.NET приложения под linux. В данной статье будет использоваться Ubuntu 16.04
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии26

«Хочешь сделать хорошо, сделай это сам» или как я делаю свою выживалку на Unity 3D и C#

Время на прочтение4 мин
Количество просмотров45K

Когда-то давно я много играл в компьютерные игры (в основном — соревновательные), но несколько лет назад открыл для себя жанр Survival Game (выживалки «в простонародье»). Поиграв в несколько разных игр (ARK, Conan Exiles и другие, менее находящиеся на слуху), я понял, что это все же не совсем то, чего бы мне хотелось.

Как и многие ребята, в детстве (прошедшем еще в большой и сильной стране из 4 букв) я зачитывался книгами пиратской тематики: Одиссея Капитана Блада, Остров Сокровищ, да даже Гулливер, в какой-то степени, повлиял на мое мировоззрение и отношение к теме дальних странствий и опасных морских приключений.

И вот примерно полгода назад звезды сошлись. Я решил объединить свои страсти к пиратской тематике и компьютерным играм из жанра «выживалок». Я начал делать свою игру в этом сеттинге, с преферансом и куртизанками.

image
Всего голосов 80: ↑75 и ↓5+70
Комментарии101

Реализуем кооперативную многозадачность на C#

Время на прочтение6 мин
Количество просмотров8.9K


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

Читать дальше →
Всего голосов 11: ↑9 и ↓2+13
Комментарии38

Commands in MVVM

Время на прочтение22 мин
Количество просмотров83K
  • Пример 1 – Простое использование Command
  • Пример 2 — Простое использование Command в паре с лямда функциями
  • Пример 3 — Простое использование Command с параметрами
  • Пример 4 – Включение и отключение Command
  • Пример 5 – Command вызывающие события
  • Пример 6 – Асинхронные Command
  • Пример 7 — Асинхронные Command обновляющие интерфейс пользователя (UI)
  • Пример 8 — Асинхронные Command с возможность отмены
  • Пример 9 – Привязка событий к Command
  • Как это работает – Класс Command
  • Как это работает – Класс асинхронных Command
  • Как это работает – Класс привязки данных к Command

Вступление


На примере приложения, использующего паттерн MVVM (Model View View-Model) рассмотрим работу с командами (Commands).
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии5

Квест от ЕРАМ: пять задач с собеседований по .NET

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


До того, как прийти в ЕРАМ, я побывал примерно на 20 собеседованиях в питерских IT-компаниях, и во многих давали задачи. Я синтезировал свой опыт и придумал пять задач, которые похожи на те, что дают на онлайн-тестированиях и очных собеседованиях.

19-20 мая в Питере прошла конференция DotNext, где мы предложили участникам пройти квест, который и состоял из этих задач. Отвечая правильно на задачу, участник получал следующую.

С первыми тремя могут справиться джуниоры, им часто задают подобные вопросы на собеседованиях. Четвертую можно задать кому угодно, но я бы рассчитывал на специалистов уровня middle: далеко не все джуниоры разбираются в возрастаниях сложности алгоритмов.

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

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

Итак, начнем.
Читать дальше →
Всего голосов 45: ↑19 и ↓26-7
Комментарии36

[Opinion] Lazy Properties Are Good. That Is How You Are to Use Them

Время на прочтение7 мин
Количество просмотров6.6K

Let me also say a word about properties. I'm going to consider a good use of them for immutable records in C#.

I am a big fan of code design, so in this article I want to cover existing approaches and show what, I think, is a better solution.

ReadMore() →
Всего голосов 4: ↑3 и ↓1+3
Комментарии10

OSA Rescuer — система построения GPS-маршрутов для эвакуации из зон бедствия [Первый опыт]

Время на прочтение11 мин
Количество просмотров5.8K
“OSA Rescuer — автоматизированный комплекс содействия МЧС и построения GPS-маршрутов для эвакуации из зон бедствия”.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии3

Работа с диапазонами и границами в .NET

Время на прочтение14 мин
Количество просмотров25K
От переводчика. Тема диапазонов (интервалов) в .NET по праву относится к вечно зелёным и молодым. Сотни заданных на форумах вопросов, десятки написанных статей… кажется, что это закончится только тогда, когда Microsoft наконец-то введёт в Framework Class Library свой механизм по работе с диапазонами. И этому есть логичное объяснение — наверное, каждый программист рано или поздно сталкивается с необходимостью использования некоего диапазона значений, будь то числа, даты или какие-либо другие величины. Возникла такая необходимость и у меня, однако, помня о том, что свои велосипеды — не лучшее решение, я прошерстил Интернет и попал на превосходную статью Джона Скита, перевод которой, собственно, и представляю вашему вниманию.

В первом издании моей книги «C# in Depth» приводился абстрактный обобщённый класс Range, в котором для прохода по элементам в диапазоне использовались виртуальные методы. К сожалению, этот класс был неидеален, так как не учитывал определённые пограничные случаи. Однако данная статья повествует не столько о проектировании идеального класса по работе с диапазонами, сколько о том, какие следует учитывать нюансы и соображения. Моя библиотека классов MiscUtil содержит класс, в котором учтено большинство вещей, рассмотренных в этой статье, но, конечно же, и этот класс далеко неидеален. Вообще, в январе 2008 года я написал небольшую статью о диапазонах в своём блоге, но с тех пор утекло много воды, я много чего переосмыслил и решил более детально раскрыть тему в виде данной статьи.
Читать дальше →
Всего голосов 30: ↑27 и ↓3+24
Комментарии5