Как стать автором
Обновить
134
0
Николенко Константин @Veliant

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

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

5 вещей, которых вы не знали о многопоточности

Время на прочтение10 мин
Количество просмотров291K
Хоть от многопоточности и библиотек, которые её поддерживают, отказываются немногие Java-программисты, но тех, кто нашёл время изучить вопрос в глубину ещё меньше. Вместо этого мы узнаём о потоках только столько, сколько нам требуется для конкретной задачи, добавляя новые приёмы в свой инструментарий лишь тогда, когда это необходимо. Так можно создавать и запускать достойные приложения, но можно делать и лучше. Понимание особенностей компилятора и виртуальной машины Java поможет вам писать более эффективный, производительный код.

В этом выпуске серии «5 вещей …», я представлю некоторые из тонких аспектов многопоточного программирования, в том числе synchronized-методы, volatile переменные и атомарные классы. Речь пойдет в особенности о том, как некоторые из этих конструкций взаимодействуют с JVM и Java-компилятором, и как различные взаимодействия могут повлиять на производительность приложений.
Читать дальше →
Всего голосов 86: ↑77 и ↓9+68
Комментарии40

Интерактивная визуализация данных Envision.js

Время на прочтение1 мин
Количество просмотров5.2K
Envision.js библиотека для создания быстрых динамических и интерактивных визуализаций данных на HTML5.


Возможности:

1) Визуализация в реальном времени.
2) Временная шкала
3) Визуализация валют ( как на яндексе прям )
4) Поддержка Ajax в интерактиве.
5) Можно побаловаться фракталами.

Читать дальше →
Всего голосов 88: ↑84 и ↓4+80
Комментарии17

Итак, тебе нужен шрифт…

Время на прочтение1 мин
Количество просмотров20K
Случайно наткнулся на схему для выбора шрифтов. Думаю, кому-нибудь будет полезна.



Картинка кликабельна.

PS: Оригинал на английском здесь. Переводил на русский — не я.
Всего голосов 167: ↑135 и ↓32+103
Комментарии39

Допиливание Gnome 3 под ArchLinux

Время на прочтение4 мин
Количество просмотров51K


Итак, у нас есть свежеустановленная по инструкции Beginners' Guide система ArchLinux с окружением Gnome 3. Логинимся, осматриваемся. Мое и не только мое мнение — очень непривычно и неудобно. Столкнувшись с рядом проблем подумывал о бегстве на KDE, но посидев на форумах и арчивики пару дней довел все до удобного мне вида. Вот только на доработку системы требуется от силы пол часа, а те почти два дня ушли на поиск способов решения появившихся проблем. Сейчас я постараюсь сделать краткий и емкий список решений для популярных проблем, без лишних картинок и слов, дабы сэкономить другим и себе из будущего (который забудет как это все делается) время. Посмотреть «большую картинку» можно тут.
Читать дальше →
Всего голосов 59: ↑48 и ↓11+37
Комментарии31

Шпаргалки для тех, кто делает первые шаги

Время на прочтение1 мин
Количество просмотров31K


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

Шпаргалка по электронным компонентам (PDF, 168Kb)
Шпаргалка по контроллерам AVR (ч.1) (PDF, 61Kb)
Шпаргалка по контроллерам AVR (ч.2) (PDF, 61Kb)

PS: Там же, на сайте, имеется любопытный блог с описанием эффектных электронных поделок. Культура исполнения на высоте, приведены ссылки на open source прошивки.
Всего голосов 135: ↑130 и ↓5+125
Комментарии42

Золотые правила успешной кнопки

Время на прочтение3 мин
Количество просмотров71K
Здравствуй, дорогой хабрадруг! Сегодня существуют более тысячи способов создать кнопку; чтобы понять их сущность, вам нужно лишь потратить немного времени, просмотрев работы на сайте dribbble.com. Большинство из этих примеров очень похожи друг на друга, однако время от времени попадаются и такие кнопки, на создание которых потратили чуть больше внимания, времени и сил.



Воспользовавшись замечательными параметрами CSS3, мы можем создать элегантые и стильные кнопки без особых усилий (учитывая старые браузеры, конечно). Создаете ли вы кнопку непосредственно в CSS или пользуетесь специальными инструментами для их создания, всегда нужно тщательно подумать о том, как ваша кнопка будет выглядеть в контексте веб-сайта.
Читать дальше →
Всего голосов 224: ↑215 и ↓9+206
Комментарии55

Взгляд изнутри: LCD и E-Ink дисплеи

Время на прочтение12 мин
Количество просмотров215K


Demain n'existe pas!

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

Специально ко Дню Защитника Отечества на препарационный стол легли LCD и E-Ink дисплеи, которые, так или иначе, достались мне в несколько побитом жизнью виде.

Как Антон кидал телефон об стену, а также о результатах скрупулёзного разбора дисплеев читайте под катом.
Хочу посмотреть на это!
Всего голосов 355: ↑354 и ↓1+353
Комментарии43

Учимся писать модуль ядра (Netfilter) или Прозрачный прокси для HTTPS

Время на прочтение19 мин
Количество просмотров33K
Эта статья нацелена на читателей, которые начинают или только хотят начать заниматься программированием модулей ядра Linux и сетевых приложений. А также может помочь разобраться с прозрачным проксированием HTTPS трафика.

Небольшое оглавление, чтобы Вы могли оценить, стоит ли читать дальше:
  1. Как работает прокси сервер. Постановка задачи.
  2. Клиент – серверное приложение с использованием неблокирующих сокетов.
  3. Написание модуля ядра с использованием библиотеки Netfilter.
  4. Взаимодействие с модулем ядра из пользовательского пространства (Netlink)

P.S. Для тех, кому только хочется посмотреть на прозрачный прокси-сервер для HTTP и HTTPS, достаточно настроить прозрачный прокси-сервер для HTTP, например, Squid с transparent портом 3128, и скачать архив с исходниками Shifter. Скомпилировать (make) и, после удачной компиляции, выполнить ./Start с правами root. При необходимости можно поправить настройки в shifter.h до компиляции.
Читать дальше →
Всего голосов 56: ↑55 и ↓1+54
Комментарии20

Настройка внешнего вида UIPopoverController

Время на прочтение11 мин
Количество просмотров13K
UIPopoverController или всплывающее окно (далее просто «поповер») элемент далеко не новый. На Хабре есть одна вводная статья на эту тему и несколько упоминаний в других топиках. Чаще всего поповеры используются «как есть» и не требуют каких-либо модификаций, но в некоторых проектах возникает необходимость изменить внешний вид этого элемента. Как раз о том как это сделать и будет эта статья.

Статья не просто перевод или пересказ документации Apple. Я столкнулся с проблемой в реальном проекте, пропустил материал сквозь себя (в хорошем смысле слова), приготовил тщательно разжеванное объяснение и, напоследок, приправил все это конкретной реализацией, которая может пригодиться и вам.
Читать дальше →
Всего голосов 53: ↑41 и ↓12+29
Комментарии13

Пишем простейший торрент трекер на php

Время на прочтение5 мин
Количество просмотров28K
Обмен файлами всегда привлекал людей, для этого собственно и был изобретен протокол BitTorrent.

Большинство торрент трекеров написано на PHP, хотя встречаются и такие, которые написаны на C# языке, но для ознакомления мы будем использовать именно PHP.

Давайте рассмотрим что из себя представляет трекер.
Читать дальше →
Всего голосов 172: ↑111 и ↓61+50
Комментарии100

Общаемся с SIM-картой на низком уровне

Время на прочтение5 мин
Количество просмотров49K

f: не могу представить, как крусач может работать) Наши курсачи обычно пыляться где-то на полках
m: Вот у меня есть плата. К ней нужно подрубить сим-карту, и эта плата должна прочитать смс оттуда)
m: плата покупная, а вот программируем ее мы)
f: а нельзя смс с телефона прочитать?

— из жизни, орфография сохранена





Ну а если вам все-таки интересно узнать больше о сим-картах, протоколах передачи и их файловой структуре, прошу под кат. Ну и куда же без кода…

Читать дальше...
Всего голосов 197: ↑191 и ↓6+185
Комментарии37

1/998001

Время на прочтение1 мин
Количество просмотров7.4K
image

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

К сожалению, большинство инструментов, которые применяются для вычислений, будут прятать результат, но если вы найдете такой, который этого (1/998001=1.002003004005006e-06) не делает, то, может, не сразу заметно, но деление 1 на 998001 дает в результате все числа от 001 до 999.

Если вам интересна такого рода математика, то 1/9801 выдаст похожий результат, последовательность чисел от 01 до 99

Можно посмотреть в WolframAlpha. Нажимайте «More digits» в блоке «Decimal approximation»:
www.wolframalpha.com/input/?i=1%2F998001
www.wolframalpha.com/input/?i=1%2F9801
Всего голосов 179: ↑154 и ↓25+129
Комментарии69

Разработка 2D игр под Windows и HTML5 без программирования

Время на прочтение4 мин
Количество просмотров38K
image

Привет Хабраюзеры!

Сегодня я хочу представить вашему вниманию замечательный конструктор 2D игр (для Windows и в частности для HTML5) Scirra Construct.

Основным плюсом данного конструктора является то, что для создания игр не требуется никаких знаний языков программирования, все делается посредством построения действий во встроенной системе событий.
Читать дальше →
Всего голосов 102: ↑90 и ↓12+78
Комментарии49

LESS: программируемый язык стилей

Время на прочтение13 мин
Количество просмотров428K
Я не люблю CSS. Он простой и понятный. Это движущая сила Интернета, но он слишком ограниченный и им трудно управлять. Пришло время привести этот язык в порядок и сделать его более полезным, используя динамический CSS при помощи LESS.
Объясню свою позицию на примере. Почему бы вместо использования #FF9F94 для получения темно-персикового цвета просто не хранить значение этого цвета в переменной для её последующего использования? Что бы перекрасить сайт достаточно будет изменить значение переменной всего в одном месте и всё.
Другими словами: это будет очень изящно, если мы будем использовать немного программирования и логики в CSS, что бы сделать его более мощным инструментом. Хорошо, что это всё возможно с использованием LESS.
Так что же такое LESS?
Всего голосов 161: ↑147 и ↓14+133
Комментарии136

Cisco 1812 как домашний роутер

Время на прочтение6 мин
Количество просмотров45K
Решил я найти замену своему D-Link DIR-300, т.к. держать качественное соединение с моим новым провайдером по L2TP он упорно отказывался, да и вообще железка морально устарела. Перечитав кучу обзоров домашних маршрутизаторов я понял, что, в принципе, они все одинаковые: с одинаковыми возможностями и скучным web-интерфейсом. А всякие плюшки, вроде внешних накопителей и торрент клиентов, мне и даром не надо. Квартира у меня маленькая, поэтому вариант установки отдельного компа по типу hp micro server не подходит, да и денег жалко.
И я решил идти другим путем
Всего голосов 46: ↑35 и ↓11+24
Комментарии71

6 шагов загрузки Linux на пальцах

Время на прочтение5 мин
Количество просмотров206K
imageНажмите кнопку включения питания на вашем системнике, и спустя несколько секунд вы увидите окно входа в систему.

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

Я предлагаю вам познакомиться со следующими уровнями типичной загрузки Linux:
Читать дальше →
Всего голосов 195: ↑177 и ↓18+159
Комментарии87

Coder vs. Developer vs. Engineer — а какой Job Title у тебя, %username%?

Время на прочтение12 мин
Количество просмотров69K
Computer Scientist, Software Engineer и Coder заходят в бар.
— О, а вот и программисты! — окликает их бармен...


Я знаю людей, которые программируют уже не один десяток лет, но обижаются, когда их называют "программистами". А по запросу Coder vs Developer vs Software Engineer в гугле находится 113 000 000 ссылок: 1 2 3 4 5 6 7 8 9 … 113 000 000. Что интересно, можно найти совершенно противоположные мнения об одном и том же. С чем-то я согласен, а с чем-то в корне нет.

Последние же несколько лет так вообще постоянно подливают масло в огонь, появляются какие-то совсем странные программисты, которые называют себя Creative Technologist, Creative Coder и Interactive Developer.

Давайте же попробуем разобраться.
Читать дальше →
Всего голосов 148: ↑132 и ↓16+116
Комментарии129

MVC в Objective-C или калькулятор для iOS 5

Время на прочтение7 мин
Количество просмотров36K

Предыстория


Воодушевившись тем, что в недавном времени затарился i девайсами решил научится таки под них программировать. Конечно, в выбранном мной пути web разработчика это мало чем поможет, но мне всегда были интересны новые языки.

Первое на что упал мой взгляд- это виртуальная школа iTunesU. Здесь я нашел лекции курса CS 193P которые ведут разработчики эпл для студентов Стэнфордского университета. Лекции достаточно хорошо охватывают базовые особенности языка и нативных фрэймворков, однако есть одно НО– лекции на английском и никакого перевода к ним нету. Для меня лично проблем это не вызвало, потому что Aple по всей видимости выбирает на эти лекции только кандидатов с хорошо поставленной речью, и прожитые в США 8 месяцев дали мне возможность смотреть лекции в оригинале и учится у «носителей языка» (шучу-шуткую).

Так как каждый год выходит новая версия Xcode, а лекции стэнфорда в которых рассматривается именно текущая версия становятся доступны с опозданием в семестр, я решил написать серию статей, которые будут идти по практической части (!) данного курса. Так как я слушал лекции осени 2010 для меня будет практическт полезным написать программу в xcode 4.2 который был изначально разработан под 3ю версию. Здесь я не буду углублятся в особенности ObjC а буду давать голую практику.
Читать дальше →
Всего голосов 48: ↑36 и ↓12+24
Комментарии43

Игра на SDL — вдвойне легко

Время на прочтение4 мин
Количество просмотров25K
Эта статья является продолжением данного поста.
В этот раз мы рассмотрим события нажатия клавиш клавиатуры и мыши, отрисовку текста с помощью готовой библиотеки и руками. Да к тому же получим моральное удовлетворение, дописав игру до конца.
Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии25

Игра на SDL — легко

Время на прочтение4 мин
Количество просмотров26K
Наверняка, каждому да приходила идея написать какую-нибудь графическую игру или программу. Но не всегда есть время или желание осилить графику в программировании. Надеюсь, это статья поможет вам научиться писать(или просто написать) простую, но очень забавную игру.
Finished project
Читать дальше
Всего голосов 32: ↑28 и ↓4+24
Комментарии13

Информация

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