Pull to refresh
0
0
Iaroslav Potushynskyi @MoppDepp

User

Send message

Изменения Project.json

Reading time3 min
Views9.7K
На прошлой неделе мы анонсировали расписание выхода RC2/ RTM версий .NET Core и ASP.NET. Сейчас, когда мы уже выпустили RC2, я бы хотел раскрыть чуть больше подробностей о переходе .NET Core с проектов типа .xproj/project.json на .csproj/MSBuild.

MSBuild


Когда команда ASP.NET начала работу над ASP.NET 5 (ASP.NET Core уже), то одной из главных целей была возможность легкого создания и разработки приложений на Windows, Mac и Linux. Это повлекло за собой создание систем проектов .xproj/project.json. Ключевыми фичами были:
  • Отсутствие перечисления файлов в проекте
  • Легкость редактирования файла проекта без IDE
  • Создание Nuget –пакета, используя только проект
  • Кросс-компиляция для разных версий фреймворка
  • Легкость переключения ссылок/зависимостей

Продолжая разработку, мы расширяли роль самого .NET Core:
  • .NET Core стал платформой для Universal Windows Applications (UWP)
  • .NET Core стал кросс-платформенным набором инструментов для создания как консольных приложений, так и библиотек
  • Microsoft приобрела Xamarin, чтобы .NET разработчики могли создавать iOS и Android приложения (прим. переводчика: речь идет о бесплатности Xamarin tools)

Как это влияет на project.json? Одним из ключевых принципов .NET как платформы — возможность совместного использования кода нашими разработчиками во всех моделях приложений .NET (WinForms, WPF, UWP, ASP.NET, IOS, Android и т.д.). Это создает ряд проблем: хоть project.json отлично подходит для создания веб-приложений и библиотек классов, но в то же время не позволяет унификацию с другими моделями приложений.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments10

Программист ли я, или просто хорошо гуглю?

Reading time4 min
Views66K

Письмо Скотту Хансельману


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

От переводчика


Всем привет, с вами Максим Иванов, и сегодня мы поговорим об одном из постов Скотта Хансельмана (Scott Hanselman), который он написал по причине довольно серьезного и хорошо сформулированного письма к нему. В общем-то, меня вдохновила одна из статей на нашем ресурсе под названием Google-oriented programming. Больше всего мне понравилось то, что в программистах порой может появиться синдром самозванца. Конечно, труды Хансельмана не единственны в этом мире с точки зрения психологии, но он дает четко нам понять, что это нормально. Как он пишет: «Но вот в чем дело. Мы все иногда чувствуем себя обманщиками. Мы все обманщики. Это часть роста. Мы попадаем в ситуации, которые немного сложнее того, с чем мы можем справиться. Но мы справляемся с ними, мы не обманщики, и мы двигаемся к следующему испытанию.» Так давайте же разберемся, какие решения и выводы Скотт предлагает нам в своем посте. Приступим.
Читать дальше →
Total votes 34: ↑26 and ↓8+18
Comments51

ASP.NET Core сегодня: за и против

Reading time6 min
Views46K
ASP.NET Core имеет все шансы заменить ASP.NET в его текущем виде. Стоит ли переходить на ASP.NET Core уже сейчас? Поговорим об этом с экспертами:

  1. Дино Эспозито (Dino Esposito) – писатель, консультант, тренер и технический евангелист, признанный эксперт и популяризатор концепций DDD и CQRS
  2. Морис де Бейер (Maurice de Beijer) – независимый консультант, MVP и автор онлайн-курса The React Tutorial
  3. Андрей Терехов – full-stack разработчик EPAM, специалист по серверному пререндерингу.



Все трое выступят через неделю в Питере на конференции DotNext с докладами про ASP.NET Core.

Дино и Морис отвечали на английском языке, ниже мы публикуем перевод их ответов.
Читать дальше →
Total votes 31: ↑27 and ↓4+23
Comments107

Выразительный JavaScript: Формы и поля форм

Reading time17 min
Views198K

Содержание




Я нынче ж на ученом кутеже
Твое доверье службой завоюю,
Ты ж мне черкни расписку долговую,
Чтоб мне не сомневаться в платеже.

Мефистофель, в «Фаусте» Гёте


Формы были кратко представлены в предыдущей главе в качестве способа передачи информации, введённой пользователем, через HTTP. Они были разработаны в вебе до появления JavaScript, с тем расчётом, что взаимодействие с сервером происходит при переходе на другую страницу.

Но их элементы являются частями DOM, как и остальные части страницы, а элементы DOM, представляющие поля формы, поддерживают несколько свойств и событий, которых нет у других элементов. Это делает возможным просматривать и управлять полями ввода из программ JavaScript и добавлять функциональности к классическим формам или использовать формы и поля как основу для построения приложения.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments13

Программируем роботов на Windows 8. Магический шар Sphero

Reading time7 min
Views23K
image

Пару дней назад мне в руки попала забавная игрушка для гиков, любящих роботов и кодировать. Последние пару ночей я провела изучая игрушку и применяя к ней свой опыт Windows 8 разработки. Так как занятие оказалось довольно увлекательным, спешу с вами им поделиться.
Читать дальше →
Total votes 54: ↑41 and ↓13+28
Comments19

DIY: HTPC с внешней видеокартой

Reading time4 min
Views101K
Добрый день, хабравчане! Спасибо большое за инвайт!
Меня зовут Алексей. Имею проблему со слухом, но это не мешает здесь писать.
Хочу поделиться моим проектом. Это компактный компьютер габарита 196х190х62 мм с внешней видеокартой. Правда, что видеокарта класса не low-end, а high-end. Вся работа заняла примерно 2 недели.
Внимание, под катом много картинок!
Читать дальше →
Total votes 87: ↑56 and ↓31+25
Comments56

Перевод AirBnB Style Guide

Reading time4 min
Views47K


У нас, как и у всех, изначально в разработке использовались стандарты написания кода, но на деле они ограничивались примерно таким:

— В кэмелкейсе пишем?
— Да, как обычно, в кэмелкейсе
… прошло две недели…
— Мы ж в кэмелкейсе договаривались!!!


В нашем случае не было разве, что последней фразы.
Уже давно хотелось как-то это систематизировать, но никак не доходили руки до выбора между стилями от jQuery, Google, ideomatic.js и Crockford.

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

Прочитать крайне советую как минимум всем начинающим js-разработчикам.

Читать дальше →
Total votes 77: ↑66 and ↓11+55
Comments92

Усиливаем контроль типов: где в типичном C#-проекте присутствует непрошеный элемент слабой типизации?

Reading time5 min
Views19K

Проблема


Мы привыкли говорить о языках вроде C# как строго и статически типизированных. Это, конечно, правда, и во многих случаях тип, указываемый нами для некоторой языковой сущности хорошо выражает наше представление о ее типе. Но есть широко распространенные примеры, когда мы по привычке («и все так делают») миримся с не совсем верным выражением «желаемого типа» в «объявленном типе». Самый яркий — ссылочные типы, безальтернативно оснащенные значением «null».
В моем текущем проекте за год активной разработки не было ни одного NullReferenceException. Могу не без оснований полагать, что это следствие применения описанных ниже техник.

Рассмотрим фрагмент кода:

public interface IUserRepo 
{
	User Get(int id);
	User Find(int id);
}

Этот интерфейс требует дополнительного комментария: «Get возвращает всегда не null, но кидает Exception в случае ненахождения объекта; а Find, не найдя, возвращает null». «Желаемые», подразумеваемые автором типы возврата у этих методов разные: «Обязательно User» и «Может быть, User». А «объявленный» тип — один и тот же. Если язык не заставляет нас явно выражать эту разницу, то это не означает, что мы не можем и не должны делать это по собственной инициативе.
Maybe в C#: какие есть варианты
Total votes 37: ↑32 and ↓5+27
Comments63

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

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

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

Производительность фронтенда. Часть 3 — оптимизация шрифтов

Reading time7 min
Views12K
От переводчика: Это восьмая статья из цикла о Node.js от команды Mozilla Identity, которая занимается проектом Persona.





Мы смогли уменьшить объем шрифтов для Persona на 85%, с 300 до 45 килобайт, используя подмножества шрифтов. Эта статья рассказывает о том, как именно мы это сделали, и какие мы использовали инструменты.

Представляем connect-fonts


Connect-fonts — это middleware для Connect, которое улучшает производительность @font-face, раздавая клиентам подобранные специально для их языка подмножества шрифтов, уменьшая тем самым их размер. Connect-fonts также генерирует специфические для локали и браузера стили @font-face и CORS-заголовки для Firefox и IE9+. Для раздачи подмножеств шрифтов создаются так называемые font packs — поддиректории с подмножествами шрифтов плюс простой конфигурационный файл JSON. Некоторые наборы распространённых open source-шрифтов доступны в готовом виде в пакете npm, впрочем, создавать свои пакеты совсем нетрудно.

Если вы не слишком хорошо ориентируетесь в работе со шрифтами в интернете, мы собрали небольшую коллекцию ссылок по теме @font-face. [От переводчика: а на Хабре очень кстати статья, посвящённая производительности веб-шрифтов]
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments2

Переход с bootstrap 2 на bootstrap 3

Reading time5 min
Views61K


Этот небольшой обзор предназначенный тем, кто хочет быстро перевести свой сайт на новый бутстрап.

На днях вышла третья версия этого замечательного фреймворка, и, естественно, сразу захотелось посмотреть, как будут выглядеть сделанные на второй версии проекты, если просто поменять 2-ю на 3-ю. Оказалось что никак. Всё расползлось, разъехалось и кое-что перестало работать.

После чего захотелось всё быстренько поправить. И вот, что из этого получилось, читаем дальше.
Читать дальше →
Total votes 72: ↑61 and ↓11+50
Comments25

Несколько интересностей и полезностей для веб-разработчика

Reading time4 min
Views62K
Всем доброго времени суток. Как-то так получилось, за последнее время я увидел много интересных и полезных инструментов/библиотек/событий, которыми я хотел поделиться на Хабре. Все эти темы по отдельности, на мой взгляд, не заслуживали целой статьи. Но каждая из них достойна внимания и может кому нибудь пригодиться. В итоге получился небольшой дайджест:

Prepros



Великолепное приложение препроцессор для CSS, JS. Компилирует файлы следующих типов: LESS, Sass, SCSS, Stylus, Jade, Slim, Coffeescript, LiveScript, Haml. Минифицирует JS на лету, при каждом изменении файла. Оптимизирует изображения. Доступен для Windows и Mac, а также как расширение для Chrome. Плюс ко всему создает HTTP сервер, для тестирования сайта на разный устройствах. Бесплатная замена CodeKit'у и Ghostlab'у вместе взятых, что в сумме позволит Вам сэкономить $75.

Читать дальше →
Total votes 87: ↑72 and ↓15+57
Comments23

Проблемы CSS. Часть 1

Reading time7 min
Views99K
От переводчика
Статья большая решил разбить на две части.

Впервые css был представлен примерно в 1995 году, и был предназначен для стилизации простых текстовых документов. Не веб сайтов. Не приложений. А именно текстовых документов. С тех пор, css, прошел долгий путь. Возможно слишком долгий.

Для многих вещей, css, не был предназначен изначально, например для таких как: многоколоночность, отзывчивый веб дизайн и т.д. Вот почему он стал языком полным хаков и глюков, как какая-то древняя машина с кучей расширений.

В лучшем случае — работу с css можно назвать веселым занятием. И это то, благодаря чему мы имеем работу. Потому что, как я считаю, генерация эффективных и кроссбраузерных css стилей невозможна и не будет возможна в ближайшее время.
Читать дальше →
Total votes 79: ↑71 and ↓8+63
Comments53

Сравнение производительности JS-библиотек

Reading time8 min
Views38K

Некоторое время назад возникла задача сделать сравнительный анализ jQuery и Google Closure Library. Основным было сравнение функциональных характеристик, но помимо этого появилось желание проверить и скорости работы этих двух библиотек. Некоторые знания о внутреннем устройстве позволяли сделать предположения, но результаты тестов оказались для меня несколько неожиданными и я решил, что стоит поделиться ими с хабра-сообществом.
И кто выиграл?
Total votes 101: ↑90 and ↓11+79
Comments92

Метрика #16 — Подкаст о технологиях и проектировании интерфейсов и сервисов

Reading time1 min
Views4.9K
Всем привет! С вами «Метрика» — шоу для тех, кто создает и анализирует продукты и сервисы, проектирует и руководит, занимается бизнесом и любит новые технологии.

Сегодня в программе


В 16-м выпуске Метрики вместе с Юрием Ветровым (jvetrau), являющимся руководителем одной из наиболее крупных рабочих групп по UX в Mail.ru, мы обсуждаем iOS 7 — новую операционную систему для мобильных устройств от Apple.
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments9

Интерфейсный дайджест, июнь 2013

Reading time6 min
Views23K
Уже три года я публикую регулярные обзоры свежих статей по теме интерфейсов, новых инструментов и коллекций паттернов, интересных кейсов и исторических рассказов. Из лент нескольких сотен тематических подписок отбирается примерно 5% стоящих публикаций, которыми интересно поделиться. Предыдущие материалы: апрель 2010-май 2013.

Обзор свежих материалов, июнь 2013
Читать дальше →
Total votes 63: ↑53 and ↓10+43
Comments1

UAC, давай дружить!

Reading time6 min
Views93K
Технология UAC — не лишний компонент безопасности ОС Windows последних версий и пользователи приходят к этой мысли, борясь с malware и вирусами. Программистам, в свою очередь, стоит грамотно подходить к написанию приложений и принимать во внимание наличие такого «обстоятельства».

image

На хабре и вообще в сети много статей на тему «Как отключить UAC», «Как обойти UAC» и др. Но зачем отключать, функция ведь полезная? Зачем обходить, мы ведь не злоумышленники?

Нужно дружить!

Ниже я расскажу как это делать в Вашем приложении.
Читать дальше →
Total votes 91: ↑76 and ↓15+61
Comments235

simpleTooltip: HTML начиненный CSS и приправленный jQuery

Reading time8 min
Views33K


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

На разработку собственного варианта подсказок меня натолкнул Tipsy Tooltip используемый в Twitter Bootstrap. По началу я пользовался им, но все возможности плагина мне были не нужны и, будучи перфекционистом, лишний код смущал естество. Решил: напишу-ка я то, что нужно мне и ни строчкой больше. Написал и осмеливаюсь поделиться рецептом с сообществом. Авось кому-то приглянется…
Ознакомиться с рецептом
Total votes 68: ↑46 and ↓22+24
Comments37

Интеграция дизайна мобильных приложений. Часть 2: iOS, Windows Phone

Reading time3 min
Views42K


Это вторая часть доклада, который я прочитал на Dribbble Meetup 2013 в Москве. В первой части я подробно описал свой процесс интеграции дизайна под платформу Android. Эта часть — про интеграцию дизайна под iOS и Windows Phone, а также я вскользь упомяну про Samsung Bada 2.0. Дальше — много картинок.

Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments11

Information

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