Обновить
41
0
shalomman@shalomman

Пользователь

Отправить сообщение

Spring Boot: от начала до продакшена

Время на прочтение15 мин
Охват и читатели377K

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

Material Design. Динамический Toolbar на живом примере

Время на прочтение6 мин
Охват и читатели155K
Уверен, что те, кто следят за изменениями в мире Android, заметили, что Toolbar начинает играть в приложениях всё более значимую роль. Например в последней версии Gmail клиента в Toolbar вынесен почти весь функционал по работе с почтой, а в новом Google Chrome Toolbar отвечает за работу с текстом страниц.

В данной статье я постараюсь рассказать о создании динамического Toolbar, который позволит пользователю работать с контентом четырьмя различными способами в рамках одного Activity. Мы рассмотрим весь процесс разработки Toolbar-a начиная с xml файлов стилей и заканчивая анимацией иконок, а в конце статьи я оставлю ссылку на GitHub репозиторий с примером полностью рабочего приложения.
Читать дальше →

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

Время на прочтение4 мин
Охват и читатели26K
image

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

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

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




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

Обзор Typesafe Stack 2.0 и введение в модель акторов на примере Akka 2.0

Время на прочтение7 мин
Охват и читатели14K
image

Typesafe Stack — современная программная платформа, которая обеспечивает возможность создания легко масштабируемых программных систем на Java и Scala. Стек функционирует на JVM, включает в себя фрэймворки Akka 2.0 и Playframework 2.0. Ядром платформы, которое обеспечивает практически неограниченную масштабируемость разрабатываемой системы, является библиотека Akka, реализующая многозадачность на основе модели акторов.
Читать дальше →

Gson шпаргалка для Map, List и Array

Время на прочтение3 мин
Охват и читатели63K
Постоянно сталкиваясь с парсингом Json всегда подглядываю в старых проектах или на встретившуюся реализацию объекта на stackoverflow.com.

Решил собрать три основных типа в шпаргалку Map, List, Array.

Type itemsMapType = new TypeToken<Map<Integer, GoodsItem>>() {}.getType();
Type itemsListType = new TypeToken<List<GoodsItem>>() {}.getType();
Type itemsArrType = new TypeToken<GoodsItem[]>() {}.getType();


Рассматривается Serialization/Deserialization операции класса:

public class GoodsItem{
    String name;
    float price;
    public GoodsItem(String name, float price) {
    this.name = name;
    this.price = price;

    public String toString(){
	return name + " : " + price;
    }
}

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

Вышел FindBugs 3.0.1

Время на прочтение6 мин
Охват и читатели18K

Новая версия FindBugs доступна для скачивания на официальном сайте. Несмотря на то что поменялась только третья цифра в номере версии, вас ждёт множество новых интересных детекторов, а также улучшение старых. Если основная фича 3.0.0 заключалась в поддержке Java 8 и новых детекторов практически не было, то в 3.0.1 упор был сделан на функционал. Здесь я хочу вкратце осветить некоторые новые детекторы, разработанные лично мной.

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

Reconnect — уязвимость в Facebook Login

Время на прочтение2 мин
Охват и читатели37K
image

Все очень просто — если мы можем перелогинить пользователя в свой фейсбук то мы можем присоединить свой фейсбук к аккаунту жертвы на других вебсайтах. Жертва загружает нашу страничку и мы получаем доступ к аккаунту жертвы на Booking.com, Bit.ly, About.me, Stumbleupon, Angel.co, Mashable.com, Vimeo и куче других вебсайтов.
Читать дальше →

Hibernate, multi-tenancy и авто-обновление схемы БД

Время на прочтение7 мин
Охват и читатели15K
Хотите пользоваться преимуществами (и недостатками) авто-обновления схемы БД при использовании Hibernate, но у вас имеется multi-tenant архитектура? Добро пожаловать под кат.
Читать дальше →

3 лучших инструмента для описания RESTful API

Время на прочтение3 мин
Охват и читатели127K

Взаимодействие различных сервисов с использованием АPI, из новаторства превращается в обыденность. Количество бесплатных и платных API уже исчисляется тысячами, и с каждым днем их число активно растет. А почему бы и нет? Продажа удаленных запросов к своему новаторскому сервису может принести больше прибыли, чем распространение услуг через свою площадку. И пусть, в таком случае, уже ваши клиенты ломают голову и тратят деньги на привлечение аудитории. Используя свой опыт работы, я предлагаю краткий обзор лучших решений по реализации API на сегодняшний день.
Читать дальше →

Верстка email рассылок от А до Я для чайников

Время на прочтение9 мин
Охват и читатели425K
Уже 3 с лишним года занимаюсь дизайном и версткой почтовых рассылок, которые ориентированы на англоязычных пользователей. За время работы перелопатили огромную кучу информации, перепробовали много вариантов верстки, набили достаточное количество шишек. Были найдены и исправлены типичные баги, которые в той или иной мере повторялись во всех почтовых клиентах. Также нашлись проблемы с некоторыми CSS свойствами — различные почтовые клиенты интерпретировали их по разному. Каждое письмо тестировалось на самых популярных почтовых клиентах: Gmail, Outlook, Yahoo, Android, iOS, MozillaThunderbird, Microsoft Outlook, The Bat. Рассылки ходят на сотни миллионов пользователей и приносят очень хорошие результаты. Итак, приступим к изучению.
Читать дальше →

Как REST-архитектура влияет на скорость и надежность работы сайта

Время на прочтение3 мин
Охват и читатели53K
В основе REST-архитектуры лежит несколько важных базовых принципов, которые часто упускаются из вида начинающими программистами. Между тем, эти принципы имеют критическое значение для скорости и надежности работы веб-сайта. В некотором смысле REST — это архитектура, концентрирующаяся на совместимости и эффективном взаимодействии с другими узлами сети и клиентским ПО. Для них веб-сайт — черный ящик, реализующий HTTP интерфейс.

Унифицированный программный интерфейс


Ключевой момент: совместимость с HTTP-методами в плане безопасности и идемпотентности.

Безопасный запрос — это запрос, который не меняет состояние приложения.

Идемпотентный запрос — это запрос, эффект которого от многократного выполнения равен эффекту от однократного выполнения.
Читать дальше →

Эффективные ревью кода: 9 советов от исправившегося скептика

Время на прочтение4 мин
Охват и читатели20K
Я знал теорию. Ревью кода помогает:
  • Находить баги
  • Обеспечивать читаемость и поддерживаемость кода
  • Распространять знания кода на всю команду
  • Быстрее входить в работу новым членам команды
  • Показывать всем новые подходы к решению задач

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

Как мы строим систему обработки сообщений

Время на прочтение6 мин
Охват и читатели15K
Наша команда разрабатывает бекэнд-систему для обработки сообщений от мобильных устройств. Устройства собирают информацию о работе сложной техники и посылают сообщения в центр обработки. В этой статье я хочу поделиться подходами к построению подобных систем. Идеи достаточно общие, их можно применять для любой системы со следующей архитектурой:



По каналам связи устройства присылают сообщения на наш шлюз (gateway) – входную точку приложения. Задача приложения – разобраться, что именно пришло, произвести необходимые действия и сохранить информацию в базе данных для дальнейшего анализа. Базу мы будем рассматривать как конечную точку обработки. Звучит просто, но с ростом количества и разнообразия сообщений появляется несколько нюансов, которые я и хочу обсудить.
Читать дальше →

NORD POS. История о том, зачем мне нужен был ещё один форк Openbravo POS

Время на прочтение8 мин
Охват и читатели18K

Вступление


В прошлой статье я рассказал читателям краткую историю десяти лет развития проекта Openbravo POS. В течении 7 лет я принимал активное участие в нём и совместно с другими участниками разрабатывал систему управления торговой точкой с открытым исходным кодом. Но в этом году я решил перенести все свои накопленные наработки в самостоятельный проект nordpos.mobi и развивать их уже в рамках собственного форка, созданного на базе открытого исходного кода Openbravo POS.



Истоки


Ключевой причиной остановки развития Openbravo POS, стал фактический уход из проекта её основателя Эдрина Ромера, он полностью переключился на разработку коммерческой версии Openbravo Web POS и с 2010 года к исходному коду оригинальной версии больше не прикасался. По этому больших надежд на возрождение проекта я не питал, а необходимость в развитие приложения у меня была.
Читать дальше →

Учебник AngularJS: Всеобъемлющее руководство, часть 1

Время на прочтение7 мин
Охват и читатели277K

Содержание


1 Введение в AngularJS
2 Engineering concepts in JavaScript frameworks
3 Modules
4 Understanding $scope
5 Controllers
6 Services and Factories
7 Templating with the Angular core
8 Directives (Core)
9 Directives (Custom)
10 Filters (Core)
11 Filters (Custom)
12 Dynamic routing with $routeProvider
13 Form Validation
14 Server communication with $http and $resource

1 Введение в AngularJS


Angular – MVW-фреймворк для разработки качественных клиентских веб-приложений на JavaScript. Он создан и поддерживается в Google и предлагает взглянуть на будущее веба, на то, какие новые возможности и стандарты он готовит для нас.

MVW означает Model-View-Whatever (модель – вид – что угодно), то есть гибкость в выборе шаблонов проектирования при разработке приложений. Мы можем выбрать модели MVC (Model-View-Controller) или MVVM (Model-View-ViewModel).

Этот обучающий материал задумывался как отправная точка для изучения AngularJS, его концепций и API, чтобы помочь вам создавать великолепные веб-приложения современным способом.
Читать дальше →

ИТ-тренды в корпорациях в 2015 году

Время на прочтение4 мин
Охват и читатели19K


Сегодня мы поговорим о Google Glass для врачей, биткойнах, облачных решениях для бизнеса, мобильных приложениях для корпораций и других трендах, которые ожидаются в 2015 году.
Читать дальше →

Бизнес vs программная инженерия

Время на прочтение4 мин
Охват и читатели24K
Где-то я слышал, что в психотерапии существует следующая методика работы с пациентом – пациенту предлагают сесть и написать в свободной, «потоковой» форме все что накипело, волнует, будоражит сознание и, отражаясь на подсознании, не дает спать по ночам. Применительно к этому есть хорошее, нежно ласкающее слух слово – фрирайтинг.

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

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

Быстрая настройка Grunt для комфортной разработки

Время на прочтение7 мин
Охват и читатели25K
Быстрая настройка Grunt для комфортной разработки

Во время разработки нашего сервиса bitcalm.com, нам потребовалось организовать автоматическую сборку проекта. Перед нами стояла цель улучшить производительность frontend-части нашего приложения, а также оптимизировать процессы разработки и развертывания на сервере.

Основными задачами, которые требовалось решить, стали:
  1. Объединение и минификация скриптов
  2. Объединение и минификация стилей
  3. Сжатие png-изображений
  4. Создание спрайтов из всех изображений (с возможностью удобного использования и с поддержкой двух видов спрайтов для девайсов с разным PPI)
  5. Построение разных версий html-документов для разработки и для продакшна

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

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

AngularJS 1.x – перевод курса от CodeSchool

Время на прочтение12 мин
Охват и читатели75K
Данная публикация является переводом оригинального курса CoodSchool с небольшими дополнениями, которые показались мне уместными в данном контексте. Публикация рассчитана на тех, кто только начинает знакомится с Angular.

Введение


AngularJS — популярная JavaScript библиотека, предназначенная, главным образом, для создания одностраничных веб-приложений с динамически обновляемым содержимым. Библиотека была написана словацким программистом Мишкой Хевери, который, работая в Google, получил от своего шефа задание выучить JavaScript. Он решил, что лучший способ изучить язык — это создать на его основе собственный фреймворк. Angular (звучит как «Ангула» и дословно переводится как «Угловатый») использует концепцию разделения данных и их представления, известную как MVC (M — model (данные), V — view (представление), С — controller (контролер, управляющая прослойка между ними обеспечивающая логику работы приложения).
Читать дальше →

Running Lean. Пересказ одной из лучших книг о стартапах

Время на прочтение14 мин
Охват и читатели117K
Cover
Ниже — вольный пересказ книги Running Lean, автор — Ash Maurya. Рейтинг Амазона — 4.8 из 5. Книга, насколько я знаю, на русский язык еще не переведена.

Здесь изложена суть книги в объеме меньшем 1% объема книги, по моей оценке. Все вопросы освещены так, как я их понял, что необязательно совпадает с тем, как их хотел донести автор.

Допускаю, что нарушаю чьи-то права: пересказ лицензии не требует, но иллюстрации взяты из книги. Автору я писал в попытке прояснить этот вопрос, но ответа не получил.

Блог автора кгиги: practicetrumpstheory.com.

Структура пересказа

  • Введение в процесс Running Lean
    • Три важнейших методологии
    • Roadmap
  • Описание процесса Running Lean
    • Составьте «План А»
      • Определите кто клиенты
      • Создайте бизнес-модели
      • Ранжируйте бизнес-модели
    • Протестируйте и измените план
      • Подготовьтесь к проведению экспериментов
      • Категории рисков и четыре фазы тестирования плана
        • Фаза 1. Поймите проблему
        • Фаза 2. Найдите решение
        • Фаза 3. Валидируйте качественно
        • Фаза 4. Верифицируйте количественно
  • Три стадии стартапа
    • Соотношение трех стадий стартапа и четырех фаз тестирования плана
    • Держите правильный фокус
    • Привлекайте финансирование вовремя
    • Масштабируйте правильно
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Израиль
Дата рождения
Зарегистрирован
Активность