Pull to refresh
-1
0
paranoik @paranoik

User

Send message

Hibernate Envers: аудирование операций

Reading time4 min
Views34K

Зачем это надо?


В enterprise-разработке часто бывает необходимо отслеживать процесс редактирования каких-нибудь таблиц.
Скажем, завели у вас документ в системе. Потом кто-то поменял ему серию. Потом номер. Потом сменил тип с паспорта РФ на загран. паспорт Германии. Хотелось бы иметь возможность отследить историю изменений и, скажем, настучать по шапке пользователю, который совершил ошибку.

Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments11

Нужна ли аспирантура?

Reading time5 min
Views92K
Этот вопрос мне задают настолько регулярно, что решил оформить это все в единый поток мыслей, чтобы в следующий раз просто прислать ссылку.

Несмотря на то, что поставленный вопрос достаточно простой, ответ на него далеко не простой. Хотя есть и простой ответ: «it depends». И это действительно так.

Статью построим в виде «описание тезиса» – «контраргументы» — «вывод».

Читать дальше →
Total votes 121: ↑109 and ↓12+97
Comments106

Git Wizardry

Reading time17 min
Views449K
1 Введение


В своей прошлой заметке я постарался осветить в общих чертах стиль работы с
распределенной системой контроля версий git и указать на отличия по сравнению с
классическими централизованными СКВ. Целью было прежде всего обобщение опыта
работы с системой без упоминания тонкостей синтаксиса отдельных команд.

Данный же топик задумывался как непосредственное введение в работу с git, нечто
среднее между tutorial и обобщенной справкой, до которого все же рекомендуется
прочитать упомянутое выше введение. Сознательно избегаются технические
подробности работы git, употребляются только общие для СКВ термины и
ограничивается список упоминаемых команд.

Читать дальше →
Total votes 89: ↑66 and ↓23+43
Comments76

Jinni: поиск фильмов по настроению

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

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

Поиск по жанрам также не помогает: комедии бывают романтические, тупые, а бывают и грустные. А что может скрываться за жанром «драма» — перечислять устанешь.

Но вот ребятам из jinni удалось сделать кое-что новое в поиске фильмов.
Читать дальше →
Total votes 58: ↑51 and ↓7+44
Comments30

Вышла новая версия Ajenti

Reading time2 min
Views17K
Вышла новая версия Ajenti. За номером 0.5-4.
Для тех, кто не знает о чём речь — автор этого замечательного веб-интерфейса для администрирования серверов под управлением семейства *nix — уже представлял своё творение на Хабре. Раз, два.


Читать дальше →
Total votes 225: ↑214 and ↓11+203
Comments121

Как технология MRC уменьшает размер PDF-документов

Reading time4 min
Views41K
Формат PDF уже давно прижился как средство сохранения документов, которые затем не предполагается редактировать. Все PDF файлы можно условно разделить на два класса. Первый – это документы, которые были свёрстаны в цифровом виде, и затем были сконвертированы в PDF. Инструкция к какому-нибудь устройству будет, скорее всего, именно таким файлом. Внутри он выглядит как текст и графика плюс команды форматирования, описывающие, как надо располагать элементы на странице.

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

Поэтому часто имеет смысл сохранять в PDF изображение исходной картинки, а под него подкладывать распознанный текст для того, чтобы можно было найти документ по ключевым словам или воспользоваться copy-paste. Смущает только один момент – такие PDF-файлы имеют немаленький размер, от полумегабайта на страницу и больше. Соответственно, если отсканировать среднего размера учебник по матанализу, получится файл мегабайт на 200.

Под катом подробности и 3,5 Мб картинок
Total votes 80: ↑77 and ↓3+74
Comments27

Как доделать игру

Reading time9 min
Views27K
На блоге одного из создателей Aquaria и Spelunky есть любопытный пост с советами для тех, кто испытывает проблемы с доведением до конца своих игровых проектов. Этот список советов оказался для меня своего рода «зеркалом», в котором отражены многие проблемы, с которыми сталкивался я сам, и я был удивлен тем, насколько хорошо автору удалось уловить суть этих проблем и предложить свои решения, зачастую бескомпромисные.
image
Приближаясь к заключительной стадии разработки моей игры, я много думал о том, как завершать выполнение проектов в целом. Я заметил, что вокруг много действительно талантливых разработчиков, у которых возникают проблемы с доведением до конца игровых проектов. По правде говоря, я и сам оставил позади себя ряд незавершенных игр… Думаю, у многих та же ситуация. Не всякий проект удается, по разным причинам. Однако если вы стали замечать, что постоянно забрасываете проекты, которые имеют неплохой потенциал, вероятно, стоит оглянуться назад и изучить тому причины.
Читать дальше →
Total votes 142: ↑135 and ↓7+128
Comments54

MSSql: Использование оператора APPLY в TSql

Reading time2 min
Views49K
Недавно, реализуя некоторый код доступа к данным, я столкнулся с задачей выбора последних N записей для каждой сущности. Пользователь kuda78 подсказал вместо многоэтажной выборки использовать метод SelectMany.
Исследуя, какой SQL код создает LinqToSQL, я натолкнулся на интересный SQL оператор APPLY.
Читать дальше →
Total votes 28: ↑21 and ↓7+14
Comments16

Что почитать на выходных? Рекомендуем, выпуск №11

Reading time3 min
Views1.4K
Это подборка статей на тему веб-разработки на платформе .NET (и не только). За день перед выходными я предлагаю набор интересных ссылок, которые стоит посетить в свободные минуты на выходных, чтобы узнать что-то новое и интересное.

Вы можете следить за циклом этих советов по следующей ссылке.

Тема номера:
  • Важные анонсы Tech-ed North America 2011 [link];
  • 300+ видео докладов конференции TechEd уже доступны онлайн [link];
  • Анонс нововведений в Visual Studio vNext на Teched [link];
  • Что будет в Visual Studio vNext [link];
HTML5, JavaScript, веб-стандарты:
  • Эффектная галерея на jquery с использованием анимации спрайтов. Vol1 [link];
  • Градиентная заливка с помощью CSS3 [link];
  • Galactic- построение солнечной системы в 3D на HTML5 [link];
  • IE9 Performance Checklist [link];
  • CSS3: box-sizing и размеры элементов страницы [link];
  • Пять полезных техник кодирования CSS и jQuery для создания более динамичных веб-сайтов [link];
  • jqMetro — плагин для jQuery для создания интерфейсов в стиле Metro UI [link];
  • jQuery HTML5 загрузка файлов [link];
Читать дальше →
Total votes 79: ↑50 and ↓29+21
Comments10

Технический долг

Reading time6 min
Views25K
Будь вы простым программистом, матерым лидом, архитектором или даже ПМ-ом, вы наверняка в своей нелегкой работе сталкивались с проблемой выбора при добавлении в систему новой возможности. Одно решение гораздо проще реализовать в сжатые сроки и успеть к очередному очень важному релизу, однако оно будет более затратное в сопровождении, менее расширяемое или менее надежное. Другое решение может не обладать всеми этими недостатками, однако обладать другим, в некоторых случаях более важным недостатком – на его реализацию потребуется значительно больше времени.
Читать дальше →
Total votes 53: ↑48 and ↓5+43
Comments8

GitHowTo — тур обучения гиту на русском

Reading time1 min
Views15K
image

Спешу поделиться радостной новостью о запуске проекта GitHowTo — интерактивного тура-обучалки основам Git.

За основу были взяты идеи gitimmersion.com, но переведены на русский язык и немного изменены под реалии не-ruby разработки, поэтому спешите любить и жаловать — githowto.com!

Буду чрезвычайно рад любым замечаниям и пожеланиям к проекту.
Total votes 179: ↑178 and ↓1+177
Comments68

Mercurial на Windows Server 2003

Reading time4 min
Views9.7K
Вас могут смутить столь архаичный цифры в заголовке, однако, думаю, не я один до сих пор использую в работе w2k3 и mssql2000. Причина банальна: зачем что-то покупать, когда это куплено и работает. Дискуссию о недостатках/преимуществах w2k3 и w2008 предлагаю опустить. C другой стороны я не чужд прогрессу и в последнее время плотно использую в своей работе mercurial. И вот возникла необходимость поднять внутренний сервер, при этом в наличии имеется как раз таки оной из заголовка. Речь далее пойдет не о hg serve, а о полноценном hgweb. Статья возникла по причине того, что на то, чтобы заставить его работать, ушел целый день; при этом пошаговые инструкций на русском найдены не были. Да и английских не пруд пруди.
Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments36

Что почитать на выходных? Рекомендуем, выпуск №10

Reading time2 min
Views1.2K
Это подборка статей на тему веб-разработки на платформе .NET (и не только). За день перед выходными я предлагаю набор интересных ссылок, которые стоит посетить в свободные минуты на выходных, чтобы узнать что-то новое и интересное.

Вы можете следить за циклом этих советов по следующей ссылке.

Тема номера:
  • Доступен онлайн новый выпуск журнала MSDN Magazine за май 2011 (link);
WebForms:
  • Описание использования CSS Sprites и библиотеки ASP.NET Sprite and Image Optimization Library (link);
  • Важные счетчики производительности для мониторинга производительности ASP.NET (link);
  • Кэширование данных в приложениях ASP.NET (link);
  • Изменение размеров изображений без потерь в ASP.NET (link);
ASP.NET MVC/WebMatrix:
  • Восстановление пароля администратора в Orchard CMS (link);
  • Создание вебсервиса с помощью WebMatrix и его использование в приложении Windows Phone 7 (link);
  • Доклад Скотта Хансельмана про инструменты ASP.NET MVC 3 (link);
  • Использование WebMatrix Helpers в ASP.NET MVC 3 (link);
  • Руководство по Orchard, часть 2 (link);
  • Project Silk jQuery UI Widget QuickStart (link);
  • Использование REST-сервиса в ASP.NET Razor (link);
  • MvcScaffolding Nuget Package and EF Code First — Code Generation (link);
HTML5, JavaScript, веб-стандарты:
  • Всплывающие подсказки на CSS (link);
  • Чудеса HTML5 (link);
  • Презентация- Дмитрий Сошников — Будущее ECMAScript (link);
  • Мини-курс по jQuery для дизайнеров (link);
  • Вращающиеся лучи с помощью анимации CSS3 и JavaScript (link);
  • RazorJS — использование Razor внутри Javascript-файлов (link);
Читать дальше →
Total votes 85: ↑48 and ↓37+11
Comments9

Что почитать на выходных? Рекомендуем, выпуск №9

Reading time3 min
Views1.4K
Это подборка статей на тему веб-разработки на платформе .NET (и не только). За день перед выходными я предлагаю набор интересных ссылок, которые стоит посетить в свободные минуты на выходных, чтобы узнать что-то новое и интересное.

Вы можете следить за циклом этих советов по следующей ссылке.

Тема номера:

  • XNA RPG — изучение XNA на примере построения RPG-игры (руководство из 26 частей) (link);
WebForms:
  • Российская система управления контентом Atilekt.CMS доступна через Web Platform Installer (link);
  • Список событий в GLOBAL.ASAX (link);
  • Проект для ASP.NET- Git Web Access (link);
ASP.NET MVC/WebMatrix:
  • ASP.NET MVC 3 для начинающих: добавляем ввод даты с помощью jQueryUI и NuGet (link);
  • Руководство по Orchard, часть 1 — запуск блога (link);
  • Руководство по Orchard, часть 2 (link);
  • Custom Role Provider. Часть 1 (link);
  • Настройка шаблонов T4 MvcScaffolding (link);
  • Управление сессиями NHibernate в приложениях ASP.NET MVC (link);
  • patterns & practices- Project Silk Drop 7 (link);
  • Исопльзование Entity Framework Fluent API и Code First в ASP.NET MVC (link);
HTML5, JavaScript, веб-стандарты:
  • Работа с CSS 3 в Expression Web (link)
  • Мнение о том, когда использовать Canvas и SVG (link);
  • Новые полезные JavaScript CSS решения 2011 года. 16 свежих плагинов для веб-разработчика (link);
  • Результаты тестирования скорости JS в браузерах (link);
  • IE9 Compat Inspector — инструмент анализа сайта на проблемы с JavaScript (link);
  • Фрактал на JavaScript с помощью HTML5 (link);
  • 14 браузерных javascript — игр, использующих HTML5 (link);
  • Расширение ваших jQuery-приложений с Amplify.js (link);
  • Useful jQuery Plugins — April 2011 (link);
  • Взрывной логотип с помощью CSS3 и MooTools или jQuery (link);
Читать дальше →
Total votes 108: ↑61 and ↓47+14
Comments5

Взаимная конвертация и обработка электронных документов

Reading time5 min
Views23K
LibreOfficeВ корпоративном секторе иногда возникает задача автоматической конвертации документов из одного формата в другой, а так же задача их програмной обработки и модификации. Казалось бы, в чём проблема: для нормальных форматов давным-давно написаны полнофункциональные библиотеки для работы — так что Perl или Python в руки и вперёд.

Но, к превеликому сожалению для всех системных администраторов и программистов различных бизнес-приложений, огромная масса документооборота в данный момент всё ещё осуществляется с использованием закрытых и плохо поддающихся модификации и разбору форматов. Что уж тут лукавить — речь идёт о doc, xls и иже с ними, а так же во многом о docx, xlsx и подобных. Что делать с такими файлами, особенно если у вас нету свободной Windows с установленной последней версией Office, — совершенно непонятно. Безусловно, если у вас есть Windows, Visual Studio и навыки работы в C#, то проблем с анализом документов Microsoft будет значительно меньше. Зато возникнут проблемы с ODF. Плюс часто хочется сохранять результат в формате PDF, дабы уже никто не мог его изменить.

К счастью, есть достаточно универсальный способ работы практически с любыми распространёнными форматами документов на любой платформе. О нём и пойдёт речь дальше.

Читать дальше →
Total votes 38: ↑36 and ↓2+34
Comments13

Эти бесчисленные парадигмы, концепции, инструменты и фреймворки

Reading time5 min
Views6.8K
Мое мировоззрение, как программиста, сформировалось еще во времена консольных приложений и текстовых пользовательских интерфейсов, на смену им пришли графические оконные GUI, а сейчас я наблюдаю уже третий виток технологий, связанный с глобальной сетью. Каждый раз, конечно же, приходилось менять не только любимый язык программирования, но и весь технологический стек, с наработками, заготовками и достаточно обширными библиотеками, кои сейчас гордо зовутся фреймворками. Резать приходилось по живому, нещадно и решительно.
Читать дальше →
Total votes 227: ↑202 and ↓25+177
Comments148

Что почитать на выходных? Рекомендуем, выпуск №6

Reading time3 min
Views855
Это подборка статей на тему веб-разработки на платформе .NET (и не только). За день перед выходными я предлагаю набор интересных ссылок, которые стоит посетить в свободные минуты на выходных, чтобы узнать что-то новое и интересное.

Вы можете следить за циклом этих советов по следующей ссылке.

Тема номера:
  • Подборка обучающего контента по WebMatrix [link];
  • Открыта регистрация на [бесплатный] сертификационный экзамен Windows Phone 7 Pro Beta [link];
WebForms:
  • Выпущена новая версия ASP.NET AJAX Control Toolkit [link];
  • Интеграция OpenID в ASP.NET Web Forms с помощью DotNetOpenAuth [link];
  • Проверка безопасности страницы в ASP.NET [link];
  • Почему я продолжаю любить ASP.NET WebForms [link];
Читать дальше →
Total votes 115: ↑62 and ↓53+9
Comments14

FPV

Reading time4 min
Views135K
Эта статья для тех, кто с детства мечтает летать как птица. Сразу оговорюсь, в реале Вы не полетите, но чувства будут очень близки. Итак, речь идет о FPV (first person view)-полетах. FPV — это новое движение в авиамоделизме, его суть заключается в управление моделью самолета через установленную на борту камеру. Картинку с борта самолета Вы получаете в реальном времени и видите через очки “виртуальной реальности”. Также, на очках установлен датчик поворота головы и камера на самолете поворачивается вслед за поворотами Вашей головы. У вас появляется неподдельное ощущение реального присутствия. А самолетом Вы управляете по радио каналу. Со стороны это выглядит примерно так:


А вот как выглядит изнутри:

Читать дальше →
Total votes 258: ↑255 and ↓3+252
Comments165

SSH-туннель домой без необходимости оставлять включённым домашний ПК

Reading time5 min
Views211K
Disclaimer
Этот пост появился здесь по нескольким причинам:
1) Меня попросил сам Boomburum
2) Есть предположение, что на хабре всё-таки есть люди, имеющие прямое отношение к IT, но при этом имеющие весьма отдалённое представление о пользе SSH и её извлечении из обычного домашнего роутера, и которым, надеюсь, будет весьма интересно и полезно об этом узнать.

Хабралюдям, познавшим Дао IOS, tun, VPN, *wrt, WOL… etc, предлагается на выбор:
А) Закрыть топик, заняться делом и не выводить себя из нирваны чтением этой любительской фигни.
Б) Потратить время на конструктивную критику и полезные дополнения в комментариях.
Специально для GrammarNazi:
Пишите пожалуйста об ошибках в личку — обещаю исправиться.
Бла-бла-бла, а топик-то о чём?
Итак, я обещал рассказать «как поднять ssh-туннель домой без необходимости оставлять включённым домашний ПК» и, как правильно догадался peter23 речь пойдёт про ssh-сервер на роутере.
Читать дальше →
Total votes 259: ↑234 and ↓25+209
Comments100

Организуем view models в ASP.NET MVC

Reading time4 min
Views32K


В интернете полно примеров вроде «Делаем вики на ASP.NET MVC за 15 минут». Проблема таких примеров в том, что они используют VideData или ViewBag для передачи данных в View. Для генерации форм используются нетипизированные методы вроде Html.TextBox(). А для получения данных из форм просто параметры к методам контроллера, или хуже того – сами сущности из ORM.

Это может быть прекрасно с точки зрения того, кто в жизни имеет дело только с созданием таких «видео уроков». Но в немного более сложных случаях вы, конечно же, захотите иметь строго типизированные модели, использовать строго типизированные методы вроде Html.TextBoxFor(m=>..), и получать в методе контроллера из формы ровно то, что хотите получить и при этом держать все модели в консистентном виде.

Итак, правила, если вы хотите разрабатывать в MVC:
Читать дальше →
Total votes 46: ↑32 and ↓14+18
Comments60

Information

Rating
Does not participate
Location
Белгород, Белгородская обл., Россия
Registered
Activity