Как стать автором
Обновить
69
0
Антон Щастный @schaan

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

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

Энергонезависимое решение

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


Понедельник. Постановка задачи


Девять часов тридцать одна минута утра — я на работе. Вообще-то мы работаем с десяти до семи, но по понедельникам я предпочитаю приходить пораньше — мне нравится наш офис, пока в нём нет людей. Я медленно иду мимо столов — одни завалены распечатками спецификаций и каких-то диаграмм, другие совсем пустые. На одних столах стоят компьютеры, другие пустые. Под некоторыми столами стоит сменная обувь, перед другими нет даже кресла. Да, у нас больше половины столов пустые — это на случай приёма новых сотрудников, или командировки кого-то из других городов и стран. Ведь у нас крупная международная компания с офисами разработки в Омске и Калачинске и головным офисом на Кипре. Мы занимаем четыре этажа в современном офисном центре. Правда, сразу за нашим зданием начинаются руины какого-то авиационного завода, и в день зарплаты мы стараемся там не ходить.
Читать дальше →
Всего голосов 371: ↑359 и ↓12+347
Комментарии149

Почему я ушел из Google

Время на прочтение5 мин
Количество просмотров61K
Ну хорошо, я сдаюсь: все хотят знать почему я ушел. А так как ответить каждому отдельно невозможно, вот вам изложение в длинной форме. Прочтите немного (я дойду в кульминации в 3-м абзаце) или прочтите всё. Но начну с предупреждения: здесь нет ни драмы, ни сверхинтересных деталей, ни избиения бывших коллег, и вообще нет ничего, о чем вы не могли бы догадаться сами из того, что ходит в прессе вокруг Google и ее отношения к разработчикам программ и конфиденциальности пользовательских данных. Это просто мой личный рассказ.

Покинуть Google было непростым решением. За время моей работы там я стал довольно страстным поклонником компании. Я выступал на четырех Google Developer Day, на двух Google Test Automation Conferences и был плодовитым участником блога Google Test. Рекрутеры часто просили меня помочь уговорить очень перспективных кандидатов на работу в компании. Меня никто не должен был просить дважды для поддержки Google, и никто более меня не удивился тому, что я не смог это продолжать. На самом деле последние три месяца работы в Google были вихрем отчаяния в тщетной попытке вернуть прошлую страсть.
Читать дальше →
Всего голосов 396: ↑370 и ↓26+344
Комментарии442

Maven – размышления после двух лет использования

Время на прочтение5 мин
Количество просмотров2.7K
В течение последних двух лет я использовал Maven как инструмент для сборки проектов. В результате я остался весьма недоволен Мавеном, недоволен настолько, что всерьез обдумываю перевод нынешнего проекта на Ant.

Прежде, чем обсуждать причины моего недовольства, нужно сказать пару слов о Мавене. Я не буду его подробно описывать, просто кратко изложу его основные особенности.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии16

JGoodies FormLayout Введение

Время на прочтение4 мин
Количество просмотров3.6K
Часто когда начинаешь работать на SWING сталкиваешься с проблемой понимания Layout.
Сама идея очень хорошая, но для людей которые работали только в визуальных средах это становится большой проблемой. Не может человек понять почему быстрее написать код чем накидать его в GUI дизайнере. Сам я со свингом плотно работаю около 2 лет и вот решил рассказать про замечательную библиотеку JGoodies Form Layout. Статей наверное пока будет только три, если все хорошо буду писать дальше.

И так часть первая вводная.

В данном примере мы рассмотрим базовые возможности Form Layout. FormLayout — это фактически таблица, только с очень гибкими настройками, благодаря им можно получить любой интерфейс с минимальными затратами.
Читать дальше →
Всего голосов 45: ↑23 и ↓22+1
Комментарии9

Уголовное дело за брелок

Время на прочтение1 мин
Количество просмотров7.1K
Служба безопасности Украины возбудила уголовное дело по четырем статьям уголовного кодекса:
  • ст. 201 — Контрабанда
  • ст. 15 — Покушение на преступление
  • ст. 263 — Незаконное обращение с оружием, боевыми припасами или взрывчатыми веществами
  • ст. 359 — Негласное получение информации

… за две заказанных на dealextreme видеокамеры в виде брелока и перочинный ножик.

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

Самое интересное, что по логике следствия, примерно у 99% украинских читателей хабры есть спецсредство в виде мобильного телефона. Будьте осторожны!

Детали дела на distributed.org.ua/forum/index.php?showtopic=5245
Всего голосов 229: ↑217 и ↓12+205
Комментарии293

Как я уехал в Штаты в 2000-ом и что было дальше

Время на прочтение6 мин
Количество просмотров8.5K
После одного из моих комментариев несколько человек попросили рассказать как я уехал в Америку. Вкратце дело было так…
Читать дальше →
Всего голосов 285: ↑262 и ↓23+239
Комментарии316

Тест Роршаха для рекламной индустрии

Время на прочтение2 мин
Количество просмотров1.2K
Если вы работаете в бумажной газете или журнале, то вот вам самая страшная картинка года.


А вот ссылка на исследование, результатом которого стала эта картинка.
Читать дальше →
Всего голосов 38: ↑33 и ↓5+28
Комментарии31

Самые дурацкие вопросы на собеседовании

Время на прочтение1 мин
Количество просмотров109K
Тема глупых вопросов на собеседовании поднимается на Хабре довольно часто. Ниже мой перевод отличного комикса Oatmeal на эту тему:


Читать дальше →
Всего голосов 439: ↑385 и ↓54+331
Комментарии301

Прагматический Процесс Разработки в «не-книжных» условиях

Время на прочтение4 мин
Количество просмотров1.8K
Доброго времени суток.

Хочу поделиться некоторыми идеями которые помогают мне в Святой Войне с Хаосом в процессе разработки ПО. Для определенности картины добавлю несколько деталей: я — менеджер проектов, фирма средних размеров (~40 мозгов) занимается оффшорным программированием, команда смешанная (15% сеньоры, 35% девелоперы, 35 джуниоры, 15% стажеры, причем есть еще деление по специализации — разработка, качество, инфраструктура).

Процесс


Источников создания хаоса более чем достаточно — длинная цепь связи с заказчиком, неоднородная и в общем, молодая команда, «славянский менталитет» ( эксцентричное творчество и частые медитации ;) ), проблемы коммуникаций, политические игры сейлс-людей (Sales — те кто нас «продают») и т.д.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии14

Много книг, хороших и разных

Время на прочтение20 мин
Количество просмотров96K
Мой список книг, которые мне хочется прочесть, изрядно вырос, спасибо топику “запасаемся на зиму”. Под катом вы обнаружите список книг, составленный по комментариям в том топике.
Читать дальше →
Всего голосов 139: ↑124 и ↓15+109
Комментарии89

Liferay — Open-Source портал на J2EE

Время на прочтение4 мин
Количество просмотров8.8K
Только вчера закончил свой первый, полнофункциональный портлет для Liferay (SVN/Mercurial/CVS браузер) — и хочу поделится некоторым опытом (пусть и минимальным). К тому же по Liferay вроде на Хабре еще ничего не пробегало. Статья очень поверхностная — но тем не менее, надеюсь, даст некоторое начальное представление

image

Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии5

Издание собственной книги: от А до Я

Время на прочтение7 мин
Количество просмотров3K
Разгони свой сайтПосле заметки о выходе книги «Разгони свой сайт» ко мне обратились с просьбой осветить процесс публикации собственного издания. Не скажу, что описанные ниже действия были простыми и очевидными: в ходе возникло масса вопросов, на которые я с трудом мог ответить самостоятельно, поэтому приходилось искать совета буквально везде.

Предыстория


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

Если у вас нет четкого плана изложения материала, то лучше вообще не начинать сам процесс написания. В таком случае он может стать долгим, мучительным, а результат совершенно не удовлетворит потенциальных читателей.
Читать дальше →
Всего голосов 96: ↑91 и ↓5+86
Комментарии41

Уголок Java-разработчика: библиотеки на каждый день

Время на прочтение3 мин
Количество просмотров7.7K
За все время, проведенное в написании кода на Java, у меня сформировался определенный набор полезных cторонних библиотек, которые прочно засели в classpath, и без которых не обходится ни один день разработки, будь то написание чего-либо «на коленке» или работа над серьезным проектом. Речь идет не о «монстрах» вроде Spring, Struts, Hibernate (это другая история), а скорее об утилитах, которые заполняют пробелы в Java SE API и позволяют сэкономить десяток-другой лишних строк кода/минут тут и там. Этой информацией я бы и хотел поделиться с хабрасообществом — надеюсь, она пригодится особенно тем, кто только начинает штурмовать Java, и позволит немного, но увеличить производительность труда.

Итак, список наиболее часто используемых мной классов и методов с комментариями:
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии3

Что почитать по проектированию архитектуры?

Время на прочтение2 мин
Количество просмотров6.4K
Текущий проект на работе разросся до огромных размеров и продолжает расти.
Так получилось, что большая часть была создана людьми, которые уже не в проекте. И качество кода многих компонент зачастую ужасно. Но все это работает, пользователи всем этим пользуются и потому русское
«Это все никуда не годиться. Легче все написать заново» — не применимо.

Проект построен на связке tomcat,struts c java-сервером работающим с postgres. С веб-частью(tomcat) вроде все нормально. В самом сервере каша — где сам функционал по работе с БД.

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

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

уже есть(читал) по теме или близко:
— Рефакторинг. Фаулер
— Совершенный код. Стив Макконнелл
— Архитектура корпоративных программных приложений. Фаулер (хорошая книга)
— Еще какие-то одинаковые книги типа «Разработка корпор.приложений с помощью UML, J2EE» от
Гради Буча и пр.

Интересно не что-то общее из цикла типа RUP процессов разработки, а конкретно по архитектуре
и шаблонам развертывания, на примере конкретных коммерческих проектов.

Заранее спасибо за комментарии
Всего голосов 9: ↑9 и ↓0+9
Комментарии16

Рабочее место для работы стоя за 600 рублей

Время на прочтение1 мин
Количество просмотров151K
Вдохновившись этим постом и взяв на заметку эту идею, менее, чем за час, собрал стол для работы стоя на запчастях из Икеи. Зачем — смотрите тут. Стоимость базовых элементов — 578 рублей.
Читать дальше →
Всего голосов 60: ↑39 и ↓21+18
Комментарии147

Видео с конференции ScalaSPB

Время на прочтение2 мин
Количество просмотров4.6K
1 октября состоялась первая конференция Scala-разработчиков в Санкт-Петербурге.

Гости из разных уголков России (и не только), посетившие в тот вечер уютный бизнес-инкубатор «Ингрия», имели возможность послушать интересные доклады и пообщаться с коллегами по цеху.

image

Под катом вас ждут видео докладов с конференции:
  • «Использование Scala для backend задач» Эдуард Клементьев
  • «Scala in Goozy» Алексей Злобин
  • «Scala plugin for IntelliJ IDEA» Павел Фатин и Александр Подхалюзин
  • «Squeryl — ORM с человеческим лицом» Юрий Буянов
Видео с конференции
Всего голосов 26: ↑26 и ↓0+26
Комментарии15

20 вещей, которые я должен был знать в 20 лет

Время на прочтение3 мин
Количество просмотров715K
1. Мир пытается оставить тебя тупым. Начиная от банковских платежей и процентов и заканчивая чудо-диетами — из необразованных людей легче вытрясти деньги и ими проще управлять. Занимайтесь самообразованием столько, сколько можете — для того, чтобы быть богатым, независимым и счастливым.
Читать дальше →
Всего голосов 544: ↑445 и ↓99+346
Комментарии544

Когда я говорил…

Время на прочтение1 мин
Количество просмотров189K
Когда я* говорил, что нужно вкладывать в сообщество и User Groups, вы вкладывали в теннисные столы. Теперь у нас много средненьких теннисистов и нет коммюнити.

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

Когда я говорил вкладывать деньги в обучение специалистов, вы продолжали раздавать деньги за рекомендации. Теперь у нас никто не работает, а все рекомендуют.
Читать дальше →
Всего голосов 632: ↑586 и ↓46+540
Комментарии443

Знакомство с АОП

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

Парадигмы программирования


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

У каждой парадигмы есть свои особенности, однако, главным фактором, различающим их, является понятие основной единицы программы. Вот самые популярные из них:
  • инструкция (императивное программирование, FORTRAN/C/PHP),
  • функция (функциональное программирование, Haskell/Lisp/F#/Scala),
  • прототип (прототипное программирование, JavaScript),
  • объект (объектно-ориентированное программирование, С++/Java),
  • факт (логическое программирование, PROLOG).

Стоит заметить, что в общем случае язык программирования однозначно не определяет используемую парадигму: на том же PHP можно писать как императивные, так и объектно-ориентированные программы.

В этой статье я хочу рассказать о сравнительно молодой, но крайне, на мой взгляд, полезной парадигме программирования – аспектно-ориентированном программировании.

Читать дальше →
Всего голосов 105: ↑101 и ↓4+97
Комментарии70

Размеры массивов в Java

Время на прочтение2 мин
Количество просмотров31K
Размеры объектов в Java уже обсуждались на Хабре, например, здесь или здесь. Мне бы хотелось подробнее остановиться на размерах многомерных массивов — простая вещь, которая для меня стала неожиданной.

Оптимизируя вычислительный алгоритм по памяти, я наткнулся на то, что при определённых (вполне разумных) входных параметрах создаётся массив float[500][14761][2]. Сколько он может занимать в памяти (на HotSpot 1.6.0_26 32bit, если кому интересно)? Я примерно прикинул, что 500*14 761*2*sizeof(float) = 500*14 761*2*4 = 59 044 000 байт плюс какой-то оверхед. Решив проверить, как на самом деле, я воспользовался Eclipse Memory Analyzer (невероятно волшебная вещь, рекомендую!) и обнаружил, что «Retained Heap» для этого массива составляет 206 662 016 байт! Неплохой оверхед — 350%. Посмотрим, почему так получилось.
Читать дальше →
Всего голосов 108: ↑104 и ↓4+100
Комментарии24

Информация

В рейтинге
Не участвует
Откуда
Украина
Зарегистрирован
Активность