• Какие знания необходимы перед изучением php фреймворка?

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

    Помимо еще и специфику, PHP - это Backend, а он впервую очередь получает запрос от клиента, обрабатывает его, если нужно запрашивает из BD нужные данные и возвращает ответ.

    Соответственно: На какие вопросы надо ответить чтобы решать эти задачи в виде данных? Получить запрос (Обработать запрос (Что за запрос, удаление, апдейт, создание или фильтр какой, посмотреть его входящие параметры, прочитать HTTP заголовки, запрос можно классифицировать сложным URL адресом, который в свою очередь можно классифицировать и соотнести к какой-то реально сущность book/1?new=true&filter=asc, соответственно есть у вас есть Front Controller - то запрос по книжкам можно отнести к контроллеру Books (А контроллер часть паттерна MVC, контроллер будет работать с моделью, модель может напрямую общаться с BD или передаваться какому-то сервису который общается с BD (ORM, SQL with Driver). Соответственно вы в модели запрашиваете данные, проверяете данные, обновляете, внедряете бизнесс логику и только когда это сделали, возращаете данные готовые для пользователя, но только данные пользователю не интересны, вам нужно обернуть данные в HTML, проставить значения, интегрировать в верстку, тут уже приходят на помощь вьюшки, шаблонизаторы, так как ответ может быть не HTML, то модель нужно сериализовать в JSON. Соответственно все эти объекты у которых есть данные имеют методы для работы со своими данными. А общение между объектами путем отправки друг-другу сообщений (petya.give(beer, vasya). Отношение между ними будет осуществляться либо вложение объектов в друг-друга (композиция), либо копированием свойств между объектами (иерархия, наследование). Определять то что умеет объект, будет его интерфейс (где уже вступают в силу модификаторы доступа).

    Соответственно кратко:

    Обработка данных внутри методов (Алгоритмы и структуры данных)
    Общение между объектами ООП (Объектно ориентированное программирование)
    Архитектура приложения на уровне объектов (Дизайн паттерны, композиция, агрегация)
    Выполнение последовательных операций (Императивное программирование)
    Получение A и превращение A в B с хитроумными сплетениями (Функциональное программирование)
    Выполнение двух операций одновременно и синхронизация между ними (Параллельное программирование)

    Удачи!
    Ответ написан
    Комментировать
  • Какие знания необходимы перед изучением php фреймворка?

    @AlikDex
    тут играет роль не столько знания пхп, сколько понимание принципов работы той или иной системы. Иными словами, необходимо изучить основные паттерны проектирования.
    Для ознакомления неплохая статейка с хабра: habrahabr.ru/post/214285
    Далее нагуглите думаю.
    Ответ написан
    1 комментарий
  • Как понять Python?

    slusarvitaliy
    @slusarvitaliy
    Системный администратор
    Вот уроки slusar.su/tag/python Делал для себя. Все простым и доступным языком
    Ответ написан
    Комментировать
  • Изучение yii2 русские мануалы?

    Elbar
    @Elbar
    Tinker
    Ловите:

    1) DBHelp
    2) Elisdn
    3)MzCoding
    4) Program Code
    Ответ написан
    Комментировать
  • Как закреплять основы javascript на практике?

    theobroma
    @theobroma
    javascript developer (ReactJS)
    Люто рекомендую www.codewars.com.
    Просто чудо, что он есть. Его можно использовать для изучения многих языков. Думаю Вам, как и мне собственно, он будет полезен для освоения как JavaScript, так и CoffeeScript.
    Есть 8 уровней сложности. Ко многим заданиям прилагаются тесты. Так что заодно и с Test-driven development познакомитесь. Тесты есть готовые, но можно и свои пробовать писать.
    Задания можно обсудить в разделе "Discuss". Там все грамотно сделано и спойлеры скрыты.
    После выполнения доступно посмотреть на решения других пользователей и проголосовать за самое находчивое решение и за "best practice". Это дает не слабый левелап.
    Совет: делайте все на localhost, а после уже готовый код вставляйте для проверки в окно "Your Solution". Так проще поэтапно отслеживать код и можно потихоньку прийти к решению.
    P.S. Сам как раз решаю эти задачки и активно пользуюсь learn.javascript.ru для справки.
    Ответ написан
    1 комментарий
  • Как стать верстальщиком в краткие сроки?

    smartwriter
    @smartwriter
    Фрилансер переводчик и front-end разработчик
    Я, например, подсел недавно на livecoding. Там и подучится можно и пообщаться с разработчиками. Я даже завел там несколько знакомств.
    Ответ написан
    1 комментарий
  • Есть ли книга (гайд) по введению в разработку 3D игр для бывалых в других сферах программистов?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Товарищ, могу сказать как человек, который чего только не попробовал разрабатывая игру. Началось всё с чистого Си, был и C# (банальная формочка с кучей кнопочек), был и С++ (чистый opengl и box2d для физики), потом XNA - мощный фреймворк для C#, правда умер к сожалению. Был pygame, правда ничего дальше пары хэлоу ворлдов не продвинулось. Вот сейчас ковыряюсь в юнити. Нередко организуюсь с другом на хакатоны - надо заметить, что с каждым разом продвигаемся всё дальше и дальше. Правда каждый раз и начинаем заново.

    В общем, заметил несколько вещей. Во-первых, нужен не программист, а скриптер, по рангу он недалеко ушёл от кодера. То есть он и есть кодер, с тем лишь отличием, что скриптует сцены. Ну и да, было бы не плохо обзавестись другим скриптером, который напишет текст. Сегодня, для разработки игр программисты нужны лишь для ААА-проектов, когда требуется сварганить целый фреймворк и почти с нуля сотворить движок, ну или адаптировать старый к новому железу, что по сути одно и то же. Во-вторых, надо вообще много всякой шпаны - художники, дизайнеры, тестеры, звуковики. В общем, полный набор требуется. Конечно, можно совмещать все должности в одной, но это обычно плохо кончается.
    Алсо, выбрав путь не стоит с него сворачивать. Это я говорю как опытный сворачиватель с путей - код переписывать не стоит, иначе как только он более менее разрастётся только и будете, что переписывать. Рефакторинг тоже делать надо очень осторожно. Чем модульнее тем лучше. И так далее.

    По поводу манов - их дофига. Разной степени упоротости. Например, есть такой неплохой движок, как OGRE, у него на странице куча ссылок на демки, вики, книги, доки. Но это скорее для любителей хардкора. Для любителей велосипедов есть openal + opengl, ну или sdl + opengl. По opengl тоже много литературы, очень много. К тому же есть Unity3D, но программистам с ним, имхо, делать особо нечего - лишь ограничивает, да и по удобству он далеко не самый лучший, а производительность - ужс какой-то, хотя в большинстве задач хватает с головой.

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

    В любом случае, удачи в начинаниях!
    Ответ написан
    4 комментария
  • Какие книги есть по правильному написанию кода, по правильной структуре кода?

    toxicmt
    @toxicmt
    CTO at hexlet.io
    И самая классическая классика это "Структура и Интерпретация Компьютерных Программ" www.ozon.ru/context/detail/id/5322055/. Переосмысление жизни после нее гарантировано ;)
    Ответ написан
    1 комментарий
  • Существует ли книга для новичка, в которой показывают разработку реального проекта?

    @jackroll
    Сверхразум
    1. Как писались более-менее сложные не-абстрактные проекты я видел в книге "Qt. Программирование GUI на C++" (Жасмин Бланшет и Марк Саммерфилд)
    2. Советую прочитать какие-нибудь книги об алгоритмах и структурах данных. Вы будете использовать эти алгоритмы в своих проектах. ИНФА 100%.
    3. Как пишутся сложные проекты можно узнать путем реверс-инжиниринга приложения.

    Месяц назад задавал схожий вопрос: Какие вы знаете каналы на youtube, куда выкладываются видео, где нонстоп пишутся серьезные приложения?
    Ответ написан
    Комментировать
  • Какие вы знаете каналы на youtube, куда выкладываются видео, где нонстоп пишутся серьезные приложения?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы козлам, не отмечающим…
    Сервис Livecoding.tv специально заточен под транслирование скринкастов по программированию.
    Ответ написан
    Комментировать
  • Как правильно закончить закрытый альфа тест игры и перейти к ОБТ?

    Wernisag
    @Wernisag
    Системный администратор Windows
    1. Делаете полный вайп;
    2. Старичкам тестерам даете эксклюзивную безделушку, которую нельзя найти или купить, но которую можно всем показать;
    3. Так же тестерам можете дать какое-либо незначительное преимущество на старте игры и наградить их премиум доступом к контенту на месяц, два, три.
    4. Если вы уже раньше брали деньги с игроков, верните им купленные предметы при старте игры, если эти предметы ещё существуют и они уже сбалансированы с остальным игровым миром. Если нет, верните в качестве игровой валюты.

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

    И готовьтесь, что все равно будут недовольные игроки. Даже если вы им пол игры подарите. Самое главное это баланс, что бы донатеры если и получали преимущество, то только не большое.
    Ответ написан
    Комментировать
  • Как быть, есть верстальщик на Windows а макет в Sketch?

    @Zhurbin
    Вопрос наверное уже не акуален, но кому-нибудь в дальнейшем может быть будет полезно: очень неплохой сервис avocode.com/. Просмотр макетов sketch и под виндой, и под linux в удобной для верстальщика форме. Из минусов - сначала макет надо загрузить на avocode с MacOS через плагин для sketch, и только тогда верстальщик сможет его откртыть на своей машине, а так же план для разрабов стоит 27$ за месяц (на данный момент), что не особо демократично. Но есть триальный период на 14 дней. Так же советую погуглить промокоды, есть скидки на 50% оплаты.
    Ответ написан
    Комментировать
  • Формы bootstrap и javascript, как с ними работать?

    @kejinzo
    Java Developer
    В bootstrap нет никакого API по работе с формами. Поэтому скорей всего ошибка именно в вашем скрипте. Можете воспользоваться данным jQuery плагином для отправки форм через аякс, он прекрасно работает с 3 бутстрапом, сам на днях использовал.
    Ответ написан
    3 комментария
  • Как продвинуться дальше начального уровня (Python)?

    Sergei_Erjemin
    @Sergei_Erjemin
    Улыбайся, будь самураем...
    Научиться плавать можно толь бултыхаясь в воде и периодически глотая воду. :) Программирование тоже нельзя изучить просто читая книжки. Придумай себе проект и стругай. Попутно изучаются HTML, CSS, JavaScript, JQuery, администрирование серверов и пр.

    Главное быть внимательным к деталям! Не забывать рефакторить уже написанный код при получении новых знаний и понимании новых концепций... а еще поддерживать единый стандарт всего-всего-всего в своем проекте. Внимание к мелочам -- главное, что отличает говнокодера от программиста.

    А вот присоединятся к чужому проекту думаю будет ошибкой. Слишком много концепций и деталей придется усвоить разом. Это все равно что подтянуть английский язык сразу посетив конференцию биологов-микрохирургов. Вроде на английском все разговаривают, но все равно не понятно о чем.
    Ответ написан
    Комментировать
  • Кто начинал программировать с 20-ти лет и старше?

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

    timych
    @timych
    Мне сейчас 34 . В 31 пошел учиться в колледж, даже не понимая что такое программирование и чем программисты занимаются. Несколько дней назад защитился на отлично . Работаю Java программистом второй год и уже не джуниор :). Tак что все возможно. Мне бы ваши 20 лет :) А насчет того что материал в таком возрасте хуже усваивается , это да - правда как ни прискорбно.
    Ответ написан
    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, какие-то особенности работы веб приложений. Мой коллега при поиске ораклиста спрашивал сколько нужно таблиц, чтобы описать некоторую предметную область (маленькую разумеется).
    А по поводу, где набираться опыта, у меня есть своя хитрость. Можно устроиться в бюджетную организацию, где есть свой отдел разработки. Я начинал в вузе. Если повезёт найти место, где активно занимаются разработкой всяких новых фишек. Причём разрабатывают своими силами, а не покупают или адаптируют готовые решения. Вот вам и плацдарм для пробы пера в Пайтоне. Берёте какую-нибудь задачу, которую нужно решить - расписание занятий на сайт или мобильное приложение для студентов или ещё что-нибудь. Получаете добро на разработку у начальства. И вперёд. Через год-другой у вас и строчка в трудовой и реальный опыт и есть, что рассказать на собеседовании. ;)
    Хитрость состоит в том, что в бюджетных организациях часто довольно низкие зарплаты по сравнению с коммерческими фирмами. Поэтому там всегда дефицит кадров и берут они программистов не особенно сильно придираясь. И текучка кадров там приличная. Как только молодёжь приобретает достаточно опыта, она сваливает в коммерческие фирмы, где платят больше. Всё это касается конечно провинции, в столицах, возможно, всё по-другому.
    Ответ написан
    Комментировать