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

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

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

Validation DSL на Groovy

Время на прочтение3 мин
Количество просмотров5K
Одна из часто встречающихся проблем императивных языков программирования это отсутствие выражений для декларативных структур, таких как, к примеру, древовидные разметки или набор правил для обработки данных. В Groovy эта проблема решена с помощью классов типа Builder и мета-программированием на уровне абстрактного синтаксического дерева.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии3

Python. 10 вопросов на знание языка

Время на прочтение1 мин
Количество просмотров9K
Несколько вопросов, которые помогут составить общее впечатление о знании языка, к примеру, на собеседовании
Читать дальше →
Всего голосов 33: ↑27 и ↓6+21
Комментарии24

JS tips

Время на прочтение1 мин
Количество просмотров387
Алгоритм получение результата А && B

Если операнд A истинный (true, «string», someObj), результатом является B, иначе — А.
То бишь код:

if (a) {
return a.member;
} else {
return a;
}


Может быть заменен на более компактный:

return a && a.member;

Алгоритм получение результата А || B

Если операнд A истинный, результатом является A, иначе — B.
Эта особенность может быть использована для присвоения дефолтных значений переменным:
last = input || default_value;

Создание объекта на лету

obj = {fieldName: "a"}; — объект с полем fieldName
Всего голосов 34: ↑18 и ↓16+2
Комментарии9

Пример оптимизации в JVM

Время на прочтение2 мин
Количество просмотров584
Набрел на интересный пример оптимизации при динамической компиляции
public class StupidMathTest {
  public interface Operator {
    public double operate(double d);
  }

  public static class SimpleAdder implements Operator {
    public double operate(double d) {
      return d + 1.0;
    }
  }
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии6

Svn. Откат изменений на сервере

Время на прочтение1 мин
Количество просмотров3.1K
Бывает накомитешь какашек — потом жалеешь. Вот пилюля для отката изменений на сервере:

svn diff -r 73:68 http://my.repository.com/my/project/trunk

73 — наша текущая ревизия
68 — куда хотим откатиться

Смотрим дейстивтельно ли только мы вносили изменения файл. Если нет, то придется откатыватся вручную — через редактирования проблемных участков с последующим комитом. Если все ок:

svn merge --dry-run -r 73:68 http://my.repository.com/my/project/trunk/

Смотрим что будет мержиться, если нет никаких конфликтов идем дальше:

svn merge -r 73:68 http://my.repository.com/my/project/trunk/

svn merge просматривает измениния между 73 и 68 ревизией и применяет их к вашей рабочей копии

svn commit -m «Reverted to revision 68.»

Пушистых Вам багов, господа!
Всего голосов 4: ↑3 и ↓1+2
Комментарии1

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность