Как стать автором
Обновить
2
0

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

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

Проблему можно решить массой способов, дешево и сердито, или фундаментально и сверкачественно потратив кучу времени или денег. Тут каждый сам решает.

А кроме этих диаметрально проитивоположных случаев других варианов нет? Например затратить чуть больше времени на планирование и сделать выше среднего за те-же деньги уже не вариант?

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

Вы действительно считаете, что наличие статей или их отстутствие как-то влияет на качество конструкции? Даже если в школе не было трудов, то в сети за 5 минут гуглится соединение в пол-дерева. Его используют уже тысячи лет. Поэтому по инструментам абсолютно не затратно. При этом конструкция будет в 2 раза меньше при той-же полезной площади. Даже если руки ростут из того-же места, что и ноги да еще и пальцами вовнутрь вам в любой столярной мастерской сделают конструктор, который останется помазать клеем. И если что комьюнити вранье рарушает никак не меньше. На всякий случай погуглите что такое docking station.

И по поводу токсичности. Это бытовое понятие. Психологи это понятие связывают с манимулятивным поведением. Так что если вы что-то криво сделали и вам об этом говорят в лицо и вам от этого неприятно, то это не токсичное поведение. Это просто значит, что вам говорят правду. А она почти всегда не самая прияная вещь.

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

Вот вообще не в любом. Доков, которые отдают достаточно питания, вагон и маленькая тележка. Это вообще-то норма втыкать только один кабель.

Я могу usb-хаб воткнуть в док и будет так как вы хотите.

Я хочу ровно в 2 раза меньше проводов, чем у вас в результате может получится.

А ноут мне на столе совсем не нужен, будет только мешаться.

Привильно-ли я понимаю. Вы считаете неприемлимой подставку шириной с толщину ноутбука, которая будет удерживать его вертикально, в том числе есть варианты для крепления к стене, но считаете вполне приемлемым занять половину места под столом? Для чего? Что бы бится об эту конструкцию ногами? Вы могли-бы банально сделать ее плоской, шириной в 10-15 см и расположить у стены.

У всех у нас есть свои задачи. Кому-то нужна куча проводов, а кому-то вообще ничего. Я с этим спорить не собираюсь. Речь о другом. Очень важно называть вещи своими именами. Если речь идет о проектировании док станции, то это проектирование конкретного устройства. В статье-же речь о cable management. Причем очень далеком от совершенства. Сама конструкция занимает целую кучу места, а решает задачи утройства, которое обычно помещается в лубине стола.

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

Да и вообще как-то все сомнетельно. Любая нормальная док станция позворяет просто включить один кабель и на этом все. И кнопка у нее работает, и питание она подает. Да и зачем вообще что-то городить если док сама по себе малюсенькая. В конце-концов если она очень сильно мешает на столе, то можно ее повесить сзади монитора так, что бы можно было кнопку нажимать, а не занимать целую кучу места под столом. Да и лазить под стол что бы отключить ноут если что как то то же сомнительно. Вертикальная подставка конечно стоит не то что бы 3 копейки, но точно не безумно дорого. Но если вообще жаба душит, то она за 10 минут вырезается из упаковочного материала и потом служит годами.

История, которая произошла со мной. Я приехал к маме в гости. Она меня попросила глянуть на ее ноут. Пока я ковырялся с ее ноутом она сидела за моим. А потом говорит, что мой Windows ей нравится больше и спрашивает можно ли его поставить и на ее ноут. Я давай отговаривать. Все-таки Debian Testing не самый удачный кандидат в ее случае. В результате я ей поставил Ubuntu, показал где ее программы и что клацать по мелочам. Вот такой вот взвешенный переход "обычного" пользователя. Если что до перехода она регулярно обращалась с проблемами к админам с прошлой работы. Сейчас она на пенсии. Так что она точно никакой не скрытый хакер или админ.

А недавно соседка попросила меня зайти. Ей дети подарили ноут что бы больше общаться с внуками. Когда я сказал: "Ух-ты. У вас Linux". Сказала, что не знает о чем я и она просто нажимает как ей показали. Проблема была в том, что в беспроводной мышке сел аккумулятор и она начала часто мигать. Знаете, что-то мне подсказывает, что она не сама что-то нарешала.

Например, чтобы не апгрейдиться до Win10/11.

Ума не приложу зачем это нужно, но допустим. Но в этом случае Linux ставить не особо-то и нужно. Достаточно просто все оставить как есть.

1. Отчасти этот пост отвечает на комментарии «в линуксе всё уже работает из коробки!» И в этих комментариях нигде не говорилось «если купишь платную поддержку». Утверждалось, что он уже сам по себе хорош.

И очень часто это чистая правда. Я пользуюсь Linux для работы потому, что он мне наиболее удобен. И среди моих коллег это крайне популярная система. Мы все берем железо, которое поддерживается Linux и ни у кого нет проблем. Примерно пару месяцев назад я ставил на свой HP Probook 445 G7 Fedora. Загрузил Live, сказал поставить. Полазил в интернете пока ставилась система. На этом все. Завелось все, кроме датчика пальца. Но он указан в исключениях. Поэтому я на это и не рассчитывал. Честно говоря я не понимаю почему люди при выборе ноута, который планируют использовать с Linux, не проверяю его при помощи LiveUSB. Вам больше заняться нечем как решать проблемы с непонятными ноутами и потом писать про это статьи?

И если уж пошло, то по вашей логике Windows на десктопе то же делать нечего. Берем комп с SATA винтом, качаем образ с официального сайта и ... система не ставится. Нужных драйверов попросту нет. А теперь попробуйте объяснить обычному человеку, который ни в чем не хочет разбираться, что ему говорит инсталятор, как определить какой драйвер ему нужен и как тыкнуть в нужный файлы если производитель предлагает exe файл, который что-то грузит и что-то куда-то ставит вместо самого драйвера.

Рядовой пользователь что-то читает и сам что-то делает? Он просто зовет специально обученного мальчика/девочку в не зависимости от системы. А они уже обладают всеми необходимыми знаниями.

Статья интересная и познавательная. Но на мой взгляд вы решали не ту проблему. По сути вы потратили целую кучу денег и времени просто потому, что у вас не поставлены руки и слабые пальцы. Я учился слепой печати в 80-х годах прошлого века. Компов в современном понимании тогда не было и уж тем более на них никто не пустил-бы учится слепой печати. Поэтому мы учились на механических печатающих машинках. И первое, чему нас научили как нужно сидеть, в каком положении должны быть руки и пальцы. А уж потом мы начали учится. У печатающей машинки есть одна особенность. Если удар по клавише недостаточно сильный и отрывистый, то залипают ламели. Ну и исправить уже напечатанную букву нельзя. Поэтому точность прежде всего. Скажу честно. Тогда было непросто. Зато сейчас мне абсолютно все-равно где находится тот символ, который мне нужно нажать и на сколько клавиатура ватная или неудачная. Я просто нащупываю «говнюшки» и начинаю печатать.

Может быть и вашем случае не нужно морочиться с раскладками и настройкой, а просто купить на барахолке механическую машинку и через месяц вам будет вообще фиолетово каким пальцем что жать?
А в чем проблема начать использовать DataBinding? Включается он так-же. Добавить тег layout вроде-бы не сильно сложно. Не нравятся лямбды в xml или привязка данных и методов из ViewModel? Так в чем сложность? Их можно не использовать. Хотя, честно говоря, я не совсем понимаю, кто в здравом уме откажется от этого. Когда нужно в старом проекте что-то посмотреть или исправить, то без того-же DataBinding-а чувствуешь себя так, как будто тебе обрезали крылья и дали костыли.
Сейчас программистов стало еще больше и проявляется ситуация, когда достаточно вообще не любить программировать и хоть как-то мочь

Да. Так и есть. «Программисты» нужны всякие. И те, кто клепают сайты-визитки и интернет магазины на каком-то движке загружены не меньше, чем гуру, занятые в продуктовых компаниях в наукоемких проектах.

А вот это вы зря. Нужно ходить на все собеседования. Если вас пригласили, то вы чем-то приглянулись. Даже если вы "опозоритесь", то это совсем не повод попросить дать вам направление и возможность повторить тестовое задание через неделю-две, месяц-два. В зависимости от того, что дадут изучить. А если вы аргументируете, что пытались охватить максимум из интересующих тем и в эту тему еще не успели значительно погрузится, то вообще будет хорошо. Более того. Приходит второй раз в одно и то же место легче. Во-первых вы знаете что вас ждет, а во-вторых там уже знают что ждать от вас. Ведь работодатель рискует больше вашего. Поэтому и осторожничает. К тому-же таким действием вы покажите, что умеете работать с людьми, не замыкаетесь на проблеме. Кто бы что не говорил, а софтскилы — примерно половина того, что нужно от работника.

По большому счету свичнуться это нормально. Просто если ты инженер и твоя работа входит в кагорту IT, то это не проблема. Как не крути, а без автоматизиции сложно и очень скучно. Поэтому просто нужно упорядочить знания и начинать даже без смены работы выделяя на новую профессию время. И не нужно говорить, что его нет. За счет чая/кофе и перекуров можно легко наскрести 2 часа.


Я время от времени читаю подобные статьи. И мало кто говорит о том, что прежде чем погружаться с головой, увольняться, идти на курсы нужно немного покопаться в разных темах что бы понять что это такое и что действительно нравится. Хотя-бы направление. Иначе подготовка сводится к тому, что нужно выучить все. А это нереально и, самое главное, бессмысленно. Т.е. грубо говоря составляем список профессий и для каждой из них проходим какие-то азы на бесплатных курсах, в книгах, повторяем то, что есть в статьях. И потом занимаемся тем, что нравится. Это в значительной степени сфокусирует и на материале, и на поиске работы.


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


PS: Сменил профессию после 40. Был инженером-связистом стал Android разработчиком.

А как вы определяете, что если бы вы в общих чертах не знали то, что знаете сейчас, то было-бы хуже?

У меня как-то был период, когда я в бинарном виде писал программу для сигнального процессора с гарвардской архитектурой. Процессор этот был впаян в плату, которую я сам-же и спроектировал. И загрузчик я то же сам написал. И это все еще и заработало. Думаете я не делаю ошибок и баги нахожу мгновенно? Как бы не так.
Так вы бы тогда и писали то, что имеете ввиду. Не Computer Science, а общая компьютерная грамотность.

Какие именно знания об «архитектурах ПК»? Именно персональных и именно во множественном числе? Я бы еще понял если бы по архитектуре вообще. Я бы лично мог даже привести примеры таких систем. Но тут возникает главный вопрос «Зачем?». В чем это поможет мобильному разработчику?

Аналогичная ситуация с ОС. Допустим я у вас на собеседовании очень детально разрисую архитектуру системы, которая даже не на PC работает. И даже сертификаты покажу. Что это скажет обо мне как о мобильном разработчике? И как это мне поможет в будущем?

Зачем вам теория языков программирования? Вы собираетесь свой язык изобретать? Вам Java, С++ и Kotlin не хватает?

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

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

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

… первым идет problem solving — желание работодателя услышать от инженера четкий ответ, как решить определенную проблему и за какую стоимость.

Вполне логичная хотелка. Но что это значит по сути? Это попытка впихнуть невпихуемое. Если ты четко знаешь как решить конкретную задачу да еще и четко можешь обрисовать сроки, то это не проблема. Это рутина. А сколько тебе времени потребуется на решение какой-то незнакомой задачи? Как говорится хз. Может быть она банально гуглится и это 5 минут, а может для ее решения нужно раздел математики освоить, а потом еще 1.5 года.

И по поводу Computer Science. Я еще понимаю выдвигать требования в общих чертах что-то знать. Но так что бы именно Computer Science. Для мобильной разработки? Вы собираетесь свой Matlab под Android писать? В любом случае. Если вам нужна математика, то в команде есть математик. А если время от времени нужно что-то по мелочам, то требовать знать все-все-все бессмысленно. Понадобилось- разобрались или привлекли специалиста и пошли дальше.
Видимо, мы с вами думаем по разному. Все что угодно можно сделать в констрейнте, но в 80% случаев он не нужен и все проще сделать без него.

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

Конечно имеет. Но с ConstraintLayout нам объявили, что теперь дробления в пределах экрана нет вообще.

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

2-3 лишних парамента в каждом элементе. А стабильность и управляемость не добавляется, а убавляется из-за чрезмерной сложности.

Опять сложность. Вы бусики видели? Тут ведь то же самое. Дикари справляются с этой сложностью, а вам тяжело? Серьезно?

Читал доки. Читал статьи. Так и не понял в чем смысл этим всем мучаться если есть LinearLayout.

Да что уж там. Зачем вообще это все если есть ASM.

При добавлении элемента ничего не ломается, а вот когда вы начинаете менять constraints чтобы вписать этот элемент где-то посередине — все летит в трубу. Да, оно потом чинится, но зачем мучаться, если есть LinearLayout?

Нет. Ничего не ломается. Именно потому LL и не нужен.

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

Хм. А почему вы выкинули из обсуждения фразу :«пропадать по очереди и перекрашиваться при этом в розовый»? Или это то же слишком сложно? Не знаю как у вас, а у нас обычно реализуют то, что придумал дизайнер и согласовали с заказчиком. И если гибкость уже заложена, то поддерживать проект будет значительно проще. Допустим вы решили все положить в LL. На начальном этапе все работает. А потом вдруг кому-то пришло в светлую голову, что нужно что бы пропадали не все элементы, а 1,2,4 и 7. А во втором ряду при этом сонхронно со 2 пропадал и его второй. И это только в первом случае. Во втором, третьем и четвертом все должно быть совсем по-другому. Вот теперь вам нужно будет все переделать. И если вдруг решат, что все не так, то нужно будет опять все переделать. Вот тогда все и поплывет. Да еще и все попробуй отладить.

А потом, когда вы добавите в группу внутри ConstraintLayout еще 1 элемент и забудете прибиндить видимость — вам тестеры зыведут баг.

А почему только это забуду? Давайте я еще и забуду LiveData проинициализировать. Ну что бы оно еще и рухнуло. Ну и в базу данных данные забуду положить. А еще когда параметр прописывал вписал не от видимости, а от чего-то другого. Да, когда констрейн подключал я еще библиотеку перепутал и старючую альфу вкатил. Я понимаю, что программисты почти всегда идут по положительному сценарию. Но если ты дописал сокрытие элементов, то ведь жмакнешь кнопочку что бы хоть одним глазиком посмотреть как работает. Ну вот не верю, что кто-то вот так неглядя свою работу тестерам передает. И ладно-бы LL был непогрешимым. А так добавили вы элемент и проверили на устройстве с высокой плотностью пикселей. А тестер взял да и проверил на каком-то стареньком или крайне дешевом телефоне. А влазит-то не все. И ведь то же баг заведет.

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

Судя по всему ConstraintLayout применять для разметки уместнее всего. Он сочетает в себе гибкость и быстроту. Осталось дело за малым. Вдумчиво прочитать документацию и понять, что проще уже некуда. И во время создания интерфейса немного подумать и не метаться с привязками. И тогда все изменения будут вносится быстро и просто. Ну или продолжать ворчать и обливаться холодным потом когда возникает надобность подправить что-то с существующем констрейне.
Если есть возможность написать все приложение в одном классе — почему так не делают? Юзают же зачем-то разбивку на классы и компоненты.

Contstraint как раз и разбивает на экраны. Дробление ведь то же имеет свой разумный предел. Скажем мы ведь можем для каждой переменной создавать свой класс. Но не думаю, что кто-то так делает.

1. Намного больше это 2-3 лишних параметра? Как по мне не сильно большая плата за стабильность и управляемость.

2. Даже не знаю что сказать. Полно статей с анимацией как это все работает. Как это можно не понять? Вы точно доки читали? Или каждый раз угадывали?

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

4. Вполне логично, что разные элементы это разные элементы. Но сказать, что «невозможно работать нормально как с однми целым» это вы сильно перегибаете. Конечно когда в нашем распоряжении не было MVVM, LiveData, DataBinding это было несколько муторно. И то не было ничего невозможного. Но сейчас просто привязав видимость элементов к LiveData мы может управлять ими как группой. Мы можем даже пойти дальше. Мы можем создать любые кастомные параметры, которые на основе той-же LiveData могут реализовывать любую сколь угодно сложную логику. Например пропадать по очереди и перекрашиваться при этом в розовый. И все это будет делаться присвоением всего-лишь одного значения.

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

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

Лично я не вижу ничего страшного в том, что-бы что-то бросить в редакторе, а потом подправить руками. Я не все наизусть помню. Но по большому счеты вы правы. Чем сложнее UI, тем проще сделать руками.


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

Приятно читать, что бывают и адекватные работодатели.

Я бы к вашей методике добавил вот что. Тестовый проект должен быть предоставлен в виде ссылки на Git (или на то, что обычно использует соискатель). По логу очень хорошо видно как работает человек. Или все последовательно закомичено и видны все этапы или комит только один. К тому-же точно убедитесь, что человек умеет пользоваться Git-ом ;) А то случаи разные бывают.

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

И я бы не стал делать упор на технической части собеседования. Я же не думаю, что в вашей команде все работают исключительно под давлением, интернета у вас нет, а использование документации карается штрафами. Обычно на собеседовании человек расскажет вам примерно половину, а то и треть от того, что он знает в обычной ситуации. А я сильно сомневаюсь, что вам нужен человек, который очень хорошо проходит собеседования ;) А то я знаю такой случай. Взяли человека. Блестяще прошел собеседование. На него возлагали большие надежды. Но по факту оказалось, что он ни рыба ни мясо и вообще ноль без палочки. Но собеседования он проходит великолепно.

Информация

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