Задать вопрос
  • Стоит ли использовать микрокомпьютер для удаленной работы?

    @Arlekcangp
    Разработчик, Лид, Архитектор ПО
    Ох, тут уже на предлагали... Что ж, я не путешествую, но вопрос "куда можно запихнуть мини ПК" меня какое то время мучил, и я пришёл к выводу, что из мини ПК может получится неплохая ретро-консоль. И естественно она должна быть портативной. И раз вам так хочется сменить ноут на миник, то поделюсь к каким выводам я пришёл.
    1. Покупать что то излишне миниатюризированное формата raspberry Pi не стоит. Это вариант для умного дома и управления прочими прибамбасами, а не для работы или тем более игр. Естественно туда же идут и все варианты, напоминающие флэшку. При попытке работать будете плеваться от тормозов.
    2. Излишне тесный корпус приводит к нагреву и требует излишнего охлаждения. А это шум, доп потребление, механические детали и повышение стоимости . В тесных корпусах возможно только CPU с очень низким теплопакетом, а значит смотри пункт первый, тормоза неизбежны.
    3. Только не Андроид (и arm)! Не знаю кому как, а мне софта на адройде мало И практически отсутствует open source варианты. Так что и всякие планшеты и тв-боксы и подобный хлам - в лес. К тому же можно ещё испытать и прекрасный геморрой при попытке с планшета вывести изображение на монитор. Не все планшеты такое поддерживают.
    4. И не intel NUC или тем более его китайские собратья. В качестве самого NUC сомневаться не приходится. Однако, тем не менее, это проприетарная платформа и от ноутбука отличается только отсутствием монитора... Ничего толком не известно сколько будет стоить апгрейд и будет ли он вообще возможен. А спрашивается зачем тогда оно ? По этой же причине и не мак-мини и прочие надкусанности. Сюда же ещё и дефицит софта в сравнении с x86 как и у андройда.
    Итого: приходим к выводу, что это будет самосбор:
    Вариант 1: Корпус формата mini ITX - не слишком маленьких, что бы туда влезало типовое железо и небыло проблем с охладом и не слишком большой потому что портативность. Объём 2-5 литров. Плюсы:
    - можно собрать x86 на десктопном процессоре, с приличным объёмом оперативки и даже встроенным SSD приличного объёма (хотя уж с этим то сейчас проблем нет и полно внешних корпусов для SSD, но встроенный вы не будете искать среди кучи хлама после очередного переезда.
    - всё ещё поддается апгрейду, но занимает места примерно столько же сколько и ноут. Допускает относительно хорошее охлаждение Широкий выбор самих корпусов, как у именитых брендов так и китайцев. Полностью сменная начинка, которая никуда не исчезнет с рынка. И даже сменный процессор и память. И в тоже время - внешний БП как и в ноуте (правда без батареи, но как говорится, кто мешает и её воткнуть...), может оказаться полезной вещью в дороге, если нужно запитать ещё какие то низковольтные устройства от 12 вольт
    - Возможность втыкивать достаточно мощный процессор. Я присматривался к райзену с интегрированным GPU. На таком не только работать, но и во что то не сильно требовательное можно поиграть.
    - Можно настроить dual boot - windows + linux для тех кому нужно. Полноценная сеть (уже не во всех ноутбуках она есть. А во всяких малиноподобных вариантах - как правило, сеть медленная)
    - Широкий набор внешних портов. Любой ноут здесь проигрывает. (другой вопрос нужно ли это для вашей работы)
    - Прочный металлический корпус (полно как стальных, так и алюминивых вариантов. Есть и пластиковые, но я бы брал металл как из-за прочности так и из-за охлаждения)
    Минусы:
    - Цена Как говорится, из разряда "отложу как я это до лучших времён" С такими ценами, как сегодня, вообще не выгодно менять железо.
    - Надо собирать самому (ну для меня это не минус, а для вас - не знаю)
    - Размер и вес скорее всего будет немного больше того же Intel NUC но, считаю, что это не существенно.
    - мощность системы не должно превышать 150-200 ватт иначе будет перегреваться да и БП на такую мощность найти сложновато. Вполне можно уложиться если брать CPU с TDP 45-65 Ватт

    Вариант 2 Мощный самосбор в корпусе miniITX объёмом до 12 литров. Плюсы:
    - Всё тоже самое что и варианте 1 но немного дешевле т к корпус больше
    - Уже есть возможность запихнуть какой-никакой дискретный GPU Но тут надо заранее выбирать и велика вероятность того, что этот элемент потом обновлять будет тяжело, т к трёх-слотовый монстр длиной 30+ сантиметров туда не встанет, а среднебюджетных вариантов как то не видно на горизонте Только слабенькие GPU делают в усеченных размерах и их ещё найти нужно.
    - можно поставить очень хорошее охлаждение при желании. Но тоже нужно об этом думать на этапе выбора
    корпуса
    - Уже относительно стандартные внутренние БП на 300-500 ватт
    Минусы:
    - Вес. Если для вас не критично вес в несколько килограмм (сейчас только видяхи по килограмму весят =)
    - Размер 12 литров - это как два с половиной пятилитровых бутыля. Для сравнения, обычно корпуса ноутбуков не превышают 2-х литров. Очевидно, при авиаперелетах это скорее всего в багаж отправится...
    Ответ написан
    1 комментарий
  • Как создать нового юзера и новую базу в postgres, на убунту?

    откуда брать логин и пароль от этой базы?

    Ты их указываешь, когда в первый раз базу создаёшь.
    Если не указал, то лезь в /etc/postgresql/[версия]/main/pg_hba.conf и разрешай беспарольный доступ.
    # IPv4 local connections:
    host    all     all     127.0.0.1/32      trust
    # IPv6 local connections:
    host    all     all     ::1/128           trust

    Главное потом обратно верни.

    После изменения конфига надо постгрес перезапустить.

    И тогда ты сможешь подключиться примерно так:
    psql -U postgres -h localhost

    Для создания нового пользователя - подключаешься к базе через psql или через pgadmin, или ещё как, и делаешь запрос CREATE USER
    https://www.postgresql.org/docs/14/sql-createuser.html
    Для создания базы, соответственно CREATE DATABASE
    https://www.postgresql.org/docs/14/sql-createdatab...
    прописав sudo -i -u postgres

    Это совершенно не обязательно (я даже не уверен, что так можно)
    Ответ написан
    2 комментария
  • Как создать нового юзера и новую базу в postgres, на убунту?

    Melkij
    @Melkij
    DBA Team для вашего PostgreSQL?
    Парольная аутентификация лишь один из множества доступных вариантов. Хотя наиболее простой и распространённый. Какой способ аутентификации будет требовать СУБД - зависит от списка правил в pg_hba.conf. Очень редко нужно что-то кроме служебного правила peer для postgres (именно из-за него psql после sudo -iu postgres не спрашивает никакие пароли, но только у postgres'а) и md5 для всего остального.

    Базово создание новой базы с отдельным пользователем-владельцем выглядит так (от суперпользователя базы):
    CREATE USER "$NEWOWNER" PASSWORD '$NEWPASS';
    CREATE DATABASE ${NEWDB} OWNER "$NEWOWNER";
    REVOKE ALL ON DATABASE $NEWDB FROM public;


    В соседнем ответе вам неверно подсказывают, что "можно сразу указать какому юзеру разрешен доступ". create database разрешит доступ всем (но именно подключение к базе, а не ко всему внутри базы - что частая проблема непонимания прав). И имеет смысл наоборот отобрать доступ от всех прочих, т.е. от public. Owner, конечно, доступ сохранит.

    Чуть ближе к production имеет смысл использовать такой шаблон:
    CREATE USER "$NEWOWNER" PASSWORD '$NEWPASS';
    CREATE DATABASE ${NEWDB} OWNER "$NEWOWNER";
    CREATE ROLE ${NEWDB}_role;
    CREATE ROLE ${NEWDB}_ro;
    CREATE ROLE ${NEWDB}_rw;
    GRANT ${NEWDB}_role TO ${NEWDB}_ro, ${NEWDB}_rw;
    REVOKE ALL ON DATABASE $NEWDB FROM public;
    GRANT CONNECT ON DATABASE $NEWDB TO ${NEWDB}_role;
    GRANT ${NEWDB}_rw TO "$NEWOWNER";
    \c $NEWDB
    ALTER SCHEMA public OWNER TO "$NEWOWNER";
    REVOKE ALL ON SCHEMA public FROM public;
    GRANT USAGE ON SCHEMA public TO ${NEWDB}_ro, ${NEWDB}_rw;
    ALTER DEFAULT PRIVILEGES FOR ROLE postgres GRANT SELECT ON SEQUENCES TO ${NEWDB}_ro;
    ALTER DEFAULT PRIVILEGES FOR ROLE postgres GRANT SELECT,USAGE ON SEQUENCES TO ${NEWDB}_rw;
    ALTER DEFAULT PRIVILEGES FOR ROLE postgres GRANT SELECT ON TABLES TO ${NEWDB}_ro;
    ALTER DEFAULT PRIVILEGES FOR ROLE postgres GRANT SELECT,INSERT,DELETE,UPDATE ON TABLES TO ${NEWDB}_rw;
    ALTER DEFAULT PRIVILEGES FOR ROLE "$NEWOWNER" GRANT SELECT ON SEQUENCES TO ${NEWDB}_ro;
    ALTER DEFAULT PRIVILEGES FOR ROLE "$NEWOWNER" GRANT SELECT,USAGE ON SEQUENCES TO ${NEWDB}_rw;
    ALTER DEFAULT PRIVILEGES FOR ROLE "$NEWOWNER" GRANT SELECT ON TABLES TO ${NEWDB}_ro;
    ALTER DEFAULT PRIVILEGES FOR ROLE "$NEWOWNER" GRANT SELECT,INSERT,DELETE,UPDATE ON TABLES TO ${NEWDB}_rw;

    В результате получим:
    - пользователя-владельца базы, который предназначен выполнять всякие миграции схемы данных
    - роль имя_базы_role которую можно давать другим пользователям для возможности подключения к этой базе, но без доступа к таблицам приложения (например, используем для мониторинга)
    - роль имя_базы_ro которая даст select-only права ко всем (в том числе будущим) таблицам, созданным от пользователя-владельца это базы
    - роль имя_базы_rw - соответственно для выполнения select,insert,update,delete
    Ответ написан
    Комментировать
  • Какие советы по созданию резюме вы можете дать начинающим и не очень начинающим специалистам?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    С малых лет увлекался компьютерами. В школьные годы ходил на курсы «Сергис».После 9 класса отучился в колледже Бонча. После колледжа поступил в университет (закончить не смог из за семейных обстоятельств, в ближайшее время собираюсь перепоступать).

    Никому не интересно. Тут нет ИТ опыта.

    С компьютерами как эникей-сисадмин начал работать в судах

    У многих понятие эникей-сисадмин это тот, кто меняет мышку и переустанавливает софт. То есть продвинутый юзер.

    У моменту увольнения из был Консультантом(и ИО начальника отдела информатизации и статистики)
    Управлял отделом (пусть и маленьким)

    Непонятны задачи, непонятен размер отдела, непонятно в чем было управление. Тем более что в бюджетных организациях начальник отдела ни на ЗП ни на трудовые отношения влиять особо не может.

    Занимался всем (ремонт компьютеров, мелкий ремонт мфу, обновление и настройка по на пк и серверах)

    Ну вот. Что это за ремонт?
    Я понимаю, когда под "чинил мфу" ты бы написал "менял печку, перепаивал конденсаторы на платах". А так, среднестатистический эникейщик под ремонтом принтеров и МФУ обычно вытаскивает забитую бумагу и сдает картриджи на перезарядку.

    Я попал на время становления ИАЦ по этому на нас испытывали многое по
    И у нас было больше свободы и доступа в отличии от других судов
    Я многому научился за годы работы там

    Какая полезная и понятная информация.

    Позже я устроился на завод «младшим сисадмином»
    Позже стал начальником отдела
    И в итоге являюсь Инженером ТЗИ

    Какая полезная и понятная информация.

    За время своей работы я поднимал доменные, файловые сервера

    Создавал свой домен с нуля, или что такое "доменный сервер"?
    Что такое файловый сервер - просот расшарил папку на диске (сейчас может даже блондинка сделать), или ставил Novell Netware?

    Обновлял и правил 1с на серверах

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

    Тянул сеть и худо-бедно настраиваю микротики
    Поднял сеть видеонаблюдения на трассире
    Разобрался и привёл в порядок систему турникетов и шлагбаумов perco
    Позже прошёл обучение в perco (хотя по факту я уже все знал к тому моменту из того чему они учили)

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

    Работал с поставщиками и менеджерами

    Так все это делают в конторах где нужно покупать какую-то технику.

    И по факту организовал пусть не идеальную, но стабильную работу на отдельно взятом заводе
    Я если чего-то не знаю то гуглю/ищу знакомых/техподдержку которые могут ответить на мои вопросы
    Да у меня есть пробелы в знаниях
    Я этого не скрываю
    Я слаб в теоретической части и я это понимаю
    По факту со многими вопросами приходилось разбираться на ходу

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

    Я пытался откликнуться на вакансии младших системных администраторов, эникеев в крупных и средних компаниях, но мне приходит отказ или просто игнор

    Так а требования совпадают с резюме?

    Соответственно прошу помочь статьями/объяснением как правильно создать резюме и как подать себя

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

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

    Нет информации никакой.
    Ответ написан
    Комментировать
  • Что писать в резюме чтобы были шансы куда-то попасть без опыта?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    Буквально неделю назад закрыл в отделе вакансию, искал человека в том числе без опыта (не по Вашему профилю, правда), смотрел в пераую очередь на сопроводительное письмо и описание технологий, с которыми человек сталкивался. Если это был отклик, а не предложение от агентства, смотрел особенно внимательно.
    Ищите, и найдете.

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

    И рассылайте, рассылайте, рассылайте резюме. На HH, linked.in, и других площадках. При прошлом поиске работы у меня было отправлено более 150 резюме и только с десяток дошли до собеседования, кстати. И, замечу. я уже много лет в разработке. Но бывает что везет и даже первое резюме оборачивается оффером.

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

    Удачи в поиске!
    Ответ написан
    Комментировать
  • Найти работу java без опыта и образовния - невозможно?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    99% резюме не смотрят - а сколько отправили?
    К сожалению, сейчас такая ситуация с отделами кадров, что на некоторые вакансии хорошо если на одно из ста резюме ответят хотя бы. Много размещенных резюме по уже закрытым вакансиям, под своего человека, хватает и таких HR, что объявление размещают и поднимают в поиске, но отклики даже не смотрят. Продолжайте рассылать...
    Если показывали какие то проекты, значит, уже нельзя говорить про полное отсутствие опыта. В конце концов можете вписать пару месяцев фриланса, чтобы пробиться до технического собеседования ("Все врут в резюме (с)").
    Ответ написан
    Комментировать
  • Найти работу java без опыта и образовния - невозможно?

    @Akela_wolf
    Extreme Programmer
    Возможно, хотя и сложно.
    Требуется:
    1. иметь знания и навыки. Причем по современному, востребованному стеку. В случае Java это: Spring Boot, Hibernate, SQL, Kotlin, Gradle... Можете пойти в сторону мобильной разработки (под Android), там своя специфика. В той стороне сейчас модно Kotlin Multiplatform (потом с ним вернетесь к бэку, если будет интересно). Уметь Git - для командной работы это очень важный инструмент. Английский на уровне чтения и понимания документации и технических статей.
    2. иметь практический пример использования ваших знаний и навыков. Это могут быть: ответы на stackoverflow (заодно уровень английского прокачаете), pet projects, мерж реквесты в open source библиотеки/проекты. Фрилансерские проекты и т.п. В общем хоть что-то что показывает как вы пользуетесь вашими знаниями на практике. Чем больше таких примеров, тем лучше.
    3. пробиться на уровень технического собеседования. Это может оказаться сложно, поскольку HR будет смотреть на формальную сторону вашего резюме. Так что ищите компании, в которых есть вакансия junior developer. Такие компании, обычно, готовы обучать новых разработчиков, поэтому к ним будет проще
    4. если пройдете онлайн-курс и получите сертификат - это тоже будет вам плюсом.
    Ответ написан
    Комментировать
  • Какой подход при разработке крупных проектов на локалке лучший?

    @Akela_wolf
    Extreme Programmer
    Эти подходы не только для крупных проектов, они вообще для любых проектов.

    1. БД обновляется через миграции. То есть, вы пишете SQL-скрипты, которые нужно выполнить в БД (создание новых таблиц, новых колонок, добавление записей в справочные таблицы, удаление ненужных более колонок и т.д.), а система миграции (вот не в курсе есть ли такая у WP, но совершенно точно есть у более продвинутых Laravel/Doctrine) контролирует что скрипты миграций были выполнены (и выполнены в правильном порядке). Можно скрипты прокатывать и руками, но в таком случае всегда есть вероятность ошибки.
    2. Разделение исходного кода и собранного кода. У вас есть исходный код и работает разработчик с исходным кодом проекта. Тут путаница возникает в том числе потому, что у PHP исходный код и исполняемый код - суть одно и тоже. Но концептуально разделять это стоит. После того как исходный код написан, выполняется сборка (в частности на этом этапе отрабатывают SCSS/gulp/webpack и т.п. инструменты) и получается код для загрузки на сервер. Поэтому задача "поменять цвет кнопки" решается изменением одной строчки в исходном коде, затем пересборкой и перезаливкой собранного кода на сервер
    3. Пересборку и перезаливку можно делать вручную. Но лучше если этим будет заниматься CI-сервер. Бесплатно CI предоставляет, например, гитлаб. Насчет гитхаба/битбакета не в курсе, не интересовался. Суть в том, что при изменении исходного кода в репозитории, автоматически (или вручную) запускается некоторый процесс (pipeline), выполняющий сборку-тестирование-деплой новой версии. Разумеется, чтобы это все работало сначала придется потрудиться, разобраться, написать нужные скрипты и конфиги. Но для большого проекта это незаменимый инструмент.
    Ответ написан
    Комментировать
  • Правильно ли я понял принцип инверсии зависимостей?

    @Akela_wolf
    Extreme Programmer
    Главная идея принципа инверсии зависимостей "детали зависят от абстракций, но не абстракции от деталей".
    В приведенном вами примере класс Main зависит от всего: от интерфейса INumberOperation и от обоих классов NumberOperation1, NumberOperation2. То есть тут принцип инверсии зависимостей вообще не работает. Никак.

    Проявляется же он в следующем примере. Пусть у меня есть некая абстрактная логика "прочитай число, выполни над ним операцию, запиши результат". Эта абстрактная логика (потому она и абстрактная) ничего не должна знать ни откуда она читает число, ни какую операцию над ним выполняет, ни куда и как записывает результат. Таким образом, у нас есть модуль, состоящий из
    interface NumberInput {
      int read();
    }
    interface NumberProcessor {
      int process(int a);
    }
    interface NumberOutput {
      void write(int a);
    }
    class Processor {
      private final NumberInput input;  
      private final NumberProcessor processor;
      private final NumberOutput output;
    
      public Processor(NumberInput input, NumberProcessor processor, NumberOutput output) {
        this.input = input;
        this.processor = processor;
        this.output = output;
      }
    
      void process() {
        output.write(processor.process(input.read()));
      }
    }

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

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

    Этот принцип очень хорошо объяснен в книге Р.Мартина "Чистая архитектура", по крайней мере у меня все встало на свои места именно после прочтения этой книги.
    Ответ написан
    1 комментарий
  • Чем отличается роутер от точки доступа?

    @Akela_wolf
    Extreme Programmer
    Сетевое оборудование с которым можно столкнуться не углубляясь в дебри:
    1. Хаб. Самое древнее и сейчас уже обычно неактуальное. В него включаются несколько сетевых проводов и все что он делает - пересылает все пакеты из каждого порта всем остальным. А дальше сетевые карты уже сами разбираются - надо им этот пакет или нет. Работает только в пределах локальной сети.
    2. Свитч. Тот же хаб, но поумнее. Умеет понимать аппаратные адреса (MAC-адреса) и посылать пакеты конкретному адресату. Опять же работает только в пределах локальной сети.
    3. Роутер. Соединяет 2 (или более) локальных сети, работает уже не на уровне MAC-адресов, а на уровне сетевых (IP) адресов. Определяет в какую локальную сеть отправить пакет в соответствии с таблицей маршрутизации. Обычно также может выполнять функции свитча, то есть поддерживать локальную сеть. И большинство роутеров "для дома" именно так и используются - локальная сеть на LAN-портах и маршрутизация пакетов в интернет через WAN-порт. Также роутеры часто содержат уйму дополнительных возможностей - DHCP, VPN-подключения, файрволл, NAT, проброс портов и т.д. Но концептуально это отдельный функционал. Маршрутизатор занимается только передачей пакетов из одной локальной сети в другую.
    4. Точка доступа. Чисто технически это "беспроводной свитч". То есть весь функционал точки доступа - это принимать пакеты по проводу и транслировать их по радиоканалу для беспроводных устройств и наоборот - принимать пакеты по радиоканалу и транслировать их по проводу. Это точка доступа в узком смысле. Но домашние роутеры часто объединяют с точкой доступа, что и вызывает путаницу - я выхожу в интернет с телефона через точку доступа. Да, разумеется, потому что там 2-в-1 устройстве: точка доступа обеспечивает радиоканал, а маршрутизатор обеспечивает передачу данных в глобальную сеть.
    Ответ написан
    2 комментария
  • Оборудование для iOS разработки 2022?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    С устаревшей версией ОС шансы поймать проблемы есть, тем более если есть официальное требование более свежей версии. Скорее всего сможете обойти ограничения, но стоит быть готвоым к проблемам вплоть до невозможности регистрации аккаунта разработчика и заливки приложения в магазин. Да и отладка на актуальных версиях iOS может не запуститься, а, в отличие от Android, большинство айфонов все же обновлены до последней версии.

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

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

    И еще. в вопросе Вы совершенно не раскрыли свой опыт помимо мобильной разработки, а этот опыт нередко позволяет претендовать на позиции выше джунов.
    Ответ написан
    7 комментариев
  • Какой nodejs фреймворк предпочтительнее использовать в 2022 для разработки APi?

    Grapeoff
    @Grapeoff
    В чём концепция...?
    Вот уже 9 Месяцев пишу на NestJS за деньги, и пока что могу сказать — ничего лучше на данный момент для NodeJS я не нашёл.

    Благодаря экспрессу под капотом мы можем юзать кучу его крутых библиотек типа Swagger UI и так далее. Для всего тут автоматом генерируются тесты (темплейты). Можно адекватно пользоваться декораторами из тайпскрипта. А валидация в несте с его DTO это просто сказка.

    С нестом наконец-то можно писать настоящий бекенд на ноде.

    Конечно, Nest не идеальный. У меня много вопросов накопилось к этому фреймворку за время его использования, например про инъекцию зависимостей в гарды, интесепторы и т.д. из-за которой не получится нормально сделать JWT аутентификацию с помощью Nest модулей для этого (можно схитрить при помощи NestFactory.createApplicationContext(), а юзать этот обоссанный Passport.js я не хочу; выбрасывание исключений вместо нормального способа отправки ошибки пользователю, слабая документация. Однако я готов помучиться со всем этим, лишь бы не переходить на Express или любой другой фреймворк для ноды.

    Я даже купил книгу Роберта Мартина про архитектуру — вот насколько меня всё это вдохновило!
    Ответ написан
    1 комментарий
  • Различие между service и controllers в node js ( express )?

    Grapeoff
    @Grapeoff
    В чём концепция...?
    Сервис — в нём пишем всю нашу логику. Сервис ничего не должен знать о запросе. У него нет доступа ни к Request, ни к Response.

    Контроллер — принимает запрос и передаёт в наш сервис.

    С бд можно работать в сервисе, но всё чаще вижу, что люди используют паттерн «Репозиторий», когда всю логику работы с бд суют в него.
    Ответ написан
    1 комментарий
  • Как понять, знание типовых конфигураций? На каком уровне, программирования, или пользования?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    С конца отвечу)
    В первую очередь ознакомьтесь с конфигурацией УТ (Управление Торговлей). Она наиболее востребована и во многом пересекается с другими конфигурациями.

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

    По изучению - у 1С есть хорошие и относительно недорогие курсы. Допускаю, что сейчас в рамках перехода на дистанционное обучение их можно и бесплатно на известных ресурсах найти.
    Ответ написан
    2 комментария
  • Оператор станков с ЧПУ хочет в IT. А есть ли смысл? И куда податься с имеющимися навыками?

    pavelsha
    @pavelsha
    Кот Жрëдингера. Только добрый.
    Автор, как советует куратор, разберись в себе. Тогда и без нас будешь знать, куда идти.

    А ближе к теме...
    Записывай слова для гугления:
    АСУ ТП, SCADA, ПЛК, автоматизация производства, учёт электроэнергии, телеметрия, промышленная автоматизация.

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

    Используй базу, которая у тебя есть, с умом.
    Моё мнение, "уеб-программисты" в большинстве случаев - это путь для тех, кто никакой базы не имеет. Не ведитесь на рекламу курсов и предметные статьи/ролики блогеров и ютуберов.

    И учти главное: у работодателей голод на хороших технарей в автоматизации производств последние лет 30. А джунов веб-мастеров переизбыток уже 15 лет минимум.
    Ответ написан
    6 комментариев
  • Можно ли сейчас найти работу в России, глубинка, remote, part-time, software dev + ds?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    https://hh.ru/search/vacancy?area=1&fromSearchLine...

    Delphi - востребованный язык, первая же вакансия показывает зарплату более 125 тыс. руб.

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

    Кстати, во многих компаниях разработка ведется на разных языках и, погрузившись в бизнес-процессы, при желании Вы легко переместитесь с сохранением ЗП на другую технологию, а получив опыт в ней, сможете уже спокойно искать более интеерсную вакансию на рынке.
    Ответ написан
    Комментировать
  • Что лучше всего подходит под 1c: Postgres или MSSQL?

    Alexeytur
    @Alexeytur
    Мы пробовали перевести 1С на бесплатные ОС и СУБД. Использовались один из российских дистрибутивов Linux на основе CentOS, сборка Postgres для 1С от Postgres Pro, сервер 1С на этом же линуксе. Postgres настраивали по инструкциям из интернета. На аналогичном железе установили Windows Server, SQL Server и сервер 1С. На обеих системах запускали тест Гилева. По этим тестам система на винде оказалась примерно в 2 раза быстрее, чем на линуксе. Но возможно, мы просто не умеем настраивать системы на линуксе.
    Ответ написан
    Комментировать
  • Устройство на работу после фриланса, как лучше?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    Кроме джунов и мидлов, есть еще просто разработчик (если говорить, например, про классификацию вакансий на HH). Вот туда и идите. Опыт - прямо говорите, два года на фрилансе, спрашивать официальное подтверждение и трудовую с Вас никто не будет.

    Про примеры кода только вчера был здесь вопрос - просите тестовое задание. Всегда можеет прикрыться NDA, если уж особо настырные HR попадутся. И не пугайтесь отказов. Хорошо, если ответят отя бы на каждый тридцатый Ваш отклик. И вполне могут отказать без объяснения причин. А могут просто взять на работу.

    И еще. С точки зрения нанимателя - часто горящие глаза и умение себя показать значат гораздо больше, чем выполненные проекты. Особенно на Вашем этапе, так как научить желающего учиться программиста недолго, а вот привить желание работать выгоревшему спецу гораздо сложнее (и дороже).
    Ответ написан
    Комментировать
  • Попросили примеры кода, что делать?

    alexgp13
    @alexgp13
    Руководитель ИТ-проектов
    Из личного опыта обычно просил прислать тестовое задание либо скидывал какой-то совсем примитивный код, чтобы было видно культуру написания кода (отступы, комментарии, названия функций и переменных).

    В реальной работе весь код обычно подпадает под NDA либо другие ограничения (стандартный пункт в договоре - весь код и права на него принадлежат работодателю), поэтому публикация такого кода будет нарушением договора.

    С точки зрения нанимателя обычно прошу решить тестовое задание с какой-нибудь нетипичной особенностью, всегда из реальной практики, благо, за годы работы таких задач с десяток накопилось. Причем времени на написание кода обычно нужно не более 10-15 минут. Смотрю потом как раз на аккуратность выполнения задания, чистоту и понятность кода и, самое главное, учтена ли нетиповая особенность. Читать же предоставленный чужой код по непонятной задаче обычно лень. Плюс иногда бывают условия, не позволяющие реализовать задачу правильно (как пример - как то доделывал прогармму для ТСД, где пришлось задействовать готовый блок работы со сканером штрих-кодов, написанный неумелым программистом через то самое место, но учитывая, сколько функционала было завязано на эти костыли, переписать алгоритм было невозможно, и таким кодом делиться точно не хочется, но зато он эффективно решил бизнес-задачи).
    Ответ написан
    Комментировать
  • Как устроиться django-developer без опыта коммерческой разработки?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    В интернете много читал, что стоит попробовать писать всем подряд на вакансии, где не только юез опыта юерут и предлагать свою раюоту за бесплатно.

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

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

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

    Зачем docker+redis для неработающего проекта?
    Что docker+redis это какие-то совместимые технологии? Нет.

    Что этим вы хотели сказать? Что вы хорошо знакомы с докером? не уверен.
    Особенно, учитывая что вместо того, чтобы просто хранить докерфайлы и инструкцию по запуску, у вас прямо в гит-репо лежат бинарники питона и джанго
    Вдобавок вообще нет ну никакого описания ни что это ни зачем это ни как это использовать. Такой код показывать нет смысла.
    Зайтите на гитхабе в десяток совершенно рандомных репозиториев и постарайтесь за 3-5 минут понять что это за проект и зачем он. Если не выходит - то работодатель тем более не будет лазить по исходникам и пытатся искать конкретные коммиты. В идеале проект нужно показывать в рабочем состоянии, чтобы можно было зайти, покликать мышкой, а потом уже заинтересоваться как реализована конкретная штука в исходниках, но не наоборот

    Наверное тоже будет полезной информацией, что проект писался при помощи ОС linux ubuntu (на данный момент из-за проблем с подключением удалил его как вторую ОС при необходимости я оперативно верну linux назад)

    Какой процент помощи вам оказала убунта? вы непосредственно в ней писали, или просто запускали докер?

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

    А самое важное для работодателя - это понимать уровень экспертизы и адекватности человека.
    Ответ написан
    Комментировать