Search
Write a publication
Pull to refresh
2
0
Алексей Клеандров @akass

Разработчик

Send message

Как ServiceStack помогает поставить разработку веб-сервисов на поток

Reading time9 min
Views22K
На хабре незаслужено обойден вниманием замечетальный .Net-фреймворк ServiceStack. Упомянут он очень кратко, в одной лишь статье, и то косвенно, мельком, и в самом конце, и упомянута там лишь мизерная его часть. Очевидно, это связано с тем, что основная масса .Net-разработчиков использует стандартные решения от Microsoft для решения задач по разработке веб-сервисов и веб-приложений, а именно ASP.Net MVC/WebAPI или WCF и не заморачивается. Как мы попытаемся показать в этой статье, современный .Net хорош далеко не только своими стандартными технологиями.



Если интересно, прошу под кат.
Читать дальше →

Руководство по работе с Redux

Reading time80 min
Views286K
Сегодня Redux — это одно из наиболее интересных явлений мира JavaScript. Он выделяется из сотни библиотек и фреймворков тем, что грамотно решает множество разных вопросов путем введения простой и предсказуемой модели состояний, уклоне на функциональное программирование и неизменяемые данные, предоставления компактного API. Что ещё нужно для счастья? Redux — библиотека очень маленькая, и выучить её API не сложно. Но у многих людей происходит своеобразный разрыв шаблона — небольшое количество компонентов и добровольные ограничения чистых функций и неизменяемых данных могут показаться неоправданным принуждением. Каким именно образом работать в таких условиях?

В этом руководстве мы рассмотрим создание с нуля full-stack приложения с использованием Redux и Immutable-js. Применив подход TDD, пройдём все этапы конструирования Node+Redux бэкенда и React+Redux фронтенда приложения. Помимо этого мы будем использовать такие инструменты, как ES6, Babel, Socket.io, Webpack и Mocha. Набор весьма любопытный, и вы мигом его освоите!
Читать дальше →

Переговоры о зарплате — как не прогореть

Reading time8 min
Views128K
image
Все фотографии в этой статье взяты из трилогии Кристофера Нолана «Тёмный рыцарь». Это всё же Бэтмен!

Давайте сыграем!

При подготовке вы хорошо поработали с телефоном. Интервью в офисе этим утром проходили занятно. После общего обеда сотрудник отдела кадров сел за стол напротив вас. Он спросил: «Какую зарплату вы бы хотели?».

Что вам делать? Что же вам делать?!


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

Или, возможно, он попробует другой подход, чтобы подтолкнуть вас назвать цифру: «Какая зарплата у вас сейчас?».

Этот вопрос звучит вполне резонно. Разве не надо отвечать на этот вопрос?
Читать дальше →

Как решить семейные разногласия с помощью 4 контроллеров и 2 умных часов за 1 месяц

Reading time12 min
Views55K
image

«Умный дом» всё увереннее мигрирует из сферы гик-экзотики в направлении достаточно доступных технологий, с помощью которых можно сделать своё жильё комфортнее, удобнее, энергоэффективнее и вообще «ничоси!». И в этой статье я хотел бы поделиться с вами собственным опытом создания системы «умного дома» в своей квартире.

Немного о розетках


Моя жена очень любит выключать всё из розеток. Уходя, она всё выдергивает, а я потом возвращаюсь домой и вставляю обратно. Мне это не нравится. Я пробовал разное: просил, уговаривал, убеждал, угрожал — ничто не помогло. И тогда я решил, что надо найти высокотехнологичный способ уладить конфликт: каким-то образом коммутировать розетки, чтобы не нужно было физически вытаскивать штекеры по всей квартире.
Читать дальше →

Валидация: внутри сущностей или снаружи?

Reading time3 min
Views21K
Обратите внимание, что хотя пост написан от первого лица, это перевод статьи из блога Jimmy Bogard, автора AutoMapper.

Меня часто спрашивают, особенно в контексте архитектуры вертикальных слоев (vertical slice architecture), где должна происходить валидация? Если вы применяете DDD, вы можете поместить валидацию внутри сущностей. Но лично я считаю, что валидация не очень вписывается в ответственность сущности.

Часто валидация внутри сущностей делается с помощью аннотаций. Допустим, у нас есть Customer и его поля FirstName/LastName обязательны:
public class Customer
{
    [Required]
    public string FirstName { get; set; }
    [Required]
    public string LastName { get; set; }
}

Проблем с таким подходом две:
  • Вы изменяете состояние сущности до валидации, то есть ваша сущность может находиться в невалидном состоянии
  • Неясен контекст операции (что именно пытается сделать пользователь)

И хотя вы можете показать ошибки валидации (обычно генерируемые ORM) пользователю, не так-то просто сопоставить исходные намерения и детали реализации состояния. Как правило, я стараюсь избегать такого подхода.
Читать дальше →

Чем PostgreSQL лучше других SQL баз данных с открытым исходным кодом. Часть 1

Reading time8 min
Views293K
Сегодня давайте поговорим о преимуществах Postgres перед другими системами с открытым кодом. Эту тему мы обязательно раскроем более подробно на PG Day'16 Russia, до которой осталось всего два месяца.

Возможно, вы спрашиваете себя: «Почему PostgreSQL?» Ведь есть и другие варианты реляционных баз данных с открытым исходным кодом (в рамках этой статьи мы рассматривали MySQL, MariaDB и Firebird), так что же Постгрес может предложить такого, чего нет у них? В слогане PostgreSQL заявляется, что это «Самая продвинутая база данных с открытым исходным кодом в мире». Мы приведем несколько причин, почему Постгрес делает такие заявления.

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


Читать дальше →

Примеры кода для интернета вещей: умная поливалка

Reading time7 min
Views22K
Недавно мы опубликовали учебные примеры кода для различных проектов, которые формируют интернет вещей. Сегодня расскажем об автоматической системе полива. Построена она с использованием Intel IoT Developer Kit, Intel Edison, в её работе применяются облачные платформы, различные API и другие технологии.


Вот, что вы узнаете, освоив это руководство:

Xamarin SDK в Open Source и многое другое на Xamarin Evolve 2016

Reading time2 min
Views10K


Невероятное количество событий произошло в этому году и несомненно присоединение компании Xamarin к Microsoft одно из самых ярких. Казалось, после анонсов на конференции Build 2016, удивить разработчиков кросс-платформенных приложений и поклонников фреймворка Xamarin совершенно нечем, однако, сегодня на конференции Evolve 2016, команде Xamarin это удалось.

Xamarin SDK, как и было обещано, сегодня официально стал проектом с открытым исходным кодом, и у всех желающих появилась возможность приложить собственные усилия к развитию этой технологии. Открыты bindings API для iOS, Android и Mac, инструменты командой строки, Xamarin.Forms и т.д. Подробности по ссылке: open.xamarin.com
Читать дальше →

Миллион и один день INotifyPropertyChanged

Reading time2 min
Views12K
Оптимизации пользовательского интерфейса посвящается.

image
Пользовательский интерфейс должен быть быстрым, очень быстрым, невероятно быстрым.

В попытках сэкономить наносекунды зачастую упускаются места где можно экономить секунды. Забавно, однажды на мое возмущение о двух секундной отрисовке небольшого списка, я получил ответ «Дабпиэф ничего не поделаешь», серьезно? Изучая всевозможные варианты реализации INotifyPropertyChanged habrahabr.ru/post/281294 возникает вопрос об идеальном балансе производительности пользовательского интерфейса и разработчика, который занимается этим интерфейсом. Захотелось понять как повлияет на работу интерфейса выбор конкретной реализации.
Читать дальше →

Настройка PhpStorm для вёрстки на ОС Windows

Reading time16 min
Views185K

Добрый день


Так сложилось, что возникла необходимость подготовить единую рабочую среду (workflow) для всех верстальщиков в группе на ОС Windows. Основная цель — это в минимальные сроки передать минимум необходимых знаний всем участникам группы. Основная проблема была в том, что многие не знакомы с unix-системами и понятия не имеют, как завести тот же SASS на ОС Windows. Поэтому было принято решение составить ознакомительную статью (пошаговую инструкцию) по настройке рабочей среды.

По совету коллег решил выложить ее в открытый доступ. Думаю, начинающим верстальщикам это пригодится, т.к. когда-то я потратил немало времени, чтобы прийти к простым истинам.

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

Итак начнём!
Читать дальше →

Apple обошла ASUS и заняла четвёртое место на рынке ПК

Reading time2 min
Views3.4K
image

Рынок персональных компьютеров продолжает падать на протяжении последних лет — в первом квартале 2016 года на рынке было продано 60,6 млн экземпляров, что на 11,5% меньше, чем за аналогичный период 2015 года. Тем не менее, Apple смогла реализовать 4,5 млн ПК и обогнать ASUS, которая продала 4,4 млн, и занять 7,4% от рынка персональных компьютеров.
Читать дальше →

Извольте доплатить: почему смартфоны лишают поддержки карт памяти

Reading time7 min
Views54K
Привет, %username%! Можно величать мобильник званием «смартфон» или «карманный компьютер», но той самой компьютерной модульностью в гаджетах пока не пахнет, а покупателям зачастую в ответ на критику предлагается замечательное решение проблемы — не покупать устройство. И даже апгрейд накопителя, редкое исключение в «одноразовой» конструкции планшетов и смартфонов, производители пытаются упразднить. Пришло время разобраться, почему карты памяти добирались до телефонов окольными путями, чем они не угодили производителям электроники и как сегодня можно перестать зависеть от ёмкости памяти в гаджетах. Прошу под кат за скандалами, интригами, расследованиями, подробностями.
Читать дальше →

Выбираем актуальную экшн-камеру c разрешением 2-4к за 100$

Reading time5 min
Views74K
За окном уже периодически мелькает летнее солнышко и вновь просыпается желание снимать какой-то экшн. Но технологии так быстро развиваются, что за 1 год у нас практически полностью обновилась линейка бюджетных экш-камер. В этом году на рынке недорогих камер сражаются Xiaomi, SjCam, GitUp, EKEN и даже Elephone, который вроде как только телефоны делал раньше. Но как же выбрать среди такого разнообразия? Предлагаю в первую очередь обратить внимание на реальную картинку, а во вторую очередь уже на технические характеристики.

image
Читать дальше →

Паять или не паять? Интернет вещей для начинающих

Reading time3 min
Views43K


Я ничего не смыслю в электронике, никогда не работала с платами и микроконтроллерами, не паяла, но посмотрев The Maker Show, я уже подумываю, а не заказать ли мне Arduino или Raspberry Pi.
Рекомендую это шоу тем, кто только начинает изучать тему Интернета вещей. Для вас я сделала обзор основных выпусков шоу.

1. Введение в электронику

Как заставить светодиод светиться с помощью лимона?

Технологический евангелист Microsoft Дэвид Крук проводит несколько экспериментов, иллюстрирующих основы электроники.
Читать дальше →

Angular 2 Beta, обучающий курс «Тур героев» часть 1

Reading time6 min
Views60K

Часть 1 Часть 2 Часть 3 Часть 4


Вступление


Эта статья основана на документации Angular 2 и представляет собой перевод двух статей — Вступление и Редактор героя.


Используется Angular 2 release is beta.12.


Тур героев: обзор


Наш великий план — построить приложение для кадрового агентства героев. Даже героям нужна работа!


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

Читать дальше →

Пять советов тому кто публикует свой .Net проект на GitHub

Reading time2 min
Views16K
GitHub Octocat Professor

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

Читать дальше →

Сравнительное тестирование девяти ORM для Android

Reading time7 min
Views33K
На просторах интернета много отрывочной информации о той или иной ORM для Андроид. Пока что мне не попадалось качественное сравнение ведущих ORM. Существующие статьи попахивают пиаром той или иной системы и ставят в невыгодное положение своих конкурентов либо некорректной постановкой тестирования, либо вообще использованием заведомо неверных настроек, либо не включением в тестирование сильных соперников.

Данное тестирование проведено было скорее для собственного интереса. Т.к. ORM много, все они разные, и хотелось бы иметь объективное представление о существующих системах.
Читать дальше →

Вступление в Реактивное Программирование, которое вы пропустили

Reading time5 min
Views91K
Ну что ж, вы решили выучить новую вещь, которая называется Реактивное программирование (Reactive Programming), а в частности — его имплементацию в виде Rx, Bacon.js, RAC или чего-то другого.
Читать дальше →

«Любимый смартфон химика-технолога» или унификация рабочего стола вашего гаджета

Reading time6 min
Views16K


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

На самом деле, изначально я планировал описать нестандартный подход к реализации интерфейса одного, не вышедшего за рамки концепта, проекта. Однако, в итоге вышло так, что я замахнулся на великое, константное и незыблемое — концепцию рабочего стола в мобильных устройствах.
Читать дальше →

Урок 1.1 — Акторы и ActorSystem

Reading time4 min
Views25K
image

И вот мы здесь! Добро пожаловать на первый урок.

В этом уроке вы создадите ваши первые акторы и будете введены в основы Akka.NET.

Основные понятия / предпосылки




В этом первом уроке вы узнаете основы создания консольного приложения с вашей первой системой акторов и простыми акторами внутри. Мы создадим два актора, один для чтения с консоли, и один для записи после некоторой простой обработки.
Читать дальше →

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity