Как стать автором
Обновить
0
0
Григорий Зозулин @madeinsoviets

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

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

Накладные расходы памяти у коллекций

Время на прочтение7 мин
Количество просмотров91K
Мне было интересно, какие коллекции сколько съедают дополнительной памяти при хранении объектов. Я провёл замеры накладных расходов для популярных коллекций, предполагающих хранение однотипных элементов (то есть списки и множества) и свёл результаты на общий график. Вот картинка для 64-битной Hotspot JVM (Java 1.6):

Читать дальше →

Оптимизация запросов в SQLite. Используем rowid

Время на прочтение2 мин
Количество просмотров29K
Во время недавней оптимизации запросов в базу данных наткнулся на описание работы SQLite с rowid. Если вкратце: в каждой таблице есть int64 столбец rowid, значение которого является уникальным для каждой записи в таблице. Посмотреть значение можно по имени «rowid» и в запросе * оно не показывается.

Записи хранятся как B-дерево по rowid. И это делает очень быстрым поиск и выборку по rowid. В два раза быстрее чем по primary key или по индексированному полю. Как я понял, поиск по индексированному столбцу — это поиск по B-дереву, в результате которого мы находим rowid. И уже имея rowid — ищем нужную запись.

Напрашивается очевидный вопрос: как сделать чтобы rowid и наш PRIMARY KEY совпадали?
Читать дальше →

Как буддистские монахи перепрошивают себе мозги

Время на прочтение2 мин
Количество просмотров60K
В буддизме есть понятие просветления.

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




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

Это как в компьютерной игре набрать чит-код и прокачать своего персонажа.
И, похоже, у буддистов есть проверенный способ.

Читать дальше →

EventMachine ⇒ сбор информации из разных источников с последующей обработкой

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

Самый простой способ наступить на грабли — использовать асинхронность. Я знаком с программистами, зарекомендовавшими себя как крепкие профессионалы, которые буквально пасовали перед многопоточностью. Для затравки расскажу мою любимую историю про deadlock (прошу прощения за боян, но уж больно хорош). Лет десять назад Associated Press поведало миру, как в аэропорту шведского города Крисианстад пилот пытался посадить пассажирский самолет, однако никто из диспетчеров не ответил на его запрос. Оказалось, что диспетчер еще не вернулся из отпуска. В итоге самолет кружил над аэропортом, пока срочно не вызвали запасного диспетчера, который и
посадил самолет через полчаса. Разбор полетов показал, что причиной стало опоздание самолета. На борту которого и находился тот самый диспетчер, спешивший на работу из отпуска.

Итак, когда мы сталкиваемся с асинхронностью, нам приходится ломать привычную картину в голове: субъективно окружающий нас мир однопоточен. Если мы послали письмо, а через неделю получили ответ, для нас все происходит в пределах одного потока; нам не приходится отвечать за действия респондента и почтальона. А нашему коду — приходится.
Чтобы упростить жизнь программиста, можно использовать паттерн Реактор. Лучшая (на мой взгляд) его имплементация для руби — EventMachine. Но и с ней бывают не очевидные моменты. Об одном из них я и планирую вкратце рассказать.
Читать дальше →

Превращаем Raspberry Pi в игровую ретро консоль

Время на прочтение3 мин
Количество просмотров83K
Получив заветную коробочку c «Малиновым пирогом», каждый играется с ней по своему, моей первой мыслью было поиграть в нее по настоящему, а именно устроить на ее базе эдакий универсальный эмулятор старых игр. Большинство из нас играло в Денди, многие в Сегу или СуперНинтендо, и даже не смотря на наличие новых консолей текущего поколения, память о них живет, для таких вот «тронутых» ностальгией предназначается эта статья.

Читать дальше →

+1 к эволюции фрилансера

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


Собрал небольшой список пунктов эволюции фрилансера, каждый +1 сделает вас продуктивнее или дороже на рынке.
Список взят из моей жизни, я уже как год практикующий фрилансер, до этого никогда не покидал России, за последний год посетил 9 стран, в следующем году надеюсь посетить ещё 20.

1) Никогда ничего не забывайте. Для этого каждую мелкую задачу я всегда добавляю в miniplan.ru и я всегда получу в нужный момент письмо или смску, все совершенно бесплатно.
2) Самоосознание. Когда работаешь без прямого начальника, когда зарплата не два/раз в месяц, нужно максимально осознать свою жизнь, понимать как вы работаете, как вы получаете деньги, забиваете ли вы на работу, к чему стремитесь. Если в обычной жизни можно плыть по течению то фриланс вам приоткрывает двери осознанной жизни.
3) Отдыхайте. Работодателя нет и вы сами должны заботиться о своем отпуске, сделайте так чтобы его было больше, чем если бы вы работали по прямому найму. Не забывайте о перерывах в работе. Отдых сделает вас продуктивнее или абсолютно расслабит и тут вам поможет самоосознание.
Читать дальше →

Хабракамп про переезд

Время на прочтение1 мин
Количество просмотров19K
image Все по прежнему эксперты отвечают на вопросы не экспертов.
Сегодня эксперты это те кто переехал, дают пендаля тем, кто хочет, но никак не может решиться или не знает как.
Интересуют переезды как из города в город так и в другую страну.
На первом уровне комментариев только люди переехавшие.
Правило оформления комментария.
1)Откуда переехал(обязательно указывать страну и город)
2)Куда переехал(обязательно указывать страну и город)
3)Когда переехал(с точностью до месяца и года)
4)Кем работали до
5)Кем работаете сейчас
6)Если переехали в другую страну то на каком основании(миграция, живете как турист, получили гражданство)
7)Как получили работу в новой стране.
8)Как в целом жизнь?
9)Семейное положение

UPD1: У нас появился свой одноименный хаб: Хабракамп
UPD2: Ну и самые интересные переселенцы
Читать дальше →

Фрилансер начни работать в паре

Время на прочтение1 мин
Количество просмотров31K
Очень часть слышу от фрилансеров ответы:
1)Занят
2)Смогу сделать завтра/через неделю/месяц.
3)Должен отказаться, всех денег все равно не заработаешь.
4)Нет столько свободного времени.
5)Не успею сделать в срок.
6)С таким не работал/нет опыта.

Вы будете реже встречаться с такими проблемами если у вас будет напарник по вашей же специальности, этот простой ход сделает вашу жизнь приятнее и мягче. В данном случае я не имею ввиду пары программист + дизайнер(хотя и от большего количества таких пар я бы тоже не отказался), а имею в виду пары к примеру программист wordpress + программист wordpress.
Давайте посмотрим на плюсы от пары фрилансеров по сравнению с одним:
Читать дальше →

Клавиатура, идея, две руки

Время на прочтение2 мин
Количество просмотров182K
Случалось ли в твоей жизни, %username%, такое, когда тебе продолжительное время хотелось странного? Неважно чего — ведь у каждого разные вкусы и предпочтения. Моя страсть сидела во мне долго, но однажды всё-таки вырвалась наружу. Мне нравится делать необычные вещи, и мне всегда нравился моддинг как средство самовыражения. Несколько лет назад я вдохновился изделиями моддеров из разных стран и начал обдумывать несколько своих проектов. В частности, мне очень хотелось сделать стилизованную под девятнадцатый век клавиатуру.



Что из этого получилось? Прошу под кат!

Разработка производительного игрового сервера на Netty + Java

Время на прочтение5 мин
Количество просмотров55K
Piccy.info - Free Image Hosting

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

Читать дальше →

gameinstitute.ru — журнал для разработчиков игр

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

Доброго времени суток, уважаемое хабрасообщество.
Мы хотели бы представить вам наш замечательный журнал о разработке игр — gameinstitute.ru

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

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

Например, мы фанатеем от необычного рендера в Minecraft и старательно изучили технологию создания подобных эффектов:

Майнкрафт-подобный рендер на OpenGL4
Читать дальше →

Информация

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