Обновить
20
0
Ermak@Ermak

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

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

Тестирование Spring приложений. Транзакции в тестировании

Время на прочтение6 мин
Охват и читатели23K
spring-overview

Про полезность подхода TDD (разработка через тестирование, test driven development) не слышал только ленивый или глухой. Но сегодня мы не будем обсуждать всю его полезность и красоту, а также проблемы и недостатки. Сегодня мы попробуем посмотреть, как разрабатывать unit-тесты для spring приложений. Также мы немного тронем ручное управление транзакциями в unit-тестах.
Читать дальше →

АСР «Реквест-Биллинг»

Время на прочтение4 мин
Охват и читатели2K
Реквест-Биллинг

Каждая новая задача начинается с выбора инструментов, с помощью которых она будет реализована. И от того, насколько верно они выбраны зависит её win или fail. Мне довелось присоединиться к проекту с базовым языком программирования, весьма необычным и редкоиспользуемым. И это отнюдь не мешало его становлению и текущему успешному развитию. О чём это я?
Читать дальше

История одного сайта или как мы за месяц сделали приложение на Google Maps

Время на прочтение3 мин
Охват и читатели744
Запустили в разработку некоммерческий сайт для ульяновцев на основе гугловской карты Кафе и рестораны Ульяновска. Придумали и загорелись идеей года полтора назад,
Читать дальше →

Делаем reflection быстрой как прямые вызовы

Время на прочтение12 мин
Охват и читатели50K
Большинство программистов знают о reflection, которая (она — рефлексия) упрощает добавление динамических возможностей в статические языки, такие как Java/C#. Однако reflection упрекают в том, что вызовы работают очень медленно — до 500 раз медленнее. Все же это можно c легкостью исправить — покажем в этой статье как сделать reflection-вызов таким же быстрым, как и прямой (direct) вызов.
Читать дальше →

Ежедневный Git

Время на прочтение3 мин
Охват и читатели98K
Уже были статьи про основы гита (0, 1, 2), были и статьи про внутреннее устройство репозитория. Сегодня поговорим, как простому смертному работать с гитом на автопилоте и не морочить себе голову.

Во-первых, шорткаты (в порядке убывания популярности):

alias gst='git-status'
alias ga='git-add'
alias gc='git-commit -m'
alias gp='git pull && git push'
alias gull='git pull'
alias gush='git push'
alias gb='git-branch'
alias gco='git-checkout'
alias gd='git-diff'

Во-вторых, отображение текущей ветки в командной строке:
export PS1='`__git_ps1 "%s"` \w \$ '

Выглядит так:
lazy-args-in-futures ~/Work/io/oleganza-io.git $

(Как установить: ericgoodwin.com/2008/4/10/auto-completion-with-git)

Типичный поток работы в одной ветке
Читать дальше →

Про Git на пальцах (для переходящих с SVN)

Время на прочтение8 мин
Охват и читатели281K
Год назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
Читать...

Защищаемся от HTTP DDoS и прочих Хабраэффектов

Время на прочтение5 мин
Охват и читатели11K
Простой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
Читать дальше →

Никогда не говорите слово …, или регистрация в 2 щелчка мышью

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

Люди не очень любят регистрироваться. Это же нужно (в общем случае) придумать логин и пароль, зайти в свою почту, дождаться письма, открыть его, перейти по ссылке активации аккаунта, а потом еще этот логин с паролем не забыть. Но ведь уже давно есть способ, с помощью которого все эти шаги не нужны. Более того, не нужно вообще ничего вводить с клавиатуры, 2 щелчка мышью и все, человек зарегистрирован.

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

Каждый владелец сайта желает знать, где зарыта собака…

Время на прочтение3 мин
Охват и читатели10K
За последние 4-года я был инициатором создания 5-ти стартапов. И на собственном опыте испытал все прелести этапа «что-то тут не так, но что?»
Мы создаем сервисы для людей. Кто хочет поспорить на эту тему? Никто? Ну и правильно. Потому что не о чем тут спорить: сегодня именно пользователи диктуют, чему быть, а чему не быть в Интернете.
Главное – уметь слушать и слышать не только и не столько хвалебные речи в адрес своего ресурса, но и критику недовольных.
Скажу больше: «недовольным» пользователям надо создавать особые, «тепличные» условия для самого полного мыслеизъявления. И вот почему.
Как обычно поступают «недовольные» пользователи?
Делюсь совершенно несекретными наработками.
Часть «недовольных» уходит и никогда больше не возвращается на сайт. Часть – отправляется перемывать косточки ресурсу на всех доступных форумах. Несколько самых смелых представителей недовольного «большинства» штурмуют почтовый ящик админа (т.е., например, мой), забрасывая его невнятно сформулированными идеями по улучшению и исправлению…
Результат?
Мозги админа – пухнут, извилины владельца – распрямляются, проект – лихорадит. Но к лучшему практически ничего не меняется.
В какой-то момент я задумался:
Читать дальше →

Реформал: сервис жив? Сервис будет жить!

Время на прочтение3 мин
Охват и читатели10K
Весь последний год о Реформале ничего не писал, хотя, можно сказать, есть повод. Мы выросли и уже совершенно по-взрослому делаем дело, не оглядываясь на многочисленные «дачётотутнето». Продвигающие свои сайты и пинающие чужие знают, о чем я говорю.

reformal.ruReformal.ru – это сервис обратной связи, который позволяет понять, почему некто ушел с вашего проекта, отписался от рассылки и, к тому же, увел добрую половину пользователей. Подробно прочитать о проекте можно в моём первом топике.

За прошедший год из идеи, которая не давала спать по ночам, Реформал вырос во вполне самостоятельный коммерческий продукт, не только приносящий чувство выполненного перед молодостью долга, но и определённую прибыль.

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

Итак.
Читать дальше →

Из записной книжки Мистера Томпкинса

Время на прочтение10 мин
Охват и читатели18K
Мистер Томпкинс — человек уже довольно приличного возраста. Первое знакомство с ним состоялось в далеком 1938 году, когда физик и одессит Георгий Антонович Гамов опубликовал в Британском журнале Discovery серию рассказов о человеке, который в своих снах попадал в альтернативные миры, где значения физических констант радикально отличаются от значений оных в реальном мире, что приводит к совершенно неожиданным результатам. Так Гамов популярно объяснял концепции современной физики неискушенному читателю. Незадачиливым же соней был тот самый Мистер Томпкинс.

Практически 60 лет спустя Том ДеМарко решил поделиться свой безграничной мудростью и в столь же популярной форме преподнести идеи из Peopleware, написанной в соавторстве с Тимоти Листером. Итогом стал "Роман об управлении проектами", в котором наш старый знакомый Мистер Томпкинс похищается сексапильной брюнеткой Лаксой Хулигэн и увозится в загадочную страну Моровию, где ему представляется возможность провести настоящий эксперимент по управлению проектами разработки программного обеспечения…

В конце каждой главы Мистер Томпкинс подводит итоги и записывает свои мысли, которые, по сути, являются аксиомами и постулатами управления проектами по ДеМарко и Листеру. Разумеется, лучше будет прочесть всю книгу в целом — иначе не понять, как эти принципы применяются в «реальной» жизни. Но если времени нет (или же просто хочется освежить память), то вашему вниманию предагается…
...Записная книжка Мистера Томпкинса

Давай НЕ выдумывать колеса!

Время на прочтение4 мин
Охват и читатели1.4K
Начал писать как комментарий на этот топик, и у самого получился топик, захотелось что бы, увидело, как можно больше народа, а то мало ли в Бразилии — Педро?

Дальше много букв, на тему, а есть ли занятие, кроме, как придумывать что-то новое, и стоит ли это делать? То есть — изобретать велик ?!

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

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

Проект на энтузиазме, часть 2: Реалии

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

Старт

Итак, проект Холиварс.ру запущен. Запущен удачно, он что называется выстрелил. Это когда вести о проекте сами собой разносятся людьми, которых он впечатлил. После публикации обзоров только на хабре и ещё одном ресурсе, без вложения денег в рекламу — более тысячи упоминаний в блогосфере, десяток упоминаний на новостных сайтах, даже сюжеты по ТВ, отчего у нас волосы выпучились и глаза встали дыбом — по Эксперт-ТВ и в программе Телепорт на МТВ.
Читать дальше →

Оплата через VISA. Liqpay, неделю спустя

Время на прочтение2 мин
Охват и читатели8.5K
Прочитав обзор хабраюзера natuzzi о столь замечательной системе — Я решил попробовать её в деле и подключил к ней один из своих магазинов.

Резюме:


Плюсы:


1. На осваивание и написание API ушло 3-4 часа.
2. Саппорт моментально отвечает, даже в 2 часа ночи.
3. Деньги можно вывести на любую банковскую карту или снять в банкомате Приватбанка (банкоматы есть как в Украине, так и в России)
4. Есть приложение для iPhone с помощью которого можно управлять liqpay счетом
5. Саппорт реализван через siteheart.com (тоже проект Приватбанка) в режиме реального времени. Чат поддерживает заполнение форм, коллективные чаты и выставление рейтинга и комментария после беседы.
6. Платежи с карточек действительно проходят! :)
Читать дальше →

Нетривиальные возможности Java

Время на прочтение4 мин
Охват и читатели17K
Java — язык простой. И после года активного использования для Вас не остаётся секретов. Совершенно случайно я обнаружил, что на stackoverfow люди решили поделиться скрытыми возможностями (Hidden Features of Java). Вышло очень занимательно, получился своеобразный рейтинг нетривиальных возможностей, который я далее запротоколирую в вольном переводе на русский.

double brace


С большим отрывом лидирует «double brace», уже обсуждавшийся ранее в статье Эффект «double brace» by zeroed. Подробное описание метода — 
http://www.c2.com/cgi/wiki?DoubleBraceInitialization
несомненно это самое забавное и неочевидное из списка. Однако как уже отмечалось, метод имеет свои минусы в виде анонимного класса на каждое использование этого метода. А также невозможности использования метода equals () для подобных объектов.

далее еще 10 пунктов!

Веб-аналитика: анализируй это! Часть 3. Базовые метрики

Время на прочтение4 мин
Охват и читатели23K
Предыдущие части:
Часть 1. Вступление
Часть 2. Сбор данных

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

Алгоритмы на графах — Часть 2: Сортировка сетей

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

Пролог

В продолжение опубликованной на выходных статьи.

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

Структуры данных: бинарные деревья. Часть 1

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

Интро



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

В своих статьях я буду приводить примеры кода сразу на двух языках: на Java и на Haskell. Благодаря этому можно будет сравнить императивный и функциональный стили программирования и увидить плюсы и минусы того и другого.

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

Обзор литературы по Data Mining

Время на прочтение7 мин
Охват и читатели67K
Добрый день!

Публикация нескольких статей о Data Mining показала высокий интерес сообщества к данной теме. Много вопросов было задано по типу «где почитать» и «с чего начать». Предлагаю вашему вниманию подборку литературы, ресурсов для уверенного старта в данной области.

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

Информация

В рейтинге
Не участвует
Откуда
Герцлия, Тель-Авив, Израиль
Зарегистрирован
Активность