Search
Write a publication
Pull to refresh
20
0
Андрей Волков @Kipriz

User

Send message

Знаешь ли ты JAVA, %username%?

Reading time11 min
Views150K
JAVA Evil EditionНедавно я сдавал экзамен Oracle Certified Professional Java Programmer (бывший Sun Certified), и за время подготовки прорешал огромное количество различных задачек. Отдельные задачки по джаве иногда появляются на хабре и вызывают немалый интерес, поэтому я решил поделиться накопленным и сделать небольшую подборку.

Итак, ниже представлен десяток наиболее, на мой взгляд, интересных задач по Java SE из более чем 1000, проработанных мной. Сложность варьируется от средней до ооооооочень сложной. Решение большинства задач практически не требует знания API, достаточно логики и фундаментальных основ Java.

К слову, сложность экзамена Oracle Certified Professional Java Programmer гораздо ниже чем сложность данного теста, поэтому все, кто правильно ответит хотя бы на половину этих вопросов, может смело сдавать этот экзамен без всякой подготовки.

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

ВНИМАНИЕ: во второй половине статьи — ответы и подробные пояснения по соответствующим нюансам JAVA.

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

Тренды в дизайне иконок 2010

Reading time4 min
Views29K
imageСоздание иконок — довольно консервативное направление дизайна. Часто новая и оригинальная иконка работает намного хуже, чем стандартная и привычная. Но индустрия не стоит на месте — появляются новые устройства с новыми интерфейсами, и меняются способы работы с ними. Происходит это все довольно медленно, но тренды выделить можно.

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

«От хорошего к великому» (в цитатах) — Часть 2

Reading time6 min
Views20K
imageКак и обещал, выкладываю вторую часть цитат, выделенных маркером во время прочтения одной из лучших (с моей точки зрения) книг о бизнесе — книги Джима Коллинза «От хорошего к великому».

См. также (первая часть).

***

Собрание руководителей Pitney в начале года — это обычно 15-минутное обсуждение результатов прошлого года, почти всегда превосходных, и два часа обсуждения «неприятных вещей», которые могут помешать росту компании в будущем.

***


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

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

Android Calendar API

Reading time5 min
Views44K

В этой статье речь пойдет об использовании недокументированного API для работы со стандартным календарем Android. Статей на русском по данной теме не нашел, да и на английском лишь несколько постов с устаревшими данными. Кто заинтересовался – под кат.
Читать дальше →

Регистрация своей фирмы собственными руками, туду-лист

Reading time12 min
Views51K
Дисклаймер: описываю только свой личный опыт и мнения автора могут не совпадать с мнением автора. Статья огромная, читать много.

Пишу эту статью, и представляю себе тебя, читателя Хабра, которой в обеденный перерыв залез почитать что-нибудь для развития. А этот читатель, т.е. ты (да, не отворачивай глаза от букв, именно ты) давно наслышан, что своё дело – это круто. И, может быть, как раз не хватало лёгкого пинка, чтобы выйти из зоны будничного комфорта и что-нибудь, да предпринять.

Эта статья адресована тем, кто уже «на грани». Она почти лишена философии и туманных ссылок, просто тупо туду-лист. Бери и делай. Намеренно избавляю тебя от объяснений, зачем молодому проекту нужна госрегистрация, такая ли уж это свобода – быть собственником и от куда взять деньги на госпошлину. Статья адресована московским стартаперам, гео-патчи от других городов приветствуются в комментариях.
Будем считать, что с формой собственности определились — это ООО и упрощенка 6%. Если кому нужно ИП – там проще, справишься и без этой статьи.

Для создания фирмы необходимо:

Минимальный реквизит для создания своей компании
Подробности под кОтом.

iOS SDK — CoreAnimation, программируем красивые кнопки

Reading time3 min
Views5.2K
Многие наверняка сталкивались с необходимостью быстрого создания контролов в мобильном пользовательском интерфейсе. Рассмотрим стандартные кнопки UIButton. Базовый контрол мало устраивает взыскательного заказчика и зачастую стандартное решение, это натягивание на кнопки битмапов состояния. Растянутая ли это картинка или целиком вырезаная кнопка — решение требует дополнительных временных затрат на дизайн пользовательского интерфейса. Хорошо было бы иметь универсальный контрол, с более широкими визуальными возможностями, чем базовый UIButton.
Читать дальше →

Objective-C с нуля

Reading time23 min
Views442K
У любого желающего писать программы для продукции фирмы Apple в жизни наступает такой момент, когда ему приходиться изучить новый язык программирования — Objective-C. Когда-то этот счастливый момент постиг и меня. А чтобы лучше запомнить основные особенности этого языка, решил законспектировать свои мысли во время осмысления его документации, которыми и делюсь с вами.
Читать дальше →

Рабочий день за 3 часа. Анализ и сортировка информации

Reading time4 min
Views6.2K
Инструменты системы управления временем, описанные в прошлом посте, дают возможность свести все дела, происходящие в вашей жизни и требующие участия, в одно место. Это, как, наверное, понятно — списки дел, разбитые на категории DAY, LATER, CONTROL. Работой со списками предшествует работа с накопителями.

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

Несмотря на очевидную простоту изображенного процесса анализа информации из накопителя, я его упростил еще больше.

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

Самый короткий в мире маркетинговый план

Reading time1 min
Views17K
В догонку к посту про макет бизнес модели, не менее полезный «самый короткий в мире маркетинговый план» (так его назвал автор, Келли Одел).

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

Посмотреть план

Два подхода к тестированию производительности. Выбираем

Reading time6 min
Views7.9K
Данная статья описывает наиболее распространенные подходы к тестированию производительности приложений; пользуясь аналогиями «из жизни» и примерами из опыта автора, показывает, почему так делать нельзя; и, наконец, пытается заронить искру понимания важности нагрузочного тестирования в светлые умы разработчиков, менеджеров и прочих хороших людей.

Начнем с пары историй.

История А.

На днях разговаривал с одним программистом. Пишет он на С++, работает в крупной компании в Чикаго; софтом, к созданию которого он причастен, активно пользуются финансовые и трейдерские компании. У нас, говорит, в продукте 600 тысяч строк кода. Начиналось все с небольшого приложения для анализа биржевой статистики, и вот за 20 лет вымахал такой монстр. Здорово, говорю. Внушает уважение. И как вы его тестируете, вашего монстра? Для этого, отвечает мне программист, есть специальный индус. Он какие-то тест кейсы выполняет, отчеты пишет. А до него этим менеджер один занимался, но тот все больше ручное тестирование делал. Новые функции проверял, например. Теперь вот индус. Хорошо, продолжаю выпытывать я, это функциональное тестирование. А производительность вы как-то тестируете? Нет, говорит, если клиенты начинают жаловаться на медленную работу, мы тогда сами ищем узкие места и сами же из исправляем. Кто разрабатывает продукт, тот его и знает лучше. Какой тестер с этим справится?

Умный человек, подумал я, а говорит глупости.

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

Программист, который отвлекается

Reading time5 min
Views13K
Автор статьи — программист с шестнадцатилетним стажем работы — был поставлен перед невозможностью подолгу сидеть за компьютером (как поступают многие из нас). В этой статье он рассказывает о том, как организовать свою рабочий процесс так, чтобы частые перерывы не вредили возможности сосредоточиться на работе и эффективности труда. В принципе достаточно известные вещи, но лично для меня стали новостью инвертирование приоритетов и сам факт того, что можно работать отвлекаясь и при этом не терять ход мысли.

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

Я не думал, что существуют другие способы программирования, и уже начал было смиряться с тем, что обречен на низкую производительность. Но за последние 6 месяцев я обнаружил, что «медленный разогрев и долгая работа без перерывов» — поведение приобретенное, а не врожденное, и вполне возможно переучиться на другие ритмы активности. Это похоже на многофазный сон — как только вы привыкли делать вещи определенным образом, любые изменения очень трудоемки, но возможны — при наличии достаточной мотивации и времени на привыкание.

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

Ну очень простая идея, которая повышает эффективность тестирования в разы

Reading time3 min
Views14K
Как обычно строят процесс тестирования непросветлённые тест-менеджеры?

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

Релиз.

Не работает основной функционал.

Почему такое возможно?

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

2. Потраченное на мелочи время не дало возможности проверить более серьёзные пользовательские сценарии и найти более критичные дефекты.

3. Обратная связь по статусу сборки предоставлялась разработчикам с запозданием: вместо критичных дефектов непрерывно сыпались миноры.

4. Проектный паттерн «дохлая рыба» сыграл своё дело: все участники команды прекрасно понимали, что протестировать всё нельзя, и это не могло не сказаться на качестве работы. А реалистичных целей им никто не поставил…

Что просветлённые тест-менеджеры делают по-другому?

Что они поменяют в первую очередь?
Читать дальше →

Рабочий день за 3 часа. Инструменты GTD

Reading time4 min
Views15K
Начало здесь.

Накопители



Прежде чем описывать инструменты, необходимо показать карту информации.

  1. Вне человека — хаотичная.
  2. В накопителе — хаотичная, но собранная в одном месте.
  3. В человеке, его записях, файлах — отсортированная.


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

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

Многие знают, что за такими запросами стоит не действительно срочная потребность, а сумбурность мысли. Человек не всегда может осознать, к какому же сроку ему нужны те или иные данные? Зачастую, они кричат «срочно!» только потому что им хочется , а не потому что они действительно нуждаются.

Чтобы справиться с хаосом, Дэвидом Алленом был придуман простой инструмент — накопитель.
Читать дальше →

Карьерное плато

Reading time1 min
Views2.2K
Продолжая тему рассуждений про карьеру, мы с хабраюзером eagleson записали новое видео: «Карьерное плато».



Коротко и по делу (всего 18 минут) обсудили следующие темы:
  • Динамика ИТ-специалиста: рост, рост, рост, ЗП, семья, ипотека…
  • Почему так, где движение?
  • С любого плато можно улететь: нужно строить самолет!


Подарите себе 18 минут времени, чтобы задуматься над вопросам «Сколько лет до вашего плато?» и «Строите ли свой самолет?»

Метод одного дня

Reading time4 min
Views8.2K
Понедельник начинается в субботу.
А. Стругацкий, Б. Стругацкий.

Прошедшее забыто, грядущее сокрыто, настоящее даровано. Поэтому его и зовут настоящим!
Мудрая Черепаха из «Кунг-фу Панда»

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

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

Под катом простая схема, как этого достичь.
Читать дальше →

Как уместить полный рабочий день в 3 часа

Reading time3 min
Views9.7K

Вступление


C системой Аллена меня познакомили около двух лет назад. Начинал пользоваться вариантом Васи Кислого с помощью HTC Touch Pro, но глючность девайса сильно мешала освоить систему, а сам «Успеватель» не давал необходимого уровня понимания. С GTD пришлось на время расстаться.

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

Попытки вести мобильную версию системы в Nokia E63 с помощью «Активных заметок» привели к покупке книги Дэвида Аллена, переработке статьи В. Кислого, приобретению стабильно работающего, хоть и старенького HTC P3400 (а потом и более современного продукта от HTC) и введению бумажной, физически ощутимой части этой системы.

Итогом переработки стала строгая вариация за моим авторством на тему Дэвида Аллена в обработке Васи Кислого. Благодаря ей, работа стала занимать не больше 3-х часов в день. Но за это время я успеваю сделать действительно много.

Следуя этим принципам, я прихожу на работу к 11-12 часам, работаю плотно и не отвлекаясь до 15 часов. В 15 часов ухожу в зал потаскать железки, прихожу в офис к 17-30, прорабатываю за полчаса все накопившееся с 15 часов. И еду домой.

Пока я не разобрался и не адаптировал под себя систему Аллена, мой рабочий день не ограничивался 8 часами в офисе. Приходилось работать еще вечером дома.

Кому интересно, прошу под кат.
Читать дальше →

Еще один первый опыт разрабоки для AppStore

Reading time4 min
Views1K

О приложении



image Привет, Хабр. Я хочу рассказать о моем первом опыте (вообще, тут я немного кривлю душой, но об этом позже) разработки для AppStore и, что, наверное, более интересно, о том, какие уроки из этого я вынес. Приложение называется iAutographer — и само по себе довольно тривиально. Оно предоставят возможность коллекционировать автографы, привязывая их к контактам телефона и набрасывать на общее пано (Sign Board). Затем при просмотре автографа он прорисовывается заново, тем самым создается ощущения, что человек расписывается на ваших глазах. На этом, пожалуй, о приложении и все. Для того чтобы посмотреть на него в деле, привожу 10 промо кодов тут:
Читать дальше

Жизнь длиной в две недели

Reading time5 min
Views1.2K
Япония крупным планом
В этом сообщении я расскажу о том, как за 20 часов в одиночку с нуля создать сайт продукта, сравню две системы искусственного обеспечения жизнедеятельности сайта (Яндекс.директ и баннерная реклама) а также расскажу почему лучше не тратить на это время. Рассказ разделён на этапы жизни сайта.
Зачатие и роды

Онлайн игра: howto, или как я проспорил девушке программисту

Reading time7 min
Views5.1K
Не мало было историй о том, как небольшие группы разработчиков добивались успеха. И ещё больше о том, как эти разработки проваливались. Но здесь я хочу рассказать именно об эволюции процесса разработки онлайн игры, опираясь на свой опыт. Оговорюсь заранее: это первый мой опыт разработки массовой онлайн игры.
Всё началось весьма интригующе. Я имел неаккуратность поспорить со знакомой web-программисткой о том, кто быстрее и качественнее из нас сделает web-проект. Чтобы не сильно распыляться и не тратить много времени, решили, что нам будет дана всего одна неделя, а разрабатывать мы будем многопользовательскую игру!

По истечению этого срока проекты были сданы «оценочной комиссии», которой являлись наши общие друзья. И… Мой проект не выиграл. А самым обидным на тот момент казалось то, что, по условиям спора, я должен был выделить ещё одну неделю рабочего времени, чтобы помочь своей оппонентке в развитии её игры. Но спор есть спор!
Читать дальше →

Телефонные номера на различных интернет-ресурсах

Reading time1 min
Views4.5K
Будучи довольно активным и продвинутым пользователем гаджета от Эпла, я довольно часто пользуюсь мобильным интернетом, когда нужно что-то срочно найти, а компьютера под рукой нет.

Очень часто я сталкиваюсь с проблемой, что нужный ресурс найден, дело за малым — позвонить по номеру, указанному на ресурсе, но вот незадача — почему-то очень на многих сайтах владельцы оставляют телефон без кода страны (или хотя бы старомодного кода выхода на междугороднюю линию).
image

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

Information

Rating
8,194-th
Location
Нижний Новгород, Нижегородская обл., Россия
Date of birth
Registered
Activity