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

    uvelichitel
    @uvelichitel
    habrahabr.ru/users/uvelichitel
    Ну могу добавить
    7. Асимптотическую оценку сложности O() алгоритмов и задач
    8. Смысл компиляции
    9. Принципы работы OS (sync-asynk, shared memory barrier, file descriptor, fork, kqueue) и основные syscalls.
    10. Сетевую модель(стек OSI)
    11. Хотя бы базовые основы администрирования машины и сети(terminal, shell, ssh, scp)
    12. Любимый текстовый редактор. )))
    Ответ написан
    Комментировать
  • Что должен знать профессиональный программист без учета особенностей конкретных языков программирования?

    opium
    @opium
    Просто люблю качественно работать
    Вы сами ответили на свой вопрос и мы вам тут не помощники.
    Ответ написан
    Комментировать
  • Как искать заказы в интернете вне бирж фриланса и знакомых?

    opium
    @opium
    Просто люблю качественно работать
    Устройтесь на работу
    Ответ написан
    1 комментарий
  • По какой схеме работать с зарубежными заказчиками?

    Jeth
    @Jeth
    UI/UX-дизайнер и JR iOS Dev в airlab.me
    А чем плоха схема держать $ на PayPal? Все равно ведь покупать технику, одежду и прочее дешевле за границей, а на бытовые расходы раз в год выводите нужную сумму, предварительно высчитав месячные расходы и умножив их на 12 (месяцев).
    Ответ написан
    1 комментарий
  • Какие ЯП не требуют кучу прикладнухи для устройства на работу?

    barmaley_exe
    @barmaley_exe
    Никакие.

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

    Вообще, в области server / desktop / mobile очень сложно уйти далеко без, как минимум, следующего:
    • Объектно-ориентированное программирование и проектирование — ведь код не должен быть говном
    • Параллельное программирование — ведь делать нужно много и быстро, а у нас уже 10 лет как многоядерные машины есть
    • Сети — ведь нельзя жить без интернета
    • Базы данных — ведь данные надо где-то хранить, и хранить надёжно


    hardware не комментирую, но там ещё хардкорнее.

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

    gadfi
    @gadfi
    https://gamega.org
    кофе носить ...
    А если серьезно то когда деревья были зеленее, небо синее, мои глаза не имели нежнорозовго оттенка и под ними не было мешков, а фраза hello world значила для меня привет мир на буржуйском языке, никак не ассоциируясь с первой программой любого программиста ─ уже тогда просто знания языков было не достаточно.
    Возможно если вы классно знаете с++ вам этого хватит, но как вы можете классно знать с++ не зная как работать к примеру с сетью или портами ? И так всюду, чуть глубже копнуть и уже оказывается нужны дополнительные знания.
    php без базового знания html ─ что вы с ним делать то без него будете ? окей это реально, встречал удачные архитектурные решения когда бэкэнд хорошо продуманный rest сервер, которому не принцыпиально кому он отдает данные, веб клиенту написанному на js(да да с использованием знания html, css..) или мобильному клиенту. Только для написания такого сервера нужно знать что такое rest и с чем его едят, базы данных и многое другое и да json/xml в том числе ) вас как джуна самостоятельно никто на такое не поставит
    Вы выделили JSON отдельным пунктом, что немного странно, хотя многие компании действительно часто пишут в вакансиях знания json/xml ... бред честно говоря, времена когда приложения варились в собственном соку прошли, мне трудно представить области(хотя они конечно есть, но там хватает других очень специфичных знаний) где обходятся без них, даже контролеры сейчас все чаще работают с сетью ...
    Для джуна требуется не так уж много, но знания одного языка как правило маловато
    Ответ написан
    Комментировать
  • Музыка для кодинга, под что вы программируете?

    @ColdSpirit
    Nirvana Radio
    В частности - Nirvana Relaxation
    Активная музыка отвлекает, в тишине скучновато, а эта создает атмосферу, в которой вполне можно сконцентрироваться на задаче.
    Ответ написан
    Комментировать
  • Музыка для кодинга, под что вы программируете?

    ambient. лучше космический [-_-]
    Ответ написан
    Комментировать
  • Музыка для кодинга, под что вы программируете?

    - По настроению - спокойная классика вроде "Лунной сонаты" или, наоборот, что-то энергичное, вроде скрипичных произведений Паганини.
    - Вокальные произведения и опера - лучше на малопонятных для меня языках и/или что-нибудь хорошо знакомое, дабы не отвлекать мозг вслушиванием в слова.
    - Ну и тишина.
    Ответ написан
    Комментировать
  • Музыка для кодинга, под что вы программируете?

    Под настроение! бывает музыка как начинает подбивать на кодинг :)
    Варианты:
    1.Moby
    2. Ac/dc,Prodigy.
    3.Bob Marley
    4. Dubstep
    5. Trance
    Ответ написан
    Комментировать
  • Музыка для кодинга, под что вы программируете?

    @Exotic33
    В основном без музыки, но... Ambient, atmospheric, deep. Или что-то, где есть чистый инструментал
    Ответ написан
    Комментировать
  • Музыка для кодинга, под что вы программируете?

    @AlexLIn
    У меня полностю звуко изолированный кабинет.
    Пишу/работаю без музыки
    Ответ написан
    1 комментарий
  • Музыка для кодинга, под что вы программируете?

    @DeScWD
    под Ханса Зиммера
    Ответ написан
    Комментировать
  • Музыка для кодинга, под что вы программируете?

    @Meyvorrrata
    AC/DC
    Ответ написан
    Комментировать
  • Что послушать про программирование?

    Слушать подкасты это и весело и полезно. Но выбрать для себя подходящий это та еще задача.

    Порекомендую несколько, которые мне нравятся:
    1) Разбор Полетов - о технологиях, гаджетах и программировании
    2) Радио-Т - о технологиях и программировании + болтология :)
    3) РадиоJS - о JS и фронтенде
    4) Откровенно про IT карьеризм - разговорное шоу с интересными собеседниками, о программировании, карьере и всем-всем
    5) RWpod - о рельсах, руби и пр.
    6) RubyNoName - о рельсах, руби и пр. сейчас чуть заглохло
    7) ruby5 - о рельсах, руби и пр. на английском

    + Бинарное Радио
    Ответ написан
    1 комментарий
  • Куда поступать на программиста?

    @asArtem
    Вуз в образовании и работе вообще ничего не решает. В том числе любой иностранный, разве что кроме MIT.
    Ни база, ни что-то другое. Конечно, речь не идёт о каком-то задрипанном коррумпированном частном вузе, но подойдёт любой областной технический университет с базовым ИТ направлением, где тебя будут дрючить нормально. И поверь, в ВУЗе лучше учиться тому, что там дают, в т.ч. устаревшим вещам. А самообразованием займёшься в первые два года работы и всю жизнь придётся заниматься. Потому что вузовский материал потом сложнее нагнать и понять, если там ничего не делать. Но тоже не критично. Онлайн видео-курсы тоже стенфорда с лихвой покрывают многие важные пробелы, которых может не быть в вузе.
    Всё решает:
    1. Желание учиться: готовиться к лекциям и парам, читать много, делать все задания.
    2. Умение впитывать и заставлять себя впитывать новое, часто очень непонятное
    3. Интерес, который проявляется часто курсу к 4ому. А вот соскакивают все курсе на 2ом. Это проявляется в т.ч. и в самообразовании и в просмотре курсов и в использовании полученных знаний и в чтении форумов.

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

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

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

    Сам программист, 6 лет опыта, за плечами успешные собеседование в европейские компании. У нас жить и работать на иностранцев выгоднее (если в долларах получать), заканчивал именно специальность по микроконтроллерам и сетям, но работаю с вебом.
    Ответ написан
    4 комментария
  • Красивый Builder Java?

    @asd111
    Обычно builder используется там где без builder'a пришлось бы писать много конструкторов для разного набора входных параметров.

    Пример из книги Effective Java(автор Joshua Bloch):

    Вот пример класса где из за большого количества параметров и из за за их необязательности приходится делать телескопический конструктор
    // Telescoping constructor pattern - does not scale well!
    public class NutritionFacts {
        private final int servingSize; // (mL)  required
        private final int servings; // (per container) required
        private final int calories; //  optional
        private final int fat; // (g) optional
        private final int sodium; // (mg) optional
        private final int carbohydrate; // (g)   optional
        public NutritionFacts(int servingSize, int servings) {
            this(servingSize, servings, 0);
        }
        public NutritionFacts(int servingSize, int servings,
            int calories) {
            this(servingSize, servings, calories, 0);
        }
        public NutritionFacts(int servingSize, int servings,
        int calories, int fat) {
            this(servingSize, servings, calories, fat, 0);
        }
        public NutritionFacts(int servingSize, int servings,
        int calories, int fat, int sodium) {
            this(servingSize, servings, calories, fat, sodium, 0);
        }
        public NutritionFacts(int servingSize, int servings,
        int calories, int fat, int sodium, int carbohydrate) {
            this.servingSize  = servingSize;
            this.servings     = servings;
            this.calories     = calories;
            this.fat          = fat;
            this.sodium       = sodium;
            this.carbohydrate = carbohydrate;
        }
    }


    В таких случаях рекомендуется применять builder

    // Builder Pattern
    public class NutritionFacts {
        private final int servingSize;
        private final int servings;
        private final int calories;
        private final int fat;
        private final int sodium;
        private final int carbohydrate;
    
        public static class Builder {
            // Required parameters
            private final int servingSize;
            private final int servings;
            // Optional parameters - initialized to default values
            private int calories = 0;
            private int fat = 0;
            private int carbohydrate = 0;
            private int sodium = 0;
    
            public Builder(int servingSize, int servings) {
                this.servingSize = servingSize;
                this.servings    = servings;
            }
    
            public Builder calories(int val)
            { calories = val; return this; }
    
            public Builder fat(int val)
            { fat = val; return this; }
    
            public Builder carbohydrate(int val)
            { carbohydrate = val; return this; }
    
            public Builder sodium(int val)
            { sodium = val; return this; }
    
            public NutritionFacts build() {
                return new NutritionFacts(this);
            }
        }
        private NutritionFacts(Builder builder) {
            servingSize = builder.servingSize;
            servings = builder.servings;
            calories = builder.calories;
            fat = builder.fat;
            sodium = builder.sodium;
            carbohydrate = builder.carbohydrate;
        }
    }


    и создавать экземпляр класса так:
    NutritionFacts cocaCola = new NutritionFacts.Builder(240, 8).calories(100).sodium(35).carbohydrate(27).build();
    Ответ написан
    Комментировать
  • Какую IDE выбрать для разработки под Android?

    anyd3v
    @anyd3v
    Android Studio, она базируется на IntelliJ IDEA, только android plugin на много развитее, тк его в первую очередь делают для Android Studio а потом вносят в IDEA
    Ответ написан
    7 комментариев
  • Изучение Java: мотивация, перспективы, краткий план?

    opium
    @opium
    Просто люблю качественно работать
    Поселил я тут к себе нового соседа недавеча, 20 лет джава программист удаленный, работает по 60 часов в неделю получает 5000 баксов в месяц играет в волейбол каждый день , через день в качалку. Ездит с нами на острова
    Думаю спрос на джава программистов очевидно есть и он конский если люди готовы платить такие деньги двадцатилетнем юношам
    Ответ написан
    8 комментариев
  • Будет ли портиться зрение если использовать проектор вместо монитора (если вообще будет и на сколько медленнее)?

    SHVV
    @SHVV
    На сколько я знаю, на усталость (и как следствие на нагрузку на глаза) помимо мерцания и избытка синего в спектре влияют яркость, контрастность и чёткость. Понятно, что мерцания быть не должно, синего должно быть в норме, а контрастность и чёткость должны быть высокими.

    А вот яркость должна соответствовать фоновому освещению. То есть, если к монитор поднести белый лист бумаги и вывести белый цвет на монитор, то они должны иметь примерно одинаковую яркость. На проекторе такого добиться не возможно. У вас либо яркость будет слишком высокой, либо контрастность слишком низкой.

    Мерцание в проекторах тоже может быть. Если это DLP проектор, то он мерцает, потому что технология такая. Если LCD, то зависит от подсветки. Светодиодная может так же мерцать, как и на мониторе. Если подсветка на метал-галогенной лампе, то она не мерцает, но такие лампы вам придётся менять каждый год, а то и чаще. Мониторы есть и не мерцающие. Смотрите обзоры -=DEAD=- а на overclockers.ru. Там же можно найти и выраженность кристаллического эффекта, который некоторых сильно утомляет.

    Чёткость и контрастность проектора не могут сравниться с монитором. Они сильно зависят от оптики, экрана и уровня освещения. Но в целом проектор будет хуже.

    Уровень синего тоже зависит от подсветки. См. выше.

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