Задать вопрос
  • Back-end, работающий со Smarty

    @victimofbrainlessness
    Уж простите за оффтопик. Но знание пхп принесет вам пользы на несколько порядков больше. Зачем вам костыль в виде смарти? по сути тот же самый пхп, но с фигурными скобками и гораздо меньшими возможностями; люди пишут плагины обертки чтобы хоть как то возместить отсутствие функций, структур и прочего.
    К тому же вы сознательно сужаете количество проектов над которыми вы потенциально могли бы работать. Не станете же вы предлагать работодателю переписать приложение на сматри, чтобы уставшему верстальщику было удобно вставлять ерунду.
    Вообще не понятно зачем верстальщику вставлять какую то ерунду в прототипе? Задача верстальщика сделать из макета прототип страницы в html+css. все остальное (подставлять переменные, выводить информацию в циклах и т.д.) делают разработчики. Если же вы разработчик, работающий с PHP CMS то не знать пхп - нонсенс

    имхо профессию верстальщик давно пора вносить в красную книгу. Не спорю в эпоху печати верстальщик это царь и бог. Но в наш то 21ый век, любой front-end developer сделает шаблон не хуже верстальщика, а то может и лучше. Времена изменились, требования к кандидатам на работу ростет, мало знать один только html+css, необходимы хотя бы поверхностные знания во всем стэке вэб разработки. не майтесь дурью - учите пхп
    Ответ написан
    2 комментария
  • Как получить опыт для устройства на работу Python Developer?

    @Nodar
    Python, Ruby, JavaScript
    Автор, написали бы, чем вы сейчас занимаетесь, чтобы что-то конкретнее советовать.
    Я сам джуниор с опытом 9 месяцев и более того я не учился на прогера. У меня небыло ничего на GitHub.
    Я просто писал всем, даже на вакансии, где искали senior'а. Большинство даже не отвечали, кто-то приглашал, но предлагал мизер. 20 - 30 тыс в Москве-то и это не на 2-3 месяца, а на полгода, год. Таким я сам отказывал. В итоге получил 2 предложения с существенно большей суммой.
    Как найти работу, надо просто показать людям, что они смогут вырастить из вас разработчика, что вы сами заинтересованы в этом и регулярно над собой работаете.
    Меня спрашивали, как я учу язык и cs в целом, разговаривали о книгах, которые я прочитал, что планирую изучать в дальнейшем. Когда мне задавали технические вопросы, я не мог на них ответить, но и не парился по этому поводу, я сразу объяснял, какой у меня уровень.

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

    В итоге 2 (для тех, кто не знает что учить):
    - если вы еще в процессе самообучения учите:
    Linux - дистрибутив роли не играет. Если никогда не работали в линуксе, попробуйте. Научитесь пользоваться командной строкой, редактором nano.
    Хорошо освойте все основные структуры данных в питоне и что с ними можно делать.
    Перед тем, как писать свое решение - используйте поиск, 100% уже есть решение вашей проблемы. Изучите его
    Алгоритмы и структуры данных - учить обязательно, многие это требуют. Я не знал, что такое деревья, практически в первый же день, мне потребовалось писать обход дерева, я реально сожалею, что незнал, как это сделать. Пришлось искать помощи.
    ----
    P.S. - это мой личный опыт.
    Ответ написан
    1 комментарий
  • Как получить опыт для устройства на работу Python Developer?

    rumkin
    @rumkin
    Договориться можно обо всем. Мне, в подобной ситуации помог простой договор: на испытательный срок — детская з/п (по сути оплачиваемая стажировка), но, если я остаюсь, то мне платят на достойном уровне. Так я получил бесценный опыт, которого у меня не было, деньги на поддержание штанов, и достойную зарплату через 2 месяца.
    Принципиально важно не выклянчивать хоть сколько-нибудь, а обозначить, что это минимум, который вы можете себе позволить. Ну, и реальное рвение нужно иметь.
    Ответ написан
    Комментировать
  • Как получить опыт для устройства на работу Python Developer?

    alexiusp
    @alexiusp
    senior frontend developer
    Соглашусь с вышенаписанным, что в вебе конкретный язык для джуниора не имеет особого значения - всегда можно переучиться. По своему, пусть небольшому, опыту могу сказать, что я и мои коллеги всегда смотрим на базовые знания соответствующих технологий. Я спрашиваю про ООП, MVC, какие-то особенности работы веб приложений. Мой коллега при поиске ораклиста спрашивал сколько нужно таблиц, чтобы описать некоторую предметную область (маленькую разумеется).
    А по поводу, где набираться опыта, у меня есть своя хитрость. Можно устроиться в бюджетную организацию, где есть свой отдел разработки. Я начинал в вузе. Если повезёт найти место, где активно занимаются разработкой всяких новых фишек. Причём разрабатывают своими силами, а не покупают или адаптируют готовые решения. Вот вам и плацдарм для пробы пера в Пайтоне. Берёте какую-нибудь задачу, которую нужно решить - расписание занятий на сайт или мобильное приложение для студентов или ещё что-нибудь. Получаете добро на разработку у начальства. И вперёд. Через год-другой у вас и строчка в трудовой и реальный опыт и есть, что рассказать на собеседовании. ;)
    Хитрость состоит в том, что в бюджетных организациях часто довольно низкие зарплаты по сравнению с коммерческими фирмами. Поэтому там всегда дефицит кадров и берут они программистов не особенно сильно придираясь. И текучка кадров там приличная. Как только молодёжь приобретает достаточно опыта, она сваливает в коммерческие фирмы, где платят больше. Всё это касается конечно провинции, в столицах, возможно, всё по-другому.
    Ответ написан
    Комментировать
  • Как получить опыт для устройства на работу Python Developer?

    zxmd
    @zxmd
    По опыту набора Python разработчиков могу сказать следующее:
    - Свои проекты на github никого кроме вас самих не волнуют. Ну сами судите - если это проект который никто не фалловит никто не форкает и написан еще кривенько - толку от него мало. Если это реально хорошо написанный код - то это можно использовать как ваш образец написания кода. Мне бы это понравилось, кто то это не учтет.
    - Опыт от 1 года - это не требования, это так сказать фильтр, который отсеит тех кто прочитал книжку "Соц сети за 24 часа для новичков".
    - Фриланс - более менее имеет вес. Но тут палка о двух концах. Я лично бывает звоню по фрилансному контракту и интересуюсь о человеке который выполнил заказ. Тоесть тут надо быть точно уверен что никто из ваших клиентов не скажет "да вы что, он нам проект делал полгода и не доделал" - хотя с вашей стороны будет "да они тз 10 раз меняли и вообще не заплатили за работу". Но обычно уже нет возможности оправдаться. Так что фриланс - не однозначная штука.
    - Голый питон - мало кому из работодателей интересен. Интересует скоп технологий. Если это web то Python+Django+PSQL+PIL+South+Elasticsearch(или sphinx)+mongo+lxml+с полсотни библиотек под разные нужды. Но это я говорю уже о сложившемся синьоре питонисте.
    - По поводу джуниоров. Я при просмотре резюме вообще не смотрю на ЯП (если это не 1c или VB) - язык, в особенности питон - дело 2-3 недель в реальном проекте. Опять по своему опыту - часто приходится переучивать народ с PHP, в этом нет ничего сложного. Многие фирмы идут на это, так как рынок питон разрабов очень ограничен. Как говориться - выращивают бабу-ягу в своем коллективе. Тут главное показать то, что хоть у вас нет опыта - вы этот самый опыт желаете получить..
    Ответ написан
    5 комментариев
  • Как получить опыт для устройства на работу Python Developer?

    JRazor
    @JRazor
    Senior StarkOverFlow Programmer
    Сначала пишите для себя. Пробуйте решать задачи, играться с разными GUI, базами данных и прочими кошерными вещами. Потом можете попробовать пофрилансить. Опыт + заработок. Я не знаю, насколько это поможет при устройстве на работу (тут все зависит от компании), но писать более-менее нормальный код рано или поздно научитесь. Опыт должен быть не в вашей трудовой книге, а в вашей трудовой голове. Сразу говорю - сам в организации не работал программистом Python (не повезло с городом), но писать научился.

    А лучше, конечно же, стараться и выбиться в джуниоры. Там вас всему научат)
    Ответ написан
    Комментировать
  • Как можно передать ссылку на экземпляр класса в другие модули, чтобы взаимодействовать с ним?

    @hsc
    full stack python back-end developer
    Не думайте о потоках как об объектах, потому что они ими не являются. Поток — это нить выполнения, которая во время инициализации принимает функцию, которую будет выполнять. После инициализации — это отдельный мини-процесс. Вызвать метод потока невозможно: у него их попросту нет. Можно вызвать метод дескриптора (объекта, который управляет потоком) но не самого потока. Отличием потоков от процессов является то, что потоки разделяют адресное пространство с процессом, который их породил. Это значит, что каждый поток имеет доступ к данным процесса и других потоков.

    Теперь о вариантах решения. Я их вижу несколько:
    1. Перед запуском потока создать proxy-объект, экземпляр класса, который будет описывать подходящую для вас структуру данных. В зависимости от задачи, может быть полезным посмотреть на Queue, он из коробки потоко-безопасен. После этого просто передать ссылку на этот объект в конструктор потока и общаться через него. Поток пишет в этот объект - django читает из него, и наоборот. Модель очереди для таких задач подходит как нельзя лучше, потому как нельзя гарантировать то, что поток подхватит задачу сразу по ее появлению, и другая задача не затрет предыдущую. Создавать proxy-объект нужно в такой точке, из которой выполнение процесса родителя не выйдет до остановки потока, иначе Вы рискуете потерять контроль над потоком или ловить "странные" ошибки.

    2: Если есть необходимость ставить перед потоком разные задачи может быть разумно вынести их хранение во внешние службы, например redis. Он очень быстрый и существенного оверхед даже на малинке не создаст. Общаться с ним можно через этот пакет. Если хотите сэкономить на tcp-трафике - запускайте redis на unix-сокете.
    Этот вариант потенциально избавит Вас от головной боли с синхронизацией задач.

    3: Если есть возможность и памяти хватает больше чем на 1 поток - RQ. Это — легкий менеджер очереди задач для python. По сути, то, что Вы и пытаетесь реализовать.
    Ответ написан
    7 комментариев
  • Как на Django реализовать график работы?

    @patient
    В TextField храню сериализованный в JSON объект типа:

    [{"start":"09:00","end":"14:00","lunch_start":"","lunch_end":""},
    {"start":"09:00","end":"18:00","lunch_start":"13:00","lunch_end":"14:00"},
    {"start":"09:00","end":"18:00","lunch_start":"13:00","lunch_end":"14:00"},
    {"start":"09:00","end":"18:00","lunch_start":"13:00","lunch_end":"14:00"},
    {"start":"09:00","end":"18:00","lunch_start":"13:00","lunch_end":"14:00"},
    {"start":"09:00","end":"14:00","lunch_start":"","lunch_end":""},
    {"start":"","end":"","lunch_start":"","lunch_end":""}]


    Темплейттегом рендерится в форму:

    fd32890a341441088bafb4bf1030b5fa.png

    На стороне клиента яваскриптом всё отслеживание и высчитывается. Решения проще не нашёл.
    Ответ написан
    1 комментарий
  • PHP с нуля. Где смотреть примеры практического использования?

    Советую Лаура Томсон и Люк Веллинг "Разработка WEB-приложений на PHP и MySQL" Она в самый раз для тебя сейчас!
    Помню как то был в такой же ситуации. Знал практически все но не знал как что с чем использовать и вообще зачем это знать. А вот тут Лаури создает интернет магазин поэтапно и разжеванно все!
    Ответ написан
    1 комментарий
  • Является ли уход из университета правильным решением?

    @portfelio
    Правильным решением является то, которые вы принимаете осознанно. Какая разница, кто и как поступал в аналогичных случаях?
    Ответ написан
    Комментировать
  • Как реализовать правильно авторизацию с сессиями на codeigniter?

    Вообще фрейморки тем и хороши, что в них уже есть все самое необходимое, а если и нету, то скорее всего кто-то это уже написал.

    Для авторизации можно, например, взять плагин ion_auth. Не сказать что он идеален, но достаточно простой и универсальный (сам начинал с него, да и сейчас им пользуюсь, правда там мало чего родного осталось - переписал почти полностью)

    для сессий есть встроенный класс, там ничего особенного - cidocs.ru/210/libraries/sessions.html

    для БД тоже есть простой класс - cidocs.ru/210/database/index.html
    Ответ написан
    1 комментарий
  • Как сохранить информации в Лист на ASP.NET MVC 4.0?

    Vadimyan
    @Vadimyan
    Программист C#
    Привет. Я согласен с @foxmuldercp - материалы полезные.
    static-поле в контроллере - худшее из возможных решений. Архитектура MVC предполагает наличие модели, которую вы игнорируете. Контроллер должен работать с неким репозиторием в части извлечение и сохранения данных. Приведу упрощенный пример
    public interface IUsersRepository
    {
        UserInfo SaveUserInfo(UserInfo user);
        IReadOnlyCollection<UserInfo> GetUsers();
    }


    В этом случае ваш контроллер может выглядеть следующим образом:
    (Это тестовый пример, на практике нужно использовать DI через IoC-контейнер для внедрения репозитория)
    public class HomeController : Controller
    {
        private readonly IUsersRepository _usersRepository;
        public HomeController()
        {
            _usersRepository = new UsersRepository();
        }
            
        public ActionResult Index()
        {
            var users = _usersRepository.GetUsers();
            return View(users);
        }
    
        public ActionResult Create()
        {
            return View();
        }
    
        [HttpPost]
        public ActionResult Create(UserInfo userInfo)
        {
            if (ModelState.IsValid)
            {
                _usersRepository.SaveUserInfo(userInfo);
                Users.Add(userInfo);
                return RedirectToAction("Index");
            }
            return View();
        }
    }


    При этом работа по сохранению пользователей переносится на реализацию интерфейса IUsersRepository. В зависимости от ваших потребностей, вы можете реализовать хранение коллекции пользователей в БД, в файле на диске, в оперативной памяти (для этого нужно либо сделать репозиторий синглтоном, либо заговнокодить статическую коллекцию в нём).
    Несколько замечаний напоследок:
    1. Репозитории обычно отвечают за работу с конкретным хранилищем данных на уровне сохрани/удали/извлеки, а места для бизнес-логики не остаётся. Поэтому звеньев может быть еще больше - есть сервис бизнес-логики для работы с пользователями, который через репозиторий извлекает данные, а после формирует модель для отдачи контроллеру. Таким образом из класса EF code first Person может формироваться модель UserInfo.
    2. Еще раз напомню про материалы @foxmuldercp , которые на начальных этапах изучения mvc могут быть очень полезны.
    Ответ написан
    Комментировать
  • Программирование + Исскуство, что изучить?

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

    Sardar
    @Sardar
    не понимаю выигрыш от того что их можно не писать руками

    Есть множество других аспектов у работы с БД, кроме как выборка данных. ORM обычно обвязан кучей смежных возможностей. К примеру schema migrations – автоматическое изменение таблиц под последнюю версию. На подобии того как git/mercurial/etc держат версии вашего кода, также должны быть версии вашей БД, с помощью которых можно выкатывать обновления или возвращаться назад. Помимо миграций есть архивы, утилиты для заполнения тестовыми данными и прочее-прочее.

    Если хочется попробовать чего-то нового, то попробуйте Django. Да, это python. Для смелых можно Pyramid. Питон сам по себе очень гибкий с его мета-программированием. Вам больше не нужно генерить файлы с кодом или держать кеш под автоматически сгенерированный код. Нет глобального namespace, где неизвестным образом появляются классы, следовательно нет танцев с class loaders и всегда ясно откуда и что пришло - это очень повышает ясность кода. Любые объекты самоописываются, так, что можно получить веб-формы из ORM моделей, автоматическая валидация, generic views (django view == контроллер для всего остального мира) и многое другое. Автоматическая админка. Хороший асинхронный фреймворк в лице Celery. Неплохое управление на management commands, которые легко пишутся. Вместе с Fabric уходит головная боль с выкатыванием новых версий на тестовые и боевые сервера. В общем batteries included.
    Ответ написан
    1 комментарий
  • ASP.NET или PHP. Что начать учить?

    HDApache
    @HDApache
    PHP программист
    Если Вы хотите работать и зарабатывать деньги то выбирайте PHP, да он совсем не элегантен и не так крут как Python, C#, JAVA (нужное подчеркнуть). Но PHP как не крути это 90% рынка труда. Никто не мешает паралельно для души писать на чем то более приятном. Как говориться "мыши плакали, кололись, но продолжали жрать кактус..."
    Ответ написан
    1 комментарий
  • Какие могут быть практические рекомендации по переезду разработчика на постоянную работу из региона в Москву?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Тут все как в переходе на FreeBSD или Linux. Да, просто берешь и переходишь.

    Я в 2007-м переехал так из глубинки(Татарстан):
    1) На старте было 27.000 руб
    2) Нашел через интернет человека которым был нужен программист за 35. 000 руб в в то время (Декабрь 2007)
    3) По чистой случайности именно он и предложил место для жилья. За 10.000 руб. в месяц.

    И того у меня сразу было 10 за квартиру, осталось 17.000, из них потратил сразу же на месячный абонемент в метро. Потом нашел места где можно по дешевле кушать, рыскал по интернет специально.

    В Москве ща можно найти, уверенно причем, 1-комн квартиру без хозяев за 25 и того с тебя будет 12.5 в месяц. Я к тому что нужно будет поискать компаньона чтобы на двоих платить! Ну на проезд в метро 1200 это 60 поездок, где-то 1.000 интернет и где-то 5-6.000 руб на покушать. И того готовь 12.5 + 1.200 + 1.000 + 6.000 руб. это из расчета на месяц, но лучше накопи 40-50 чтобы на 2 месяца уверенным быть.

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

    Да. По опыту скажу, первые 5-6 месяцев всех "понаехали" тянет обратно домой. Поэтому будь готов психологически, что придется окрепнуть морально ;)

    Также, забыл сказать, если переедешь, первое время билет не важно какой должен быть с собою. В течении 90 дней любой билет ЖД-поезда будет служить тебе временной регистрацией. Другими словами, если домой не поехал, а 90 дней проходят, иди и купи за 500-600 до какого-нибудь Владимира главное из него до Москвы, а в кассе на вопрос: "А туда как?", так и отвечай что кто-нибудь докинет, походу дела придумаешь.
    Ответ написан
  • Можно ли быть одновременно разработчиком моб. приложений и web-разработчиком?

    foxmuldercp
    @foxmuldercp
    Системный администратор, программист, фотограф
    Я из админа с 16 летним стажем сейчас тоже начал развиваться в разработчика.
    C# + Asp.Net MVC, соответственно Html, JQuery, Twitter Bootstrap, MS SQL, Linq, Entity Framework.
    сейчас постепенно пишу свой вариант домашней веб бухгалтерии, он уже живёт в Azure
    Ответ написан
    Комментировать
  • C++ или C#, с чего начать изучение с позиции фрилансера?

    @Igor_Sib
    Раз интересует Unity3d, наверно разумнее изучить C#.

    Не знаю как с точки зрения фрилансера, но с точки зрения разработчика игр (я с 2010 пишу на C#, до этого лет 10 писал на C++) - C# лучше. Мне больше нравится.

    На C# пишешь именно код, логику игры. Из плюсов - скорость разработки выше, код понятнее.

    На C++ же приходится делать много дополнительной работы, все эти выделения памяти, указатели, и т.п. утилитарные вещи, которые нужны помимо основного алгоритма.

    Конечно C++ быстрее, но сейчас глядя на топы игр - понимаешь что это не актуально, любую игру из топов можно переписать на шарпе.
    Ответ написан
    Комментировать
  • C++ или C#, с чего начать изучение с позиции фрилансера?

    С позиции фрилансера больше востребованы Java и PHP.
    Хотите писать под винду и .Net - C#. Хотите кроссплатформенности - С++. Не знаете с чего начать - начните с С.
    Ответ написан
    Комментировать