Задать вопрос
  • Что из себя представляет должность администратора баз данных?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    являясь собственно DBA последние сколько-то там лет...

    Основная рутина:
    - внесение изменений схемы данных без даунтайма собственно приложения
    - выполнение каких-то массивных операций над данными (удалить половину данных из полутеррабайтной таблички, например)
    - исследование проблем производительности со стороны базы
    - решение в целом проблем на серверах баз, не только производительности
    - текущее сопровождение: бекапы, репликация, переезды с одних серверов на другие, настройка новых серверов, минорные обновления базы
    - major обновления базы
    - заведение пользователей и организация прав доступа
    - консультации разработчикам "как лучше сделать"
    - консультации "так это работать не будет, придётся менять"
    Ответ написан
    Комментировать
  • Что нужно знать чтоб стать Джуном в бэкэнде python?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    То же самое, что и раньше - Лутца вплоть до 37-й главы и руководство Django. Но надо понимать, что конкуренция среди джунов огромная, так что за место придётся бороться с людьми, которые могут отлично знать SQL, теорию реляционных баз данных, принципы работы сетей, алгоритмы и шаблоны проектирования, могут свободно чувствовать себя в консоли Linux, могут разбираться в виртуализации, уметь тонко настраивать сервера, разбираться в железе и т.д. и т.п.
    Ответ написан
    1 комментарий
  • Является ли чтение Readonly свойств объекта нарушением инкапсуляции?

    NikFaraday
    @NikFaraday
    Student full-stack Developer
    Если объект возвращает DTO как представление самого себя

    Как? DTO это объект, который просто описывает некую модель данных и не имею поведения (Wikipedia). Ладно, с этим всё равно, едем дальше

    нельзя менять свойства объекта из вне, это могут делать только методы объекта

    Ну это уже смотря на логику... К примеру, наведу пример из .Net, возьмите стандартный класс от Microsoft по типу Console (Класс для работы с консолью). Там же есть свойства, по типу BackgroundColor, Height, Width и т.д. Изменение размеров окна является нарушением инкапсуляции?

    То представление инкапсуляции, что вы имеете, оно опирается только на наличие модификаторов доступа public и private. Является ли инкапсуляцией наличие модификаторов доступа? Нет, потому что не было бы описано 100500 книг и статей по поводу двух модификаторов доступа. Инкапсуляция - это, в первую очередь, целостность объекта, т.е., что объект может взаимодействовать сам с собой через внутренние методы (По типу того, как вы описали).

    Но неужели объект не может меняться снаружи, или он не может меняться через публичные свойства? Если бы это было запрещено, то в конвенциях к ООП писалось бы такое ещё и жирным шрифтом, что: "НЕЛЬЗЯ ДЕЛАТЬ СВОЙСТВА ПУБЛИЧНЫМИ".

    Для примера, есть такой языка как C++ (Думаю, что вы слышали). Там, в отличии от более продвинутых языков программирования, нет большей части упрощающего функционала (Синтаксического сахара, называйте как хотите). Весь объект строится из полей и методов (С различными комбинациями модификаторов доступа). Есть ли там инкапсуляция? Да. Запрещены ли там публичные поля? Нет.

    машина машина должен решать задачи по перевозке водителя,

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

    Класс который содержит поля - является структурой данных (без поведения). класс который содержит и структуры данных (т.е. свойства) и поведение является объектом.

    Любой класс является классом. Конкретная реализация описания класс является объектом. Структура данных (Вообще модель данных) является самым простым типом класса. Если у класса есть методы для описания поведения, то он всё равно остаётся объектом некого класса. Как выше написал уже Владимир Коротенко :
    dto являются легчайшими объектами взаимодействия с бд, они просто по своей сути не могут содержать в себе логики


    мы хотим при оплате добавить еще какое-нибудь поведение, поверх стандартного

    Наследование, ещё один принцип ООП. Если полностью закрытый класс даже для наследования (sealed) значит тут уже как не крутись, у вас ничего не получится, как бы вы не ХОТЕЛИ УСОВЕРШЕНСТВОВАТЬ функционал. Значит так задумано вышестоящим разработчиком/ами

    но как без знания объекта это сделать

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

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

    Будете. Будете делать всё что вам скажут, абсолютно.
    Ответ написан
    2 комментария
  • Является ли чтение Readonly свойств объекта нарушением инкапсуляции?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Давайте представим объект и DTO которым пользуется объект. Если объект возаращает DTO как представление самого себя, например методом showStruct(): DTO будет ли это являться нарушением инкапсуляции?

    Я понял ваш вопрос. Смотрите. Философия ООП базируется на том что все действия с объектом должны быть санционированы языком или средой выполнения. Например в Java есть техника рефлексии которая позволяет много чего делать например менять приватные поля. Это часто используется в Mock/Mockito и я часто про это говорю. Мокито - фактически взламывает инкапсуляцию. Но это всех устраивает потому-что "тестить нуна!".
    В Java также есть технология сериализации-десериализации которая обеспечивает сохранения состояния объектов на диск или передачу их в сеть для дальнейшей работы (например пользовательская сессия прыгает между нодами кластера). И это действие (сериализация) полностью санкционировано средой и языком. Всех это устраивает. Хотя с моей точки зрения - этож капец взлом. Но зато в Java вы никогда не сделаете down-casting объекта одного типа к типу другого если иерархия этого не позволяет. Этого делать нельзя ... ну потому что это точняк нарушение ООП. И нельзя найти никакой санкции на такое странное действие. Вот в языке С++ например вы можете жонглируя указателями взглянуть в любую память своего процесса или потока и прочитать любой байт или word/dword. Что можно сделать в PHP из подобного? Я не знаю. Но новерное что в PHP много механик которые не позволяют делать хакинг когда. Вот. Поэтому ООП и считается философией программирования а вовсе не тюрьмой. Вобщем код надо писать по правилам языка и среды а не "хачить". И лучшие практики ООП они как раз стоят именно на этой идее. Кроме того - не существует единого ООП - а есть просто разные его реализации в разных языках. Короче вы не найдете самого-самого-ООП-шного языка.

    А вообще если это опнсорц - ну сделайте себе форк и меняйте что хотите в исходниках.

    И Еще пример. если объект не будет возвращать никаких данных о себе, то тогда как придерживаться принципа OpenClosed?

    Про что вообще OpenClosed? Это - расширенная трактовка ООП в части SOLID (вторая буква О).
    Означает что если вы хотите внести изменение в класс - то вы его наследуете. Например
    class BMWX5 extends BMW { .. }
    Мы ничего не нарушили. Мы не меняли свойств BMW. Мы создали новый класс BMWX5 где есть изменные методы. Оригинальный BMW мы не трогали. Все - в правовом поле.
    Ответ написан
    6 комментариев
  • Конкуренция в автоматизации тестирования. Эксперт в технологиях тестирования или lead QA?

    lxsmkv
    @lxsmkv
    Test automation engineer
    Начнем с первого вопроса:
    Я бы вообще не смотрел вакансии где написано "ручной тестировщик", а искал вакансии где написано "тестировщик" и необходимы навыки автоматизации, или обозначено "тестировщик-автоматизатор". Т.е. понимаете, что если фирма в голове у себя считает что тестировщики делятся на ручных и неручных то вам с такой фирмой не по пути. Вы там в лучшем случае наберете нужное количество лет профессионального опыта, чтобы свалить оттуда без сожаления при первой возможности.

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

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

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

    Что касается перехода в менеджеры, у меня был момент когда мне предложили перекинуться в разработчики либо пойти в тест-менеджеры. Но я понимал что из крепкого тестировщика-автоматизатора превращаться в нуба разработчика не комильфо. А тест-менеджер, это куча отчетности, а тестировать будут другие. А мне нравится тестировать. Поэтому не пошел ни туда ни туда. А остался дальше тестировщиком-автоматизатором. И оказалось что это дерево растет пока растешь ты.
    --
    Надеюсь попал своими ответами в ваши вопросы хотя бы на 7/10 :)
    Спрашивайте еще, пишите в личку если что, я на хабре есть, а может еще в моих старых комментариях чего-то найдете полезного.
    Ответ написан
    Комментировать
  • Что должен знать Middle+ разработчик Go?

    opium
    @opium
    Просто люблю качественно работать
    так ты ж мидл мы у тебя должны спрашивать
    Ответ написан
    Комментировать
  • В каком направление двигаться начинающему системному администратору?

    @TheBigBear
    СтарОдмины мы
    Для начала определитесь - стагнация или потеря интереса к профессии
    Даже в рамках одной конторы можно интересно и с пользой для дела получать знания
    Вот навскидку:
    Поиграйтесь с VLAN, разделение сети на сегменты, поднятием MESH
    Поставьте и настройте Zabbix, натравите на мониторинг сети
    Подберите на свой вкус программу инвентаризации и учета (например, GLPI)
    Найдите удалённую подработку
    Самое главное - это чтобы было интересно
    Ответ написан
    Комментировать
  • Как использовать питон в сборе и анализе данных финансисту?

    @mgearr
    Есть очень большой смысл использовать питон для анализа данных, но для этого желательно владеть техническим английским без словаря, потому что почти вся документация - на инглише

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

    Самые популярные прибамбасы для расчётов на питоне называются pandas и SciPy. Ещё надо рисовать графики. Инструментов для рисования - вагон и маленькая тележка, но для начала можно глянуть в сторону Plotly. В самом простом варианте графики рисуются в одну строчку кода

    Для чтения из 1С надо настроить читалку данных, но это, в общем, несложно, тоже, скорее всего, 1-2 строчки, причём, не меняющихся

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

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

    Сами выборки и рисование, по мне, делаются проще, чем на экселе (у экселя язык запросов, по мне, совершенно инопланетянский). Пример графика численности населения из штатной документации Plotly. Я немножко упростил для наглядности и добавил комментарии:

    data_canada = px.data.gapminder().query("country == 'Canada'") # выборка по Канаде
    px.bar(data_canada, x='year', y='pop') # собственно рисование


    В отличие от Excel, на питоне нет визуальных конструкторов запросов. Все выборки делаются ручками с клавиатуры. Зато сколько-то сложные расчёты делать в разы удобнее, чем в ёкселе. И наоборот: простые графики как раз-таки удобнее рисовать на ёкселе
    Ответ написан
    2 комментария
  • О каких IT специалистах говорят, когда речь идет о дефиците кадров?

    php666
    @php666
    PHP-макака
    Откуда миф о нехватке кадров?

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

    Начнём с последних - реклама курсов. Создаются курсы по IT с целью заработать деньги, а их реклама говорит, что ну НЕ ХВАТАЕТ айтишников, ну нет и всё! А зарплаты - сотка с порога.
    Хотя почему их не хватает, кто это сказал, где статистика, графики, отчёты? Этих отчетов НИКТО и НИКОГДА не видел.
    Касательно упомянутого автором веба: я начинал свой карьерный путь в начала 2003 года. Тогда уже были форумы по программированию, люди обсуждали, как заставить javascript работать в IE и NetscapeNavigator. Это было 20 лет назад почти. Как думаешь, за 20 лет сколько людей вкатилось в сферу программирования? Десятки тысяч стали полноценными специалистами.

    Теперь относительно работодателей. У айтишников с незапамятных времен был такой фетиш - "да ты не знаешь бибилотеку Н? - Ну ты и лох" - образно говоря. Чем больше знал айтишник - тем он был круче, чем другие. Это был своего рода выпендрёж одних айтишников перед другими.
    Но это было давно, опять же, лет 20 назад. За последние 20 лет индустрия рванула вперед настолько, что каждая технология, каждый ЯП оброс массой технологий-сателлитов. Для работы фронта нужно знание JS и каких-то там библиотек. Для работы с PHP требуют в вакансиях знания как минимум ТРЁХ фреймворков, не говоря о сопутствующих библиотеках, знания ОС unix/linux, DevOps, СУБД/высокие нагрузки, кэши-редисы, умение это все грамотно применять и т.д. Работодатели видят, что айтишник - это такой весьма покладистый тип личности, которого хлебом не корми, а дай что-нибудь поучить в свободное от работы время (ну а зачем зашуганному ботанику свободное время, пусть сидит дома фреймворки изучает). Вот работодатели и начали задирать планку и жаловаться, что "специалистов не хватает".
    Да, сумасшедших гениев, кто знает целые вереницы технологий, намного меньше, чем обычных ребят, которые исполняют свою зону ответственности. А поскольку работодатели хотят сэкономить, то ищут этого фантомного чудо-программиста, который должен, по их мнению, работать за три отдела. Не находят и жалуются, что "специалистов не хватает".

    Теперь последнее. На подобный вопрос, как ты видишь, все отвечают примерно так - "есть нехватка квалифицированных кадров". При этом НИКТО не даст ответ, чем квалифицированный кадр отличается от неквалифицированного (и, опять же - КТО сказал, что есть нехватка?).

    Вклад в этот миф о нехватке спецов вносят сами разработчики. Сидел такой Петя, кодил 5 лет уткнувшись в монитор, потом его руководитель увольняется и, о чудо, Петя становится НАЧАЛЬНИКОМ отдела аж из пяти программистов. И вместо того, что бы делать свою работу хорошо, у Пети формируется синдром вахтера и Петя начинает задавать весьма заковыристые задачки на собеседовании, заставлять кандидата писать в режиме реального времени код, дает ему тестовое задание на 2 недели. А когда кандидаты сливаются, начальник-Петя, решает, он самый умный, а "спецов не хватает". Хотя проблема не в спецах, а в идиоте-Пете, который самоутверждается через свою должность главного формошлепа.

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

    Айтишники были в последние годы слишком дорогим удовольствием для бизнесов, айтишные аппетиты реально стали чем-то запредельно наглым, когда видишь, что Маша 25 лет с 2 годами опыта хочет 250 000 рублей.
    Бизнесы в нынешних условиях неминуемо будут сокращать траты и условные Маши, которые вчера хотели 250 000 за JavaScript скоро будут работать за 50, тк таких Машек с каждым годом всё больше и больше.
    Ответ написан
    5 комментариев
  • Будут ли перспективы работы в IT в будущем?

    Сфера айти перестала бурно расти и развиваться, но она никуда не денется. Появились нюансы. Повсеместная пропаганда престижности и якобы больших зарплат привела к тому что много человек бросились скорее входить в айти. Из-за этого устроиться новичку не так просто как это было лет 10 назад. Тем не менее, тот кто осознанно идет учиться на программиста и получает серьезное образование в этой сфере устраивается нормально. В этом случае можно надеяться на достойную зарплату и человеческие условия труда. Выгоднее выбирать направление связанное с точными науками, где от программиста требуют помимо кодинга знания, например, некоторых разделов математики (как пример, цифровая обработка сигнала, графика). Таким образом, будешь тем самым инженером-программистом.

    Насчет сильного ИИ можешь не беспокоиться. Если он и будет сделан, то на компьютерах с совсем другой архитектурой и физикой.
    Ответ написан
    Комментировать
  • Каковы перспективы языка С++?

    opium
    @opium
    Просто люблю качественно работать
    Ровно такие же вопросы к нему были и 20 лет назад, вообще это стандартные вопросы к любому языку, но языки вымирают очень медленно, за это время у людей проходит пол жизни, к тому же с любого языка можно достаточно легко перепрыгнуть на другой
    Ответ написан
    Комментировать
  • Как работает передача кадра в ethernet?

    fzfx
    @fzfx
    18,5 дм
    > нажимаю enter он отправляется на роутер
    он отправляется первым делом на матрицу коммутации подключённого с противоположной стороны кабеля устройства: роутер это или коммутатор - не принципиально. главное - что речь не о сети из двух компов.
    > ,роутер ищет в подключениях такой же mac адрес
    встроенный в роутер коммутатор ищет
    >не находит ,роутер по патчкорду отправляет кадр на свитч на чердаке
    встроенный в роутер коммутатор рассылает полученный ethernet-кадр далее по всем своим портам, к которым что-либо подключено, кроме того порта, с которого пришёл кадр, и, учитывая, что коммутатор не сам по себе, а в составе роутера, то ещё и кроме портов, которые в настройках роутера отнесены к другим широковещательным сегментам (т. е. к другой сети, к другому VLAN).
    > ,свитч тоже не находит.куда перенаправляет свитч и как перенаправляет история умалчивает.
    туда же, куда и в случае с коммутатором в роутере - на все порты, кроме порта-источника и портов, относящихся к другим VLAN (если свитч управляемый и поддерживает разбиение портов по VLAN). таким образом ethernet-кадр, будет распространятся по всей локальной сети от коммутатора к другим коммутаторам (и компам), и на каждом из них будет повторяться одна и та же процедура: при наличии в коммутаторе записи, соотносящей MAC-адрес назначения из кадра с каким-то портом коммутатора, кадр будет перенаправлен в этот порт, а при отсутствии такой записи - во все порты сразу, кроме порта-источника. если в этой локальной сети действительно есть комп с таким MAC-адресом - то кадр в конце-концов до него дойдёт, а если нету - кадр будет в итоге утерян.
    > есть размытое объяснение что свитч перенаправляет его на какой то другой маршрутизатор районного далее городского уровня и т.д. перенаправляет вроде бы по wan сети но там скорость до 56 кбит/с а мне роутер выдает 100мб/с.
    тут уже начинаются привирушки со стороны того, кто вам дал размытое объяснение.
    если, как вы в самом начале упомянули, "есть какой то пакет езернета у которого есть какой то мак адрес получателя", то за предел локальной сети (т. е. через роутер) он не выберется. роутер, как и любое другое устройство уровня L3 (работающее с IP-адресами), принимает со своего встроенного коммутатора только кадры, MAC-адрес назначения в которых совпадает с MAC-адресом роутера, и отбрасывает все остальные. так что ни в какую другую сеть ваш кадр не попадёт, пока не переписать вами сказанное на "есть какой то пакет езернета у которого в качестве мак адреса получателя указан MAC роутера". вот в этом случае кадр попадёт на роутер, который извлечёт из него IP-адрес назначения и на основании своей таблицы маршрутизации направит его в одну из подключенных к нему сетей, подменив при этом MAC назначения на MAC роутера этой новой сети (т. е. того роутера в этой новой сети, на который он шлёт кадр), или прибьёт.
    > хотелось бы послушать что происходит дальше
    про то, что дальше в варианте "какой то MAC", я указал выше: не далее как в пределах одной локальной сети.
    а если MAC указан правильный (а за это отвечает таблица маршрутизации компа, с которого отсылается пакет в начале), всё это повторяется какое-то кол-во раз в зависимости от длины маршрута, его правильности и наличия проблем в сети: с каждого нового роутера кадр шлётся на MAC следующего роутера, проходит через свитчи, и если нигде нет обрыва или иной неисправности, добирается до следующего роутера, на котором, в зависимости от IP-адреса назначения, роутер выбирает следующую сеть и меняет MAC назначения, или прибивает кадр, если в его таблице маршрутизации отсутствует маршрут до этого IP-назначения.
    на литературу вам уже вроде скинули ссылок. там вы прочтёте и про все остальные возможные ситуации, такие как широковещательные кадры, зарезервированные мультикаст-адреса, другие зарезервированные адреса, ARP-кеш, ARP-прогрев, ARP-проксирование, различные вариации стандартов Ehternet-кадров и много чего ещё - общую схему я описал, но из неё есть эти и другие исключения.
    Ответ написан
    Комментировать
  • Как на микротике настроить доступ в другую подсеть?

    fzfx
    @fzfx
    18,5 дм
    если вкратце:
    - отключить на кинетике NAT и настроить маршрутизацию между 192.168.2.0/24 и 192.168.88.0/24;
    - настроить на микротике маршрутизацию между 192.168.2.0/24 и 192.168.88.0/24 и настроить NAT подсети 192.168.2.0/24 в интернет.
    Ответ написан
    1 комментарий
  • Как определить основной шлюз на статическом IP?

    fzfx
    @fzfx
    18,5 дм
    Если бы основной шлюз можно было бы вывести из IP-адреса, то его не требовалось бы указывать, логично? ОС бы всегда брала IP-адрес, определяла бы по нему основной шлюз автоматически...
    Совершенно точно можно сказать, что в вашем случае адресом основного шлюза будет один из IP-адресов той подсети, из которой взят ваш статический IP-адрес, за исключением собственно самого этого адреса, а также двух граничных адресов: самого младшего в подсети (адрес сети) и самого старшего (широковещательный адрес).
    Довольно часто адресом шлюза делают следующий адрес за адресом подсети (как, например, 192.168.1.1 в случае, если это подсеть 192.168.1.0/24), порой это самый последний перед широковещательным адресом (192.168.1.254), но в общем случае это может быть любой, удовлетворяющий требованиям, что описаны выше.
    Если же адрес шлюза не известен, то он смотрится в конфигурации работающей системы (например, на соседней машине), либо получается по DHCP вмести с остальными настройками (если использование DHCP заявлено или подразумевается), либо узнаётся у провайдера, либо из договора или приложения к нему, либо у поддержки провайдера, либо у системного администратора предприятия...
    Ответ написан
    3 комментария
  • Как написать заявление о увольнении, с указанием статьи безграмотного руководства?

    @TheBigBear
    СтарОдмины мы
    Уважаемый, Вы уж определитесь, что конкретно Вы хотите
    - Уволиться? Так увольняйтесь! Причем рекомендую "по-хорошему", без оскорблений и "хлопанья дверью" так как с нового места работы могут позвонить за рекомендацией. Мне звонили например, даже через пять лет после увольнения программиста. Да и велик шанс что с Вами не захотят расстаться, увеличат зарплату или большой начальник захочет узнать причину.
    - Нагадить начальникам? Не получится! Пусть они будут трижды "бездарями", высшее руководство или владельца это устраивает. Сужу по своему опыту. (с компьютерами в 1986 года) Я был когда-то программистом FoxPro, БЭСТ 4, 1С 6.0, 1С 7.7, потом так получилось что стал сисадминить, поднялся до руководителя IT отдела. В какой-то момент - когда стали переходить на 1С 8 принял для себя решение, что даже не буду вникать в неё - других забот выше крыши. И для нанятого нового программиста я стал тем самым "бездарем" который "не понимает как оно всё работает, а только указания раздаёт". И он даже не раз ходил к владельцу Компании. Результат - я всё еще работаю, а он нет.
    - навести порядок в цепочке "задание - результат"? Проще простого! После получения задания описываем этапы и ли ТЗ и передаём на подпись (бумага, почта, ЭДО) с обязательным указанием, что без подтверждения ТЗ Вы и пальцем не пошевелите для выполнения. Возникли вопросы или нюансы, которые от Вас не зависят? Также бумажка или эл.письмо с обязательным указанием остановки работы без получения ответа. Далее просто тыкаем всех этими бумажками. Очень часто руководство вчера хотело одно, сегодня второе, а завтра третье. Это нормально. Руководству вообще не нужно знать матчасть - его задачаа другая - денег заработать
    - "в планах доделать всю работу для организации и уволиться с легкой совестью." - это утопия.
    Пример: Внедрение 1С 8 заняло год, затем доводка, дописывание отчетов еще год. Прошло несколько лет, а мы всё еще обращаемся с программистам для доделок своих хотелок.
    У меня есть несколько подработок по созданию и обслуживанию сетей и оборудования. Вылизанных! Работающих стабильно без моего участия месяцами. В одной такой конторе ВСЕ сотрудники кроме владельца, меня никогда в глаза не видели! Мне что - уволиться с легкой совестью и лишать себя подработки и денег на "ничегонеделание"?

    "Топнуть ножкой" Вы всегда успеете.
    Ответ написан
    Комментировать
  • Перспективно ли изучения GO для начинающих?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Я не собираюсь переквалифицироваться в джуны и пытаться устроиться в компанию, возраст уже не тот для этого да и организация иная - нет привязки к единому месту географически к тому-же я всегда худо-ли бедно, но работал на себя, не в компании.


    Письмо, полное сомнений и множества вопросов. Я не совсем понял что требуется от нас. Если отвечать на главный вопрос - то да. Перспективно. Go драйвит Google как основной язык для микросервисов. Но учитывая возраст кандидата я-бы спросил следующее.
    - как с английским?
    - как быстро обучаешся чему-то новому?
    - согласен ли на релокацию?

    Какие перспективы в РФ - понятия не имею но перспективы в зарубежных конторах - есть.

    Хочу предупредить автора об ошибках которые я сам совершал. Я думал что дело в языках и технологиях. Но это не так. Дело в коммуникациях. Я работал минимум с 5 зарубежными компаниями и я своими глазами видел что мои знания просто нивелировались на фоне например моего не очень сильного английского. А другие teammates в силу широких коммуникатиционных скилов могли очень быстро найти контакт с нужными людьми и обходили
    меня в карьере достаточно быстро.

    По сути когда тебе за 40 - вообще не имеет значения какой язык ты знаешь. У тебя за плечами должен быть уже
    такой багаж что тебя можно просто брать как опытного советника в технических вопросах. Язык можно подучить но если речь идет просто о распределенных системах и микро-сервисах то больше знаний требуется в части например анализа узких мест системы. Кеширования. Грамотного дизайна безопасности и репликаций и бекапов и восстановления от сбоев. Этот пласт знаний вообще лежит вне языка. И поэтому джун даже очень хорошо выучивший Go или Python не может решать такие вопросы. А автор - скорее всего может. Барьером может быть
    какая-то банальность. Например язык. Поэтому я и спрашиваю.
    Ответ написан
    4 комментария
  • Какое ПО выбрать для школьных звонков?

    @Drno
    Azuracast... и локально запущенный VLC плеер - работает в более чем 300х точках по стране, удобные плейлисты итд

    Radioboss если прям винду хочется
    Ответ написан
    Комментировать
  • Подводные камни удаленной работы на организацию в другом регионе РФ (с оформлением в штат)?

    @res2001
    Developer, ex-admin
    Одно время работал на компанию, находящуюся на другом конце страны, разница во времени 8 часов. Все нормально. Когда надо было пообщаться с офисом приходилось предпринимать дополнительные действия - встать рано или наоборот. При приеме это все обсуждалось, график работы зафиксирован в договоре.
    С трудовой проблем не было - отправил почтой первым классом. У меня то же были опасения на счет трудовой и я перед отправкой сделал нотариально заверенную копию, не пригодилась. Потом оформил электронную трудовую, что и вам рекомендую (это должен делать работодатель, вам надо только написать заявление).
    Почта, кстати, работает нормально. Заказные письма ходят достаточно быстро, ни разу косяков не было. Первый класс - чуть дороже и чуть быстрей, но не критично. Только надо определится с оптимальным временем посещения этого заведения, т.к. в часы пик там обычно много народу. У меня до сих пор оптимально 12-16.

    Трудовой договор и прочие документы можно отправлять обычным заказным письмом.
    Хорошо иметь дома принтер (подойдет черно-белый), т.к. регулярно надо будет что-то печатать/подписывать/пересылать, не часто, но 3-4 раза в год точно.

    В другом месте работы меня позвали на 2 недели на стажировку, так что все документы привез сам. Перед стажировкой все собеседования уже прошли и решение о приеме уже было принято. Стажировка по факту не особо была нужна, но было полезно в том плане, что познакомился с коллективом и с начальством лично, ну и плюс все оформление прошло на месте. Контора оплатила проживание и билеты.

    Еще один момент - если в вашем регионе или в регионе работодателя действуют полярки и/или северные коэффициенты (надбавки к окладу), то на этом надо заострить внимание, т.к. от региона к региону коэффициенты разные. Вы должны получать эти надбавки согласно месту вашей работы - в трудовом договоре должно быть указано, что вы работает по месту нахождения (жительства) и ваш регион. Работодатели порой сами не особо этот момент просекают, потом пытаются задним числом исправлять. Сам ходил по этим граблям. В Москве этих надбавок нет, но в регионе работодателя они могут быть.
    Ответ написан
    1 комментарий
  • Как «задеплоить» на heroku nestjs + angular?

    lssssssssssl
    @lssssssssssl
    1. Делаете ng build в angular проекте
    2. Кладёте результат билда( папку dist ) в свой проект на nestjs в папку client(Или любое другое имя на ваше предпочтение в корне проекта, кроме папки dist, ежели она обновляется после каждого build nestjs)
    3. Настраиваете nestjs для работы со статикой https://docs.nestjs.com/recipes/serve-static
    4. Делаете build проекта на nestjs
    5. В package.json проверяете наличие команды "start:prod": "node dist/main"
    6. Запускаете команду, смотрите всё ли корректно работает(Видна ли статика)
    7. Делаете деплой полученного nestjs приложения, как обычное nestjs приложение. Про ангуляр можно уже забыть, так как он превратился в простой js код в папке client. Считайте, что он стал полноправной частью nestjs кода

    Папку client в .gitignore или любой другой игнор добавлять, конечно же, не нужно
    Проблем с корсой не будет в этом случае
    Ответ написан
    1 комментарий
  • Как удалить ненужные базы?

    tsklab
    @tsklab Куратор тега SQL Server
    Здесь отвечаю на вопросы.
    Предварительно
    Список баз данных:
    SELECT name
      FROM sys.databases
      WHERE owner_sid <> 0x01

    Используя встроенную таблицу 1С _UsersWorkHistory получить дату последнего изменения. Скрипт в помощь.

    Список баз данных и дата последних изменений:
    DECLARE @DBD TABLE ( [Name] VARCHAR(100), [Date] DATETIME)
    DECLARE @N NVARCHAR(100), @D DATETIME
    DECLARE @Q NVARCHAR(100), @P NVARCHAR(100) = '@DD DATETIME OUTPUT'
    DECLARE DB CURSOR FOR
      SELECT [name]
        FROM sys.databases
        WHERE owner_sid <> 0x01
    OPEN DB
    FETCH NEXT FROM DB INTO @N
    WHILE @@FETCH_STATUS = 0
      BEGIN
        SET @Q = 'SELECT @DD = MAX(_Date) FROM ' + @N + '.[dbo].[_UsersWorkHistory]'
        BEGIN TRY  
          EXECUTE sp_executesql @Q, @P, @DD = @D OUTPUT
        END TRY  
        BEGIN CATCH  
          SET @N = @N + ' Not 1C'
          SET @D = NULL
        END CATCH      
        INSERT @DBD VALUES (@N, @D)
        FETCH NEXT FROM DB INTO @N
      END
    CLOSE DB
    DEALLOCATE DB
    SELECT * FROM @DBD
    GO
    Ответ написан
    3 комментария