• Высшее образование Java программисту, нужно ли?

    Zoominger
    @Zoominger
    System Integrator
    Образование, если у вас нет подтверждённого опыта работы - это огромный плюс.
    Если опыт есть (2-3 года), то с радостью возьмут и без образования.
    Ответ написан
    1 комментарий
  • Высшее образование Java программисту, нужно ли?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Блин, да во имя Белого Солнца!

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

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

    Добро. Я тоже рассужу на основании своего опыта.

    Работу я менял пять раз (и бессчетное количество собеседований). Из них только два первых места не требовали вышку, но это было в 90-е, а тогда было возможно вообще все что, угодно, в том числе и инженерная должность на госслужбе без вышки. К третьему месту у меня была незаконченная (брошенная) вышка и взяли только с условием, что в течение трех месяцев восстановлюсь. А дальше все просто - спрашивали на первом же собеседовании.
    JFYI: Вышка у меня есть :)

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

    Была такая вещь - кубик Рубика. И были фанаты, собиравшие на нем разные фигурки. Так вот самая первая фигурка называлась "ослиный мостик" - типа, если ты его не смог собрать, то ты уж не обижайся, но ты осел :) К чему это я? А к тому, что получить вышку - это такой "ослиный мостик". Не смог, не прошел этот квест - ну извини, маши ушами..
    Ответ написан
    1 комментарий
  • Потенциальные проблемы программиста без послешкольного образования?

    DevMan
    @DevMan
    на ряде позиций наличие корочки – мастхэв.
    Ответ написан
    Комментировать
  • Потенциальные проблемы программиста без послешкольного образования?

    @nApoBo3
    Если есть возможность получить профильную корочку, это нужно сделать. Есть один случай когда получать корочку не обязательно, это когда у вас есть очень четкий жизненный план, и в этом плане есть дефицит ресурсов.
    Если вы очень четко понимаете чем хотите заниматься, у вас есть идеи в этом направлении, вы пытаетесь эти идеи реализовать( занимаетесь продуктивной деятельностью с максимальной отдачей в этом направлении, а не просто фантазируете, как было бы классно открыть стартап, уже занимаетесь и уже пришли к дефициту ресурсов, а не предполагаете что он будет и уже выжали ресурсы из всего остального, но все равно их не хватает ), но ЕДИНСТЕННОЕ препятствие в реализации этих идей недостаток времени и взять его больше не от куда кроме как отказаться от вышки, то да, от вышки следует отказаться.
    Но таких людей единицы.
    Обычно вопрос стоит так, у меня уже что-то есть, и вроде даже я работаю и что-то зарабатываю, зачем парится, получать вышку, лучше пойду в клуб или поиграю в доту.
    Время когда у вас есть реальный выбор получать вышку или нет очень скоротечно, да, ее можно получить и в 40, и в 60, но большинство людей реально способно это сделать до 30, далее ипотеки, дети и прочие обязательства, плюс снижение когнитивных способностей, стрессы. И это время нужно использовать максимально продуктивно.
    Ответ написан
    Комментировать
  • Потенциальные проблемы программиста без послешкольного образования?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Недавно писал ответ сюда

    Сто тысяч подобных вопросов - и всегда имеют в виду одно и то же - "я ведь правда умнее всех, что не получил вышку, но работаю в ИТ"?

    Да нифига не правда.

    Не, можно ничего не делать, продолжать считать себя самым умным и жить дальше - особенно, если фриланс, если он приносит доход, если есть реальная возможность смотреть на все свысока. Но жизнь такая штука - сегодня он есть, а завтра что-то случилось - и его (дохода от фриланса) - нет. А время идет. Хыры считают - в 25 быть без вышки нормально, в 30 - начинают коситься, в 35 и далее - делают бровки домиком и спрашивают "А почему?". И тут ты начинаешь что-то блеять и мычать про то, что вышка не дает знаний. Да, она их не дает (почти). Она дает другое. Она показывает, что ты обучаем :)
    Ответ написан
    5 комментариев
  • Какое окружение вы используете для разработки php?

    DevMan
    @DevMan
    phpstorm для основной разработки, любой редактор под руками (vsc, atom, sublime, nano, vim...) для посмотреть/быстрых маленьких правок.

    сервер: все (за редким исключением) ставлю из пакетов, затем допиливаю ручками.

    phpmyadmin/аналоги–для–других–баз последний раз видел году в 2010. с тех пор использую либо консоль, либо гуевые тулзы (для удаленного доступа через ssh/http–тунель).

    докеры, вагранты, "идентичное проду окружение", "сборки – гавно" – это все типичный булшит и базвордс.
    иногда перечисленное реально нужно и полезно (сам пользую где надо), но далеко не всегда/везде и не всем.

    разрабатываете в одиночку – вообще пофигу на чем, лишь бы вас устраивало и было вам удобно.
    разрабатываете в команде – пока ваш код запускается у других участников (что не проблема, если понимать что делаешь/особенности языка под разные платформы/следование принятым соглашениям), всем плевать на чем вы его у себя крутите. хоть стоя в лыжах в гамаке и на утюге.
    Ответ написан
    12 комментариев
  • Как в современном мире используют php?

    i__dmitry
    @i__dmitry
    Weaving a web
    Зачем тогда сложности с ООП и другими возможностями php, если он так мало используется?

    Ну вот вы и ответили на свой вопрос. Использовать любой инструмент нужно только исходя из целесообразности. Смесь PHP и HTML - это классический вариант использования PHP, главным недостатком которого является слабая масштабируемость и сложность поддержки. В сложных системах этот подход приводит к убыткам, поэтому придумали такие подходы как MVC, а ООП это одно из средств удобной реализации этого подхода.
    Если вы не видите, зачем вам это в ваших проектах, то не используйте. Когда понадобится - поймёте сами. Наверное :)
    В любом случае, знать возможности языка и всевозможные best practices и архитектурные подходы нужно, если собираетесь расти и развиваться.
    Ответ написан
    2 комментария
  • Почему большинство компаний требуют Linux при устройстве?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Подавляющее большинство web-серверов в мире работают на Linux'ах. Вполне разумно ожидать от разработчика понимания окружения, в котором будут работать его программы. Так что не важно, что вы любите, важно с чем вас нанимают работать.
    Ответ написан
    19 комментариев
  • Банальный вопрос - как быть дальше?

    DevMan
    @DevMan
    какой–то бэкграунд у вас уже есть. и если вы не последний слоупок он позволит вкатиться буквально за месяц–другой.
    денег ждать со старта не стоит, но зацепиться вполне реально. а потом все зависит уже от вас.
    Ответ написан
    Комментировать
  • Есть ли программа для Linux, конструктор команд в терминале?

    @sl0
    Конструктора не знаю, но для понимания, что незнакомая команда делает, советую глянуть https://explainshell.com/
    Ответ написан
    Комментировать
  • Есть ли программа для Linux, конструктор команд в терминале?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    Бывает нужно найти какую то определённую команду. Если бы все команды были доступны в одном месте - было бы намного удоблней, чем искать по разным сайтам.

    А для виндовс вы как ищете конструктор команд? Где-то есть конструктор команд в котором будет рассказано про фотошоп, эксель, акробат?

    Вы видимо не осознаете, что командная строка в линукс - это полноценная оболочка со своей вселенной консольных утилит, которые можно скачивать и устанавливать, и писать самому. Их список неограничен.
    В основном это
    1) стандартный набор gnu-tools, где можно собственно почитать о них https://www.gnu.org/software/coreutils/manual/core...

    2) сама командная строка является оболочкой, со своими внутренними командами, о чем можно почитать в справке к этой оболочке (команда help, или гуглить в инете bash, ksh, zsh в зависимости от того, чем пользуетесь)

    3) также как и в виндовс, можно свободно доустанавливать произвоильные команды, или писать их самому. Есть ОГРОМНОЕ количество консольных утилит и программ для разных нужд. Нужно просто осознать, что командная строка - это полноценная оболочка, в которой можно выполнять множество различных задач, перечислить все команды нереально

    Также набор команд может отличаться для разных дистрибутивов, что тоже усложняет поиск информации через интернет.

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

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

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

    Для некоторых отдельных команд типа find,grep, curl есть графопостроители, типа
    https://curlbuilder.com/
    https://marcin-chwedczuk.github.io/assets/apps/fin...
    Но честно говоря, лучше почитать справку.

    Просто вам нужно научиться работать в командной строке - она была СОЗДАНА быть гибкой настолько, что универсальный билдер для нее написать крайне сложно
    Ответ написан
    2 комментария
  • Программирование деформирует человека как личность?

    milssky
    @milssky
    Координатор племени фиолетовых обезьянок
    Выгорание в чистом виде.
    1. Сходить к психологу.
    2. Решить остальные проблемы со здоровьем.
    3. Оставлять работу на работе.
    Ответ написан
    Комментировать
  • Какую книгу по алгоритмам посоветуете?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Очень рекомендую эту книгу.
    Большая, толстая. очень наглядные структуры с алгоритмами и разборами. На Java. Куча заданий
    5ed4d44738e32888903594.jpeg

    И вот эту серию. Простая и легкая, но хорошая:
    5ed4d4c55de8b750006156.png
    Ответ написан
    7 комментариев
  • Укрепить знания PHP велосипедом или через фреймфорк?

    glaphire
    @glaphire Куратор тега PHP
    PHP developer
    Ответ на такой вопрос тут давали неоднократно.
    Для работы нужны понятные поддерживаемые решения, и разработка на фреймворках это обеспечивает. Вы не сможете навелосипедить на уровне, близком к фреймворку без правильных знаний проектирования кода. Разбирайтесь в существующих подходах, тогда в проекте будет смысл
    Ответ написан
    Комментировать
  • Как быть медлительному разработчику?

    @dimoff66
    Кратко о себе: Я есть
    Это же все относительно. Кто-то работает быстрее кто-то медленнее. Это ваш темп, если вы помимо решения задач еще и будете грузиться скоростью - на пользу не пойдет. Ну зафейлили значит зафейлили, кто сказал, что сроки были корректные.
    Ответ написан
    Комментировать
  • Как определяют номер телефона у посетителей сайта?

    @granty
    Куки исключены, браузер не сохраняет их и не хранит историю.

    1. Про evercookie слышали? А про Web Fingerprint?
    На хакере перечислена масса способов хранить ID на вашем компе без использования Куков и кэша, а технология Web Fingerprint позволяет хранить цифровой отпечаток компа, браузера на сервере банка: Фингерпринтинг конкретного ПК с точностью 99,24%, не спасает даже смена браузера.

    Если вы - клиент банка и заходили в его интернет-банкинг, он легко может вас опознать при использовании того же браузера и того же компа.
    А если у вас на мобиле установлено приложение интернет-банкинга - вы вообще под колпаком :)

    2. Если вы лазите по инету залогиненым в Вконтакте/Яндексе, то через backdoors в их API можно определить ваш профиль и все ваши данные.
    Сайт Соцфишинг работает на этом принципе.
    Сам банк тоже может использовать соцфишинг и ставить невидимый ифрейм на своё меню, и при клике вы автоматически авторизуетесь через аккаунт, например, Вконтакте. Зная ваш ID на Вконтакте, ваш телефон легко узнаётся, их базы регулярно сливаются и продаются

    PS: Узнать как конкретно вас "слил" и каким образом - невозможно без исследования конкретной ситуации.

    факультатив

    Всё вышеперечисленное - детский лепет по сравнению с тем, какие возможности имеет Google (и, частично, Яндекс с Apple).
    У всех дома стоит точка WiFi, к которой коннектится ваш комп и мобильник с Андроид. Через мобильник Гугл знает все номера телефонов, которые подключаются к этой точке доступа (и все аккаунты соцсетей в которые вы логинились с мобильника). Поэтому когда вы лезете Хромом с компа через эту же точку доступа - Гугль уже знает, что это вы (или один из ваших домочадцев). По GPS на мобильнике он знает даже адрес вашего проживания с точностью до подъезда.
    Так что мы все давно уже добровольно "чипованы", чего удивляться что о нас всё известно.
    Ответ написан
    Комментировать
  • Как подружить airpods и linux?

    zabudkin
    @zabudkin
    Инженер-системотехник, программист, админ, ТПУ!!!!
    Я не мог заставить Airpods работать на Mint 19.1, пока не нашел один пост, в котором Airpods работали как наушники. Речь не идёт об использовании в качестве гарнитуры с микрофоном.

    Шаги:

    Укажи "ControllerMode = bredr" в /etc/bluetooth/main.conf
    если не найдёшь ControllerMode , то добавь строчку снизу:
    ControllerMode = bredr

    потом
    sudo /etc/init.d/bluetooth restart

    И коннектись.

    Удачи!
    Ответ написан
    1 комментарий
  • Позднее статическое связывание php: как это работает?

    MegaMufa
    @MegaMufa
    Смотрите. Есть такая простая иерархия классов:
    class A
    {
        public static $text = 'class A';
    
        public function selfTest()
        {
            echo self::$text;
        }
    
        public function staticTest()
        {
            echo static::$text;
        }
    }
    
    class B extends A
    {
        public static $text = 'class B';
    }


    Мы создаем экземпляк субкласа и вызываем методы, определенные в предке.
    $obj = new B();
    $obj->selfTest(); // выведет "class A"
    $obj->staticTest(); // выведет "class B"

    self всегда указывает на тот класс, в котором он написал. Здесь метод описан в классе A, и self указывает на класс A, хоть и вызывается из класса B.
    Значение static вычисляется при вызове. И static указывает на класс объекта в котором произошел вызов. В нашем случае он указывает на B, хотя сам код описан в классе A.

    Зачем это надо? Для того, что бы можно было переопределять статичные члены вашего класса в наследниках и вы могли обращаться к новым значениям из методов, описанных в предке.

    С обычными не статичными членами это и так работает, потому что они собираются, когда вы создаете объект класса. Что бы это работало для статичных методов, надо использовать static
    Ответ написан
    1 комментарий
  • Game-dev путь. Что мне делать?

    @majstar_Zubr
    C++, C#, gamedev
    У вас должна быть цель стать профессионалом в области. Потому что только профессионал может выбирать, с кем работать, где работать, над чем работать - над крупными проектами для правительств, над банковским софтом, над веб-проектами или над играми.

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

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

    Что вы можете сейчас сделать - взять прицел. Конкретно сформулируйте профессию и специализацию. Оптимизируйте процесс полученния знаний: как бы не ругали образование в ВУЗах СНГ, все же это нехилая экономия времени, если вы сразу будете получать профильное образование.

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

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

    Так что, запасайтесь попкорном и начните с языка Си. Освойте структурное программирование. Алгоритмы, структуры данных. Архитектуру компьютера, ОС. Не торопитесь как можно быстрее неправильно понять как можно больше вещей за кратчайший промежуток времени. Перечитывание и практикуете, пока не станет понятно так, что сможете научить кого-нибудь другого. Макконнелл, Роберт Мартин, Кент Бек, Эрик Эванс, Мартин Фаулер + 1 год дополнительного быдлокодинга на java и c# и c++ и у вас появится понимание ООП, ФП, типовые устройства моделей памяти и сборщиков мусора. Ещё за год научитесь писать настоящий ООП код, читать чужой код, даже если он написан в процедурно-макаронном стиле как книгу. Но надо ли вам эти три скучных года, потерянных полностью для личной жизни? Не проще ли получить solid knowledge и постепенно получать практику в среде опытных специалистов?

    Подытожу: становитесь профессионалом, на это у вас уйдёт ~10 лет после введения привычки учится в свободное время. Периодически смотрите на требования вакансий и составляйте себе древо знаний, которое хотите получить.
    Ответ написан
    Комментировать