• Поздний старт в ИТ - есть ли шансы?

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

    Если Вы боитесь, что у Вас нет знаний, а Ваши проекты были Вашими и делались на коленке(без обид, просто предполагаю) и когда Вам дадут реальную задачу - Вы не справитесь, то это другой вопрос - "Где взять знания?".
    Ответ написан
    1 комментарий
  • Поздний старт в ИТ - есть ли шансы?

    valerium
    @valerium
    Изобретая велосипед
    У меня похожая ситуация, правда я просрал не 5, а в сумме все 6 лет. Сейчас мне 25, я работаю дежурным админом. Успел поработать в техподдержке, потом младшим админом, сейчас дежурным.

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

    Тут правильно bobrovskyserg написал, надо показать себя, сообразить "портфолио". У Вас есть свой проект? Отлично, на гитхаб его! Дружите с русским языком? Катайте статью в песочницу Хабра о своём проекте, ждите инвайт. Есть IT-шная эрудиция? Тостер всегда рад Вам.

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

    Успехов!
    Ответ написан
    Комментировать
  • Поздний старт в ИТ - есть ли шансы?

    zo0m
    @zo0m
    full stack developer
    какой-то вы неуверенный слишком
    я собеседовал достаточно много студентов и возраст скорее играет на вас
    "Что делал? тебе столько лет, а где опыт?", конечно спросят, только не для того чтобы вас топить, а для того чтобы понять что за человек сидит.
    Если на собеседованиях будете хорошо отвечать -- у вас нет причин не попасть куда-угодно.

    псц, ПОЗДНИЙ СТАРТ в 26 ??? я видел взрослых мужиков за 40 полностью меняющих работу на IT, а вам 26...

    чувак иди проспись
    Ответ написан
    6 комментариев
  • Поздний старт в ИТ - есть ли шансы?

    bobrovskyserg
    @bobrovskyserg
    Хех.
    У вас пустой профиль.
    У вас нет аккаунта на Гитхабе?
    Вы интраверт?
    Ну так начните активничать зесь (вы же отличник?)
    Шевелитесь, спрашивайте, отвечайте, не таитесь, не придуривайтесь - чем вы рискуете?
    Ответ написан
    Комментировать
  • Что выбрать или Django vs Flask?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Для самообразования в духе "я хочу уметь python" flask подойдет лучше. Если уверены, что python знаете хорошо, то ковыряйте джангу.
    На рынке в головах они востребованы одинаково, просто джангу чаще хотят в вебе (окей, намноооого чаще). Но многие апишки-бэкэнды и прочее пишут на фласке.

    Использовать Percona Mysql или Postgre.
    Ответ написан
    Комментировать
  • Как бороться с депрессией или как освоить java?

    @asd111
    Это нормально. В наше время чтобы написать даже банальный Hello world, но с использованием framework'a лучше залезть куда нибудь в документацию или в генератор ide и скопировать или сгенерировать, т.к. тонкости синтаксиса обычно не запоминаются.
    Запоминается только то что есть такие то возможности у таких то фреймворков и это делается так то, но сам синтаксис не запоминается.
    Если вы можете покопавшись в примерах выкатить достойный результат значит всё нормально.
    Желательно конечно прочесть хотя бы одну книгу по теме которой хотите заниматся, т.к. таким образом процесс обучения пойдет гораздо быстрее - в учебниках по фреймворкам даются часто используемые примеры и немного объяснений - этого достаточно чтобы с помощью таких знаний писать программы с функционалом, который вы узнали из примеров.

    Не переживайте сейчас все так пишут, т.к. объём возможностей современных программ очень велик и синтаксис каждой библиотеки запомнить нереально, реально запомнить зачем она нужна и какие задачи можно решить с её помощью.
    Ответ написан
    1 комментарий
  • Что послушать про программирование?

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

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

    + Бинарное Радио
    Ответ написан
    1 комментарий
  • Почему в Django clean() не проходит проверку в тестах?

    dizballanze
    @dizballanze
    Software developer at Yandex
    Из документации:

    Note, however, that like Model.full_clean(), a model’s clean() method is not invoked when you call your model’s save() method.
    Ответ написан
    Комментировать
  • Кто может дистанционно помочь с изучением программирования?

    barmaley_exe
    @barmaley_exe
    Идите делать уже!

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

    0. Бесплатно. Чтобы заинтересовать по-настоящему крутого специалиста Ваше ценовое предложение должно быть очень и очень велико по очевидным причинам. Если же он хочет помогать Вам из альтруистических соображений, но непонятно, чем Вы лучше Пети из соседнего подъезда. Именно для такого рода помощи, сюрприз-сюрприз, и существуют StackOverflow-подобные ресурсы.
    1. Усреднением мнения нескольких людей можно побороть предвзятость и незнание одного конкретного человека.
    2. Если постоянно дёргать кого-то другого, этот кто-то научится, а Вы — нет. Нужно уметь находить ответы самостоятельно, не имея возможности кого-то спросить.
    3. Можно помогать другим участникам сообщества. Один из моих преподавателей когда-то в шутку сказал "Преподаю уже 10 лет — наконец-то сам начал понимать, что читаю". Как известно, в каждой шутке есть доля шутки, так что объяснение чего-либо кому-либо помогает Вам лучше разобраться в сути дела и структурировать собственные знания.

    Я уже распинался как-то раз на эту тему.

    Если Вам нужен начальный вектор, то вот:

    1. Язык — Python. Уже сейчас используется во всех мыслимых областях, обладает огромным сообществом и сравнительно несложен. Нынче, насколько я знаю, с него начинают обучение информатике в MIT. Потом, при желании, можно будет изучить ещё несколько. Изучение нового языка в пределах одной парадигмы не составляет труда.
    2. Если программирование для Вас область новая, то я бы посоветовал не окунаться сразу с головой в написание проекта, а начать с алгоритмических основ. Порешать задач на алгоритмы, научиться отлаживать код в голове. В результате будет проще думать о происходящем в дальнейшем.
    3. Написать таки какое-нибудь приложение. Проще всего сейчас целиться на веб, т.к. у нас есть браузеры с поддержкой хитрой разметки (HTML + CSS), позволяющей отобразить чуть ли не что угодно и не надо возиться с отрисовкой всего этого счастья. Тут нужно будет ознакомиться с HTML и CSS (чтобы приложение не выглядело как привет из 90-х, можно воспользоваться модными CSS фреймворками вроде Twitter Bootstrap), найти и овладеть каким-нибудь веб-фреймворком для выбранного языка (Например, Django для Python, но их очень много). На этой стадии должно быть много гугления, а в особо тяжких случаях — вопрошания на Тостере. Но не в обратном порядке!
    4. Программы обычно работают не в изолированной среде, а взаимодействуют с другими программами. Полезно знать, как это осуществляется. Для этого на более поздних этапах рекомендуется разобраться в, как минимум, сетях и операционных системах.
    Ответ написан
    8 комментариев
  • Как бороться с депрессией или как освоить java?

    Не вижу проблемы, в гугле вас вроде не забанили. Я так вообще не запоминаю синтаксис простейших substr в пыхе или JS, но спокойно открываю ресурс в интернете и смотрю там. Выучить язык != зазубрить названия функций. Ничего нет в том, чтоб зайти на стэковерфлоу и скопипастить пример аякс-запроса, вставить себе. У любого программиста под рукой интернет просто обязан быть. Имхо.
    Ответ написан
    Комментировать
  • Как обработать ajax запрос?

    @Inik1I
    Вот пример:
    <script src="http://code.jquery.com/jquery-1.5.min.js"></script>
    <script>
    function check(){
    	$.post("/ajax", {}, function(data){$("input[name='currency']").val(data)});
    }
    setInterval(check, 10000);
    </script>
    <input type="text" name="currency" readonly>

    Надеюсь, получить данные из json и вывести куда вам надо, не составит труда.
    Ответ написан
    Комментировать
  • Какой движок заюзать для поисковика по html коду?

    maaGames
    @maaGames
    Погроммирую программы
    Парсить 10 МИЛЛИАРДОВ страниц в реальном времени и на Яве? Не смешите мои тапочки!
    Вам нужно проиндексировать тэги(или классы, что вы там будете искать) всех страниц (в офлайне, на любом языке), а уже потом искать в этих таблицах. Т.е. искать будете не по самим HTML, а по базе данных тэгов(классов). С линейным поиском в 10 миллиардах страниц не справится даже ассемблер. Если конечно пользователь не готов подождать пару часов до получения результата.
    Ответ написан
    6 комментариев
  • Веб-приложение написано. Что дальше?

    @bromzh
    Drugs-driven development
    .
        _______                         ________
       |       |                       |        |
       |   n   | -> site1.com ->|  |-->| uwsgi1 |-->|   |--> app1 for site1
       |   g   |                |  |   |________|   |   |
    -->|   i   | -> site2.com ->|->|    ________    |-->|--> app2 for site2
       |   n   |                |  |   |        |   |   |
       |   x   | -> site3.com ->|  |-->| uwsgi2 |-->|   |--> app3 for site3
       |_______|                       |________|

    Это примерная общая структура деплоя нескольких питоновских wsgi-приложений.

    1) Nginx ставят вперёд в основном для:
    a) отдачи статики
    b) балансировки нагрузки
    Он быстрый, надёжный, статику отдаёт лучше, чем uwsgi, плюс, можно настроить всякие https. Однако, nginx не умеет запускать питоновские приложения. Для этого он проксирует запрос на wsgi-совместимый сервер.
    2) В wsgi-сервере запускаются все доступные питоновские приложения. Uwsgi можно довольно гибко конфигурировать, посмотри оф доки. Одной из классных штук является emperor-mode: uwsgi может сканировать папку на наличие конфигов и автоматом подхватывать питоновские приложения. Обычно создаётся 1 папка, а каждое wsgi-приложение просто делает симлинк с конфигом в эту папку.
    3) Uwsgi можно запустить как через обычный tcp-сокет, так и через unix-сокет. Что ты выберешь, то и надо будет указывать в конфиге nginx
    4) Uwsgi лучше запускать через supervisord. Он позволяет перезапускать приложение при падении, гибко настраивать запуск похожих демонов, перенаправлять stdout/stderr, настраивать переменные окружения и т.д.. Опять же, смтри доки. В конфиге прописываешь, как у тебя будет запускаться uwsgi и какой конфиг/папку с конфигами uwsgi будет читать.
    5) Если сервер имеет N ядер, то имеет смысл запустить N-1 штук процессов uwsgi на разных портах/с разными sock-файлами. Тогда nginx сможет балансировать нагрузку между ними. Запускать группу процессов можно либо через супервизор, либо задав настройки в конфиге самого Uwsgi, тут как удобнее. Разница будет лишь в том, что в первом варианте при падении одного uwsgi, остальные будут жить, а во втором случае, перезапустятся все процессы uwsgi (скорее всего).
    6) Не надо описывать конфиг каждого uwsgi-сервера в nginx отдельно, для группы есть upstream.
    7) Насколько я понимаю, если питоновское приложение 1, то лучше запустить несколько экземпляров uwsgi через супервизор, если их много - запускать несколько штук uwsgi в emperor-mode.

    Я точно не помню синтаксис конфигов, но должно получиться что-то похожее на такое:
    # Конфиг supervisor:
    [program:uwsgi]
    numprocs = 3 (для 4-х ядерного серва)
    command = uwsgi --emperor /path/to/conf/dir --socket /tmp/uwsgi/uwsgi-%(process_num).sock


    Либо так:
    # Конфиг  uwsgi: /path/to/conf/default.ini
    [uwsgi]
    socket = /tmp/sockets/uwsgi-%(vassal_name).sock
    
    # Конфиг супервизора
    [program:uwsgi]
    command = uwsgi --emperor /path/to/conf/dir ----vassals-include path/to/conf/default.ini


    В любом случае, всё это дело потом легко добавляется в nginx:
    upstream backend {
        server localhost:8001;  #для tcp-сокетов
        server localhost:8002;
    
        server unix:/tmp/uwsgi/uwsgi-1.sock; # для unix-сокетов
        server unix:/tmp/uwsgi/uwsgi-2.sock;
    }
    # А потом просто проксируешь на эту штуку:
    server {
        location / {
            listen       80;
            server_name site1.com;
            proxy_pass http://backend;
        }
    }
    
    server {
        location / {
            listen       80;
            server_name site2.com;
            proxy_pass http://backend;
        }
    }


    PS Возможно, если количество питоновских приложух сопоставимо с количеством процессоров, то может будет лучше настроить так: 1 экземпляр uwsgi на 1 приложение. Но я точно не знаю, имеет ли это смысл, надо читать внимательно доки uwsgi и nginx.
    Ответ написан
    2 комментария
  • Как скоро можно получить статус Oracle Certified Associate начинающему разработчику?

    @mmxdesign
    Software Engineer
    Расскажу из своего опыта получения сертификата Oracle Certified Associate

    1. Первое определитесь по какой именно версии будете идти. Сейчас актуальны две версии 11g и 12с. С прицелом на будущее конечно лучшее проходить по 12с так как ваш сертификат будет действительным на пару лет дольше.

    2. Сам сертификат разделен на две части: а) SQL знания б) админка Считаю целесообразно готовиться к ним по отдельности.

    3. SQL знания проверяются следующими экзаменами: 1z0-051 для 11g версии и 1z0-061 для 12с версии. А тажке универсальный 1z0-047, который подходит для обе версии. Последний считаю более предпочтительным, так как за него получаете отдельный Сертификат. Самый хороший учебник для подготовки к этим экзаменам SQL Certified Expert Exam Guide by Steve O'hearn Ссылка там все что нужно есть, меньше "воды", больше именно "подводных камней". Если жалко купить можете спокойно найти в интернете pdf а также к нему прилагается sample questions, довольно на сложном уровне очень рекомендую.

    4. У Админки есть два варианта только это: 1z0-52 для 11g версии и 1z0-062 для 12с версии. На счет админки можете прочитать по 12с Oracle Essentials Oracle Database 12c Ссылка. В целом общих познаний будет достаточно, самое главное запомнить теорию. Если с памятью плохо то делайте короткие конспекты помогает лучше запомнить. Дал материалы на английском потому что если решили изучать Оракл лучше начинать на английском сразу.

    5. На каждый из экзаменов выделите примерно 2 недели, а лучше даже купите экзамен чтобы дата была уже определенна и для вас была как deadline который нельзя пропустить, очень хороший мотиватор. Не надо много изучать и читать - без толку, в голове только больше "каши" будет.
    Запомните, что ваша цель получить сертификат, а познание и опыт работы с Ораклом придет только с практикой. А те познания которые требует сертификат в реальной практике даже 50% не будет использовано.

    6. Вверить и не бояться, в принципе уровень OCA сертификации легкий даже для новичка в этом деле.

    Удачи!
    Ответ написан
    Комментировать
  • Как заставить монтажников убрать скрутки в подъезде?

    Jump
    @Jump
    Системный администратор со стажем.
    Вас подключили?
    Интернет работает?
    Скорость и качество соответствуют указанным в договоре?

    Если да, то какие проблемы?
    Если нет - требуйте чтобы привели в соответствие.

    А предпочтения монтажников при соединении проводов это их дело, а не ваше. Как хотят так и делают.

    Подскажите пожалуйста, есть ли какие-то нормативы, стандарты
    Есть. Но разве провайдер в договоре указал, что обязуется провести вам сеть в соответствии со стандартами? Нет? Тогда и вопросов быть не может.
    Ответ написан
    2 комментария
  • Как изменять переменную на странце без перезагрузки?

    Самое простое - запрашивать обновление с сервера яваскриптом через аякс с какой-либо периодичностью (да хоть раз в секунду).
    Если обновления обязательно нужно получать по мере их появления, можно использовать SSE или WebSockets, но тут уже всё немного сложнее.
    Есть презентация на английском, в которой как раз описаны все способы и даны примеры серверного кода для Flask.
    Ответ написан
    1 комментарий
  • Какой php framework самый простой для изучения?

    Symphony
    @Symphony
    1. CodeIgniter
    2. Cake PHP
    3. Kohana
    4. Yii
    5. Laravel
    6. Phalcon
    7. Symfony
    8. Zend
    Ответ написан
    Комментировать
  • Почему не удаляются загруженные файлы?

    desperadik
    @desperadik
    Истина где-то рядом.
    Такая политика Django. "Все что "создается" в Вегасе - остается в Вегасе"
    Django не удаляет загруженные файлы. =)
    Юзай приложение django-cleanup от un1t.

    pip install django-cleanup
    Ответ написан
    1 комментарий
  • Как сделать правильную выборку с БД?

    @dmtrrr
    Backend developer
    Выборку делают из БД, а не "с БД".
    Ответ написан
    1 комментарий
  • Есть какие-нибудь ресурсы по построению правильной серверной архитектуры на node.js/io.js?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Архитектурные принципы не очень связаны именно с нодой, они будут примерно одинаковыми, на каком бы языке вы не писали. Первое, что я могу посоветовать, когда Вы переходите от технологий программирования к архитектуре систем, это как переход от кладки кирпича к архитектуре зданий - нужно отложить все шаблоны, которые Вы знали до того и подняться на другой уровень абстракции. А именно, нужно перестать мыслить такими понятиями, как DI (dependency injection), REST, MVC, ORM, RPC, шаблонизаторы, компоненты, сокеты, промисы и прочее - это все технологии. Что же нужно понять это: слои (layers), модули, контракты, адаптеры, клиент-сервер, 3-звенная архитектура, микросервисы, СМО (системы массового обслуживания), и т.д. Где так все собрано в одном месте - не могу сказать, я лично по крупицам все осваивал, на что положил 20 лет профессиональной деятельности. Почитайте про ISO/OSI, загляните в три мои статьи habrahabr.ru/post/227753 и habrahabr.ru/post/204958 и habrahabr.ru/post/117791 Раньше хорошие статьи по архитектуре были на www.osp.ru но, к сожалению, давно не читал его. Можно начать с книг Гради Буча и освоения UML, этот дядька сформировал достаточно полный подход и методологию проектирования программных систем, которая ведет правильным путем, но на практике, в каждом отдельном случае может быть заменена интуицией архитектора и существенно упрощена. Удачи!
    Ответ написан
    6 комментариев