Pull to refresh
  • by relevance
  • by date
  • by rating

Встречайте CrowdSec v1.1.x: новые пакеты и репозитории

CrowdSec corporate blog Information Security *Open source *Server Administration *

Привет, Хабр. У нас хорошие новости: вышел новый релиз — CrowdSec v.1.1x, его теперь можно скачать через облачную платформу Package Cloud. 

Читать далее
Total votes 10: ↑10 and ↓0 +10
Views 370
Comments 0

Глюк с репозитариями в OS2008

Smartphones
Как известно, в диспетчере приложений OS2008 прописаны онлайн-репозитории, откуда можно устанавливать программное обеспечение. При попытке обновить список пакетов может появиться сообщение, что не все каталоги доступны. Это следствие неверно созданного поддомена на сайте maemo.org. Для исправления ситуации необходимо поменять адреса с repository.maemo.org на repostory.maemo.org (то есть удалить букву «i»).
Total votes 7: ↑7 and ↓0 +7
Views 226
Comments 2

Репозиторий пакетов программ от Google для Linux

Lumber room
Google поддерживает репозиторий пакетов программ Picasa и Google Desktop для Linux-дистрибутивов.
Репозиторий Google.
На данный момент доступны только два продукта:
  • Picasa for Linux 2.7
  • Google Desktop Linux 1.2

Также имеется подробная инструкция по подключению репозитория к различным дистрибутивам.
Total votes 15: ↑15 and ↓0 +15
Views 284
Comments 6

Пакеты с getdeb.net теперь доступны в качестве неофициального репозитория

Configuring Linux *
Я люблю когда стоит последняя версия любимого пакета, но к сожалению официальный репозиторий не всегда их содержит, поэтому часто приходится пользоваться getdeb.net. Сегодня набор зависимостей оказался таким, что руками не получилось с ними разобраться, после гугления было обнаружено зеркало:
deb http://ubuntu.org.ua getdeb/
Читать дальше →
Total votes 24: ↑20 and ↓4 +16
Views 1.4K
Comments 19

Обновление программы в репозитории Ubuntu

Configuring Linux *
image    В статье Как тяжело попасть в Ubuntu я описал действия, которые мне пришлось выполнить, чтобы мою программу включили в официальный репозиторий Ubuntu. Но ведь время идёт, а номер версии программы в репозитории не меняется. Поэтому следующей ступенью захвата мира покорения Ubuntu стало обновление версии. Все шаги, которые мне пришлось выполнить постараюсь описать ниже…

Читать дальше →
Total votes 85: ↑79 and ↓6 +73
Views 2.8K
Comments 86

5я встреча Петербургской группы ALT.NET

.NET *
5я встреча Петербургской группы ALT.NET пройдет в четверг, 7го Мая в 19:00.
Встречи группы проходят по адресу Биржевая Линия дом 14, офис 409 (4й этаж).
Программа 19:00 – 21:00 — Паттерны Repository и Specification.
Применение Linq2xxx (на примере Linq to NHibernate), Артем Смирнов
Читать дальше →
Total votes 2: ↑1 and ↓1 0
Views 395
Comments 1

Введение в Rich Domain Model

Website development *
В последнее время можно услышать много аббревиатур, которые оканчиваются на DD: TDD, BDD, FDD, etc. Меня заинтересовал один из представителей «DD-семейства» — DDD, Domain Driven Development. Я не стану описывать здесь все тонкости этой методологии, ведь всю необходимую информацию можно легко найти в сети. Моя цель — рассказать о наиболее важной концепции DDD, о Rich Domain Model и на небольшом примере показать основные нюансы реализации.
Читать дальше →
Total votes 11: ↑8 and ↓3 +5
Views 17K
Comments 12

nginx magento ssl postfix — сервер и магазин своими руками

Lumber room
Прошлая заметка была о сборке сервера из исходников.
многие сказали, что нынче такое не катит, пакеты им подавай.

Но в основном было нытье, типа — я умнее тебя ты работаешь не правильно, конфиг не пацанский… никто так и не сказал как и что поправить, где сделать правильнее и по другому, какие еще есть возможности конфигурации, и тд. да и heck с ним, у всех свои взгляды, я это принимаю.
Все же кто то взял себе на заметку, ну а кто-то прошёл мимо.
Почему я пишу об этом? Есть сайты, форумы со списками рассылок, есть много мануалов, но, люди продолжают сходить с ума в поисках нормального пояснения установок и настроек. Платят другим горе специалистам, а те ставят все криво и не полные конфиги, без оптимизации. А если нет разницы — зачем платить больше (с)??? Любой человек хотел бы настроить свой сервер и поставить магазин, и для начала ему нужен старт, показать, что это очень просто, что можно сэкономить на начале, потом, когда все заработает, уже задуматься — а всели так сложно? а могу ли я дальше все делать сам? сделать еще лучше поднабравшись опыта? Да все можно сделать самому. Не даром старая мудрость гласит — хочешь чтобы было хорошо, сделай все сам!

Чтобы не писать порожняком, будем конкретно делать установку и запуск сервера для магазина, под управлением — МАГЕНТО 1.4.0.1

подробности
Total votes 22: ↑12 and ↓10 +2
Views 2.6K
Comments 7

NerdDinner. Шаг 3: Построение модели

ASP *
Translation
Это третий шаг бесплатного руководства «NerdDinner», которое показывает, как построить маленькое, но полноценное веб-приложение, используя ASP.NET MVC.

Во фреймворке типа модель-представление-контроллер термин «модель» ссылается на объекты, которые представляют данные приложения, как и соответствующую логику предметной области, которая интегрирует проверку и бизнес правила. Модель во многих случаях является «сердцем» MVC-приложения и, как мы увидим позже, управляет его основным поведением.

ASP.NET MVC фреймворк поддерживает использование любой технологии доступа к данным, следовательно разработчики могут выбирать разные варианты реализации своей модели включая: LINQ to Entities, LINQ to SQL, NHibernate, LLBLGen Pro, SubSonic, WilsonORM или прямой доступ через ADO.NET DataReader и DataSet.

Для нашего NerdDinner приложения мы будем использовать LINQ to SQL для создания простой модели, которая почти аналогична структуре базы данных, а также добавим некоторую логику проверок и бизнес правила. Позже мы реализуем класс-хранилище, который поможет абстрагировать постоянную реализацию хранения данных от остальной части приложения и позволит легко производить с ним юнит-тесты.
Читать дальше →
Total votes 26: ↑17 and ↓9 +8
Views 6K
Comments 1

Сборочная среда для проекта Midnight Commander — продолжение

Configuring Linux *
Начало

В первой части я представил новый сервис сборки бинарных пакетов файлового менеджера Midnight Commander для Debian/Ubuntu. В комментариях справедливо указали на недостаток технического описания самой среды и я пообещал, что выложу подробности как только код будет приведен в божеский вид. Прошло две недели, появилось немного времени, чтобы стабилизировать функционал и причесать код (он все еще ужасен, но вроде работает как задумано), так что пора выполнить обещанное.
Читать дальше →
Total votes 25: ↑23 and ↓2 +21
Views 2K
Comments 2

Шаблоны проектирования при разработке под Android. Часть 4 — Сохранение данных. Domain Model, Repository, Singleton и BDD

Development for Android *
Сразу хочу сказать, что в статье я не буду описывать как надо работать с Data Provider-ом. Это можно найти и в документации и в многочисленных статьях в интернете.
Здесь я расскажу про шаблоны проектирования Domain Model, Singleton, Repository, про подход Behavior Driven Development (BDD) и как я их использовал в своей программе.

Шаблон Domain Model используется в тех случаях когда разработка ведется от предметной области, в таких случаях есть понятная предметная область и ее термины просто воплощаются в байтах.

Например, в моей программе предметная область состоит из данных расписания, заданного в виде нескольких будильников, для будильника можно задать дни недели и время, а также признак «будильник включен». Так же есть несколько алгоритмов, например получить будильник, который сработает следующим и дату и время его срабатывания. Поскольку будильник может дремать, получается что у одного будильника есть несколько срабатываний с разными действиями: первое срабатывание, дремание, и последнее дремание, когда кнопка дремать уже не доступна. Поэтому есть еще алгоритм поучения ближайшего абсолютного времени и действия.
Так же есть алгоритмы для создания нового будильника и редактирования/удаления существующих.

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

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

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

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

Такой подход называется Behavior Driven Development. Его достоинство в том, что я могу тестировать модель в терминах предметной области, то есть в модульных тестах я имитирую обычное поведение пользователя. Благодаря тому, что это реализовано через механизм модульных тестов, я перед каждым релизом могу эти тесты прогнать и быть уверенным, что моя программа программа нормально отрабатывает основные действия пользователя.

Если бы я использовал отдельный класс для редактирования/сохранения будильников и отдельный класс для вычисления ближайшего будильника, то я конечно бы протестировал их по отдельности, но не смог бы проверить их вместе и не смог бы проверить основные действия пользователя.
Читать дальше →
Total votes 25: ↑22 and ↓3 +19
Views 14K
Comments 2

Открыт репозиторий с играми для Ubuntu 10.04, 10.10, 11.04, 11.10

Configuring Linux *
Вчера на сайте UALinux появилась новость о том, что они подготовили репозиторий с играми для Убунты. Репозиторий содержит 250 игр разного жанра: их можно установить кнопочкой на сайте, или же привычно добавить репозиторий и ставить пакеты.
Сами игры в большинстве своем довольно примитивные: в мире есть уже много чего гораздо круче восстаний антропоморфных кроликов, или шариков в лабиринте, но есть игры из детства, портированные с консоли, аналоги старых добрых Worms, несколько «гоночек» и еще много чего интересного. Ну и, самое главное, что все игры доступны бесплатно: подключай репозиторий, ставь и играй.
Несколько игрушек, кстати, уже есть есть в дистрибутиве самой убунты, но в репозитории версии новее.
В общем, удачного убивания времени.

PS: Судя по комментам к моим предыдущим постам, на Хабре живут люди из UALinux. Поэтому, думаю, можно оставить в комментариях названия игр, которых не хватает в репозитории, но хотелось бы их там видеть.
Total votes 57: ↑50 and ↓7 +43
Views 9.3K
Comments 35

Магический Репозиторий: интеграция Spring Data-JPA и Google Guice

Java *
Не так давно на Хабре был хороший пост посвященный проекту Spring Data-JPA.
Проект меня очень впечатлил, т.к. он предлагал хорошо продуманное решение для работы с репозиториями.
Собственные наработки на эту тему у нас имелись, однако Spring Data-JPA был намного более элегантным и функциональным решением.
Была одна загвоздка — проекты с которыми я работаю построены с применением Google Guice.
В свое время это был мой осознанный выбор и в целом он до сих пор устраивает как команды проектов, так и заказчиков.

… но концепция репозиториев от Spring Data-JPA была слишком вкусной…
Читать дальше →
Total votes 6: ↑5 and ↓1 +4
Views 3.6K
Comments 0

Непрерывная интеграция в облаке

Jelastic corporate blog Java *
Tutorial
В последнее время разработчики все чаще и чаще обращаются к нам с просьбами реализовать CI в Jelastic. Для чего же нужна непрерывная интеграция? Как правило, в проекте, где над разными частями разработчики трудятся независимо, стадия интеграции является заключительной и довольно трудоемкой, соответственно требует дополнительных затрат времени. Переход к непрерывной интеграции позволяет снизить эту трудоемкость, а так же обнаружить и устранить ошибки заранее, пока они еще не укоренились и не выросли в более серьезную проблему. Да действительно, если осуществлять контроль качества на протяжении всего процесса разработки, можно сэкономить и время, и деньги, и усилия, при одновременном повышении качества. Такой подход особенно полезен для крупных проектов с участием большого количества разработчиков.

Сегодня мы покажем, как можно реализовать непрерывную интеграцию в облаке Jelastic на простом примере с использованием Jenkins.
Читать дальше →
Total votes 7: ↑5 and ↓2 +3
Views 7.1K
Comments 1

Ограничивая абстракции (.NET, ASP.NET MVC)

Programming *.NET *Designing and refactoring *
Translation

Прошло почти три года с тех пор как я впервые написал о своём отказе от такой абстракции как репозиторий (Repository). С тех пор я практически не использовал никаких концепций репозитория в системах, которые мы разрабатываем. Я не убирал из проектов уже существующие репозитории, но теперь я просто не нахожу в них никакой ценности в качестве абстракций.
Читать дальше →
Total votes 16: ↑10 and ↓6 +4
Views 16K
Comments 24

GitHub в роли репозитория артефактов

Website development *Git *
Tutorial

Если вы часто используете maven, то наверняка сталкивались с ситуацией когда какого-нибудь нужного артефакта не оказывается в maven central. Конечно всегда можно установить недостающий джарник в ваш локальный репозиторий ~/.m2, но это отрицательно сказывается на переносимости билда, ведь на машине коллеги, у которого данный jar не установлен, билд уже не соберется.

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

Но существет еще один вариант. Вы можите использовать один из своих репозиториев на Google Code или GitHub в качестве хранилища maven артефактов. Рассмотрим как это можно сделать
Читать дальше →
Total votes 16: ↑12 and ↓4 +8
Views 11K
Comments 20

Авторегистрируемые в Unity репозитории на .net для EF Code first

.NET *C# *
Привет. Приступим.

Мотивация

  1. Есть проект с Entity framework (>= 5.0.0.0) code first.
  2. Вы любите IoC, но не любите бесконечные регистрации новых сущностей.
  3. В качестве контейнера используется Unity (или есть возможность потратить 10 минут на допиливание исходников под свой контейнер).
  4. Перспектива написания однотипного кода почему-то отпугивает вас.

Итак, что предлагает эта статья. Вы подключаете 2 nuget-пакета, реализуете для своих Entity простой интерфейс IRetrievableEntity<TEntity, TId> (можно упростить задачу, отнаследовавшись от готового класса Entity<TId>), добавляете в код 2 строки регистрации и получаете на выходе полную независимость от DBContext и возможность резолвить репозитории для каждой IRetrievableEntity-сущности с возможностью построения объектно-ориентированных (типизированных) запросов к этим репозиториям. Только посмотрите:
var employeeRepository = container.Resolve<IRepository<Emloyee, int>>();
var employees = employeeRepository.Get(q =>
{
    q = q.Filter(e => e.EmploymentDate >= new DateTime(2014, 9, 1));
    if(excludeFired)
        q = q.Filter(e => !e.Fired);
    q = q.Include(e => e.Department, p => p.Department.Chief)
            .OrderBy(p => p.FirstName);
});

Как быстро начать использовать

из коробки
Total votes 20: ↑16 and ↓4 +12
Views 6.4K
Comments 11

Официальный релиз JetBrains Upsource 1.0: просмотр и рецензирование кода

JetBrains corporate blog Java *Git *
Возможно, вы уже наслышаны, а если нет, то самое время узнать, что на днях мы выпустили первый официальный релиз Upsource.

Что такое Upsource?


Upsource — это инструмент для просмотра VCS-репозиториев, навигации по ним, а также для обсуждения и рецензирования кода (code review). Upsource предназначен для установки на собственном сервере компании и умеет работать с репозиториями Git, Mercurial, Subversion и Perforce.

В Java-проектах Upsource дополнительно осуществляет анализ кода аналогично тому, как это делает IntelliJ IDEA, а также предлагает знакомые по IDE функции Find Usages, Go to Declaration и Type Hierarchy.

Если помните, в августе мы анонсировали программу раннего доступа к Upsource, ну а сейчас дожили до релиза. Особо стоит отметить, что перед релизом мы обстоятельно подумали о лицензировании и ценах, и в итоге пришли к тому, что лицензия для небольших команд — до 10 пользователей (8 обычных пользователей, 1 гость и 1 администратор) — будет совершенно бесплатна. Для более крупных команд предлагается ряд коммерческих лицензий от 25 пользователей.

Upsource 1.0
Читать дальше →
Total votes 46: ↑41 and ↓5 +36
Views 22K
Comments 59

Напильники бывают разные или повествование про «напильник» для java программ

Website development *Programming *Java *
В практике java программиста бывает, что очень хочется изменить поведение программы или «подхачить» пару классов без перепаковки приложения, собрать метрики или протестировать java приложение в недрах сторонней библиотеки или jdbc драйвера без исходного кода. Существует несколько способов сделать это. Я расскажу про open source проект aspectj-scripting, который позволяет решать такие задачи в jvm.



Рассказ про aspectj-scripting будет в нескольких публикациях. Начнем с практики! Под катом модификация поведения maven-changes-plugin без его пересборки и перекомпиляции для выгрузки списка задач из JIRA в файлы xml и json
Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 18K
Comments 15

Прогноз на Specification pattern в Domain layer — ожидаются проблемы

Programming *Perfect code *Designing and refactoring *
Data Access Layer – одна из наиболее больных тем.
Написание хорошего слоя доступа к данным – это не тривиальная задача. Примеров реализации невероятно много, но адекватных среди них единицы.
Можно ли считать реализацию шаблона Repository — DAL?
Вот что предлагают MS msdn.microsoft.com/en-us/library/ff649690.aspx
image
А вот и местные работы habrahabr.ru/post/52173
Варианты довольно нормальные.
Но когда я вижу
«Репозиторий – это фасад для доступа к базе данных.»
Читать дальше →
Total votes 15: ↑13 and ↓2 +11
Views 18K
Comments 187
1