Задать вопрос
  • Создание сайта: выбор cms или что делать?

    Rema1ns
    @Rema1ns
    и так сойдет
    Отказаться за такие деньги от проекта. Пусть в веб студию зайдут, узнают сколько стоить будет.

    Минимальные сроки + <25к за работу. Жлобовство какое то.
    Ответ написан
    Комментировать
  • Интересные блоги/источники информации по архитектурам Web приложений?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    общепринятых паттернов нет.

    Почитайте Мартина Фаулера, Боба Мартина, Крэйга Лармана, Кента Бэка, банду четырех, Эрика Эванса и других людей и возможно в этом вопросе у вас поменяется мнение. Скажем SoA и гексагональная архитектура, CQRS и т.д. хорошо вписываются в концепцию распределенных систем.

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

    По поводу технологий, что где и когда - никто не даст вам такого ответа. Проще всего, раз уж речь идет о распределенной системе, проектировать систему таким образом, что бы узкое место можно было легко заменить. Скажем если у вас весь проект написан на Python и один его компонент подвержен особенно большим нагрузкам, можно переписать его на Go или C++ а всю остальную систему оставить без изменений. Если у вас узким местом стала база - вводить кэши или уровни кешей. Если узким местом стала шина данных между различными компонентами системы - думаем как оптимизировать это звено (какие-нибудь protobuf для обмена данными, zeromq или свой бинарный протокол)
    Ответ написан
    Комментировать
  • За кем следить на GitHub?

    JSinga
    @JSinga
    Итак попытаемся разобраться и сделать это логично:
    Мы любим фронтенд значит нам нужно что то на языке JavaScript - ищем на гитхабе проекты с большим кол-вом звездочек и все еще "живые":
    github.com

    Смотрим неколько проектов и смотрим там на контрибьюторов которые внесли много коммитов результат:
    pazguille
    getify
    spicyj
    hhaidar
    nolimits4web

    То же самое для html:
    PaulKinlan
    hubgit
    Ms2ger
    LeaVerou - обратите внимание это девочка и еще и из MIT
    davelab6
    enaqx

    Попутно смотрим в какие группы эти ребята входят и отмечаем инетересные
    reactjs
    html5rocks
    GoogleChrome

    Ну алгоритм вам надеюсь понятен, дальше можно просматривать бесконечно!
    Ответ написан
    1 комментарий
  • Поздний старт в ИТ - есть ли шансы?

    @TheRishka
    Андроидоводоведовод
    Чувак, наберись уверенности. Я сам проучился 6 лет на инженера, понял, что это не мое, перешел на it. Год занимался сам, по учебникам, никто мне знаний просто так не давал, как в универе. Ботал и занимался, прошел около 50 собеседований, где меня размазывали по стенке, но все же попал на работу обычным Junior Android-разработчиком, хотя раньше к Java вообще не прикасался. Проваленное собеседование - это опыт. В конце концов, умение принимать правильные решения приходит с опытом, а опыт - с неудачными решениями. Все были новичками. Запоминай что спрашивают, подучивай эти "дыры" и однажды пройдешь и попадешь в классную команду. Попадешь на работу - дальше пойдет как по маслу, будут конкретные задачи, будут сроки, перестанешь метаться "о куда мне ткнуться, что делать", будет гораздо проще.

    Что реально нужно - это свои проекты. У тебя они, судя по всему, есть. Вот только нужны ЗАКОНЧЕННЫЕ проекты. Умение доводить проект до хоть какого-то состояния очень важно. Если у тебя все висит в стиле: "ну я вот тут делал, но вот это не работает, вот тут баг и т.д." - это херня. Лучше урежь функционал, но сделай, чтобы работало. Это реально важно и этому надо учиться.

    Если ты из города Казань, можешь посмотреть и почитать про Иннополис. Хотя, возможно, сможешь и так туда поступить, там реально круто, может подумаешь о переезде:)
    Ответ написан
    1 комментарий
  • Поздний старт в ИТ - есть ли шансы?

    Это не опасения - это не достаток "мотивации". Часто встречается сейчас.
    В свое время я тоже много читал вопросы и темы других "начинающих старичков", что на хабре, что на доу. И да был страх.

    Мне помогло справится со своими сомнениями и страхами следующее:
    1)Канал на ютубе М. Портнова и его Школы тестировщиков. Очень мотивируют видео, где уже взрослые люди бросают все и едут в другую далекую страну, получают абсолютно не знакомую им специальность, учат язык и добиваются успеха. Я даже одно время очень хотел уехать в США.
    2) Владимир Герасичев. Сопротивление и выбор. Сам по себе Герасичев меня не впечатлял как тренер, но это видео очень помогло.
    3) Моя семья. Жена и дети. Лучшего мотиватора не придумаешь, чем счастливая жизнь семьи.

    Вот уже был подобный вопрос недавно. Может что-то полезное найдете.

    А так удачи - и помните по сути ваш возраст не недостаток - это преимущество. Если воспринимать это так, то все становится проще.

    З.Ы.: на написание своего вопроса и чтение ответов на Тостере вы потратили время, которое могли потратить на изучение чего-то действительно полезного для своей карьеры ;)
    Ответ написан
    Комментировать
  • Поздний старт в ИТ - есть ли шансы?

    kumaxim
    @kumaxim
    Web-программист
    Г-н ТС, в ИТ всем плевать какие у Вас бумажки, особенно если Вы работайте через интернет. Выполняйте тестовое задание, потом 1-2 проекта с оплатой по факту и вот с Вами клиент уже хочет работать на постоянной основе. (речь про фриланс)

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

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

    Какая разница сколько кому лет, и так далее? Он вас подсиживает или что? Вы неспособны найти работу или научиться чему-то?

    Не всем быть Биллами Гейтсами или Павлами Дуровыми, есть огромный пласт мидлов и сеньоров-середнячков, которые от жизни берут не кучу гиковских ништяков, а находят свое счастье. И для этого надо самим решать что вам делать и как - никто кроме вас лучше не знает на что вы способны.
    Ответ написан
    Комментировать
  • Поздний старт в ИТ - есть ли шансы?

    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 комментария