Pull to refresh
6
0
Александр Щетинин @Alxdhere

User

Send message

Занимательная практика для разработчика

Reading time3 min
Views18K
Человек остается начинающим в течение 1000 дней. Он находит истину после 10000 дней практики.

Это цитата Оямы Масутацу, которая довольно хорошо излагает суть статьи. Если вы хотите быть классным разработчиком — приложите усилия. В этом весь секрет. Проводите много часов за клавиатурой и не бойтесь практиковаться. Тогда вы вырастите как разработчик.

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

(предыдущие списки заданий для тренировки: 1) 8 учебных проектов 2) Еще список проектов, на чем потренироваться)

Проект 1: Pacman


image

Создайте свою версию Pacman. Это отличный способ получить представление о том, как разрабатываются игры, понять основы. Используйте JavaScript-фреймворк, React или Vue.

Вы узнаете:

  • Как передвигаются элементы
  • Как определить какие клавиши нажимать
  • Как определить момент столкновения
  • Вы можете не останавливаться на достигнутом и добавить управление движением призраков

Пример этого проекта вы найдете в репозитории GitHub

«Мастер совершает больше ошибок, чем новичок — попыток»
Читать дальше →

Как IT-специалисту устроиться на работу за рубежом?

Reading time10 min
Views25K


Рассказываем, кого ждут за границей, и отвечаем на неудобные вопросы о релокации IT-специалистов в Англию и Германию.



Нам в Nitro часто присылают резюме. Каждое из них мы аккуратно переводим и отправляем клиенту. И мысленно желаем удачи человеку, решившему что-то поменять в своей жизни. Перемены ведь всегда к лучшему, не так ли? ;)

Хотите узнать, ждут ли вас за границей, и получить инструкцию по релокации в Европу? Мы тоже хотим! Поэтому подготовили список вопросов и будем их задавать нашим друзьям — компании EP Advisory, где русскоязычным специалистам помогают найти работу и построить успешную карьеру за рубежом.

Ребята недавно запустили новый YouTube-проект «Истории переезда», где герои делятся своими историями о переезде в Англию, Германию и Швецию, развеивают мифы о работе и проживании за границей.

Знакомьтесь: наша сегодняшняя собеседница — Эльмира Максудова, карьерный консультант IT & tech.

Эльмира, расскажи, пожалуйста, что чаще всего мотивирует наших людей переезжать в Англию?

Конечно, мотивация у каждого своя, и подталкивает человека к переезду не одно, а целая совокупность обстоятельств.

Но чаще всего это:

  1. Финансы: зарплата, пенсионная система. 
  2. Качество жизни и открывающиеся возможности: уровень культуры, климат/экология, безопасность, защита прав, медицина, качество образования.
  3. Возможность профессионально развиваться: многие из опрошенных нами IT-специалистов оценивают технический уровень российских проектов как «крайне низкий» или «низкий», включая тот факт, что многие западные технологии начинают заменяться российскими решениями, которые отстают на несколько порядков. Также многих разработчиков, по результатам опроса, удручает состояние и уровень российского менеджмента. 
  4. Непредсказуемость и нестабильность в обществе, отсутствие уверенности в завтрашнем дне.

Написано в Alconost
Читать дальше →

Как писать на Spring в 2017

Reading time10 min
Views277K

В одной из классических статей для новичков, мелькавших недавно на Хабре, рассказывалось про создание базового Web приложения на Java. Все начиналось с сервлета, потом создания JSP страницы и, наконец, деплоймента в контейнер. Посмотрев на это свежим взглядом я понял, что для как раз для новичков это, наверняка, выглядит совершенно жутко — на фоне простых и понятных PHP или Node.js, где все просто — написал контроллер, вернул объект, он стал JSON или HTML. Чтобы немного развеять это ощущение, я решил написать "Гайд для новичков в Spring". Цель это статьи — показать, что создание Web приложений на Java, более того — на Spring Framework это не боль и мучительное продирание через web.xml, persistence.xml, beans.xml, и собирание приложения как карточного домика по кусочкам, а вполне себе быстрый и комфортный процесс. Аудитория — начинающие разработчики, разработчики на других языках, ну и те, кто видел Спринг в его не самые лучше времена.

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

Как CSS Grid меняет представление о структурировании контента

Reading time8 min
Views18K
Каждый, кто хотя бы немного занимался созданием веб-сайтов, знает, что теги <div> — являются важным строительным блоком для контроля над макетом.

HTML5 представил новые семантические элементы, чтобы помочь в этом. И хотя они являются фантастическим дополнением к языку, они немного похожи на украшение к нашему супу из <div> элементов.



С приходом CSS Grid, нам больше не нужно полагаться на элементы <div> для создания структуры страницы или даже более сложного компонента. Структура буквально определяется родительским элементом, а не тем, как расположено содержимое внутри него.

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

Пуля

Reading time18 min
Views9.2K
Пуля – это такая система оплаты труда. Ничего сверхъестественного, идея лежит на поверхности, результаты не заставляют себя долго ждать. Название придумал не я, а собственник компании, где эта система внедрялась. Вот прям так выслушал аргументы и особенности, и сказал: «Это – Пуля!».

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

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

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

React Native: Создание анимированного поля ввода с помощью Animated API

Reading time4 min
Views9.1K
Всем привет! Сегодня делимся с вами познавательным материалом, перевод которого подготовлен специально для студентов курса «ReactJS/React Native-разработчик».



Итак, начнем.


Все мы видели такие поля для ввода:



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

Выглядит великолепно. Гладко. Безупречно.

А еще кажется, что только опытный разработчик может так сделать, не правда ли?
Ну, возможно, это и было так до появления React Native, в те времена, когда люди жили в пещерах и творили всякую дичь. Но это осталось в прошлом.

ООП, «святая троица» и SOLID: некоторый минимум знаний о них

Reading time43 min
Views118K

Необходимое вступление


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


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


Столь малые гарантии поднимают вопросы о причинах, по которым статья пишется. Я считаю, что этим вещам должны учить везде, где учат программированию, вплоть до уроков информатики в школах с углублённым её изучением. Тем не менее, для меня стала пугающе нормальной ситуация, когда я узнаю, что собеседник мой коллега, причём работающий уже не первый год, но про инкапсуляцию «что-то там слышал». Необходимость собрать всё это в одном месте и давать ссылку при возникновении вопросов зрела давно. А тут ещё и мой «pet-project» дал мне изрядно пищи для размышлений.


Тут мне могут возразить, что учить эти вещи в школе рановато, и вообще на ООП свет клином не сошёлся. Во-первых, это смотря как учить. Во-вторых, 70% материала этой статьи применимо не только к ООП. Что я буду отмечать отдельно.



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

Создание динамических PDF-файлов с использованием React и Node.js

Reading time8 min
Views37K
Материал, перевод которого мы сегодня публикуем, посвящён созданию динамических PDF-файлов с использованием HTML-кода в качестве шаблона. А именно, речь пойдёт о том, как сформировать простой счёт на оплату неких товаров или услуг, динамические данные, включённые в который, берутся из состояния React-приложения. База React-приложения создана с помощью create-react-app, серверная часть проекта основана на Node.js, при её разработке использован фреймворк Express.



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

Порог вхождения в Angular 2 — теория и практика

Reading time16 min
Views124K
Добрый день, дорогие хабра: жители, читатели, писатели, негативно-комментаторы.

В качестве вводной части и чтобы снять некоторые вопросы немного расскажу о себе. Меня зовут Тамара. Оужас, я девушка! Кого это пугает — закрывайте статью и не читайте.

Для остальных: у меня за плечам незаконченный лет 10 назад МИРЭА, факультет кибернетики. Но все эти 10 лет практики сложились таким образом, что по большей части я занималась рекламой и в перерывах случалось работать в различных стартапах, связанных с интернетом и не только.

image

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

Как мы при помощи WebAssembly в 20 раз веб-приложение ускорили

Reading time5 min
Views16K
image

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

Не купитесь на ERP

Reading time14 min
Views46K
image

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

Историческая справка

(если бы тогда я знал об этом — я бы не допустил столько ошибок в жизни)


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

На помощь пришла кибернетика. Эта зарождающаяся индустрия стала мощным драйвером стремительного роста торговых сетей. Именно программное обеспечение стало следить за наличием товара и скоростью его продаж, прогнозировать его спрос и заблаговременно делать закупки без вмешательства человека. Да, закупки стали делаться автоматически. Когда остаток достигает определенного количества товара – система автоматически формирует заказ у заранее одобренного поставщика, по ранее согласованной цене. Если поставщиков по конкретному товару несколько и цены у них отличаются, то выбирается сначала объем у того, у кого цена меньше, потом чуть больше и т.д. и т.п. Человеку оставалось только находить и выбирать нужный товар, заключать хитрые договора с поставщиками, принимать товар и размещать его на полках.

Успех ERP-систем в ритейле породил желание двигаться дальше – в промышленность. Говорят, на западе это получилось. У нас иногда тоже получается. Только зачем и какой ценой?
Читать дальше →

Яндекс.Алиса и бот Telegram на PHP с единым функционалом

Reading time5 min
Views25K
Добрый день.

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

PHP Russia 2019: свой «стадион» для языка первой лиги

Reading time9 min
Views5.8K
На нашем рынке нет конференции, которая была бы посвящена PHP. А это все равно что футбольный клуб первой лиги без своего стадиона. Ведь в России PHP на втором месте по числу вакансий для программистов (позади 1C, но впереди Java). У него разветвленная экосистема и гигантская армия «последователей».

Погрустив, участники PHP-сообщества решили исправить ситуацию, для чего скооперировались с нашей командой. Общими стараниями 17 мая в московском «Инфопространстве» пройдет профессиональная конференция для PHP-разработчиков PHP Russia 2019. Перед мероприятием мы поговорили с руководителем программного комитета Александром Макаровым (SamDark) о том, зачем нужен ивент, что он призван изменить, кого на нем ждут с докладами и чем эти доклады будут полезны.


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

Как мы сделали PHP 7 в два раза быстрее PHP 5. Часть 2: оптимизация байт-кода в PHP 7.1

Reading time7 min
Views14K
В первой части рассказа по мотивам выступления Дмитрия Стогова из Zend Technologies на HighLoad++ мы разбирались во внутреннем устройстве PHP. Детально и из первых уст узнали, какие изменениях в базовых структурах данных позволили ускорить PHP 7 более чем в два раза. На этом можно было бы и остановиться, но уже в версии 7.1 разработчики пошли существенно дальше, так как идей по оптимизации у них было еще много.

Накопленный опыт работы над JIT до семёрки теперь можно интерпретировать, смотря на результаты в 7.0 без JIT и на результаты HHVM с JIT. В PHP 7.1 было решено c JIT не работать, а опять обратиться к интерпретатору. Если раньше оптимизации касались интрепретатора, то в этой статье посмотрим на оптимизацию байт-кода, с использованием вывода типов, который реализовали для нашего JIT.



Под катом Дмитрий Стогов покажет, как это все работает, на простом примере.
Читать дальше →

Как советские научные книги стали артефактом у физиков и инженеров в Индии

Reading time8 min
Views81K


В 2012 году на северо-востоке Москвы случился пожар. Загорелось старое здание с деревянными перекрытиями, огонь быстро перекинулся на соседние дома. Пожарные расчеты не могли подобраться к месту — все парковки вокруг были заставлены машинами. Огонь охватил полторы тысячи квадратных метров. Подобраться к гидранту тоже не удавалось, поэтому спасатели использовали пожарный поезд и даже два вертолета. Один сотрудник МЧС погиб в огне.

Как выяснилось позже, пожар начался в доме издательства «Мир».

Вряд ли это название что-то говорит большинству людей. Издательство и издательство, очередное привидение из советских времен, которое уже лет тридцать ничего не выпускало, но почему-то продолжало существовать. В конце нулевых оно было на грани банкротства, но каким-то образом возвращало долги, кому бы и что оно там ни было должно. Вся его современная история — это пара строк в Википедии о чехарде между всякими государственными МГУП ШМУП ФМУП, которые пылятся в папочках Ростеха (если верить Википедии, опять же).

Но за бюрократическими строчками нет ни слова о том, какое огромное наследие «Мир» оставил в Индии и как повлиял на жизнь нескольких поколений.
Читать дальше →

Ад своими руками

Reading time19 min
Views174K
Многие говорят – рассказывать надо не только об успехах, но и о неудачах. Полностью с этим согласен — понимание своих неудач, их причин и последствий, иногда ценнее любых успехов.

Был у меня в жизни такой опыт автоматизации, за который долгое время было стыдно. Не потому, что система плохо работала, или метаданные кривые были, или ТЗ не соответствовала — ровно наоборот. Все красиво, быстро, с полным внедрением во всей компании. С точки зрения формальных критериев это был полный успех.

Но компанию, ее культуру это внедрение превратило в ад — бюрократический, системный и бессмысленный.

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

Обо всем по порядку.
Читать дальше →

Metro 4 — путь длиною в 6 лет. Краткая история Metro UI CSS

Reading time6 min
Views21K

Эта история началась в далеком 2012 году, когда широкими шагами по планете начала свой путь Windows 8. Находясь под впечатлением плиточного интерфейса стартовой страницы это операционной системы, я решил сделать такую же на HTML, CSS и JavaScript.



Тогда не было и мысли делать библиотеку компонентов, просто набор стилей и их применение и чтобы в браузере и чтобы красиво и чтобы работало. И понеслась. Сначала были просто плитки (тайлы), затем они обрели различные эффекты, а затем этого стало мало. На просторах интернета (шучу, на сайте Microsoft) был найден Microsoft Developer Guide for Windows 8 UI. Почитав немного сие творение инженеров Microsoft, было принято решение начать делать библиотеку компонентов, потихоньку, для личных нужд, без рекламы и ажиотажа.


Ну, как говорится, сказано — сделано. Проект был запущен по кодовым названием Metro UI CSS.


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

Почему с ростом компании разработчики, стоявшие у истоков, оказываются «за бортом»

Reading time6 min
Views59K
Несколько недель назад мы подняли тему «эффективного» менеджмента, которая вызвала немало споров в комментариях. Но у любого массового корпоративного явления есть свои первопричины. В нашем случае — это рост компании.

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



Все это очень сильно бьет по эго и самооценке. Почему это происходит? Как с этим справиться? И надо ли справляться? Давайте разбираться вместе.
Читать дальше →

Прекратите нанимать «эффективных менеджеров». Они не только бесполезны, но и вредны

Reading time7 min
Views238K
Каждая компания проходит несколько жизненных циклов от момента своего основания до собственной «крышки гроба». Конец у разных компаний разный: кто-то не выдерживает конкуренции с более молодыми и гибкими командами, продукты которых годами не вылазят из состояния ранней беты, но все же являются более успешными, другие — становятся частью более крупных корпораций.



Однако в цикле жизни любой компании есть период взрывного кадрового роста с поиском путей решения этой проблемы. Все вы знаете этот этап. Вот, вчерашний локальный продукт захватывает ощутимую долю рынка, аудитория кратно увеличивается и команда сталкивается с проблемами, о которых даже не подозревала. Как-то незаметно у руководителей отделов появляются «приемные часы» и согласование совещаний через почту, заметно разрастается HR-департамент, а времена, когда весь коллектив мог заказать десяток пицц по акции и устроить пятничные посиделки в офисе остались в прошлом. Владелец компании и по совместительству ее директор набирает 15-20 кило лишнего веса, все меньше появляется в коридорах и кабинетах, и все больше времени проводит в своем кабинете куда ему носит кофе личный секретарь, либо вовсе улетает на Кипр.

Вот как раз в этот момент компанию начинают захватывать «эффективные менеджеры».
Читать дальше →

Information

Rating
Does not participate
Location
Тюмень, Тюменская обл. и Ханты-Мансийский АО, Россия
Date of birth
Registered
Activity