Pull to refresh
0
0
Александр @lqip32

User

Send message

Подкаст “Пятиминутка JavaScript”, выпуск 2

Reading time1 min
Views2.6K
Спасибо всем, кто высказал свои мысли по прошлому выпуску.

Этот выпуск стал гораздо объемнее. Как думаете, так лучше? Или стоит уменьшить количество тем, но говорить о них подробнее?
Читать дальше →
Total votes 7: ↑5 and ↓2+3
Comments4

Видео докладов с GDG DevFest Воронеж 2014

Reading time1 min
Views3.3K
Привет, Хабр.

Хотели посетить конференцию GDG DevFest Воронеж 2014, но почему-то не смогли? Специально для вас мы приготовили видео выступлений всех спикеров.

Посмотреть фотоотчет и клип о конференции можно здесь. А отчет с конференции можно прочитать в нашем корпоративном блоге.

Надеемся, вам понравится!
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments3

JavaScript — полезные материалы

Reading time2 min
Views79K
Хочу поделиться набором ссылок на нексолько полезных, интересных и, возможно, не самых известных материалов по JavaScript. Из них вы узнаете немного больше об истории появления языка, о его настоящем, тонкостях реализации в различных браузерах, и о будущем развития стандарта ECMAScript. О различных способах наследования в том числе об эмуляции «классического» ООП, множественном наследовании и миксинах. О функциональном стиле программирования в JavaScript: чистые функции, map, reduce, частичное применение и композиции функций. И, наконец, что если бы Хемингуэй писал на JavaScript?
Читать дальше →
Total votes 137: ↑130 and ↓7+123
Comments29

Двадцать лет тюрьмы и миллион рублей штрафа за нелицензионный файл!…

Reading time4 min
Views27K
Нынешнее сообщение является естественным продолжением вчерашнего, так что сперва напомню известные со вчерашнего дня факты.

Вчера Novikov в своём блоге подметил, что Московская городская дума готова была предложить (26 августа, устами своего депутата Милявского) попрать все идеалы внутренней свободы, а вместо того поклониться одновременно демону тоталитаризма и золотому тельцу правоторговли, то есть составить чёрный список сайтов, предлагающих нелицензионные файлы, и за любое посещение такого сайта штрафовать каждого гражданина на сумму от 2000 до 5000 рублей.

Это прискорбно.
В частности, Новиков тотчас постиг и сокрушался о том, какие небывалые и коррупционные бездны произвола правоохранительных структур откроются во всяком таком случае, когда какой-нибудь сетевой червь понаоткрывает запретные сайты без ведома пользователей, или если другой сайт поставит невидимый <iframe> или прозрачный пиксел запретного сайта. Опять же и для цензуры возможности какие богатейшие.
Там же в комментариях MSVGePard без малейшего промедления открыл, что упомянутый Милявский имеет еврейское расовое происхождение и даже гражданство Государства Израиль ([1], [2]), и притом далеко не совершенно чужд и сам нелицензионщине: в прессе не раз упоминалося, что Милявский миллионы нажил, создав свой рынок «Горбушкин двор». Ум останавливается перед потугою истолковать эту деталь биографии: не то Милявский зачищает интернетовских конкурентов своего оффлайнового бизнеса, не то обратился к чрезмерному и небывалому ещё покаянию? Да не в том ли всё и дело, что «Горбушкин двор» недавно намерены были остановить?
Подробнее эту тему раскрыл в LiveJournal блоггер martellus. В комментариях он упоминает также, что Указом Президента В. В. Путина в 2003 году Александр Милявский был награждён медалью ордена «За заслуги перед Отечеством» II степени. Видим, стало быть, что заслуженный единоросс этот и впрямь может выступить с некоторой законодательной инициативою и быть услышанным с нею в самых верхах и недрах «Единой России» преблагосклоннейше.
Увы, личный блог Новикова не транслируется на заглавную страницу Хабахабра — и оттого не все заметили эту новость, несмотря на двузначный рейтинг его блогозаписи.

А между тем вышеупомянутые события не остановилися 26 августа, а развивались и далее: сообщение Новикова можно дополнить известием о том, что на нынешней неделе (в понедельник 30 августа) в «Ведомостях» вышла статья «Штраф за пиратство». К сожалению, сама по себе эта статья не очень полезна нам, будучи не более чем собранием разноречивых мнений, более или менее экспертных и (или) официальных. Зато к ней прилагаются для скачивания собственно документы законопроекта Милявского. Их два: проект Федерального закона «Об охране авторских и смежных прав в сети Интернет и о внесении изменений в отдельные законодательные акты Российской Федерации», а с ним сборник поправок, предлагаемых ко внесению в Уголовный кодекс и в Кодекс об административных правонарушениях.

Эти поправки сегодня утром подверг сравнительному анализу LJ-блоггер i_contester и открыл такие подробности, от которых волосы должны буквально становиться дыбом на голове. Вы уж лучше присядьте, прежде чем читать о них:

Читать дальше →
Total votes 347: ↑293 and ↓54+239
Comments317

Заставляем ProgressBar крутиться пока идет http-запрос

Reading time2 min
Views48K
Все началось с того, что мне вдруг очень захотелось сделать что-нибудь под андроид. И все это несмотря на то, что java — не мой родной язык.
В процессе создания своего приложения я столкнулся с несколькими трудностями, о решении которых и хочу поведать. Думаю, они будут полезны, таким же как я, новичкам, и буду благодарен за советы и более красивые примеры от гуру.
Но главное подтверждение работоспособности примеров — это то что приложение работает, можете проверить.
Читать дальше →
Total votes 52: ↑43 and ↓9+34
Comments22

Краткий обзор лучших средств для построения графиков и диаграмм.

Reading time1 min
Views3.7K
Из всех наведенных примеров мне больше всего понравился Open Flash Chart. Который я заслужено поставил на первое место. Все остальные, мне показались тоже не плохими но для работы я выбрал именно Open Flash Chart.
Open Flash Chart – FLASH компонент для построения диаграмм. Он имеет много настроек и легко взаемодействует с PHP, Perl, Python, Java, Ruby on Rails, and .Net. Также может читать данные с .txt файлов.

смотреть другие скрипты для построения графиков и диаграмм
Total votes 21: ↑21 and ↓0+21
Comments14

Полуофициальный апдейт до Android 2.2 для HTС Legend

Reading time1 min
Views1K
В ожидании новой прошивки, старался следить за всеми новостями на эту тему и вот наконец-то свершилось.

На днях для пользователей оператора Vodafone стало доступно обновление прошивки HTC Legend до версии 2.2.

Соответственно почти сразу ребята из MoDaCo ее пересобрали, убрали не нужные vodafone'овские приложения, добавили своих, включая супер пользователя, и выложили у себя.
Читать дальше →
Total votes 47: ↑38 and ↓9+29
Comments25

Использование unix pipes для отображения прогресса выполнения нативного кода на Android'е

Reading time4 min
Views3.3K
В одном из проектов мне понадобилось отслеживать прогресс выполнения нативного кода на Android'е (конкретно — портированного FFmpeg'а). Ситуация осложнялась также тем, что по ряду причин код выполнялся в нескольких процессах.

Читать дальше →
Total votes 49: ↑42 and ↓7+35
Comments12

Простой способ поставить аватары своим контактам в Android

Reading time3 min
Views221K
Список контактов до Список контактов после
Сравниваем «до» и «после».

Исследуя возможности своего нового HTC Hero сразу же после обретения (Лиза, спасибо за подарок!), я в первый же день обратил внимание на тесную интеграцию с социальными сервисами. Google, Facebook, Twitter, Flickr… Не очень давно к этому списку добавился ещё и ВКонтакте. Мысль скачать и поставить аватары контактам из телефонной книги рождается сама собой!

Как это сделать, и что ещё у меня получилось извлечь из интеграции с социальными сетями под катом.
Читать дальше →
Total votes 87: ↑67 and ↓20+47
Comments134

Как реализовать загрузку изображений в список в отдельном потоке на Android

Reading time5 min
Views38K
List Image Fetching
По просьбам трудящихся, статья о методе загрузки изображений в список в отдельном потоке на Android.

Задача:


Реализовать механизм загрузки изображений из Интернета и отображения их в списке. При этом загрузка изображений должна быть реализована в отдельном потоке, во избежания «зависания» UI приложения.

Реализация:


Для реализации поставленной задачи использованы стандартный виджет ListView и адаптер — ArrayAdapter. Для работы с изображениями создан helper-класс ImageManager, который имеет два метода downloadImage() и fetchImage(). Первый загружает изображений из Интернета. Второй — вызывает загрузку изображений в отдельном потоке и устанавливает результат в ImageView.
Читать дальше →
Total votes 34: ↑27 and ↓7+20
Comments13

Применение машинного обучения в трейдинге

Reading time8 min
Views42K
Примечание переводчика 1. Я наткнулся на этот блог в одном из обзоров материалов по машинному обучению. Если вы хорошо разбираетесь в машинном обучении, то в этой статье вы не найдете для себя ничего интересного. Она достаточно поверхностная и затрагивает только основы. Если же вы, как и я, только начинаете интересоваться данной темой, то добро пожаловать под кат.
Примечание переводчика 2. Кода будет мало, а тот что есть написан на языке R, но не стоит отчаиваться, если вы его до сих пор никогда в глаза не видели. До этой статьи я тоже ничего о нем не знал, поэтому я специально отдельно написал «шпору» по языку, включив туда все, что вам встретится в статье. Если хотите сами разобраться, то начать рекомендую c маленького курса на CodeSchool. На хабре тоже есть интересная информация и полезные ссылки. И наконец вот тут есть большая шпаргалка.
Примечание переводчика 3. Статья из двух частей, однако самое интересное начинается только во второй части, поэтому я позволил себе объединить их в одну статью.


Часть 1


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

Машинное обучение является одним из наиболее многообещающих направлений в финансовой математике, в последние годы получившее репутацию изощренного и сложного инструмента. В действительности все не так сложно.
Читать дальше →
Total votes 29: ↑28 and ↓1+27
Comments13

Введение в CQRS + Event Sourcing: Часть 1. Основы

Reading time8 min
Views181K
В первый раз я услышал о CQRS, когда устроился на новую работу. В компании, в которой работаю и по сей день, мне сразу сказали что на проекте, над которым я буду работать используется CQRS, Event Sourcing, и MongoDB в качестве базы данных. Из этого всего я слышал только о MongoDB. Попытавшись вникнуть в CQRS, я не сразу понял все тонкости данного подхода, но почему-то мне понравилась идея разделения модели взаимодействия с данными на две — read и write. Возможно потому что она как-то перекликалась с парадигмой программирования “разделение обязанностей”, возможно потому что была очень в духе DDD.

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

Сразу хочу уточнить что я работал только со связкой CQRS + Event Sourcing, и никогда не пробовал просто CQRS, так как мне кажется что без Event Sourcing он теряет очень много бенефитов. В качестве CQRS фреймворка я буду использовать наш корпоративный Paralect.Domain. Он чем-то лучше других, чем то хуже. В любом случае советую вам ознакомиться и с остальными. Я здесь упомяну только несколько фреймворков для .NET. Наиболее популярные это NCQRS, Lokad CQRS, SimpleCQRS. Так же можете посмотреть на Event Store Джонатана Оливера с поддержкой огромного количества различных баз данных.

Начнем с CQRS


Что же такое CQRS?
CQRS расшифровывается как Command Query Responsibility Segregation (разделение ответственности на команды и запросы). Это паттерн проектирования, о котором я впервые услышал от Грега Янга (Greg Young). В его основе лежит простое понятие, что вы можете использовать разные модели для обновления и чтения информации. Однако это простое понятие ведет к серьёзным последствиям в проектировании информационных систем. (с) Мартин Фаулер
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments15

Java Interceptors (в EJB 3.0)

Reading time5 min
Views40K
Представьте себе, что вы уже написали немалую часть кода приложения, и тут выясняется, что вам необходимо добавить логирование на вызов большого числа методов, или необходимо на некоторые схожие методы добавить дополнительную валидацию входных данных.
Вы можете просто переписать нужные участки кода, а можете воспользоваться появившемся в EJB 3.0 механизмом интерсепторов (interceptors).

Если интересны подробности и небольшой пример реализации прошу под кат.

Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments17

Do It Yourself Java Profiling

Reading time17 min
Views59K
На прошедшей конференции Appication Developer Days, Роман Елизаров (elizarov) рассказал, как профилировать, т.е. исследовать производительность любых Java-приложений, без использования специализированных инструментов, будь они хоть вендорские, хоть open-source.Оказывается, можно использовать малоизвестные, встроенные в JVM возможности (threaddumps, java agents, bytecode manipulation), и быстро и эффективно реализовать профилирование, которое можно запускать постоянно даже на боевой системе.Вот видео доклада (тут оно косолапо эмбедится, но оно 1280x720, все отлично читаемо):

Но я предлагаю также, взглянуть на 70K текста иллюстрированной статьи-стенограммы под катом, составленной мной по видео и слайдам.
Статья-стенограмма. Многобукв.
Total votes 52: ↑49 and ↓3+46
Comments32

JAXB vs. org.hibernate.LazyInitializationException

Reading time7 min
Views4.7K
Статья будет полезна всем, кому интересно узнать способ устранения ошибки LazyInitializationException при JAXB сериализации объектов, созданных при помощи Hibernate.
В конце статьи имеется ссылка на исходный код проекта, реализующего предложенное решение — использование custom AccessorFactory.

Для сравнения рассмотрено, как аналогичная проблема решена в популярном JSON-сериализаторе — Jackson.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments43

Задача Санта-Клауса и практическая логистика

Reading time15 min
Views5.3K

Известно, что только 5% программистов в состоянии решать задачи многопоточного программирования. А в месте с тем, с ростом количество ядер даже у мобильных устройств потребность в использовании нескольких нитей возрастает многократно. С каждым днем появляются как новые языки программирования, специально предназначенные для решения специфических задач параллельного программирования, так и в уже хорошо известных и широко применяемых решениях появляются методы, которые не только облегчают понимание, но и сводят решение задачи к своеобразной поэзии программного кода.

Читая книгу “Идеальный код” под редакцией Энди Орама и Грега Уилсона мне довелось натолкнуться на интереснейшую задачу в главе посвященной параллельной обработке (гл. 24. стр. 444). В ней автор, Саймон Пейтон Джоунс, приводит решение на языке Haskell. Там же он утверждает, что существуют решения задачи Сата Клауса для языков Ada95 и Polyphonic C#. В силу профессиональных интересов несколько ранее мне приходилось обсуждать с коллегами возможности многопоточной Apple реализации для языка Objective-C.

Считается, что программировать нужно на уровне абстракций, а не “на языке”, но с тем же успехом можно искать красоту поэзии в эмоциях, а не в изяществе слога, выраженного посредством языка. Под катом предлагаю вместе со мной спеть песню тем, для кого языковая выразительность не пустой звук, а мелодия, будоражущая воображение.
Читать дальше →
Total votes 17: ↑11 and ↓6+5
Comments4

Определяем все классы, которые использует приложение на Java

Reading time12 min
Views19K
Без сомнения каждый, кто в своем резюме указывает опыт разработки на Java, хоть раз в жизни писал строки
public static void main(String[] args)
компилировал их и запускал на выполнение командой наподобие java HelloWorld.
Но многие ли знают, что происходит внутри JVM от момента выполнения этой команды до того как управление передается методу main, как Java находит и загружает необходимые пользователю классы? Возникшая однажды производственная задача заставила автора разобраться в этом вопросе. Результаты изысканий под катом. Сразу стоит оговориться, что статья не претендует на полноту охвата всех существующих JVM, тестирование проводилось только на Sun HotSpot JVM.
Читать дальше →
Total votes 65: ↑60 and ↓5+55
Comments12

Перестаньте писать классы

Reading time9 min
Views184K
Фото Джэка Дидриха из профиля на G+ Признак того, что объект не должен быть классом — если в нём всего 2 метода, и один из них — инициализация, __init__. Каждый раз видя это, подумайте: «наверное, мне нужна просто одна функция».

Каждый раз когда из написанного класса вы создаёте всего один экземпляр, используете только раз и тут же выбрасываете, следует думать: «ой, надо бы это отрефакторить! Можно сделать проще, намного проще!»

Перевод доклада Джэка Дидриха, одного из ключевых разработчиков языка Питон. Доклад прозвучал 9 марта 2012 на конференции PyCon US.
Читать дальше →
Total votes 234: ↑206 and ↓28+178
Comments148

Основы JAX-RS

Reading time4 min
Views138K

Введение


Выросло данное API из JSR 311: JAX-RS: The Java API for RESTful Web Services и вошло в Java EE 6 (планировалось в Java EE 5). Как видно из названия, предназначено оно для разработки RESTful веб-сервисов.

Основная цель данной статьи — познакомить читателя с основами JAX-RS API. Изначально я планировал написать о некоторых проблемах работы форм при использование JAX-RS сервиса. Не обнаружив на Хабре почти ничего, касающегося данной технологии понял, что введением к статье отделаться не удастся.

Будут представлены основы JAX-RS API, реализация от JBoss и дано небольшое введение в клиентскую часть фреймворка Resteasy.
Читать дальше →
Total votes 31: ↑30 and ↓1+29
Comments8

Почему Gradle?

Reading time7 min
Views103K
Если вы еще не знаете, что такое Gradle, то о нём можно почитать в предыдущих двух обзорах:
  1. Gradle: Better Way To Build
  2. Gradle: Tasks Are Code

Не так давно c Maven на Gradle была переведена сборка Hibernate Core. На что информационное сообщество отреагировало неоднозначно. Я хочу представить вашему вниманию перевод статьи, посвященной миграции сборки Hibernate. В статье раскрываются причины принятия такого решения, описываются преимущества Gradle и проблемы с Maven2. Дальнейшее повествование ведётся от лица Steve Ebersole.
Читать дальше →
Total votes 1: ↑1 and ↓0+1
Comments7

Information

Rating
Does not participate
Location
Челябинск, Челябинская обл., Россия
Date of birth
Registered
Activity