Как стать автором
Обновить
0
@ArtVTread⁠-⁠only

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

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

Чистая архитектура на PHP. Как её измерять и контролировать?

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

Предисловие


Как ты уже понял из названия, говорить я тут собрался о самом, что ни на есть, “высоком” — Чистой архитектуре. А толчком к развитию всей этой истории послужила книга Роберта Мартина “Чистая архитектура”. Если еще не читал, осмелюсь порекомендовать! Автор раскрывает много важных тем, активно делится своим богатым жизненным опытом (из проф. области естественно) и сделанными на его основе выводами, эпизодически вплетает в главы истории о том, как виртуозно говнокодили (ну и не только, конечно же) наши отцы и деды в далёких 60-х, 70-х, 80-х и даже лихих 90-х, как по крупинкам собирали всеми любимые принципы SOLID и их аналоги в мире компонентов, и чему научились за прошедшие полвека. В процессе чтения книги хорошо прослеживается линия развития индустрии разработки ПО, типичные проблемы, с которыми пацанам приходилось сталкиваться, и способы их решения.

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

Мне кажется, статья будет полезна всем. Те, кто с книгой уже знаком, смогут освежить в своей памяти некоторые ее моменты, или просто пропустить первую часть и сразу приступить к знакомству с инструментом. Те, кто ранее книгу не читал, возможно, и в первой части найдут для себя что-то новое.
Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Комментарии23

«Извини, но у меня депрессия»: как работать с заболевшим сотрудником

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

«Извини, кажется, мне надо было раньше это сказать – я столкнулся с депрессией». Такое письмо мне пришло утром от одного из сотрудников, который уже пару дней не мог закрыть несложный тикет.

Контекст: работаю тимлидом в крупной корпорации, в подчинении – удаленная команда из 50 человек (территориальный разброс — от Нью-Йорка до Токио). Столкнувшийся с депрессией сотрудник – мой ровесник (+- 30 лет), работает на этом месте 5 лет. Один из лучших членов команды, стабильно показывает отличные результаты, с мотивацией проблем ранее не было. Рабочий день – ненормированный: то густо, то пусто.

Нет, это не профессиональное выгорание. Работа его всегда драйвила, ничего в ней менять не хочет (ни локацию, ни команду). «Ищу терапевта».
Читать дальше →
Всего голосов 106: ↑97 и ↓9+88
Комментарии241

Поймут даже дети: простое объяснение async/await и промисов в JavaScript

Время на прочтение7 мин
Количество просмотров39K
Привет, Хабр! Представляю вашему вниманию перевод статьи «JavaScript Async/Await and Promises: Explained like you’re five years old» автора Jack Pordi.

Каждый, кто считает себя JavaScript-разработчиком, в какой-то момент должен был столкнуться с callback-функциями, промисами или, с недавних пор, с синтаксисом async/await. Если вы пробыли в игре достаточно долго, вы, вероятно, застали времена, когда вложенные callback-функции были единственным способом достижения асинхронности в JavaScript.

Когда я начал изучать и писать на JavaScript, уже существовало миллиард руководств и туториалов, объясняющих, как добиться асинхронности в JavaScript. Тем не менее, многие из них просто объясняли, как преобразовать callback-функции в промисы или промисы в async/await. Для многих этого, вероятно, более чем достаточно, чтобы они «поладили» с ними и начали использовать их в своем коде.

Однако если вы, как я, действительно хотите понять асинхронное программирование (а не только синтаксис JavaScript!), то, возможно, вы согласитесь со мной, что существует нехватка материалов, объясняющих асинхронное программирование фактически с нуля.
Читать дальше →
Всего голосов 21: ↑18 и ↓3+15
Комментарии25

Учебник по JavaFX: Привет, мир

Время на прочтение4 мин
Количество просмотров48K
Перевод статьи «JavaFX Tutorial: Hello world» автора Vojtech Ruzicka.

Как создать ваше первое приложение JavaFX.

Это второй пост в серии о JavaFX. Вы можете прочитать в первой статье о том, как настроить вашу среду для разработки JavaFx.

Все посты в серии о JavaFX:

  1. Учебник по JavaFX: начало работы
  2. Учебник по JavaFX: Привет, мир!
  3. Учебник по JavaFX: FXML и SceneBuilder
  4. Учебник по JavaFX: основные макеты
  5. Учебник по JavaFX: расширенные макеты
  6. Учебник по JavaFX: CSS стилизация
  7. JavaFX Weaver: интеграция JavaFX и Spring Boot приложения
Читать дальше →
Всего голосов 11: ↑9 и ↓2+7
Комментарии2

Проектирование ПО для начинающих методом снежинки

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

Я думаю, знающие согласятся, что их первый опыт программирования реального приложения (не Hello World) свелся с простому вопросу: с чего, собственно, начать? Как начать проектирование программы? Что писать-то?!

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

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

И вот, однажды утром, мне пришла в голову простая мысль: а что, если программу проектировать по методу снежинки?
Читать дальше →
Всего голосов 9: ↑6 и ↓3+3
Комментарии6

Жизнь PHP-разработчика

Время на прочтение3 мин
Количество просмотров42K
Вступление от переводчика: очень давно веду разработку на PHP. Хоть я знаком с рядом других технологий и вижу некоторые недостатки PHP, но в целом я им доволен, и мне кажется несправедливым, что этот язык программирования подвергается нападкам чаще всего. Недавно нашел статью как раз на эту тему, думаю, позиция автора близка многим php-программистам, поэтому публикую перевод. Старался специально для корпоративного блога нашего проекта о платежных сервисах Web-payment.ru. Кстати, если вам понадобится подключить оплату на сайте — обращайтесь. Ну а далее перевод:
Субъективное восприятие языков программирования не только порождает дискуссии среди скучающих программистов. Оно также влияет на принятие важных решений — прием на работу и финансирование.
Эта фраза заставила меня всерьез задуматься над тем, как сообщество воспринимает PHP.

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

Хотя Javascript активно занимает нишу PHP, особенно для начинающих разработчиков, есть несколько причин, по которым новые разработчики выбирают PHP:
  • Вы хотите сделать сайт или приложение на виртуальном хостинге.
  • Во всех книгах и видео, которые вы покупаете, так и или иначе работают с LAMP-стеком.
  • Все вакансии для начинающих — для PHP-разработчиков.

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

5 принципов работы со знаниями для инженера

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


Думаю, никто не будет спорить, что знания нужны (я про те, которые имеют определение «профессиональные»). Нужно ли высшее образование? Вот тут-то можно подискутировать. Что же касается знаний, ответ достаточно очевиден, во всяком случае, мне так кажется. Вопрос их качества, глубины и широты оставим за кадром. Очень многое зависит от контекста, где они применяются. Предлагаю поговорить о закономерностях, связанных с профессиональными знаниями. А так как область деятельности носит определяющий характер их состава и качества, сразу оговорюсь, речь пойдёт про знания инженеров в системном интеграторе.
Читать дальше →
Всего голосов 25: ↑22 и ↓3+19
Комментарии18

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

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


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

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

Мнение автора может не отражать позицию компании и других коллег.

Знакомьтесь — Александр Ефимов, Configuration manager/DevOps

Есть у меня знакомый, который, будучи первоклассным сисадмином, мечтает стать программистом. По его словам, хочет творить, а не использовать уже существующий… не очень хороший софт. В чем-то я его понимаю: «чистое» творчество — безусловно, круто. Но давайте разберемся, что и как происходит на самом деле.
Читать дальше →
Всего голосов 61: ↑45 и ↓16+29
Комментарии57

Как я победил в конкурсе BigData от Beeline

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

Все уже много раз слышали про конкурс по машинному обучению от Билайн и даже читали статьи (раз, два). Теперь конкурс закончился, и так вышло, что первое место досталось мне. И хотя от предыдущих участников меня и отделяли всего сотые доли процента, я все же хотел бы рассказать, что же такого особенного сделал. На самом деле — ничего невероятного.
Читать дальше →
Всего голосов 100: ↑92 и ↓8+84
Комментарии32

Программировать с нуля. «Сейчас» — самое подходящее время, чтобы начать

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

(Иллюстрации к статье А.П. Ершова «Программирование — вторая грамотность»)

Стив Джобс не написал ни строчки кода, Билл Гейтс — написал. Пол Грэм — первоклассный программист, Питер Тиль — юрист по образованию, сооснователь PayPal и владелец Palantir (написал ли он что-нибудь?), а Илон Маск в детстве написал свою игру и успешно её продал.

Никита truesnow из #tceh сказал мне, что на курсе «Врубаемся в Ruby» они научат программировать любого человека, даже с нуля. Я спросил его: «А с гуманитарием справитесь?» И мы задумались, были ли случаи, когда «гуманитарий» выучил язык программирования?

На ум сразу пришел бомж-программист, но после успеха с его приложением он предпочёл остаться «дзен-монахом». Есть ли еще примеры? Вдохновляющий пример, что научиться кодить может каждый — слепой программист. Когда я прочитал статью на Хабре «Смотря на код с закрытыми глазами», то понял, что нет преград, кроме собственных отмазок.

А у меня для вас есть три истории из моей жизни. Просто три истории.

История первая — ламер


Слово «ламер» я прочитал в «Компьютерре». Там давалось такое определение: «Ламер — отнюдь не безграмотный человек, не умеющий (как бы это помягче выразиться?) программировать». Окрылённый истиной я побежал и рассказал об этом друзьям-одноклассникам, но они предпочли поиграть в футбол, вместо того чтобы освоить суперспособности. Забавно, что потом все они зарабатывали программированием деньги, а я нет. Через неделю я записался в краевую станцию юных техников (КСЮТ), где был кружок по программированию. Там для новичков давали qbasic. А боги прогали на C.
Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Комментарии62

Про модель, логику, ООП, разработку и остальное

Время на прочтение29 мин
Количество просмотров109K
Часто ли вы задумываетесь – почему что-то сделано так или иначе? Почему у вас микросервисы или монолит, двухзвенка или трехзвенка? Зачем вам многослойная архитектура и сколько у вас вообще слоев? Что такое бизнес-логика, логика приложения, презентационная логика и почему все так разделено? Посмотрите на свое приложение – как оно вообще спроектировано? Что в нем и где находится, почему это сделано именно так?
Потому что так написано в книжках или так говорят авторитетные личности? Какие ВАШИ проблемы решает тот или иной подход/паттерн?
Даже то, что на первый взгляд кажется очевидным, порой бывает очень сложно объяснить. А иногда, в попытке объяснения, приходит понимание того, что очевидные мысли были и вовсе ошибочны.
Давайте попробуем взять какой-нибудь пример и изучить на нем эти вопросы со всех сторон.
Читать дальше →
Всего голосов 55: ↑51 и ↓4+47
Комментарии34

Как Валера взял в команду стажера и начал учить его проектированию

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

Начало


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

На следующее утро в зале для совещаний собрались ключевые сотрудники направления. Технический директор (для тех, кто с ним еще не знаком, — его зовут Иван) сразу перешел к сути вопроса: «Приветствую всех! Как вы знаете, некоторое время назад мы поставили перед собой цель расширить присутствие на рынке и для этого открыли новый офис продаж. Так вот, эта стратегия сработала. Через месяц мы подписываем договор на разработку и внедрение платформы дистанционного образования. Проект очень интересный, но пока не об этом. Чтобы его потянуть, нам нужно срочно формировать новую команду в направлении образовательных систем.»
Читать дальше →
Всего голосов 69: ↑58 и ↓11+47
Комментарии38

Как я ловил хакера

Время на прочтение2 мин
Количество просмотров44K
Произошло это в начале 2008 года, когда я еще работал в одном крупном украинском банке инженером в IT-департаменте. Только спала новогодняя праздничная суета, и нагрузка на подразделения техподдержки немного поубавилась, как один из подотчетных мне web-серверов сообщил о заканчивающемся на диске месте. Беглый анализ показал, что стремительно росли логи IIS сервера, на котором крутится один из публичных платежных комплексов банка. Мои опасения оправдались – на сервер началась DDOS атака.
Читать дальше →
Всего голосов 431: ↑407 и ↓24+383
Комментарии192

Размышления на тему: идеальная форма регистрации

Время на прочтение2 мин
Количество просмотров3.3K
imageНе знаю, на сколько эти мысли полезные и/или капитанские, если что — скажете :) Но такое я нигде не встречал, к сожалению.

Засыпая и размышляя над очередной идеей, которой потребовался бы хелпдеск/багтрекер подумал: ведь заставлять пользователей пройти через регистрацию, чтобы запостить баг/фичреквест — бесчеловечно. С дрйгой стороны, Анонимусы — тоже не всегда хорошо. И что делать?

Суть вкратце: идеальная форма регистрации — форма логина.
Подробнее и с картинками под катом.
Читать дальше →
Всего голосов 150: ↑111 и ↓39+72
Комментарии127

Получение участников сообщества vk.com за считанные секунды

Время на прочтение2 мин
Количество просмотров114K
Ни для кого не секрет, что VK API возвращает за один запрос к методу groups.getMembers не более 1 000 участников. В одну секунду вы можете получить максимум 3 000 участников, так как установлено ограничение на количество запросов в секунду до 3. Эту проблему решает метод execute, с помощью которого вы можете получить более 100 000 участников за одну секунду и до 25 000 участников за один запрос. В этой статье я расскажу Вам, как я это реализовал.
Читать дальше →
Всего голосов 57: ↑43 и ↓14+29
Комментарии26

Попытка номер раз создать почти идеальный htaccess

Время на прочтение14 мин
Количество просмотров247K
    - Google выше ранжирует сайты, которые загружаются быстрее.
    - Если на eBay или Amazone увеличить время загрузки страниц на 9% они теряют 1% прибыли.
    - Сделать свой сайт быстрее, чтобы сэкономить на клиентском трафике и на числе обращений к серверу.


.htaccess — наш герой


Профессионалы знают, что такое htaccess.
Тем кто собираются уйти с народ.ру на php-хостинг только предстоит узнать, что это такое.
Те кто только что установил свои первые jooml'у или wordpress срочно должны узнать о нашем герое — htaccess

Зачем нам .htaccess ?


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

Или другой пример. Скажем ваш ресурс начинает набирать популярность, но переезжать на выделенный сервер ещё рано, а мощностей VPS уже не хватает. Вас очень может выручить htaccess.

А ещё htaccess может решить некоторые вопросы с безопасностью вашего сайта.

А ещё…

Полезные советы по htaccess с разжевыванием для новичков
Всего голосов 85: ↑70 и ↓15+55
Комментарии77

Как я начал работать на Odesk и Elance

Время на прочтение5 мин
Количество просмотров247K
Как-то полтора года назад я сидел в кафе на Арбате и думал о своем будущем. На тот момент работал программистом на полставки и учился в одном техническом ВУЗе. Все было стабильно, но хотелось чего-то большего – и я решил посмотреть, сколько зарабатывают хорошие программисты на фрилансе. Опыт «фрилансерства» у меня к тому моменту уже был, но впечатление осталось не самое лучшее — деньги маленькие, заказчики не всегда адекватные, один раз даже меня «кинули» с оплатой.

Я зашел на сайт всем известной российской фриланс-биржи и увидел, что за год моего отсутствия там ничего не изменилось: платят — мало, просят — много и так далее. Так у меня родилась идея посмотреть, что происходит на западе. Я нашел на Хабре статьи про иностранные биржи Odesk и Elance, почитал, подумал, как все сложно, и благополучно забыл про эту затею.
Что было дальше?
Всего голосов 152: ↑140 и ↓12+128
Комментарии302

Путь фрилансера. Часть 1. Советы новичкам

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров243K


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

Заметив тенденцию на спрос постов по тематике фриланса подумал, что, пожалуй, пора и мне внести свою лепту по этой тематике. Много чего уже было сказано, но, на мой взгляд, не всегда конкретизировано в конкретные пункты.

Вкратце в двух словах о себе и прочем чтобы пост имел некоторую большую содержательность: на фрилансе 3 последних года с копейками. Работаю не один. Команда. Объединены интернетом и рамками СНГ. Большинство никогда не видел и даже с ними ни разу не созванивался. Офиса нет. С одним из таких граждан общаюсь и работаю уже лет 5-6. Как это ни странно барьером это не послужило. Знакомых, друзей, бывший сотоварищей по работе в команде нет и никогда не было, как и не было этой самой другой работы. Да, есть и такие странные люди на свете, кто никогда не работал в офисе и ничем иным не занят и это ни разу мне не помешало, а скорее наоборот.

Как я «докатился до такой жизни» и всю иную историю, предысторию и реалии опишу как-нибудь в другой раз, если сообщество посчитает это нужным (на этот случай предусмотрен опрос). А сейчас перейдём к тому, что и было запланировано.
Читать дальше →
Всего голосов 76: ↑63 и ↓13+50
Комментарии51

oDesk для начинающих

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

Зачем?

Вообще, идея этого поста пришла мне в голову в тот самый момент, когда я, не имея до этого за плечами полноценного опыта фриланса, решил всерьез освоить oDesk. Да, если кто не знает, oDesk — это одна из крупнейших в мире фриланс-бирж. Итак, дело было в июле этого года. Официальной работы к тому времени у меня уже полгода как не было, все подработки закончились, новых серьезных заказов не предвиделось, и oDesk представлялся мне весьма перспективным вариантом. Аккаунт, как водится, был зарегистрирован «про запас» еще за год до того, но висел все это время без дела, поэтому начинать нужно было с нуля. При этом я был почти уверен, что руководство, хотя бы самое краткое, на тему, как и с чего начинать, я где-нибудь (уж на Хабре-то точно!) да найду.
Возможно, я плохо искал. Однако все, что мне попалось по теме, сводилось только к тому, что не нужно сразу загибать цены, лучше начинать с небольших. Примерная цитата: «начинайте с $10 в час, со временем, дорастете и до $15». Дорастать до $15, да еще и со временем, мне категорически не хотелось, я был уверен, что можно зарабатывать значительно больше. Да и кроме того, меня волновало огромное количество вопросов. Как заполнять профиль? На какие проекты откликаться? Как составлять cover letter? Как, черт побери, получить этот первый заказ, когда все тебе отказывают?
В тот момент я решил, что если все у меня получится, обязательно напишу то самое руководство для новичков, которого я не нашел.

Читать дальше →
Всего голосов 192: ↑175 и ↓17+158
Комментарии385

oDesk (Upwork). Мой опыт за полтора года

Время на прочтение12 мин
Количество просмотров445K
Вот уже полтора года я зарабатываю фрилансом на бирже oDesk. За это время у меня накопилось много материалов по данной теме. В данном топике я собрал все в одну статью и адаптировал для аудитории хабра.
image
Читать дальше →
Всего голосов 192: ↑185 и ↓7+178
Комментарии321
1
23 ...

Информация

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