Как стать автором
Обновить
0
0

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

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

Два раза в одну реку или (Не)много о профессиональном выгорании

Время на прочтение17 мин
Количество просмотров104K
Саббатикал — это оплачиваемый или частично оплачиваемый длительный отпуск продолжительностью от трёх месяцев до года (и более) с гарантированным сохранением места за сотрудником.

— Саш, очевидно, работа не приносит тебе удовольствия, — Слава проговаривал бесспорные вещи. Четвертую неделю вместо работы я мчался на очередной детский турнир по футболу. Когда у тебя трое детей, можно 120% своего времени занять их увлечениями. — У меня есть к тебе предложение. Давай отправим тебя в отпуск на год? Я за это время закрою собой бизнес. Доходы, по-прежнему, пополам. Потом ты вернешься с новыми силами, и, может быть, я на год в отпуск схожу.

Честно говоря, я недолго думал над этим предложением. От работы реально подташнивало, и перспектива на год избавиться от этого источника тошноты манила как никогда раньше. Мы ударили по рукам.
Читать дальше →
Всего голосов 138: ↑132 и ↓6+126
Комментарии156

Микросервисная архитектура, Spring Cloud и Docker

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

Привет, Хабр. В этой статье я кратко расскажу о деталях реализации микросервисной архитектуры с использованием инструментов, которые предоставляет Spring Cloud на примере простого концепт-пруф приложения.



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

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

Микросервисы (Microservices)

Время на прочтение22 мин
Количество просмотров685K
От переводчика: некоторые скорее всего уже читали этот титанический труд от Мартина Фаулера и его коллеги Джеймса Льюиса, но я все же решил сделать перевод этой статьи. Тренд микросервисов набирает обороты в мире enterprise разработки, и эта статья является ценнейшим источником знаний, по сути выжимкой существующего опыта работы с ними.

Термин «Microservice Architecture» получил распространение в последние несколько лет как описание способа дизайна приложений в виде набора независимо развертываемых сервисов. В то время как нет точного описания этого архитектурного стиля, существует некий общий набор характеристик: организация сервисов вокруг бизнес-потребностей, автоматическое развертывание, перенос логики от шины сообщений к приемникам (endpoints) и децентрализованный контроль над языками и данными.
Читать дальше →
Всего голосов 29: ↑29 и ↓0+29
Комментарии45

Хитрые задачи по Java

Время на прочтение7 мин
Количество просмотров117K
Совсем недавно я сдал OCA Java SE 7 Programmer I. За время подготовки успел решить огромное количество задач и извлечь из них много тонких моментов языка. Самые интересные и ловкие — сохранял на будущее. И вот у меня накопилась небольшая личная коллекция, лучшую часть которой я здесь и опишу.

В замечательной статье Знаешь ли ты JAVA, %username% и её второй части автор тоже поделился опытом после подготовки. Однако я пришёл к выводу, что могу добавить что-то своё. Так и зародилась эта статья.

Читать дальше →
Всего голосов 75: ↑60 и ↓15+45
Комментарии81

Все о String.intern()

Время на прочтение4 мин
Количество просмотров120K
Думаю, что многие Java-разработчики знают или хотя бы слышали о методе String.intern(). Но далеко не каждый использует его в своих приложениях или представляет в каких случаях он полезен и полезен ли вообще. Так было и со мной до тех пор пока я не столкнулся с этим методом в одном из проектов. В тот момент я захотел узнать смысл и особенности его использования и набрел на одну весьма интересную статью ведущего разработчика Yahoo! по имени Ethan Nicholas, переводом которой теперь хочу поделиться с той частью Хабра-сообщества, которая не безразлична к языку Java.

Тем, кто знает об этом методе лишь понаслышке, добро пожаловать под кат.
Читать дальше →
Всего голосов 56: ↑49 и ↓7+42
Комментарии33

10 подкастов для изучения/продолжения изучения английского языка

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

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

Подкасты – это звуковые аудиофайлы в стиле радиопередач в интернете Как правило, подкасты имеют определенную тематику и периодичность издания. Каждый человек, у которого есть смартфон, может прослушивать подкасты. Для прослушивания подкастов у владельцев Apple есть родное приложение, называется «podcasts». Android пользователи могут использовать приложение «Podcast Addict».
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии42

Обзор бесплатных сервисов для веб-разработки

Время на прочтение4 мин
Количество просмотров143K
Пост является личной подборкой полезных и нужных онлайн сервисов, которые позволяют бесплатно (или условно бесплатно) создавать действительно крутые вещи и разворачивать их в Сети. Не претендую на новизну или на полноту, но буду счастлив, если кому пригодится.

Всем нам иногда хочется попробовать новую идею, запилить какой-нибудь сайтик про манулов, но чтоб обязательно на node.js, хайлоад реди, с мемкешем, монго, фейловером и с претензией на мировое господство. У меня для Вас хорошие новости: благодаря щедрости проклятых западных капиталистов всё это можно получить совершенно бесплатно.
Читать дальше →
Всего голосов 157: ↑136 и ↓21+115
Комментарии113

Каково оно учить JavaScript в 2016

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


— Эй, я получил новый веб-проект, но, если честно, я не занимался веб-кодингом в течение нескольких лет, и я слышал, все немного поменялось. Ты же самый современный веб-разработчик, правда?

— Это теперь называется Front-End инженер, но да, я — именно он. Я работаю с вебом в 2016. Визуализации, музыкальные плееры, летающие дроны, которые играют в футбол, все что угодно. Я только что вернулся из JsConf и ReactConf, так что я знаю новейшие технологии для создания веб-приложений.

— Круто. Мне нужно создать страницу, которая отображает последние действия со стороны пользователей, так что мне просто нужно получить данные от REST и отобразить их в какой-то фильтруемой таблице, ну и обновлять её, если что-то изменится на сервере. Я думал, может быть, использовать JQuery для извлечения и отображения данных?

— О, Мой Бог! Нет! Никто больше не использует JQuery. Ты должен попробовать React: это — 2016!
Читать дальше →
Всего голосов 260: ↑238 и ↓22+216
Комментарии298

Век играй — век учись. Кривая обучения компьютерных игр

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


Привет, я Мария Наместникова, гейм-дизайнер проекта Skyforge в Allods Team. Как известно, на просторах нашей необъятной родины дизайну игр как таковому нигде не учат. А потому я, как и все мы здесь, работаю в геймдеве не по образованию, а по призванию. Раньше я работала в другой крупной IT-компании и дела мои там шли вполне себе неплохо. Тем не менее, когда мне буквально как снег на голову свалилась возможность пройти собеседование в Allods Team, я не задумывалась ни секунды. Когда же я получила приглашение выйти на работу, то счастью моему не было предела — меня ждала работа мечты, сложная, но увлекательная. Работа, которая требует полного вложения сил и энергии, но взамен дает потрясающие результаты, которые можно посмотреть, пощупать, испытать на себе и почувствовать невероятное удовлетворение от того, что ты играешь в свою игру.

Читать дальше →
Всего голосов 95: ↑65 и ↓30+35
Комментарии45

С днем рождения, Станислав Лем

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

Источник

95 лет назад родился человек, чье имя навсегда внесено в пантеон лучших фантастов всех времен и народов. Но Станислав Лем не только отличный писатель, но также философ и футуролог, в середине 20 века давший удивительно точные предсказания о нашем времени.

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

Для Лема научная фантастика была задокументированной на бумаге формой мысленного эксперимента. Возможно, его идеи пригодятся и вам для создания нового революционного продукта.
Читать дальше →
Всего голосов 41: ↑40 и ↓1+39
Комментарии25

Учим английский дешево и эффективно

Время на прочтение9 мин
Количество просмотров160K
Английский можно выучить дешево, иногда даже бесплатно. В этой статье я расскажу про личный опыт: какой софт и ресурсы в Интернет оказались максимально эффективными для меня, и как ими правильно пользоваться.

Если вы не готовы тратить на английский хотя бы 2 часа в день, то дальше можно не читать.
Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии135

«Мы используем лишь 10% от всего мозга» и другие мифы

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


Во всех лабораториях, где я работала, упоминание фильма Люка Бессона «Люси» (2014) вызывало широкий спектр реакций, большинство из которых находилось в промежутке от усталого вздоха до плохо скрываемого напряжения вен на лбу. А его даже не все смотрели! Так почему же его так невзлюбили? Сам фильм вполне может быть развлекательным, но при этом он продолжает продвигать миф о том, что мы используем наш мозг лишь на 10% (после увеличения использования мозга до 90% героиня Скарлетт Йохансон научилась телепатии, телекинезу и антигравитации). Меня жутко угнетает зрелище того, как пропагандируют мифы о моей области деятельности. Поэтому я хотела разоблачить некоторые живучие мифы о самой удивительной вещи во Вселенной (ладно, постараюсь без фанатизма).

1) Мы используем лишь 10% от мощности нашего мозга


TL;DR: НЕТ нет нет НЕТ НЕТ нет НЕТ!
Читать дальше →
Всего голосов 68: ↑60 и ↓8+52
Комментарии220

Из чего готовят Google Analytics Cookies

Время на прочтение3 мин
Количество просмотров23K
печеньки
Добрый день.
Недавно одни из наших заказчиков выразили желание получать дополнительную информацию о посетителях своего сайта, конкретнее — о людях, заполнивших контактную форму. Это крупная европейская компания и им хотелось бы «фильтровать» своих потенциальных клиентов. Поясню на примере — допустим, решают они организовать выставку своего оборудования в Венгрии и им нужно решить, кто из венгров, оставлявших им свои контакты, скорее всего стоящий клиент, а кто «мимо проходил».
Основными показателями «надежности» клиента для нас стали: число посещений сайта, время проведенное на сайте, количество просмотренных страниц. Всю эту информацию мы получили из Google Analytics Cookies.

Что же из себя представляют печеньки от Google?

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

Проблемы передачи utf-8 из формы в JAX-RS (REST)

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

Введение


Для передачи данных от интерфейса веб-приложения есть несколько методов, но, пожалуй, самый распространенный — отправка формы с MIME-type application/x-www-form-urlencoded. Ещё один вариант — multipart/form-data.

В качестве серверной технологии для приема могут использоваться контроллеры в MVC-фреймворках (из основных Java-технологий следует упомянуть Spring MVC, Java Server Pages, Java Server Faces. Но эти фреймворки довольно сильно осложняют жизнь разработчику интерфейса, если он не знаком с Java или нужен шаг в сторону от того, что позволяет фреймворк. В случае же экспонирования REST-интерфейса бэкендом приложения разработкой фронта упрощается: ей может заниматься человек, знающий базовый javascript и jquery, независимый от разработки бэка. Кроме того, даже при использовании шаблонизатора, выбор сильно расширяется: Apache Velocity, FreeMarker (стоит упомянуть, что Spirng MVC неплохо интегрируется с последними). Тогда данные из формы на стороне сервера записываются в бины, с которыми связан данный view/controller. Правда, у JSF тоже наблюдалась генетическая проблема с кодировками, рассмотрение которой — тема для отдельной статьи.

Краткое введение в JAX-RS было дано в предыдущей статье. И экспонированный через JAX-RS интерфейс может принимать GET и POST запросы с данными форм. О проблемах данного подхода при использовании не-latin-1 и пойдет речь в данной статье.
Читать дальше →
Всего голосов 12: ↑10 и ↓2+8
Комментарии6

WebSockets — полноценный асинхронный веб

Время на прочтение7 мин
Количество просмотров344K
Пару недель назад разработчики Google Chromium опубликовали новость о поддержке технологии WebSocket. В айтишном буржунете новость произвела эффект разорвавшейся бомбы. В тот же день различные очень известные айтишники опробовали новинку и оставили восторженные отзывы в своих блогах. Моментально разработчики самых разных серверов/библиотек/фреймворков (в их числе Apache, EventMachine, Twisted, MochiWeb и т.д.) объявили о том, что поддержка ВебСокетов будет реализована в их продуктах в ближайшее время.
Что же такого интересного сулит нам технология? На мой взгляд, WebSocket — это самое кардинальное расширение протокола HTTP с его появления. Это не финтифлюшки, это сдвиг  парадигмы HTTP. Изначально синхронный протокол, построенный по модели «запрос — ответ», становится полностью асинхронным и симметричным. Теперь уже нет клиента и сервера с фиксированными ролями, а есть два равноправных участника обмена данными. Каждый работает сам по себе, и когда надо отправляет данные другому. Отправил — и пошел дальше, ничего ждать не надо. Вторая сторона ответит, когда захочет — может не сразу, а может и вообще не ответит. Протокол дает полную свободу в обмене данными, вам решать как это использовать.

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

Заинтриговал? Давайте посмотрим подробнее
Всего голосов 222: ↑210 и ↓12+198
Комментарии389

Дюк, вынеси мусор! — 1. Введение

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


Наверняка вы уже читали не один обзор механизмов сборки мусора в Java и настройка таких опций, как Xmx и Xms, превратилась для вас в обычную рутину. Но действительно ли вы в деталях понимаете, что происходит под капотом вашей виртуальной машины в тот момент, когда приходит время избавиться от ненужных объектов в памяти и ваш идеально оптимизированный метод начинает выполняться в несколько раз дольше положенного? И знаете ли вы, какие возможности предоставляют вам последние версии Java для оптимизации ответственной работы по сборке мусора, зачастую сильно влияющей на производительность вашего приложения?

Попробуем в нескольких статьях пройти путь от описания базовых идей, лежащих в основе всех сборщиков мусора, до разбора алгоритмов работы и возможностей тонкой настройки различных сборщиков Java HotSpot VM (вы ведь знаете, что таких сборщиков четыре?). И самое главное, рассмотрим, каким образом эти знания можно использовать на практике.
Узнать
Всего голосов 36: ↑36 и ↓0+36
Комментарии7

Эволюция Java на примере чтения строк из файла

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



Многие из нас помнят

'до Java 7' мучения:


        BufferedReader reader = null;
        try {
            reader = new BufferedReader(
                        new InputStreamReader(
                            new FileInputStream(FILE_NAME), Charset.forName("UTF-8")));
            String line;
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            // log error
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e) {
                    // log warning
                }
            }
        }

Читать дальше →
Всего голосов 34: ↑18 и ↓16+2
Комментарии17

Биологи из Чикаго утверждают, что разница между мужским и женским мозгом сильно преувеличена

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

Исследователи из Университета науки и медицины имени Розалинд Франклин (Северное Чикаго, Иллинойс, США), изучив десятки научных работ, пришли к выводу, что мозг мужчины и женщины практически не отличается – в частности, популярное мнение о том, что мужской гиппокамп больше женского, не соответствует действительности.

Для составления заключения исследователи рассмотрели 76 работ, в общей сложности охватывающих МРТ-сканирование более 6000 человек. При формировании вывода учёными применялась техника мета-анализа, позволяющая скомпилировать данные из различных научных источников.

«Половые отличия в мозгах чрезвычайно привлекательны для людей, ищущих простые объяснения стереотипным различиям между мужчинами и женщинами,- говорит Лайз Элиот [Lise Eliot], доктор философии, ассистент-профессор института (и женщина). – Обычно исследования с подобными результатами имеют большой отклик, но основываются на небольшой выборке. Но, исследовав большой объём данных, и объединив информацию по исследованию как мужчин, так и женщин, мы находим, что эти отличия либо вовсе отсутствуют, либо являются незначительными».

Гиппокамп – парная часть головного мозга, расположенная в обоих полушариях. Считается, что он участвует в формировании эмоций, и перевода краткосрочной памяти в долгосрочную, а также помогает ориентироваться в пространстве. В гиппокампе существуют «нейроны места», активизирующиеся в тот момент, когда индивидуум распознаёт своё положение на местности.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии68

Решение проблем с портами в Apache в Windows

Время на прочтение3 мин
Количество просмотров189K
Уже не раз сталкивался с проблемой, что Apache не может запустится из-за того, что другой процесс уже использует 80 порт. Собственно после долгого и мучительного серфинга по просторам русскоязычного, а потом и англоязычного интернета насобирал всесозможные способы устранения и причины появления данной проблемы. Эти самые причины и способы их решения и хочу перечислить здесь.

(OS 10048) Only one usage of each socket address (protocol/network address/port) is normally permitted. : make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down


Читать дальше →
Всего голосов 20: ↑13 и ↓7+6
Комментарии13

Геймификация как способ мотивации: подборка устройств и софта, которые заставляют менять жизнь к лучшему

Время на прочтение3 мин
Количество просмотров19K
О феноменальных возможностях игрового начала известно еще со времен Античности, и в более поздние времена и эпохи и психологи, и культурологи, и педагоги отмечали выдающуюся роль игры в воспитании, обучении или выработке каких-либо привычек.

Одним из первых, кто увидел в игре большой потенциал был Аристотель. Интересно посмотреть антитетичные тезисы Платона, который то признает, что игра — нечто несерьезное, но с другой стороны игра — это движение, развитие по каким-то законам, что несет в себе в том числе воспитательное зерно.



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

Один из самых монументальных трудов на тему — "Homo Ludens", где выдающийся философ Йохан Хейзинга говорит об универсальности игры в человеческой жизни и указывает на то, что она сильно древнее цивилизации, так как игры можно наблюдать еще у животных.

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



Увлекшись этими мыслями сегодня мы решили предложить вам короткую подборку интересных программ и девайсов, которые в игровой форме могут изменить жизнь к лучшему. Приятное с полезным по трем категориям — под катом.
Читать дальше →
Всего голосов 9: ↑7 и ↓2+5
Комментарии4

Информация

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