Search
Write a publication
Pull to refresh
16
0.1
Нияз Губайдуллин @guestfromEarth

Java-разработчик

Send message

Пособие по webpack

Reading time8 min
Views348K


Давайте сначала разберемся, зачем нужен вебпак (webpack), и какие проблемы он пытается решить, а потом научимся работать с ним. Webpack позволяет избавиться от bower и gulp/grunt в приложении, и заменить их одним инструментом. Вместо bower'а для установки и управления клиентскими зависимостями, можно использовать стандартный Node Package Manager (npm) для установки и управления всеми фронтэнд-зависимостями. Вебпак также может выполнять большинство задач grunt/gulp'а.


Bower это пакетный менеджер для клиентской части. Его можно использовать для поиска, установки, удаления компонентов на JavaScript, HTML и CSS. GruntJS это JavaScript-утилита командной строки, помогающая разработчикам автоматизировать повторяющиеся задачи. Можно считать его JavaScript-альтернативой Make или Ant. Он занимается задачами вроде минификации, компиляции, юнит-тестирования, линтинга и пр.

Допустим, мы пишем простую страницу профиля пользователя в веб-приложении. Там используется jQuery и библиотеки underscore. Один из способов — включить оба файла в HTML:

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

Webpack + React. Как уменьшить бандл в 15 раз

Reading time3 min
Views56K
image

Ясной инструкции по сборке webpack для продакшена я не нашел. Поэтому решил написать эту статью. Надеюсь, пригодится.
Существует множество сборщиков скриптов. Я выбрал для себя Webpack по таким критериям:

  • Гибкость настройки
  • Большое количество плагинов и лоадеров
  • Lazy loading
  • Использование es6 и es7 синтаксиса с помощью babel-loader

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

В защиту посредственности

Reading time8 min
Views53K


Вот есть такой парень. Всемирно известный миллиардер. Технический гений, изобретатель и предприниматель. Физически развитый, талантливый и симпатичный, с такой точёной челюстью, будто сам Зевс спустился с Олимпа и самостоятельно высек из камня эту скотину.

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

Его улыбка способна растопить комнату. В его обаянии можно купаться. Половина его друзей появлялась на обложке журнала Time под заголовком «Человек года». Другой половине на это наплевать, они могли бы купить этот журнал, если бы захотели. И если этот парень не путешествует по миру в своём реактивном самолёте и не создаёт новейшую технологическую инновацию для спасения планеты, он проводит время, помогая слабым, беспомощным и угнетённым.

Этот человек, как вы уже догадались, Брюс Уэйн. Также известный, как Бэтмен. И (спойлер) его не существует. Он выдуман.

Интересная грань человеческой натуры – нам необходимо придумывать персонажей, совершенных во всех смыслах и воплощающих всё, чего мы желаем сами. В средневековой Европе ходили истории о галантных рыцарях, убивающих драконов и спасающих принцесс. В Древнем Риме и Греции были мифы о героях, в одиночку выигрывавших войны и иногда сражавшихся против самих богов. В любой другой культуре полно таких выдуманных историй.

Как сохранить здоровые отношения, будучи разработчиком

Reading time3 min
Views31K


Нам всем знакомо это чувство.


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


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


Такая жизнь с лёгкостью превращается в наркоманию. И наркомания эта — одна из самых коварных. Но она не воспринимается как физическое привыкание… скорее, как продуктивность.


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


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


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

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

Angular2: RC4 to RC5 Unit Tests Migration Guide

Reading time8 min
Views11K
image

Сразу скажу, что я не любитель Angular1, angular-way и иже с ними, потому как ребята из Angular таких делов наворотили, что иногда диву даешься. Тем не менее, их новое детище выглядит многообещающе. Да, Америку не открыли, но создали нечто, способное конкурировать с популярными современными фреймворками (React + Redux, Aurelia, и т.д.).

Есть и плюсы, и минусы, о которых уже написаны статьи и даже книги, но суть поста в другом.

RC5 вышел всего неделю назад и «порадовал» разработчиков многими изменениями, которые, возможно, и помогают в работе и упрощают жизнь, но заставят серьёзно попотеть над переписыванием уже написанного кода.
Читать дальше →

Современная WEB-разработка. Как мы пришли к такому?

Reading time2 min
Views26K
Современный мир веб-разработки превратился в один большой костыль. Причем костыль, которому, чтобы хоть как-то работать, необходимо еще пару тысяч костылей, склееных скотчем.

Костыли нас поджидают повсюду: начиная от серверных заголовков призванных обеспечить безопасноть приложений (CSP), заголовков, обеспечивающих взаимодействие между приложениями (Cross-origin resource sharing), и заканчивая инструментариями сборки.

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

Очередное обещание Персеид и другие события астрономической осени 2016

Reading time2 min
Views15K


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

Frontend-разработчики должны быть в теме всего

Reading time7 min
Views207K

Мысли Криса Койера


Одна из мыслей, которая поселилась в моей голове: должен ли frontend-разработчик быть в курсе всего? В общем смысле, frontend-разработчик может использоваться и на других рабочих местах. Вся команда разработчиков заканчивает разговор на frontend-разработчике. В этом смысл моей идеи. Frontend-разработчики создают те вещи, с которыми будут взаимодействовать люди. Все этапы разработки проходят вместе с frontend-разработчиком. Возможно, именно поэтому это такая забавная работа! Поскольку frontend-разработчик занимает центральное место в цепочке разработки, и при этом мы имеем дело с большим количеством разных специалистов, мы должны понимать их работу и иногда подсказывать, что и как сделать лучше.

От переводчика


Всем привет, с вами Максим Иванов, и сегодня мы поговорим на довольно острую тему в сфере веб-разработки. Как утверждает Крис Койер, frontend-разработчик должен разбираться в очень многих вещах, о которых не все даже и задумываются. Конечно, мы должны понимать, что frontend-разработчик не главный в процессе разработки любого онлайн-сервиса или ПО в целом. На ту же позицию frontend-разработчика вы найдете больше откликов на вакансию, чем на позицию backend-разработчиком. Но почему же тогда Крис Койер считает, что работать frontend-разработчиком сложнее, ибо ты должен специализироваться во всем. Конечно, ситуаций в жизни очень много, разные компании по-разному используют своих специалистов, но в чем наверняка должен разбираться frontend-разработчик? Об этом мы сегодня и поговорим. Жду комментариев на эту тему, а сейчас приступим.
Читать дальше →

Spring/Jackson + @JsonView: фильтруем JSON

Reading time3 min
Views36K

Здравствуйте!

Недавно в своем учебном Spring проекте Java Enterprise (Topjava) столкнулся с задачей каcтомизации сериализации объекта User в JSON в зависимости от контроллера: для REST API контроллера нужно было возвращать хешированный пароль (поле user.password), а для контроллера отображения на UI- нет. Можно решить задачу в «лоб», сделав нестолько TO (Data Transfer Object), но в Spring 4.2+/Jackson 2.6 появилась возможность использовать Jackson’s Serialization Views. Однако с статье есть подвох, и для невнимательных читателей вьюхи работают не так, как он ожидает.

В результате мне пришлось немного покопаться в реализации Jackson, чтобы понять, как все это работает. Коротко об этом:
under cut

У вас нет высыпаний? Будут

Reading time5 min
Views64K
Меня зовут Евгений и я жаворонок. Сегодня проснулся в 6 утра, открыл окно в кухне, заварил кофейку и решил глянуть, «что нового». Мне написал мой бывший коллега «Андроид»… Точнее «Андроид-разработчик» Максим, но так звучит фантастичнее…

image

Он спросил:
– Женя, привет. (wave) Вопрос к тебе, как мега лайв хакеру. Сколько времени нужно спать, что бы мозг отдохнул и можно было плодотворно работать? Умные будильники сильно помогают?

Я ответил, а потом подумал, ведь и парочке сотен человек с Хабра тоже пригодится хоть один пунктик из вычитанных мною ранее советов, ведь «так как никто не слушает, приходится повторять»:
Читать дальше →

Маслобойка

Reading time4 min
Views48K

Ты слышал про парня, который попрощался с OOП?


О нет. Ещё один? Что же он сказал?

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


Ох. Да, я слышал всё это раньше...

Таким образом, OOП окончательно умерло, и мы можем двигаться дальше.


Двигаться дальше к чему?

Ты чего? К следующему технологическому прорыву, конечно!


А, к этому… И что там у нас на очереди?

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

Взлёт и падение (в основном падение) Yahoo

Reading time5 min
Views29K


Недавно компания Yahoo сообщила, что продаёт сотовому оператору Verizon свои основные профильные активы за 4,8 млрд. долларов. Это лишь немногим больше, чем Verizon в прошлом году заплатила за AOL  — другую потерпевшую неудачу компанию эпохи взлёта интернета.

Рыночная капитализация Yahoo в 2000 году составляла 125 млрд. долларов. Следующие 16 лет она постоянно снижалась, в основном из-за бездействия и упущенных возможностей.

Можно составить целый MBA-курс, исследуя все грубые стратегически ошибки, которые сделала Yahoo. Я сэкономлю вам некоторую сумму на обучение и дам краткую справку прямо здесь, за 5 минут.
Читать дальше →

22 сообщения надежды (и науки) для креационистов

Reading time13 min
Views35K

Никакого сарказма, никакого осуждения – просто честные ответы на 22 вопроса от креационистов.



В науке часто бывает, что учёные говорят, «Знаете, ваш аргумент очень хорош; я ошибался» и затем они на самом деле меняют мнение и их старых представлений от них уже не слышно. Они на самом деле так поступают. Это случается не так часто, как хотелось бы, поскольку учёные – это люди и иногда перемены причиняют боль. Но это происходит ежедневно. Не помню, когда в последний раз что-то подобное происходило в политике или религии.
— Карл Саган


Вчера спор по теме эволюции и креационизма продолжался два с половиной часа. Сегодня я обнаружил этот пост на Buzzfeed, на который ссылаются все кому не лень. Он, судя по всему, издевается над креационистами, показывая «глупые и высокомерные» вопросы или сообщения, которые они адресуют людям, верящим в эволюцию.

Но если вы только и занимаетесь тем, что насмехаетесь над несогласными с вами людьми, вы упускаете шанс честно подискутировать с ними, узнать, откуда они, и, возможно, научить их чему-то, чего они могли не знать. Я не биолог; я астрофизик, но когда я увидел эти 22 сообщения, я задумался о большом количестве молодых людей, которых я встречал в жизни в школах, классах и образовательных ситуациях. Если бы эти вопросы были адресованы мне, чтобы я сказал?
Читать дальше →

10 ошибок, приводящих к оверинжинирингу ПО

Reading time9 min
Views55K
Несколько вещей гарантированно будут увеличиваться со временем: расстояния между звёздами, энтропия вселенной и бизнес-требования к ПО. Многие статьи пишут «Не усложняйте!», но не пишут почему или как это сделать. Вот вам 10 ясных примеров.

1. Инженерам виднее

Мы, инженеры, считаем себя умнейшими людьми. Ну, поскольку мы создаём разные штуки. И эта ошибка часто приводит к оверинжинирингу. Если вы спланировали и построили 100 модулей — Бизнес всегда попросит у вас 101-ый, о котором вы никогда не задумывались. Если вы соберётесь с силами и решите 1000 проблем — они придут к вам и выложат на стол 10 000 новых. Вы считаете, что у вас всё под контролем, а на самом деле вы даже не представляете, в каком направлении вас завтра поведёт дорога.

image

За мои 15 лет работы программистом я ещё ни разу не видел, чтобы Бизнес выдал законченные и стабильные раз и навсегда требования к ПО. Они всегда меняются, расширяются. И это природа бизнеса, а не ошибки людей, управляющих им.

Мораль: Казино (бизнес) всегда побеждает.
Читать дальше →

Самозанятость — не свобода. Миф о счастливой жизни предпринимателя

Reading time5 min
Views35K


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

Я могу понять привлекательность этого. Это — тот стиль жизни, который настойчиво продвигают многие предприниматели, размещающие свои фотографии в Инстаграмме с припиской "мой сегодняшний офис" — и всегда таким офисом оказывается пляж в Таиланде.
Читать дальше →

Почему прерванный сон – это отличное время для творческой работы

Reading time9 min
Views32K

Когда-то люди просыпались в середине ночи, чтобы подумать, сделать записи или заняться любовью. Что мы потеряли, засыпая на всю ночь?




4:18 утра. В очаге сгорели дрова, и остались только оранжевые кусочки, которые скоро превратятся в пепел. Орион-охотник взошёл над холмом. Мерцающее «V» Тельца стоит прямо над головой, и указывает на Семерых сестёр. Сириус, одна из собак Ориона, мерцает красным, голубым, фиолетовым – как галактический диско-шар. Ночь продолжается, и старый пёс вскоре сядет за холмом.

4:18 утра, и я не сплю. Такое раннее пробуждения обычно считается нарушением, сбоем в естественном ритме тела – признаком депрессии, или возбуждения. Действительно, после пробуждения в 4 утра в голове моей жужжало. И хотя я человек позитивный, но когда я лежу в темноте, в мыслях появляется волнение. Мне кажется, что лучше встать, чем лежать в постели, балансируя на грани лунатизма.

Если я пишу в эти часы, чёрные мысли становятся чёткими и красочными. Они формируются в слова и предложения, одно цепляется за другое – будто вереница слонов, держащихся хоботами за хвосты. В это время ночи мой мозг работает по-другому: я могу писать, но не редактировать. Могу добавлять, но не отнимать. Для чёткости необходимо дневное сознание. Я работаю несколько часов, а затем снова засыпаю.

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

Римляне, греки, инки просыпались без айфоновских будильников или цифровых радиочасов. Их временем заведовала природа: восход солнца, вечерний хор, нужды полевых культур или домашнего скота. До 14 века ход времени отмечался солнечными и песочными часами, а затем на монастырях и церквях появились первые механические часы. К 1800-му году механические часы уже вовсю носили на шее, запястьях и лацканах. Можно было назначать встречи, время для принятия пищи и отхода ко сну.

Общества, построенные на индустриализации и точном времени, породили понятие срочности и такие концепции, как «вовремя» или «потеря времени». Часы начали всё сильнее расходиться с естественным временем, но свет и тьма всё ещё управляли рабочими часами и социальными структурами. Но всё поменялось в 19 веке.
Читать дальше →

Тестирование в Java. JUnit

Reading time8 min
Views537K

Сегодня все большую популярность приобретает test-driven development(TDD), техника разработки ПО, при которой сначала пишется тест на определенный функционал, а затем пишется реализация этого функционала. На практике все, конечно же, не настолько идеально, но в результате код не только написан и протестирован, но тесты как бы неявно задают требования к функционалу, а также показывают пример использования этого функционала.

Итак, техника довольно понятна, но встает вопрос, что использовать для написания этих самых тестов? В этой и других статьях я хотел бы поделиться своим опытом в использовании различных инструментов и техник для тестирования кода в Java.

Ну и начну с, пожалуй, самого известного, а потому и самого используемого фреймворка для тестирования — JUnit. Используется он в двух вариантах JUnit 3 и JUnit 4. Рассмотрю обе версии, так как в старых проектах до сих пор используется 3-я, которая поддерживает Java 1.4.

Я не претендую на автора каких-либо оригинальных идей, и возможно многим все, о чем будет рассказано в статье, знакомо. Но если вам все еще интересно, то добро пожаловать под кат.
Читать дальше →

Между сном и явью: место, где рождаются идеи

Reading time2 min
Views8.6K


Как часто у вас бывает такое, что когда вы уже почти заснули, вам в голову неожиданно приходит совсем неплохая идея?

Ньютон предположительно спал, перед тем как ему на голову упало яблоко. Менделеев свою таблицу придумал во сне. У Сальвадора Дали был особый метод — он спал на работе. Если верить рассказам Дали, он дремал за мольбертом, держа в руке ключ, кисть или ложку. Когда предмет выпадал и ударялся о положенную заранее на пол тарелку, грохот будил художника. И он немедленно брался за работу, пока не улетучилось состояние между сном и явью.

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

Бесконечная прокрутка против разбивки на страницы

Reading time7 min
Views48K
Ник Бабич разработчик, теч энтузиаст и просто влюбленный в UX/UI специалист написал заметку в блоге UX Planet про бесконечную прокрутку, мы сделали адаптивный перевод материала специально для читателей Хабрахабр.

image

«Что же мне выбрать для своего контента: бесконечную прокрутку, или разбивку на страницы?» Некоторые дизайнеры по-прежнему занимаются перетягиванием каната между двумя методами, прежде чем решить, что же использовать в своем проекте. У каждого из методов есть свои сильные и слабые стороны. В этой статье мы предлагаем обзор двух методик, чтобы вам было проще решить, какую из них стоит использовать в своих проектах.
Читать дальше →

Information

Rating
6,382-nd
Location
Казань, Татарстан, Россия
Registered
Activity