Pull to refresh
8
0
Данил Юсупов @DanilYusupov

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

Send message

Опыт построения и эксплуатации большого файлового хранилища

Reading time17 min
Views40K
Даниил Подольский

Даниил Подольский (Git in Sky)


Рассказ о том, что каждый инженер должен сделать в своей жизни после того, как он родил ребенка, посадил дерево и построил дом – это сделать свое файловое хранилище.

Доклад мой называется «Опыт построения и эксплуатации большого файлового хранилища». Большое файловое хранилище мы строим и эксплуатируем последние три года. В тот момент, когда я подавал тезисы, доклад назывался «Ночью через лес. Опыт построения эксплуатации бла-бла-бла». Но программный комитет попросил меня быть серьезнее, тем не менее, на самом деле это доклад «Ночью через лес».
Total votes 34: ↑26 and ↓8+18
Comments25

Путеводитель по программе JPoint 2019

Reading time9 min
Views4.8K

Последний месяц зимы подходит к концу, и просыпается здоровое желание сходить на какую-нибудь большую Java-конференцию. Благо, всего месяц остался до JPoint 2019 — международной Java-конференции, которая пройдёт в начале апреля в Москве. Программа почти стабилизировалась, и настало время раскрыть все карты.


Программа нового JPoint огромная: два дня, каждый день по двадцатке докладов. На какие из них идти? Можно упростить себе задачу, разбив доклады на несколько категорий:


  • VM & Runtime — 8 хардкорных докладов от лидеров индустрии: Oracle, BellSoft, IBM, Azul, Excelsior, Одноклассники и GridGain;
  • Enterprise — 5 докладов от российских и международных энтерпрайзов: Spring, JavaEE, Liferay, Vaadin, Kafka, Netflix OSS vs Kubernetes, архитектура больших систем;
  • Reactive — 10 докладов про страшный и волшебный реактивный мир: Spring Web Reactive Framework, Spring Project Reactor, RSocket, Reactive Streams, реактивная архитектура;
  • Languages — 7 докладов по языкам: Java 9-12 (deputy CTO Azul), Kotlin и Kotlin/Native (JetBrains), Scala, функциональное программирование;
  • Tooling — 5 докладов про тулинг: создатель Jenkins (CEO CloudBees), разработчики Gradle и IntelliJ IDEA;
  • Несколько докладов вне категорий.

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


Читать дальше →
Total votes 33: ↑33 and ↓0+33
Comments2

React & БЭМ – официальная коллаборация. Часть историческая

Reading time17 min
Views29K

Перед вами история интегрирования БЭМ-методологии в React-вселенную. Материал, который вы прочитаете, построен на опыте разработчиков Яндекса, развивающих самый масштабный и нагруженный сервис в России — Яндекс.Поиск. Мы никогда раньше не рассказывали настолько подробно и глубоко о том, почему делали так, а не иначе, что нами двигало и чего мы действительно хотели. Внешнему человеку доставались сухие релизы и обзоры на конференциях. Лишь в кулуарах можно было услышать нечто подобное. Я как соавтор негодовал из-за скудности информации снаружи каждый раз, когда рассказывал о новых версиях библиотек. Но в этот раз мы поделимся всеми подробностями.



Все слышали о методологии БЭМ. CSS-селекторы с подчёркиваниями. Компонентный подход, о котором говорят, имея в виду способ написания CSS-селекторов. Но про CSS в статье не будет ни слова. Только JS, только хардкор!

Total votes 46: ↑44 and ↓2+42
Comments42

Как стать Java разработчиком за 1,5 года

Reading time10 min
Views309K

Меня зовут Сергей, мне 40 лет и сейчас я работаю Java разработчиком в немецкой компании. Мы занимаемся разработкой программного обеспечения для пивоварен оценки финансовых и кредитных рисков. Это моя первая работа в качестве разработчика. До этого я работал в сфере IT-поддержки и системной интеграции. Первого февраля 2019 г. закончился мой шестимесячный испытательный срок, и у меня на руках бессрочный контракт. Я хочу поделиться своим опытом, как можно самостоятельно выучить Java так, чтобы получить работу.



Это мой рабочий стол. Пить пиво в рабочее время у нас разрешено, мы же в Германии.


Моя первая статья: «IT-эмиграция с семьей. И особенности поиска работы в маленьком городе Германии, когда ты уже там»

Читать дальше →
Total votes 129: ↑122 and ↓7+115
Comments212

25 ошибок начинающего программиста

Reading time19 min
Views126K

Научитесь выявлять их. Выработайте привычки избегать их.


Цель этой статьи не загнобить новичков за типичные ошибки, а научить выявлять их и избегать. Порядок перечисления – случайный.

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


Иногда бывает трудно объяснить простыми словами казалось бы банальные вещи: зачем использовать гит, в чем фишка инкапсуляции, зачем писать тесты, как планировать свой код, рефакторить чужой и т.д. Мне показалось, что в этой статье компактно собраны важные «гуманитарные» аспекты программирования. Что-то вроде морального кодекса, ориентира и мотиватора в принятии решений, связанных с написанием кода.

Как бы это смешно не звучало, я работал над этим текстом с середины марта, стараясь подобрать подходящие формулировки и упростить для восприятия. Ещё пару дней воевал с хабра-редактором. Поэтому, если вы найдёте недочёты, прошу не винить меня в нерадении, а оповестить, я их сразу же исправлю. Я думал украсить статью картинками, но решил, что это только раздует её до совсем неприличных размеров. Приятного чтения.
Читать дальше →
Total votes 78: ↑69 and ↓9+60
Comments231

Знакомство с React Loadable

Reading time7 min
Views32K
Привет, Хабр. Представляю вам свободный перевод статьи Джеймса Кайла «Introducing React Loadable». В ней Джеймс рассказывает, что такое компонент-ориентированный подход к разделению кода и представляет разработанную им библиотеку Loadable — инструмент, позволяющий реализовать этот подход в React.js приложениях.

image
Единый файл сборки и сборка из нескольких файлов

От переводчика: я позволил себе не переводить некоторые глаголы и термины, повсеместно использующиеся в непереведенной транслитерованной форме (как, например, «прелоадер» и «рендеринг»), полагаю, они будут понятны даже пользователям, читающим исключительно материалы на русском языке.
Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments4

Вопросы не мальчика, а джуна. 22 вопроса работодателю на собеседовании на позицию «Middle Python-разработчик»

Reading time10 min
Views67K
image

Введение


За 2 года мне посчастливилось посетить более сорока собеседований в качестве кандидата на позицию «Middle Python-разработчик». На последних пятнадцати собеседованиях я понял необходимость задавать вопросы работодателю, чтобы в дальнейшем не столкнуться с неожиданностями по работе. Помимо базовых вопросов, которые обычно задают кандидаты работодателю я решил сформировать свои вопросы. Когда я задавал эти вопросы на собеседованиях, я получал самые различные реакции со стороны собеседующих. Кто-то говорил, что я дотошный, кто-то считал эти вопросы слишком банальными, а кто-то даже начинал нервничать(краснеть) и немедленно прерывать собеседование с нелепой отговоркой о том, что у него совещание. В этой статье я хотел бы рассказать об общих идеях посещения таких мероприятий а также привести мои 22 вопроса, которые я задаю на собеседовании работодателю.
Читать дальше →
Total votes 72: ↑58 and ↓14+44
Comments132

Как я стану веб-разработчиком… и стану ли?

Reading time7 min
Views25K
По следам своего недавнего интервью и на правах пятницы публикую более подробный рассказ про свои планы по переходу из конструкторов в веб-разработчики для обсуждения и получения советов от сообщества. Пишу исключительно от себя, никто над душой не стоит и текст не вычитывает, нет скрытого подтекста и уловок HR менеджеров, как это бывает в других статьях об успешной переквалификации.

Пролог


На Хабре частенько проскакивают статьи на тему «из таксистов в программисты за 9 месяцев»… А что если я только собираюсь преодолеть этот путь? И вдруг не получится? В любом случае, я хочу немного рассказать о себе, чего хочу и почему решил пойти таким путем. Это не очередная success story и, возможно, никогда таковой не станет, но думаю найдутся люди, которые увидят в этих строках себя, свои страхи и отговорки и решат что-то изменить. Хочется рассказать о том, что уже было сделано, а что только планируется, и получить обратную связь от бывалых специалистов области. Итак, пройдемся по порядку.
Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments129

Почему человек из мира Java стал горячим сторонником Node.js и JavaScript?

Reading time20 min
Views26K
Дэвид Хэррон, автор материала, перевод которого мы публикуем сегодня, задался следующим вопросом: «Должен ли человек, работавший более 10 лет в Sun Microsystems, в команде Java SE, до последнего вздоха думать лишь о байт-коде Java и создавать экземпляры абстрактных интерфейсов?». Он задавал этот вопрос применительно к себе, и для него платформа Node.js, после Java, оказалась подобна глотку свежего воздуха. Дэвид говорит, что когда он был уволен из Sun в январе 2009 года (прямо перед поглощением этой компании Oracle), он узнал о Node.js. Эта технология его зацепила. Что значит «зацепила»? С 2010-го года он много писал о программировании для Node.js. А именно, написал несколько книг, в том числе — «Node.js Web Development», четвёртое издание которой вышло в этом году. Он подготовил множество небольших материалов о Node.js, опубликованных в интернете. Фактически, он уделил очень много времени и сил, рассказывая о платформе Node.js и о возможностях JavaScript. Почему того, кто раньше занимался исключительно Java, так увлекли Node.js и JavaScript?

image
Читать дальше →
Total votes 30: ↑25 and ↓5+20
Comments31

Быстрый старт веб-проекта (BE — Java Spring, FE — React Redux, взаимодействие — Rest, WebSocket)

Reading time9 min
Views35K


Быстрый старт проекта на React

Ссылка на проект в Git


Чтобы разработать современное веб приложение, необходимо иметь навыки как в создании серверной части, так и клиентской. Наиболее часто встречаемое в последнее время сочетание в корпоративной среде — это Java c использованием Spring Framework для сервера и React для клиента. Однако не все разработчики обладают Full stack навыками (знаниями как в серверной так и в клиентской части), а для начинающих разработчиков создание такой конфигурации оказывается совсем непосильной задачей.

Итак, вот готовое решение, которое позволит научиться создавать подобные конфигурации, а также экономить время при старте нового проекта.
Читать дальше →
Total votes 12: ↑10 and ↓2+8
Comments22

Первое приложение на Spring Boot + ReactJS

Reading time7 min
Views74K
В жизни каждого Java разработчика может наступить момент, когда ничего не остаётся, как использовать в своём приложении ReactJS. Если, конечно, не AngularJS. Вы долго сопротивлялись, но этот момент настал и надо что-то делать. Вы слышали, что есть Node.JS, что он умеет быть web-сервером, но это уже через чур. У вас будет кошерный Spring Boot. К сожалению, поиск в гугл способен очень запутать. Много разных гайдов, все оперируют разными версиями реакта и сопутствующих средств. Данный гайд описывает процесс создания простейшего Spring Boot + ReactJS приложения, простой и приятный.
Читать дальше →
Total votes 16: ↑13 and ↓3+10
Comments11

Изоморфное приложение React JS + Spring Boot

Reading time9 min
Views41K


Про ReactJs, Java, Spring, рендеринг, Virtual DOM, Redux и прочие подобные вещи уже существует очень много всевозможных статей и практических наработок, поэтому я не буду в них углубляться.

Я не замерял производительность этой конструкции. Те кому интересно, могут провести свои личные тесты и сравнить например с NodeJS.

Я не особо заморачивался на стиле и качестве кода, так что извиняйте, кому не придётся по душе =)

Цель моей работы просто заставить работать воедино такие вещи как ReactJS + Redux + WebPack + Java/Spring.

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

С радостью исполняю желание читателей.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments13

Разбираем лямбда-выражения в Java

Reading time14 min
Views36K

image


От переводчика: LambdaMetafactory, пожалуй, один из самых недооценённых механизмов Java 8. Мы открыли его для себя совсем недавно, но уже по достоинству оценили его возможности. В версии 7.0 фреймворка CUBA улучшена производительность за счет отказа от рефлективных вызовов в пользу генерации лямбда выражений. Одно из применений этого механизма в нашем фреймворке — привязка обработчиков событий приложения по аннотациям, часто встречающаяся задача, аналог EventListener из Spring. Мы считаем, что знание принципов работы LambdaFactory может быть полезно во многих Java приложениях, и спешим поделиться с вами этим переводом.


В этой статье мы покажем несколько малоизвестных хитростей при работе с лямбда-выражениями в Java 8 и ограничения этих выражений. Целевая аудитория статьи — senior Java разработчики, исследователи и разработчики инструментария. Будет использоваться только публичный Java API без com.sun.* и других внутренних классов, поэтому код переносим между разными реализациями JVM.

Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments34

Information

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