Открыть список
Как стать автором
Обновить
82
Карма
31
Рейтинг
Zheka Kozlov @orionll

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

  • Публикации
  • Комментарии

Создаем свою инспекцию для IDEA

JavaKotlin

В статье показано, как быстро можно сделать свою полноценную инспекцию для IDEA для языка Java. В инспекции будем проверять, что переопределены методы equals, hashСode для классов, используемых в качестве ключа в HashMap. Писать будем на Kotlin.

Читать далее
Всего голосов 14: ↑14 и ↓0 +14
Просмотры1.7K
Комментарии 0

Как не потерять деньги, желая сэкономить. Правила интернет покупок из-за рубежа

Управление e-commerce
    Давно собирался написать эту статью, но все не находил на это время. Последней каплей, подтолкнувшей меня к изложению аккумулированного за шесть лет опыта покупок за рубежом стали две статьи о массовом разводе дешевыми Киндлами, изложенные на хабре. Случай, когда такое количество человек попало на обычный для Ебея развод показал, что эта тема освещена недостаточно и людям не хватает базовых знаний в вопросе безопасности покупок.
    Ниже, я попытаюсь изложить то, что почерпнул за годы покупок как на своем опыте, так и из жалостливых писем с мольбами о помощи от коллег покупателей на профильных форумах. Все нижеизложенное я считаю тем минимумом, который необходимо усвоить ДО того, как пытаться что либо купить за рубежом. Более тонкие вещи можно почерпнуть на соответствующих тематических форумах.

Итак, начнем. Заранее прошу прощения за большое количество текста и излишнее словоблудие.
Читать дальше →
Всего голосов 263: ↑253 и ↓10 +243
Просмотры165.2K
Комментарии 189

12 способов не накосячить со вспышкой

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

Ниже — достаточно известные вещи, которые, однако, вызывали facepalm у тех, кто был вместе со мной или же у меня. В списке грабель вы с некоторой вероятностью можете найти что-нибудь новое. Если хотя бы она фича использования вспышки окажется для вас полезной, то мою задачу можно считать выполненной.
Читать дальше →
Всего голосов 228: ↑223 и ↓5 +218
Просмотры210.3K
Комментарии 73

Создатели BreakupNotifier.com запустили CrushNotifier.com

Социальные сети и сообщества
Занимательна судьба небольшого ресурса BreakupNotifier.com, о которой рассказывает автор в блоге своего нового проекта.

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

Однако уже через час публикация стала активно получать голоса. Люди стали размещать ссылки на проект в Твиттере и Фейсбуке, затем подключился TechCrunch. После этого была «прорвана плотина»: о проекте рассказал «домашний» телеканал в Миссури, радиостанция в Майями и газета в Бразилии. В результате в первые 24 часа своего существования, проект посетило более 116 000 человек.
подробности
Всего голосов 40: ↑37 и ↓3 +34
Просмотры189
Комментарии 25

Некоторые (полезные) советы по Windows 7

Разработка под Windows
Содержание:
1. Быстрый запуск приложений с правами администратора
2. Отчет об использовании электроэнергии
3. Поиск в интернете из меню «пуск»
4. Навигация по панели задач
5. Скрытие значка Windows Live Messenger
6. Сворачивание окон
7. Быстрое открытие и закрытие копии приложения
8. Копирование файлов из командной строки в несколько потоков
9. Быстрое управление окном

Читать дальше →
Всего голосов 282: ↑218 и ↓64 +154
Просмотры20.7K
Комментарии 113

Базовые CSS-стили различных элементов

Разработка веб-сайтовCSS
Tutorial
В этом топике представлены лаконичные базовые стили для различных элементов: кнопок, ссылок, форм, теней, градиентов, которые можно использовать в своих проектах. Да и просто разобраться в принципах работы таких конструкций проще на несложных примерах.



Демонстрация стилей / Скачать исходники
Читать дальше →
Всего голосов 113: ↑92 и ↓21 +71
Просмотры104.9K
Комментарии 54

Подробно о свойстве float

Разработка веб-сайтовCSS
Перевод
Правильное использование CSS свойства float может стать непростой задачей даже для опытного верстальщика. В этой статье собраны варианты применения float, а также некоторые ошибки, с наглядными примерами.

Читать дальше →
Всего голосов 153: ↑140 и ↓13 +127
Просмотры187.8K
Комментарии 89

Функциональное программирование для всех

Программирование
Перевод

Доброго времени суток. Это статья — перевод заинтересовавшего меня поста в блоге аспиранта Университета штата Нью-Йорк в Стоуни-Брук. Статья в доступной форме описывает основные концепции функционального программирования, их преимущества и недостатки. Думаю она будет полезна широкому кругу читателей, которые сомневаются, нужно ли им углубляться в мир функционального программирования или нет. Пожелания, предложения и замечания по переводу и терминологии принимаются по личной почте.

Мнение переводчика может иногда не совпадать с мнением автора, но переводить статью было крайне занимательно.

UPD: альтернативный вариант перевода вы можете найти на rsdn (спасибо flamingo за ссылку).
Читать дальше →
Всего голосов 188: ↑181 и ↓7 +174
Просмотры313.8K
Комментарии 151

Модель памяти в примерах и не только

Java
Tutorial
В продолжение серии топиков под названием «фундаментальные вещи о Java, которые стоит знать, но которые многие не знают». Предыдущий топик: Бинарная совместимость в примерах и не только

Модель памяти Java — нечто, что оказывает влияние на то, как работает код любого java-разработчика. Тем не менее, довольно многие пренебрегают знанием этой важной темы, и порой наталкиваются на совершенно неожиданное поведение их приложений, которое объясняется именно особенностями устройства JMM. Возьмём для примера весьма распространённую и некорректную реализацию паттерна Double-checked locking:

public class Keeper {
    private Data data = null;
    
    public Data getData() {
        if(data == null) {
            synchronized(this) {
                if(data == null) {
                    data = new Data();
                }
            }
        }
        
        return data;
    }
}

Люди, пишущие подобный код, пытаются добиться улучшения производительности, избегая блокировки, если значение уже было присвоено. К сожалению, эти люди не учитывают многих факторов, в результате проявления которых может случиться зомби-апокалипсис. Под катом я расскажу теорию и приведу примеры того, как что-то может пойти не так. Кроме того, как говорили в одном индийском фильме, «Мало знать, что не так. Нужно знать, как сделать так, чтобы было так». Потому и рецепты успеха вы также сможете найти дальше.
Читать дальше →
Всего голосов 98: ↑95 и ↓3 +92
Просмотры197.7K
Комментарии 34

Почему в WiMax и LTE используют OFDM

АлгоритмыБеспроводные технологииСтандарты связиСотовая связь
Tutorial


Аббревиатура OFDM расшифровывается как Orthogonal frequency-division multiplexing. В русскоязычной литературе встречается несколько различных переводов, несущих, в принципе, один смысл: OFDM — это механизм мультиплексирования (уплотнения) посредством ортогональных поднесущих.



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





Иллюстраций: 18, символов: 27 399, строк кода: 99.



Читать дальше →
Всего голосов 273: ↑269 и ↓4 +265
Просмотры106.7K
Комментарии 61

Достала избыточность С++

C++
Из песочницы
imageПривет Хабр,
Меня вводит в ступор С++. Вот просто, зависаю над монитором, смотрю в окно, попиваю чай… И начинаю жалеть за бесценно проведенные годы за изучением стандарта С++, попытками написать свой фронт-энд компилер. Эти мудреные книжки С++ In Depth. Как же я негодовал, когда не понимал кода из книги Александреску. Как записывал все постулаты Страуструпа и иже с ними. Зачем? Вот спрашиваю себя, зачем я теперь все это знаю. Более, я хочу сказать, что этот язык нещаден для гуру, не с медицинской, не с экономической точки зрения! Он не оправдывает усилий, вложенных в его изучение — раз. На практике, он экономически не выгоден — два. И нервные клетки подтвердят, что сопровождать чужой плюснутый код — бывает опасно для здоровья -три. Пусть тут будут рандомно разбросаны метафоры, пишу как есть, из опыта.
Читать дальше →
Всего голосов 403: ↑339 и ↓64 +275
Просмотры18.3K
Комментарии 534

Улучшаем производительность HTML5 canvas

Разработка веб-сайтов
Перевод
В последнее время мне везет натыкаться на интересные статьи для перевода. На этот раз – статья на HTML5Rocks о производительности HTML5 canvas. Автор пишет о некоей стене, в которую упираются разработчики при создании приложений. Какое-то время назад в нее уперся и я при портировании старой-доброй игры на canvas.

К сожалению, графики в оригинале вставлены через iframe. Я мог бы сделать снимки и разместить их изображения, но сам автор позиционирует графики актуальными и такими, которые будут обновляться, потому я просто разместил на них ссылки. Приятного чтения!


image
  1. Вступление
  2. Тестирование производительности
  3. Предварительно отрисовывайте в виртуальный canvas
  4. Группируйте вызовы
  5. Избегайте ненужных изменений состояния
  6. Отрисовывайте только разницу, а не весь холст
  7. Используйте многослойных canvas для сложных сцен
  8. Избегайте shadowBlur
  9. Различные способы очистить экран
  10. Избегайте нецелых координат
  11. Оптимизируйте анимации с помощью 'requestAnimationFrame'
  12. Большинство мобильных реализаций canvas – медленные
  13. Заключение
  14. Ссылки



Вступление


HTML5 canvas, который начинался, как эксперимент компании Apple, – наиболее широко распространенный стандарт для 2D режима непосредственной графики в интернет. Многие разработчики использую его в широком круге мультимедиа проектов, визуализаций и игр. Как бы то ни было, с ростом сложности приложений, разработчики нечаянно натыкаются на стену производительности.
Читать дальше →
Всего голосов 116: ↑113 и ↓3 +110
Просмотры33.6K
Комментарии 42

Этап подготовки проекта в теории

Управление проектами
Из песочницы
В данной статье рассмотрены теоретические основы важнейшего этапа в управлении проектами – именно его подготовки. Это должно быть интересно как новичкам в таком непростом деле, как менеджмент проектов, так и начинающим стартаперам, и возможно, опытным менеджерам.

Что же такое проект?
Читать дальше →
Всего голосов 68: ↑60 и ↓8 +52
Просмотры29.8K
Комментарии 31

Oracle. Безопасность на уровне строк

Oracle
Из песочницы

Введение в проблему


В настоящее время в любой организации действует разграничение доступа к информации на основе определенных знаний о пользователе. Такими знаниями могут служить роль пользователя в организации, его должность либо структурное подразделение, в котором работает пользователь. Многим известно, что проблема ограничения доступа может быть решена с помощью простейших механизмов на основе имени пользователя, таблиц, представлений и триггеров.
Читать дальше →
Всего голосов 33: ↑31 и ↓2 +29
Просмотры18.5K
Комментарии 20

10 способов улучшить свои навыки программирования

Программирование
Перевод

1. Выучить новый язык программирования


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

Среди языков программирования отличный познавательный эффект и наверстывание опыта дают: Lisp (или Scheme), Форт, PostScript или Factor (стековые языки программирования), Haskell (строго типизированный, чистый функциональный язык) либо OCaml (объектно-ориентированный язык функционального программирования), Пролог (логическое программирование), Erlang (отличные паралельные вычисления).

Читать дальше →
Всего голосов 239: ↑227 и ↓12 +215
Просмотры78.2K
Комментарии 96

Оптимизации в компиляторах. Часть 1

Компиляторы
Копаясь в дебрях LLVM, я неожиданно обнаружил для себя: насколько всё же интересная штука — оптимизация кода. Поэтому решил поделиться с вами своими наблюдениями в виде серии обзорных статей про оптимизации в компиляторах. В этих статьях я попытаюсь «разжевать» принципы работы оптимизаций и обязательно рассмотреть примеры.
Я попытаюсь выстроить оптимизации в порядке возрастания «сложности понимания», но это исключительно субъективно.
И ещё: некоторые названия и термины не являются устоявшимися и их используют «кто-как», поэтому я буду приводить несколько вариантов, но настоятельно рекомендую использовать именно англоязычные термины.
Начнём...
Всего голосов 114: ↑110 и ↓4 +106
Просмотры23.5K
Комментарии 36

Будущее гибкой разработки ПО

Блог компании Taucraft Limited

Программное обеспечение проникает во все щели человеческого общества. Мы узнаем погоду через интернет, а не через обычный градусник за окном. Мы едем по новому адресу с навигатором, а не ищем квадрат G7 на странице 59. Мы включаем RunKeeper, когда катаемся на велосипеде, чтобы узнать среднюю скорость и похвастаться в твиттере. Мы используем софт каждый день. Наверное, бОльшую часть жизни мы уже проводим в обнимку с любимыми гаджетами и программным обеспечением, а не с любимым человеком.

Проблема в том, что никто не знает, как на самом деле писать классный софт быстро и правильно. Waterfall благополучно скончался на рубеже веков, а новые методы разработки (agile) пока не могут решить фундаментальные проблемы.
Узнать, что нам всем делать и как с этим жить
Всего голосов 190: ↑180 и ↓10 +170
Просмотры20.1K
Комментарии 81

Ускоряем Visual Studio, часть II. Эксперименты с компиляцией

Visual Studio
Tutorial
Мой основной рабочий инструмент на протяжении вот уже 10 лет это Microsoft Visual Studio. Это прекрасная IDE (по крайней мере для С++ и С#), лучше которой для Desktop-разработки под Windows я не знаю. Тем не менее, общеизвестен один её недостаток — падение производительности на больших решениях. Я сейчас работаю над решением из 19-ти проектов (около 4к файлов, 350к строк кода). Компиляция и прочие издержки съедают изрядное количество времени. Именно поэтому я задался целью провести масштабное исследование путей повышения скорости работы Visual Studio, отделив мифы от реальности.

Сразу скажу, что в финале мне удалось добиться сокращения времени компиляции решения с 4:24 минут до менее чем одной минуты. Детали под катом.
Читать дальше →
Всего голосов 71: ↑50 и ↓21 +29
Просмотры28.4K
Комментарии 39

Паять просто (комикс)

DIY или Сделай сам
Буквально неделю назад ребята из MightyOhm выпустили 8ми страничный комикс об азах пайки. Он понравился мне тем, что не смотря на свой формат и объём, в мелких деталях объясняет основные принципы этого процесса, которые совсем не очевидны для людей ни разу не державших в руках паяльник (как показывает практика, для многих державших тоже).

В общем, потратив сутки я всё там перевёл, постаравшись сохранить оригинальную верстку и стиль.

Если вы давно хотели научиться паять сами, или планируете научить этому своих детей, то все необходимые ссылки под катом.
Читать дальше →
Всего голосов 230: ↑223 и ↓7 +216
Просмотры31.8K
Комментарии 88
1

Информация

В рейтинге
200-й
Откуда
Новосибирск, Новосибирская обл., Россия
Зарегистрирован
Активность