Pull to refresh
15
0
Нияз Губайдуллин @guestfromEarth

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

Send message

Почему я перешёл на фултайм в НКО

Reading time6 min
Views32K

Привет, Хабр!

Люди, обладающие практическими навыками в сфере IT, востребованы в некоммерческом секторе все сильнее. В ОВД-Инфо, независимом правозащитном проекте, спрос на таких людей постоянно растет. В своей работе мы применяем много интересных инструментов и технологий, некоторые из которых разрабатываем сами, например, наш самый известный сервис — правовой бот для помощи задержанным OvdInfoBot. Мы считаем IT одной из своих важных и сильных составляющих.

Меня зовут Костя, я представляю IT-команду ОВД-Инфо, и начиная с этой статьи мы с коллегами хотим делиться с сообществом нашей внутренней технической кухней, разработками и практиками, которые мы используем, чтобы получить полезную критику и привлечь к нашему и другим некоммерческим проектам дополнительную экспертизу.

Начать хочется с личной истории — расскажу вам о том, как случился крутой поворот в моей карьере и как решение стать участником IT-команды ОВД-Инфо изменило мою жизнь к лучшему.

Читать далее
Total votes 390: ↑355 and ↓35+320
Comments91

Если у родителей нет планов на будущее собственного ребенка, они есть у государства

Reading time4 min
Views46K

Если у подростка, а потом и у взрослого тоже нет планов на собственное будущее — вы уже знаете ответ. До этого важного тезиса мне пришлось идти овердофига лет. 

Иными словами.

Читать далее
Total votes 167: ↑118 and ↓49+69
Comments435

Неужели нельзя обойтись без кафок и рэббитов, когда принимаешь 10 000 ивентов в секунду

Reading time7 min
Views29K

Однажды я вел вебинар про то, как принимать 10 000 ивентов в секунду. Показал картинку, зрители увидели сиреневый слой, и началось: «Ребят, а зачем нам все эти кафки и рэббиты, неужели без них не обойтись»? Мы и ответили: «Зачем-зачем, чтобы пройти собес!»

Очень смешно, но давайте я все-таки объясню.

 

Читать далее
Total votes 50: ↑43 and ↓7+36
Comments44

Программисту. 10 ценных GitHub-репозиториев

Reading time3 min
Views44K
GitHub — это платформа, дающая программистам отличные инструменты для организации работы над кодом. Но в GitHub-репозиториях, помимо кода, можно найти массу ценных учебных материалов. Я, например, занимаюсь разработкой ПО и постоянно ищу репозитории, которые могут чем-то мне пригодиться. Вот 10 моих любимых GitHub-проектов.


Читать дальше →
Total votes 73: ↑55 and ↓18+37
Comments9

9 тяжёлых уроков, которые я усвоил за 18 лет разработки

Reading time8 min
Views61K
Я начал писать код в моей комнате родительского дома, когда мне было 14. Помню, как читал всё, что мог достать с помощью своего медленного соединения с Интернетом. Затем, когда мне было 20, я подписал первый контракт, став веб-разработчиком и изучая PHP и JavaScript. Мне потребовалось 18 лет, чтобы осознать, что кодинг — только часть профессии. Заметьте, я по-прежнему наслаждаюсь кодингом. Не думаю, что когда-нибудь перестану программировать, даже если это станет просто моим хобби, но есть нечто гораздо большее, чем код. Вот почему я хочу поделиться своим опытом. Я думаю, что иногда разработчики усваивают эти уроки слишком поздно.

Приятного чтения
Total votes 90: ↑81 and ↓9+72
Comments142

Здравствуй, дорогой я двадцать лет назад

Reading time18 min
Views48K


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

Читать дальше →
Total votes 123: ↑117 and ↓6+111
Comments113

План подготовки к собеседованию на позицию Java разработчика

Reading time5 min
Views62K
Каждый раз, готовясь к собеседованиям на позицию «Java разработчик», я понимаю, что мне бы очень помог конкретный план подготовки. Поэтому все свои записи, накопившиеся в ходе прохождения собеседований, было решено структурировать и опубликовать. Надеюсь, кому-то этот план будет полезен.

И я намеренно не пишу, для кого предназначен этот план подготовки: для senior, middle или junior разработчика — все зависит от конкретной вакансии и от требований работодателя. Поэтому опирайтесь на этот план, но фильтруйте и в то же время не воспринимайте его как исчерпывающее руководство.

  1. Java core. Здесь можно ориентироваться например на книгу «OCP: Oracle Certified Professional Java SE 8 Programmer II Study Guide: Exam 1Z0-809» для подготовки к Java сертификации уровня Professional. Есть подобная книга «OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808» для уровня Associate — на нее тоже можно взглянуть. Пройдитесь по оглавлению и выделите для себя, что можно повторить. Конечно же, не стоит пускаться во все тяжкие и читать книгу от корки до корки — многие темы из этой книги можно обойти стороной, например форматирование дат. Выделите самое основное. Например для меня это были следующие темы: коллекции (стандартные вопросы «Как устроена HashMap?» или «Чем отличается LinkedList от ArrayList?» все также часто задают на собеседованиях), дженерики, функциональные интерфейсы, многопоточность (тут тоже фильтруйте — не нужны вам cyclic barrier и fork join framework).
    Также не забывайте проецировать знания на свой опыт. Например, когда вам приходилось использовать многопоточное программирование? Какие проблемы вы решали? Какие блокировки использовали?
  2. Многопоточность.
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments16

11 JavaScript-библиотек для визуализации данных, о которых стоит знать в 2018 году

Reading time7 min
Views41K
Мы живём во времена взрывного роста объёмов данных, генерируемых и потребляемых человечеством. Практически в каждом из разрабатываемых сегодня приложений данные либо используются где-то внутри них, либо визуализируются. Программисты, используя данные, стремятся сделать работу с их программами максимально комфортной.

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

Данные, которые представляют пользователю приложения, не только должны иметь для него ценность сами по себе. Их следует оформлять так, чтобы с ними было быстро, удобно и приятно работать.

image

Сегодня мы представляем вашему вниманию перевод материала, в котором рассмотрены опенсорсные JavaScript-библиотеки для визуализации данных.
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments19

Об отличниках на трезвую голову

Reading time10 min
Views40K
В самый разгар праздников на Хабре вышел первый холивар 2018 года — статья о том, почему плохо быть отличником. Статья неоднозначная, но рациональная и сильная хотя бы потому, что она затрагивает серьёзный вопрос, который стоит перед всеми работодателями и перед ИТ-отраслью в частности. Даже удивительно, почему никто раньше не поднимал здесь эту тему, ведь это, в том числе, проблема компаний. Собственно, именно поэтому автор в конце обратилась к работодателям с просьбой об адаптации. И знаете, с отличниками в бизнесе иногда и правда непросто, но в целом это или хорошие работники, или блестящие исполнители, или интеллектуальные новаторы. И очень редко — обиженные злыдни. В общем, всё сложно, и нам есть что сказать по этому поводу.


Читать дальше →
Total votes 71: ↑52 and ↓19+33
Comments120

Решение, которое нужно принять, чтобы не жалеть о жизни через 30 лет

Reading time6 min
Views134K


«Определение ада: «Тот человек, которым вы стали, в свой последний день на земле встретится с человеком, которым вы могли бы стать».
— Автор неизвестен


Читать дальше →
Total votes 90: ↑72 and ↓18+54
Comments173

11 библиотек (наборов компонентов) для Angular, о которых стоит знать в 2018-м

Reading time4 min
Views34K
11 библиотек (наборов компонентов) для Angular, о которых стоит знать в 2018-м
11 библиотек (наборов компонентов) для Vue, о которых стоит знать в 2018-м
11 библиотек (наборов компонентов) для React, о которых стоит знать в 2018-м

Перед вами третий материал из серии, посвящённой обзору библиотек для популярных веб-фреймворков. В прошлые разы мы говорили о React и Vue. Сегодня наша тема — Angular. В этом материале, помимо традиционных 11-ти библиотек, мы упомянем ещё несколько наборов инструментов, достойных внимания.

image
Читать дальше →
Total votes 32: ↑30 and ↓2+28
Comments8

Блеск и нищета джавовых веб-фреймворков

Reading time8 min
Views38K

Привет, Хабр! Помоги выбрать веб-фреймворк? Требования: модный, молодежный, популярный, качественный фреймворк для соло-технономада.


Надо ли нам каждый месяц читать очередной пост про это?



Несколько лет участия в проектах на границе энтерпрайза и системщины окончательно отбили нюх. Чтобы разобраться в вопросе, я заглянул в топ гугла и обнаружил там кучу однобоких рейтингов. Наверное, самым лучшим оказался Java Web Frameworks Index от ZeroTurnaround.

Читать дальше →
Total votes 46: ↑44 and ↓2+42
Comments155

Внутреннее устройство и оптимизация бандла webpack

Reading time15 min
Views44K
Webpack фактически стал стандартом для сборки крупных приложений на JS. Его используют практически все. Для разработчика webpack выглядит как магический черный ящик: если забросить в него файлы и небольшой конфиг, на выходе автоматически появится бандл.

Чтобы разобраться в секретах этой магии, мы обратились к эксперту, человеку, который неоднократно залезал внутрь webpack, — Алексею Иванову. Он готов объяснить, как выглядит бандл изнутри, как на него влияют разные настройки, к чему и почему могут привести некоторые из них, а также рассказать, как все это отладить и оптимизировать.


В основе материала — доклад Алексея Иванова на конференции HolyJS 2017, проходившей в Санкт-Петербурге 2-3 июня.
Total votes 56: ↑54 and ↓2+52
Comments23

Языки России в Интернете

Reading time15 min
Views34K

Я начал писать этот текст уже давно, так что он не планировался как политически актуальный. Но так вышло, что именно в эти дни у СМИ появился инфоповод, связанный с малыми (миноритарными) языками России. Возможно, что исследование, о котором я пишу ниже, что-то кому-то в этом смысле прояснит.


Сколько в России языков?


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


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


А насколько эти языки адаптировались к новым цифровым реалиям? Правда ли, что на них говорят только в отдалённых горных аулах? Или всё-таки они являются полноправным способом онлайн-общения? Несколько лет назад мы с коллегами решили это выяснить.

Читать дальше →
Total votes 81: ↑79 and ↓2+77
Comments1069

Самое сложное в программировании это…

Reading time7 min
Views128K


Мне очень понравилась ветка обсуждений на Quora.com: What is the hardest part about learning to program? Все 87 ответов я так и не прочитал, но понравившиеся, выделил в отдельную статью из 10 пунктов. Это вольный пересказ мнений многих разных людей. Если читателям будет интересно, я продолжу.

1. Разница между высокими стандартами и своими низкими умениями


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

Что касается необычайных преимуществ программирования, то вот они:
Читать дальше →
Total votes 86: ↑83 and ↓3+80
Comments131

Все способы вертикального выравнивания в CSS

Reading time6 min
Views776K
image

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

Да, для вертикального выравнивания в CSS есть специальное свойство vertical-align с множеством значений. Однако на практике оно работает совсем не так, как ожидается. Давайте попробуем в этом разобраться.

Читать дальше →
Total votes 42: ↑40 and ↓2+38
Comments20

Архитектура микросервисов

Reading time18 min
Views258K


К сожалению, у меня нет опыта работы с микросервисами, но около года назад я очень активно интересовался этой темой и изучил все источники информации, какие смог найти. Я просмотрел несколько выступлений на конференциях, прочитал несколько статей очень авторитетных и опытных специалистов вроде Мартина Фаулера, Фреда Джорджа, Эдриана Кокрофта и Криса Ричардсона, чтобы как можно больше узнать о микросервисах. Эта статья — результат моих изысканий.
Total votes 79: ↑75 and ↓4+71
Comments267

Как стареть в IT

Reading time10 min
Views112K
После нескольких лет насмешек над предрассудками в области информационных технологий я — будучи белым мужчиной с совсем не седыми, густыми волосами — начинаю сталкиваться с предубеждением по отношению к моему возрасту. Это правда, дискриминация по возрасту реальна.

С 2008 года количество жалоб на дискриминацию по возрасту выросло до 25 000 в год. Можно возразить, что мы везде вынуждены «крутиться» сейчас и всегда найдётся кто-то, кто пожалуется на какую-то несправедливость. Конечно, ОК! Давайте не будем принимать во внимание жалобы. Просто посмотрим на средний возраст сотрудников известных IT-компаний. Фейсбук: 28. LinkedIn: 29. Гугл: 30. Чтобы увидеть объективно — средний возраст работника в США составляет 42 года. Это намного выше среднего возраста в названных выше компаниях. Даже сам Марк Цукерберг однажды публично высказался на каком-то мероприятии в Стэнфорде: «Я хочу подчеркнуть важность быть молодым и технически подготовленным. Молодые люди просто умнее.»
Читать дальше →
Total votes 132: ↑128 and ↓4+124
Comments214

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

Reading time7 min
Views47K
Статью начинал писать в конце ноября, возможно её придётся немного корректировать, так как есть изменения в законодательстве о пед.деятельности.

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

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

image
Читать дальше →
Total votes 90: ↑81 and ↓9+72
Comments304
1
23 ...

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Registered
Activity