Как стать автором
Обновить
-3
Карма
0
Рейтинг
Дэн @iit

php backed + js frontend

  • Подписчики 6
  • Подписки 7

Технологии технологиями, а главное — код

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


Держать одного спеца только для ревью, который еще и много кушать просит не каждая компания потянет.


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


Помимо этого опытный человек скорее всего имеет высокую квалификацию всего в 1-2 языках/платформах что вынуждает собирать комманду ревьюверов. Да я могу разобрать почти любой php код и указать на его проблемы, но при этом в javascript я не в зуб ногой — что-то простое еще могу написать или проверить, но ES 6 транспайлеры и ваши модные SPA штучки я просто не успеваю изучть и от меня этого даже не требуют.


В компании где я работаю помимо js есть еще и python и java6 в которых я умею только hello world. Плюс один человек для postgres/mysql и уже требуеться 5 человек которые имеют опыт (их еще найти и нанять надо, а опытный целовек по оплате его труда болько кусается) и которые не будут писать код, а только контролировать его качество и стабильность. Если вы не Google Yandex или какойнибудь Банк, тогда вы просто не сможете позволить себе таких людей.


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

Технологии технологиями, а главное — код

Если ты доктор наук по it специализации, то думаю такие вещи ты не просто должен знать, а еще и сам разрабатывать новые практики, иначе как-то все печально получается...

Технологии технологиями, а главное — код

Образование образованию рознь, если бы я сейчас вернулся в прошлое то не стал бы заканчивать вуз в СНГ по возможности (а она была, но я об этом не знал) лучше бы смотался по программе обмена студентов в японию/чехию/США. Но все вышло иначе — в колледже нас учили pascal и структурам данных вполоть до деревьев, интересным алгоритмам вроде апроксимации, рекомендовали хорошие книги вроде того-же "Совершенного Кода". Однако делал это одинокий старик которому не было пофиг на наши знания, 5 остальных преподователей по профильным предметам давали какую-то непереваримую дичь, В институте остались как раз эти-же преподователи. В итоге только деньги потратил впустую.


Математическая культура и опыт не решат проблемму того что код напечатан неверно или сложно обслуживать. Даже на своем основном языке а это php я видел как здравый человек с 10-и летним опытом программирования для проверки mime вместо стандартной функции из ядра языка читал первые байты из файлов и проверял их на соответствие через заранее зашитые в коде шеснадцатиричные константы. Для C++ такой подход приемлем, для php уже нет.


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


Но в итоге он был уволен, как не странно задачи бизнеса он не решал. а код который он оставил за собой до сих пор вызывает ужас у java отдела потому что он не понятен и запутан и неработает от слова "совсем". После увольнения человек угрожал разглашением приватной информации по проектам конкурентам, благо все конкуренты состоят в ассоциации и мягко говоря отправили данного человека в default gateway.


Итог — одних математических знаний мало и далеко на одной математике не уехать, в разработке сущетвует еще огромное количество факторов которое нужно учитывать при создании софта, при том что технолигии не стоят на месте и постоянно меняються. Единственное на что можно полагаться это на свой опыт и понимать что у тебя хорошо получаться а что нет, да я знаю java/c++/js но прекрасно понимаю что знаю данные технолигии недостаточно для того чтобы требовать за них достойную оплату и писать на них production-ready проекты и желания двигаться в этом направлении нет, учу python а php меня кормит.

Google Chrome «поедает» рынок браузеров

В разработке сайтов и повседневной жизни использую Firefox Aurora (даже на телефоне) и жду когда уже Mozilla либо оптимизуруют то что есть либо допилят Servo. На хроме тоже можно легко разрабатывать сайты и так и делает мой младший брат, но у него фронт а у меня бэк, некоторые плагины особенно для тестирования SOA или REST имхо лучше сделаны под лиса. Плюс режим чтения в лисе просто божественный и я его использую каждый день.


Периодитески использую Chromium для тестов того, что выкатываем на боевую.
И до кучи еще и Opera так как встроенный vpn довольно удобное решение.


В итоге сайты нашей небольшой ТОО "Рога и Копыта" одинаково работают как на ff так и на chrome

Ценности GitLab

Использую его как хранилище своих наработок, которые вроде интересны и нужны но пока еще стыдно показать их людям. Стоит себе мирно в виртуалке и кушать особо не просит + gitlab-ci достаточно удобный.


Github использую для того что не важно от слова совсем или не стыдно показать людям. Bitbucket уже для работы, есть группы по отделам (отдел как раз 4-6 человек) и есть платный акк тех директора куда переносим проекты где > 5 человек.

Почему программисты не могут программировать

Даже такой бесполезный ларавельщик-пыхобыдлокодер как я и то юзает DDD и сейчас буду пихать интеракторы в органайзер и материться что laravel не все зависимости в контекст инжектировал по интерфейсам и писать для них сервис-провайдеры которые позволят DI отрезольвить их.

Как стать веб-разработчиком в 2017 году — план действий

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


нужен небольшой сайт на shared хостинге тогда — Yii, хотя на 80% таких вариантов хватит и такого зла как cms


огромный корпоративный портал с адской бизнес логикой тогда берем Symfony


огромный корпоративный портал с адской бизнес логикой и задолбало строить абстрактную фабрику для абстрактной фабрики абстрактного класса для объекта с +100500 интерфейсами и дедлайн был вчера и вообще ты только научился писать инлайном — тогда бери laravel


если ты супер-про который знает что ему нужно и у тебя есть тз по вещи которую тебя даже полным именем называть влом — тогда берешь Zend/CodeIgniter или выбрасываем laravel оставляя только Illuminate из него, добавляем еще пару библиотек и из этой солянки строим уже что-то такое что кровь стынет в жилах.


нужна очень хорошая производительность берем phalcon


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

Как стать веб-разработчиком в 2017 году — план действий

Ну а ваши предложения?

Как стать веб-разработчиком в 2017 году — план действий

а я php-шник и мне статья понравилась, добавил в избранное и буду кидать тем, кто задает вопросы вроде


  • а как сделать свой сайт с нуля?
  • а что надо учить в php?
  • а почему у тебя в контроллере ларавела только try/catch и один вызов dispatchInteractor с какими-то %SomeName%::class ?
  • а почему не стоит делать свой php шаблонизатор вроде twig и orm вроде Eloquent?
  • а почему некоторые сайт называют реактивными?

P.S да, да, %habra-username% я знаю php вообще лучше не учить, и сам иногда сожалею что не начал в серьез заниматься python или java когда был студентом, а теперь думаю стоит начать разбираться в node.js

Топ инструментов разработки для PostgreSQL

Использовал все кроме NAVICAT.


pgAdmin3 радовал меня веселыми зависаниями и глюками, особенно через удаленное соединение по ssh (не светить же порты наружу). В 4-й версии эту фичу убрали, да и еще и запускать его нужно в браузере, в итоге я попрощался с pgAdmin вообще. Если бы они оставили его как десктопный вариант, переделали бы интерфейс и починили бы глюки. В общем если бы сделали аналог mysqlWorckbench для postgres то цены бы им не было!


EMS Studio порадовал меня глюками похлеще pgAdmin3 и абсолютно не адекватным интерфейсом.


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


PGCLI интересен но зачем он, если есть psql.


В итоге локально webmin (да в старичке webmin есть утилиты для администрирования postgres) + datagrip из IDEA.
На проде только psql, на тесте psql+datagrip по ssh


Плюс иногда еще использую Open System Architect — codebydesign.com
или
PowerArchitect — www.sqlpower.ca/page/architect

Опрос айтишников. На «вы» или на «ты»?

Как не странно, на моей работе внезапно есть прямое распоряжение CEO о том что все на "ты" вне зависимости от должности, возвраста, отдела и т.п.


Самого CEO все называли на "вы" но потом цать издал указ что и к нему на "ты".


За пределам работы на "вы" называю только людей которым явно за 60 (исключая родителей, тестя и тещу).
Никто пока против не был.

Как пасти скотов. Советы руководителю подразделения разработчиков

Вопрос к автору — как вы определите какой специалист обычный, какой высококласный а какой плохой?

Пилим каталог товаров не притрагиваясь к реляционной алгебре

Как-то раз я столкнулся со схожей структурой в mysql — где были объект и атрибуты объектов и все на сайте от статей до пользователей было перемешано — собрать один объект было то-еще веселье из кучи JOIN'ов и подзапросов.


Вытащить данные по серии объектов и взаимосвязями для отчета — локальный персональный ад.


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


Спасибо!


P.S Пользователи статьи конечно разделили на разные микросервисы c postgres, а товары крутится на mongo.

«Hello, (real) world!» на php в 2017 году

<sarcasm>Суть программирования — это как суть пустоши, только суть программирования</sarcasm>

Своё WEB-приложение, с MVC и реестром

Я вчера над этим уже задумался после этого поста, думаю как закончу текущие проекты — попробую собрать простое mvc приложение в виде обучалки. Если будут неточности — пишите на камне что не так и можете кидать =)

Своё WEB-приложение, с MVC и реестром

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

При этом я считаю свой ACL для laravel 5.2 убогим недоработанным костылесипедом, только потому что работает через middleware a не через guard который появился в 5.3 и пока не допилю его в своем приватном gitlab — публично его мне совесть не позволит выложить, хотя он уже используется в довольно крупном проекте в течении года и вполне себе работоспособен.

И тут я вижу от взрослого и вроде адекватного, владеющим английским человека статью на хабре про «ЭТО»

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

Своё WEB-приложение, с MVC и реестром

ах да — Хабр уже не торт…

<sarcasm> и у меня до сих пор нет инвайта! </sarcasm>

Своё WEB-приложение, с MVC и реестром

Я очень надеюсь что эта статья такой очень тонкий тролинг, такой код я уже много где видел и даже поддерживал а потом с матами рефакторил, я не буду описывать все минусы сего с позволения так сказать «творчества», но вот основные:

1) стандарты и рекомендации — нет не слышал! — php-fig.org
2) роутинг прибит намертво через .htaccess — за это я готов руки оторвать
3) автолоад — что это?
4) переменные и даже классы из одной буквы — замечательно!
5) кастомный шаблонизатор — вообще мечта!
6) mysqli — хорошо хоть не mysql
7) конфиги бд через define — ня!

Для начинающего в 2005-2009 году который изучает php две недели — это проект еще нормален, но для статьи на хабре в 2017 году — это перебор.

Краткий обзор нововведений в Laravel 5.4

Есть еще и возможность напрямую обратиться к DI что чаще всего я и делаю, если объект из DI используеться только в этом методе.

public function some()
{
return app('config')->get('some.any', 23);
}

Информация

В рейтинге
Не участвует
Откуда
Алматы (Алма-Ата), Алма-Атинская обл., Казахстан
Дата рождения
Зарегистрирован
Активность