Pull to refresh
-26
Karma
0.1
Rating

Уже не безработный ;)

От проекта до умного дома: будни интегратора

Достаточно было бы сделать реле для подрозетника. Тогда было бы всё логично: АВ - подрозетник - люстра. А уж что ставить в подрозетник: выключатель или реле - можно решать по месту. И вроде даже есть маленькое реле.... но с низковольтным питанием... Да блин! Значит ещё пытаться найти БП подходящего размера и пытаться всё уместить.... Нахрена, а главное - зачем? Сделали бы модуль с сетевым питанием по форме подрозетника, можно даже глубокого, а сверху серсорная панелька, коих легион на любой дизайн. Мысль поменялась - поставил на то же место обычный выключатель - едем дальше.

Ну ещё витуху шлейфом пустить по подрозетникам, но это уже так, детали.

От проекта до умного дома: будни интегратора

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

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

Никола Тесла: гений, миллиардер, филантроп, но — не ученый?

Попов изобрёл цифровое радио (1-битное), Маркони - аналоговое. Всё нормально, пис!

Зарплаты разработчиков в первой половине 2022: языки и квалификации

Ну да, 200 это пик, одно предложение. Но я тогда прошёл много собесов и 160 мне предложили несколько раз. Всё равно не бьётся с цифрами из статьи. Напомню, "коммерческого" опыта было меньше года, месяцев 7 или 8 вроде. Правда, за ту "сессию" изучения рынка я в совершенстве освоил навык "чесать язом без остановки" (в один из дней было аж 4 собеса), сейчас я так уже не смогу, надо снова тренироваться :)

Зарплаты разработчиков в первой половине 2022: языки и квалификации

Java middle 170 и senior 250? Фигня какая-то. Мне 200 на руки предлагали когда у меня и года опыта не было, т.е. джуновый джун (правда на прохождение собесов натренился тогда нормально). Я конечно понимаю что Москва и не Москва - есть разница и что в связи с массовым исходом за границу жалованья могли просесть, но не до такой же степени....

Добавляем статические файлы вне проекта ангуляр

Вопрос: а можно ли подгружать не статические данные, т.е. чтобы они не хардкодились в main.js, а подгружались отдельным файлом? Подробности вопроса: здесь.

Вам джуны не нужны? А брать придётся

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

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

Дальше будем смотреть на развитие системы. Я допускаю что у меня может возникнуть множество вариантов запроса, чуть-чуть отличающихся по набору критериев. Тогда можно будет написать метод, синтезирующий нужный запрос (собирающий его из "типовых" кусочков). Такой опыт у меня есть. Тогда получим и универсальность, и скорость, и (что важнее) снизим нагрузку на БД, она же не только аудитами занимается.

Пока же выбран способ более понятный и гибкий (я могу создавать и двигать вверх-вниз фильтры и обработки, логировать анализировать промежуточные состояния и пр.). Когда прицип работы с аудитами окончательно устаканится. можно быдет подумать и об оптимизации.

Вам джуны не нужны? А брать придётся

сколько данных возвращает запрос в строке 32?

Несколько штук, скажем, в пределах 20.

сколько из них отфильтровывается в строке 34?

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

сколько раз происходит обращение к базе в строке 35 ?

Вызов на каждый audit. Да, я могу написать запрос, который будет это проверять (через цепочку join), но запрос в 32 строке я использую в разных местах с разной последующей обработкой. Был один универсальный, станет несколько, свой на каждый случай. Как лучше (скорость против размера кода) будем смотреть по мере разсития приложения.

Вам джуны не нужны? А брать придётся

Ну, не куча, а две всего. Достоинство Stream API в том что он позволяет писать в декларативном стиле, устраняя визуальный мусор в виде кучи циклов с неизбежными break и continue. Но тут тоже надо не переборщить, иначе эта прелесть превратится в нечитаемую кашу. А здесь у меня два чётких действия:

  1. Получаем список аудитов.

  2. Обрабатываем их.

Хотя и этому коду стоит добавить комментариев чтобы через пару месяцев можно было вспомнить что я тут понаписал :)

Сортировку вынес отдельно т.к. над ней ещё предстоит поработать. Возможно, придётся сделать несколько способов сортировки. А там решу внести её в команду или оставлю отдельно.

Вам джуны не нужны? А брать придётся

а зачем все эти проверки в стримах на результаты выполнения запроса?

Это про .filter()?

почему нельзя все эти условия загнать в запрос

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

странный new ArrayList

Мдээээ... Это наверно я так коряво совместил две команды в одну :) Без него хорошо, там же в конце уже есть .toList() Надо потестировать что получилось. А ведь никто не заметил, вот что значит свежий взгляд! :)

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

Я не утверждал что код идеален. Да и где он, хороший джуновый код? Заворачивать - это хорошо, главное - с конкретными претензиями ;)

Маск после двух волн увольнений в Twitter призвал ключевых сотрудников остаться и пообещал им вернуть удалёнку

ставите на фашистах галочку

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

СМИ: сотни сотрудников отказались перейти на «хардкорный» режим Маска для создания Twitter 2.0 и ушли из компании

Похоже Маск не слишком понимает

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

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

А что там у него получится - будем посмотреть, если конечно сможем понять, а чего он собственно хотел добиться.

А как у них? Культурные различия IT-гигантов: МЯСО vs FAANG

с ужасом

Ну, напугал. А теперь конкретнее: чего надо бояться, соглашаясь работать на индийца? :)

Как выучить что угодно в 7 раз быстрее и эффективнее

только писать, писать всё, писать, как есть

А я наоборот, старался осмысливать и записывать максимально кратко. У меня даже сложилась какая-то система значков и стрелочек, позволяющая писать меньше слов (лямбда-выражения, ага). Конечно, получалось так не всегда и приходилось переходить в "режим ксерокса" - просто писать не думая. И это ад! Нельзя просто писать 1.5 часа - тупо устаёшь. Я даже наблюдал за однокурсниками: вот пишет чел, пишет и вдруг раз! Выключился, сидит тупит.... Потом очнулся, дальше пишет.

Когда приходилось потом брать у кого-то лекции, я прямо видел эти лакуны, порой в важных местах. А вот мои лекции любили брать серийные троечники, те которые на исходе сессии сдавали "христа ради" по 2-3 предмета в день. Говорили: у тебя всё очень кратко, понятно и по делу.

YouTube по требованию Apple удалил неофициальный канал с крупнейшим архивом роликов с WWDC

огромное количество старой рекламы Apple, сеансов WWDC, внутренних обучающих видео

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

По-моему, эти материалы ценны только "здесь и сейчас" и через пару-тройку лет становятся полностью не актуальными. Если ошибаюсь, то чо, ждём на торрентах. Там хранить даже лучше:

  • исходное качество, без пережима платформой;

  • материал хранится ровно до того момента когда он хоть кому-то нужен.

Велокат — велосипед «последней мили»

Надо добавить еще одну трубу и сиденье на ней

Или убрать педали и добавить платформу, на которой можно стоять ... Ой :)

А если серьезно, 2*15 мин пешком это полезно, учитывая сидячий характер работы. Вердикт: проект не нужен!

Вам джуны не нужны? А брать придётся

  1. Это приложение - в значительной мере результат реверс-инжиниринга существующей системы. Анализ запросов в БД показал наличие этой проверки. В имеющимся у меня срезе БД такой вариант не встречается, поэтому у меня нет понятия что означает эта константа. Возможно, это наследие древнего проклятья легаси и сейчас уже неактуально. В любом случае, в TODOшку у меня записано спросить при случае опытных товарищей, возможно, этот кусок приобретёт понятный смысл.

  2. Это наше ООП рекомендует на всякий чих заводить класс, но меня ломало делать это ради трёх стрингов. Но в итоге я лишился понятных именований. Впрочем, сейчас у меня иерархия классов/интерфейсов уже стабилизировалась, так что этот кусочек уже можно отрефакторить.

  3. Она внедряется в конструкторе класса (на фото он не попал). Это переменная класса. Репозиториями у нас (в Java и Spring) принято называть классы, абстрагирующие доступ в БД. Здесь всё предельно стандартно и у тех кто будет читать код не возникнет никаких сложностей, в отл. от п 4 :)

  4. Не понял о каком именно законе речь. Здесь я разбираю сложный объект и на основании его полей формирую коллекцию других объектов, которая потом улетит на фронт для отображения. Читать это сложно, надо постоянно подглядывать в сами объекты. Но если этот алгоритм расписать в виде традиционных циклов - получится ещё хуже. Steam API в Java за счёт широкого использования лямбд позволяет сделать код более прозрачным, избавиться от визуального мусора (переменные цикла, break, continue...), а главное - легче выстраивать обработку коллекции, меняя порядок команд, внося проверки, фильтры и вот это всё.

  5. Я не целил в какую-то конкретную ЦА. Вообще, статья родилась "на потоке" и в ответ на другую статью. Так что это просто пост на Хабр, не больше и не меньше :) Что касается навыков общения, то мне по работе приходилось общаться с самыми разными людьми: от губернаторов и зам-министров до мужиков в фуфайках, которые работают работу с помощью УАЗика, лома и такой-то матери. Исходя их того что нигде не побили, я делаю вывод что с навыками всё в порядке. А так как и интернетах я относительно давно, я застал то время когда общения на форумах было достаточно простецким. И если в жизни мне приходится начинать общение с незнакомыми людьми с обращения на "Вы", то онлайн мне для этого наоборот требуется какая-то причина. Да, Хабр для меня слишком чопорный, но что поделать - другого-то нет :)

Вам джуны не нужны? А брать придётся

Ну на, пафтыкай :)

MyCode :)
Ал рих - цапурих!
Ал рих - цапурих!

Байки из склепа (из 40 лет работы программиста)

Ну, привет вам из посковидного 2022 :)

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

Я: приехать?! в смысле "приехать"? пачиму приехать?

В общем, будущее уже здесь :)

IT для неайтишников: Куда исчезают программисты после 40 лет?

а на чем пишет код ?

На перфокартах!

Information

Rating
2,625-th
Registered
Activity

Specialization

Backend Developer
From 250,000 ₽
Java
Java Spring Framework
SQL
Angular