Pull to refresh
0
0
Артём @KeeperRU

User

Send message

Структуры данных в картинках. ArrayList

Reading time3 min
Views877K
Приветствую вас, хабралюди!

Взбрело мне в голову написать несколько статей, о том как реализованы некоторые структуры данных в Java. Надеюсь, статьи будут полезны визуалам (картинки наше всё), начинающим java-визуалам а также тем кто уже умеет писать new ArrayList(), но слабо представляет что же происходит внутри.



Сегодня поговорим о ArrayList-ах

ArrayList — реализует интерфейс List. Как известно, в Java массивы имеют фиксированную длину, и после того как массив создан, он не может расти или уменьшаться. ArrayList может менять свой размер во время исполнения программы, при этом не обязательно указывать размерность при создании объекта. Элементы ArrayList могут быть абсолютно любых типов в том числе и null.

Поверить на слово
Total votes 89: ↑82 and ↓7+75
Comments66

Java собеседование. Коллекции

Reading time10 min
Views895K
С недавнего времени у меня появилась настойчивая мысль, что профессиональное развитие сильно замедлилось и это хочется как-то исправить. Да, читаю книги, слушаю курсы, но в то же время приходит и понимание того, что возможно пришло время сменить работу, здесь вроде как все изучено, плавно уходим в рутину. Данная мысль сподвигла меня на рассылку своего резюме в несколько компаний — лидеров рынка. После прохождения собеседования в 3 из них, я решил, как водится внести свои 5 копеек в освещение обширной темы собеседования, а именно технических вопросов по Java коллекциям, с которыми приходится сталкиваться. Да, знаю, читатель скажет: «коллекции — избитая тема, сколько можно», но часть из приведенных ниже вопросов, я задавал своим знакомым разработчикам, которые занимают именно позиции разработчиков («крепких середнячков», по меркам недалекой от Москвы глубинки, которые уверенно справляются со своей работой на практике, а вот в теории скажем так есть пробелы, потому, что работа не требует решения каких-то нетривиальных задач, да и потому что не всем это интересно — изучать как внутри работает структура данных), вызывало растерянность. Думаю, что рассмотренный материал будет не очень интересен разработчикам выше уровня Junior (я попрошу их комментировать, дополнять и критиковать изложенный здесь материал), а вот Junior`ы уверен, найдут в этой статье интересное для себя.
Читать дальше →
Total votes 97: ↑86 and ↓11+75
Comments306

Книги, которые должен прочитать Java программист: от новичка до профессионала

Reading time4 min
Views649K

Книги, которые должен прочитать Java программист: от новичка до профессионала


[Примечание переводчика: термины градации «профессионализма» оставлены англоязычные в связи с трудностью их адекватного перевода на русский и несовпадением с привычными Junior-Middle-Senior-Lead. Перевод достаточно вольный — если знаний языка хватает, то лучше читать оригинал, как и советует автор. Оба языка для меня не родные, так что про ошибки сообщайте в личку — исправим. Здесь и далее в квадратных скобках примечания переводчика]

Я заметил, что в последние месяцы я рекомендую одни и те же книги как новичкам, так и опытным разработчикам. Поэтому я решил составить список этих книг. Они составили мне неплохую компанию в процессе моего роста от новичка до сегодняшнего уровня (какой-бы он не был :) )
Читать дальше →
Total votes 90: ↑77 and ↓13+64
Comments77

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

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

Читать дальше →
Total votes 67: ↑64 and ↓3+61
Comments14

Советы по C++

Reading time2 min
Views64K

Предыстория



За 2 года, я прочитал очень много книг по C++. Лучшим вариантом запоминания информации считаю ведение конспектов.
Несколько дней назад я остался без компьютера и интернета. Чтобы не тратить время впустую решил пересмотреть все свои записи. В тот момент ко мне и пришла идея сервиса, о котором я расскажу ниже.
Читать дальше →
Total votes 125: ↑108 and ↓17+91
Comments59

Ускоряем работу VBA в Excel

Reading time4 min
Views131K
image

Предисловие


Так уж сложилось, что на сегодняшний день много кому приходится работать(писать макросы) на VBA в Excel. Некоторые макросы содержат сотни строк кода, которые приходится выполнять каждый день (неделю, месяц, квартал и так далее) и, при этом, они занимают изрядное количество времени. Вроде бы и и процесс автоматизирован и человеческого вмешательства не нужно, но время, занимаемое выполнением макроса, может охватывать десятки минут, а то и несколько часов. Время, как говориться, — деньги и в этом посте я постараюсь значительно ускорить время выполнения Вашего макроса и, возможно, это положительно скажется на ваших делах, а в итоге и деньгах.
Читать дальше →
Total votes 37: ↑23 and ↓14+9
Comments9

Закончен предварительный перевод статей по языку Scala от компании Twitter

Reading time2 min
Views20K
С недавнего времени я интересуюсь языком Scala. Пару месяцев назад я набрел на интересную серию статей от компании Twitter. Я сносно читаю на английском, но все же приятнее читать на русском языке, если есть нормальный перевод.
Благодаря труду Мариуса Эриксена (Marius A. Eriksen) и других людей серия статей увидела свет. Всех желающих узнать больше о Scala и помочь в улучшении перевода — приглашаю под кат.

Читать дальше →
Total votes 49: ↑46 and ↓3+43
Comments21

Шаблон диссертации в LaTeX

Reading time1 min
Views58K
Недавно я начал нелёгкое дело по вёрстке диссертационной работы в LaTeX-е. Естественным первым желанием было найти какой-нибудь готовый шаблон. Увы, я не нашёл ничего, что подходило бы под мои нужны. Поэтому я решил сделать свой шаблон (с преамбулой и макрокомандами)! Сразу скажу по поводу соответствия шаблона ВАК-овским требованиям: строгих требований нет (можете сами посмотреть список нормативных документов). Однако определённые требования могут быть у конкретного совета (но они, как правило, весьма похожи и соответствуют здравому смыслу). В своём шаблоне я постарался учесть общие тенденции в оформлении такого рода работ. Не буду приводить кучу технических особенностей вёрстки в LaTeX (на эту тему и так хватает статей), а просто поделюсь готовым результатом: GitHub.
Почитать о содержимом шаблона
Total votes 67: ↑65 and ↓2+63
Comments62

SQL injection для начинающих. Часть 1

Reading time5 min
Views793K

Приветствую тебя, читатель. Последнее время, я увлекаюсь Web-безопасностью, да и в какой-то степени работа связана с этим. Т.к. я всё чаще и чаще стал замечать темы на различных форумах, с просьбой показать, как это всё работает, решил написать статью. Статья будет рассчитана на тех, кто не сталкивался с подобным, но хотел бы научиться. В сети относительно много статей на данную тематику, но для начинающих они немного сложные. Я постараюсь описать всё понятным языком и подробными примерами.
Читать дальше →
Total votes 191: ↑135 and ↓56+79
Comments160

Подготовка к сдаче экзамена Oracle certified JAVA associate

Reading time3 min
Views66K
Поиск русского гайда по сдаче на OCAJP 7 не увеньчался успехом, так что я решил написать свой.

Что это за сертификат рассказывают в этом видео. Сдавать или нет каждый решает для себя сам, но этот сертификат является базовым в иерархии Oracle для интересующихся Java.

Для себя я решил сдавать на OCP чтобы во-первых систематизировать знания, а во-вторых поднять привлекательность для работодателей.

Началось как обычно с чтения CodeRanch. Когда я начинал готовиться книг посвященных OCA 7 еще не было в природе. Сейчас уже появился официальный гайд. Но учитывая ценник (30$), я все же воздержался бы от покупки. Сейчас расскажу почему.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments58

2400 иконок флагов под свободной лицензией

Reading time1 min
Views90K


Самая большая коллекция флагов: 2400 пиктограмм размерами 16×16, 24×24, 32×32, 48×48 и 64×64. Есть государственные флаги всех стран, плюс бонусы: Англия, Абхазия, Нагорный Карабах, Красный крест, Южная Осетия, Сомалиленд, флаг Марса, НАТО и проч.

Все иконки в двух вариантах: стандартный и глянцевый.

Скачать:
www.gosquared.com/download/pixels/flags.zip

Лицензия MIT (GPL-совместимая), разрешает использование иконок в коммерческих проектах.
Total votes 93: ↑84 and ↓9+75
Comments30

Обзор кода в комментариях

Reading time3 min
Views15K
Обзор кода полезен и делать его можно разными способами: патчами по почте, сидя рядом лицом к лицу или используя специализированные инструменты/плагины. Каждый способ имеет свои плюсы и минусы, однако мы предлагаем ещё один, который позволяет нам использовать то, что у нас уже есть.
Обозреть детали
Total votes 39: ↑33 and ↓6+27
Comments9

Овертаймим? А как насчет результатов?

Reading time6 min
Views88K
Вашему вниманию перевод статьи старшего преподавателя Гарвардской Школы Бизнеса Роберта Позена (Robert Pozen), They Work Long Hours, but What About Results?, опубликованной в The New York Times 6 октября 2012.

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

Суровая реальность заключается в том, что эффективность зачастую не вознаграждается. Я часто сталкивался с этим когда работал в адвокатской конторе в Вашингтоне. Благодаря моему опыту я мог быстро ответить на вопросы клиентов, сэкономив время себе и им. Но так как моя контора (как и большинство адвокатских контор) имела почасовую оплату, моя эффективность работала против меня.
Читать дальше →
Total votes 86: ↑75 and ↓11+64
Comments94

В пень free-lance.ru!

Reading time4 min
Views639K
В связи с прочтением соседнего поста предлагаю перечислить список бирж, на которых можно найти альтернативу тому унылому говну, в которое превратился free-lance.ru, ибо терпеть планомерный геноцид я больше не намерен.
Читать дальше →
Total votes 338: ↑320 and ↓18+302
Comments171

Проверь свой T-SQL код!

Reading time3 min
Views24K
SqlCodeGuard В далёком 2005 году я менял стек технологий с Java на .NET и поначалу в Visual Studio мне очень не хватало возможностей, которыми располагала IntelliJ IDEA. Пробуя различные плагины к студии, я остановился на ReSharper'е и по сей день его использую. Недавно стало интересно, есть ли похожие продукты для работы с SQL Server, а точнее с T-SQL кодом хранимых процедур. Собственно про один такой продукт я и хочу рассказать в этой статье.

Итак, SqlCodeGuard – это бесплатный addin для SQL Server Management Studio для статического анализа T-SQL кода. Ну и плюс пара-тройка других возможностей.

Основные возможности под хабракатом...
Total votes 52: ↑48 and ↓4+44
Comments14

Инспекция кода. Итоги

Reading time4 min
Views29K


Инспекция кода — это хорошо. Мы используем эту технику в своих проектах не так давно — около трех месяцев, — однако положительные результаты налицо. Мы уже рассказывали на Хабре о внедрении инспекций в процесс разработки, о документообороте при инспекциях, рассказывали о том, как можно оптимизировать процесс инспектирования с помощью инструмента Code Collaborator. Сегодня мы хотим подвести итоги и представить результаты, которых нам удалось достичь за время инспектирования. Поехали!..
Читать дальше →
Total votes 54: ↑52 and ↓2+50
Comments27

Ремесло программиста. Золотые правила

Reading time14 min
Views29K
imageДанный пост представляет собой выдержку «золотых правил» из примечательной книги Питера Гудлифа «Ремесло программиста».

Кто-то освежит память, кто-то сверится как с чек-листом, а кто-то заинтересуется и прочтет книгу. Т.к. пост получился достаточно объемным, можно добавить его в закладки и периодически к нему возвращаться.
Читать дальше →
Total votes 108: ↑90 and ↓18+72
Comments62

Information

Rating
Does not participate
Location
Россия
Registered
Activity