• Rust или Go(golang)?

    @potan
    Функциональный программист
    В области, где силен Go, много конкурентов, как старых проверенных, так и новых перспективных. Он займет свою долю в этой экосистеме, но не думаю, что будет доминировать.
    У Rust практически один конкурент - C++. И хотя у C++ много фанатиков, Rust имеет важные преимущества - надежность и привлекательность для привыкших к современным фичам (pattern matching, замыкания, иммутабельность). Уверен, что Rust будет медленно, но верно занимать все большую часть этого рынка и в обозримом будущем станет там доминировать.
    Ответ написан
    1 комментарий
  • Существует ли какая нибудь библиотека для создания событий на сайте?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    А при чём тут библиотеки? В фреймворках есть механизм событий, его и используйте.
    Пользователь нажал «Удалить фотографию», вы в контроллере это действие выполняете и генерируете событие (или в обратном порядке). Дальше обработчик-подписчик ловит это событие и выполняет какое-то действие — рассылает уведомления, пишет логи и т.д. На одно событие может быть неограниченной число обработчиков, что даёт гибкость — не надо зашивать весь код в одном месте.
    Ответ написан
    3 комментария
  • Какую литературу читать для изучения архитектуры компьютера и ОС?

    @Evsign
    Просто отлично, что вы к этому пришли.
    Как говорится, с начала освойте азбуку, а потом уже за c++ принимайтесь.

    1. Charles Petzold "C.O.D.E."
    Читать обязательно. Очень хорошо разжёвываются все эти битности, разрядности и .тд.
    В процессе чтения Вы, вместе с автором постепенно собираете компьютер и попутно осваиваете для этого необходимый бекграунд.
    С начала разбираются подходы в кодировании информации, не шифровка, а принципы представления информации в нулях и единицах. Потом разбираются системы счисления, потом немного химии и физики, что бы представлять как течёт ток по проводам. Потом разбираетесь как работают реле, далее идут первые логические элементы на реле. Потом вместе с автором собираете различные компоненты типо памяти, процессора на основе ранее сконструированных логических элементах. В общем это всё продолжается пока вы в конце не построите компьютер и изучите несколько основных ассемблерных команд, попутно изучив как считать в разных системах счисления, краткую историю развития комп техники и все логические элементы.

    2. Andrew Tannenbaum "Structured Computer Organization"
    По идее, можете даже сразу начать с этой книги, но все те фундаментальные вещи, которые разжёвывает Петцольд тут будут упомянуты вскользь, но тут пойдут уже более серьёзные вещи по поводу архитектуры. Будут рассматриваться уровни устройства современных процессоров, памяти, ассемблер, прерывания и т.д. т.д. т.д. Перечислять всё не имеет смысла, т.к. список будет оооочень большой. Это наиболее полная и подробная книга об архитектуре ЭВМ. В принципе, прочитая её от корки до корки вы будите достаточно хорошо разбираться в архитектуре самих компьютеров.

    3. Hennessy J., Patterson D. "Computer Architecture A Quantitative Approach"
    Эту пока ещё не читал, но судя по содержанию может быть отличным дополнением после танненбаума. Хотя, вполне может оказаться довольно самодостаточной книгой на ровне с вышеупомянутой книгой.
    Судя по предисловию и содержанию, в ней в дополнении к тому, что разбирает танненбаум, много уделяется внимание параллелизму, облакам, шарингу ресурсов и т.д.

    Можете взяться за это так:
    Если цените время, то начинайте сразу с Танненбаума, но если окажется сложным, то закрывайте и с начала читайте Петцольда.

    Если время хватает, то сразу читайте Петцольда, а потом Танненбаума :) И это лучший вариант. ИМХО)
    Петцольд читается очень легко и интересно. Я прочитал его на одном дыхании, а вот с Танненбаумом всё не так просто)

    UPD:
    По поводу актуальности. Актуально всё)
    2 и 3 разбирают современные ARM-Cortex A8 и i7 процессоры, Nvidia Fermi, CUDA и т.д.
    Ну а в первой книге этого и не надо)
    Ответ написан
    3 комментария
  • Как совместить PHP-библиотеку и Rails-приложение?

    @marazmiki
    Укротитель питонов
    Ключевое слово — API :)

    Пусть rails-приложение будет, к примеру, сервером и по оговоренному адресу ожидать входящих данных. А php-приложение вместо того, чтобы слать email, шлёт HTTP-запрос на сервер rails.
    Ответ написан
    Комментировать
  • Как совместить PHP-библиотеку и Rails-приложение?

    viktorvsk
    @viktorvsk
    Сложно представить, откуда в цепочки появился эмейл.
    Если не нужно менять бизнес-логику "пхп-либы", а так же устраивает ее быстродействие, то в чем проблема, что бы по окончании работы "пхп-либа" не на почту отправляло содержимое, а на какое-то специальное API в рельсах ?
    Ответ написан
    1 комментарий
  • Как лечится кризис начинающего программиста?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Доктор, что со мной?

    Волчанка

    или неправильно рассматриваю обучение в целом

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

    afi13
    @afi13
    В Drupal используется концепция сущностей, вы можете объявить собственные сущности с помощью hook_entity_info(), описать поля в таблице, логику поведения и т.д. Вот Пример.
    Ответ написан
    3 комментария
  • Книги по архитектуре веб приложений?

    qfox
    @qfox
    Ответы есть у меня
    Вопрос настолько обширный, что врядли кто-то вам сможет посоветовать актуальную литературу, т.к. нужны примеры.

    Большинство хороших архитектурных решений находится в постоянной разработке и люди, которые пишут книги, часто отстают лет на 5 от прогресса. А те, кто не отстает — находятся в творчесском процессе и им некогда писать книги.

    По теме могу посоветовать смотреть в сторону ruby/nodejs/go фреймворков для различных веб-приложений и сервисов, каждый фреймворк затачивается под определенную задачу и, если есть желание эффективно работать в этой сфере, вам так или иначе придется это делать — без чтения чужого кода и участия в разработке этих самых фреймворков сейчас никуда, и это полностью заменяет литературу по теме.

    Как пример, могу посоветовать сравнить www.sinatrarb.com (ruby), expressjs.com (nodejs) и martini.codegangsta.io (golang). Все они используют схему — создаем приложение, у приложения регистриуем обработчики для get/post/других запросов, в обработчиках получаем объекты request/response, и работаем с ними. Это считается базой для любых веб-сервисов, веб-приложений.

    Когда нужны какие-то дополнительные функции — все делается независимо от этих модулей внутри колбеков, которые в них регистрируются и там зоопарк очень большой. Если нужны контроллеры, модели — есть rails, compoundjs, beego. Если нужно сделать REST — обычно, берется синатра + доп. модули, и получается что-то вроде loopback.io

    Но, повторюсь, когда это все пишется у тебя на глазах, а цикл создания книги — год-полтора — то за это время технологии уже уходят далеко вперед и хороших книг с такой глубокой проработкой вопроса будет появлятся все меньше.
    Ответ написан
    5 комментариев
  • Что выбрать, Yii2 или Laravel?

    SamDark
    @SamDark
    Yii2 core team
    Как новичку вам будет очень полезно понять, что у фреймворка внутри и как он работает. Если залезть во внутренности Yii, вы увидите, что там документирован каждый метод, каждый класс, абстракции минимум, всё делается настолько просто, насколько это вообще возможно. Изучить именно как что работает просто.

    Если залезть в Laravel, там всё очень слоёно. Комментариев нет. Чтобы понять, как работает метод нужно частенько пролезть через 3—5 слоёв абстракции в нескольких классах.

    В документации по Laravel, кстати, использован крутой трюк. Описана лишь часть того, что вообще даёт фреймворк. Это делает доку очень компактной, лёгкой и приятной, но за остальным — либо код без комментариев читать, либо Laracasts смотреть.
    Ответ написан
    13 комментариев
  • Куда двигаться в веб-разработке?

    Sivkoff
    @Sivkoff
    Web Developer
    По PHP книга для понимания ООП: www.ozon.ru/context/detail/id/5648968
    По JS сначала эту, для закрепления основ: www.ozon.ru/context/detail/id/19677670 очень советую,
    потом эту www.ozon.ru/context/detail/id/6287517
    Ну и читать официальную документацию и спецификации, они в отличие от книг постоянно обновляются.
    Ответ написан
    4 комментария
  • Какие знания нужны для изучения Node.JS?

    mzcoding
    @mzcoding
    Web-Разработка
    Конечно JS нужно сперва хорошо изучить.
    Ответ написан
    Комментировать
  • Каков путь программирования до джуниора?

    @asd111
    Из языков я бы посоветовал Java вместо С++.
    Java проще чем С++ и вакансий гораздо больше.
    Но если вам нравится решать математические задачи, то скорее всего лучше выбрать С++, т.к. там где нужна производительность и быстрая математика в основном используют С++.
    Из книг по С++ посоветую Прата желательно самое новое издание где есть С++11.
    А из видеоуроков посоветую лекции от Computer Science Center - они связаны с Яндексом и Jetbrains
    compscicenter.ru/syllabus
    Там С++, Java, алгоритмы и структуры данных, дискретка, машинное обучение, базовая теория по информатике.
    Ответ написан
    6 комментариев
  • На каком web ресурсе лучше задавать вопросы касательно фундаментальных, естественных и технических наук?

    @alcyone
    UNIX-админ
    Если хорошо владеете английским, обратите внимание на группу сайтов stackexchange. Там достаточно большое коммьюнити и подсайты в круге ваших интересов имеются. Поищите здесь: stackexchange.com/sites
    Ответ написан
    Комментировать
  • Как понять принципы ООП?

    @Calc
    Гради Буч.
    Объектно-ориентированный анализ и проектирование
    Ответ написан
    Комментировать
  • Дайте совет по написанию своей cms на ооп php

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    с перспективой дальнейшего развития

    Сразу рекомендую отбросить эти наивные мечты. Вам придется пяток раз переписать это дело, если вы действительно только начинаете.

    "Правильной" CMS пожалуй и нету. Да и понятие "правильная" довольно абстрактно.

    Рекомендую написать свой фреймворк для начала. Тут больше простора для фантазии, и затем можно на базе оного уже делать CMS.
    Ответ написан
    2 комментария
  • Каков план личностного развития PHP программиста с нуля?

    konst20
    @konst20
    Программист, преподаватель, немного электронщик
    Есть опыт помощи таким начинающим.
    реальный срок до запуска джуниора - полгода, никого не слушайте.

    Важные моменты
    веб-программирование на базе PHP - это стек технологий: PHP/SQL/CSS/HTML/JS + Linux хотя бы азы + знание важных инструментариев (FTP, Git/SVN, работа с БД)
    чистый PHP плюс даже все перечисленное выше - не особо нужно и не интересно. Нужно знание конкретных платформ: фреймворков и/или CMS. (Почитайте вакансии на Хантиме по запросу PHP, обратите на это внимание). Навскидку самые востребованные (спорно конечно): Yii фреймворк, CMS Битрикс и Wordpress.

    Как начать?
    Смело на амбразуру!
    1) Установите у себя рабочую среду LAMP/WAMP - Apache, PHP, MySQL. Для этого возьмите пакет Denwer или OpenServer, что больше понравится. Сделайте Hello World просто как HTML, потом на PHP, потом алертом на JS. Порадуйтесь.
    Установите все редакторы кода. Кто там вам будет рекомендовать блокнот или notepad++ - не слушайте. Варианты: если машина мощная (4+ Гб памяти и пр.), берите редактор phpStorm (для php/html/css/js). Если не очень мощная - берите komodo edit. Для работы с БД инструмент встроен в Denwer/OpenServer, это phpMyAdmin
    2) Идеально, если вы договоритесь сделать кому-нибудь сайт. Бесплатно или за небольшую плату. Если нет - сами себе поставьте задачу: сайт про котиков/про детей etc. Красивый сайт, с галереей, с эффектами, с материалами
    Возьмите CMS Wordpress и попытайтесь сделать сайт у себя на компьтере. Настоящий сайт, во всей красе, как вы хотите. Правьте его, смотрите код, экспериментируйте. Сообщество огромное, вы найдете ответы на все свои вопросы
    Потратьте чуть денег, купите себе домен и хостинг, залейте сайт на хостинг.
    Порадуйтесь. Похвастайтесь.
    3) Ищите в сети тестовые задачи и решайте их, изучайте материалы собеседований, вопросы - их много.
    4) Зарегистрируйтесь на odesk.com под каким-то фейковым email, пройдите тесты по PHP, CSS, HTML, jQuery, Wordpress, а во время прохождения делайте скриншоты вопросов. Потом изучайте эти вопросы, ищите ответы, далеко не обязательно на все. Тесты вы, конечно, не пройдете, но вам нужны только вопросы.
    5) Постоянно следите за вакансиями "PHP-программист", "веб-программист" на Хантиме, на hh.ru и подобных ресурсах.

    И да, как только напишете первую строку кода - начните читать про Git. Как будете готовы - сразу внедрите у себя Git, вы будете очарованы его возможностями.

    Вот как раз на полгода.
    После этого у вас появится масса информации, и дальше вы сами сориентируетесь.
    Ответ написан
    11 комментариев
  • Хочу переучиться на C# или Java программиста. Что сейчас перспективно?

    @CAMOKPYT
    Стандартные проблемы интерпрайза, много легаси, много формальностей, много корпоративных норм. Запросто могут не взять на работу из-за отсутствия диплома или например из-за непрофильного образования, запросто может быть длительное собеседование с вопросами не по теме, просто потому что таковые корпоративные нормы. В качестве награды зарплата и карьерный рост, но не всегда профессиональный, шансы попасть на новый проект с интересными задачами точно такие же как и попасть на легаси. Конкретно по C# vs Java это просто выбор вендора, путь развития абсолютно одинаковый, изучение экосистемы Oracle\Microsoft и получение время от времени сертификатов. Смотрите что в вашем городе более развито, есть ли центры сертификации, то и выбирайте. Как по мне то C# более няшный.
    Ответ написан
    Комментировать
  • В чем преимущества PHP перед ASP.NET?

    svd71
    @svd71
    1а. ASP это компилированный язык в котором компоненты обернуты некоторым фреймворком(которые тоже скомпилированы) и которые вызывает напрямую функции ОС. Скорость исполнения зависит от скорости обращения машинного кода к такому же коду компонентов, которые через кодовые функции фреймворка обрабатывается понятными процессору кодами функций операционной системы. Причем при компиляции полученный код может оптимизироваться. При этом не стоит забывать, что организации сервера необходимо установить ОС, фрейм ворк (и часто не один), дополнительные библиотеки и сервер. Что уже само по себе не дешевое решение при выигрыше в скорости исполнения кода.

    1б. PHP это скриптовый язык. Это означает, что ему необходим некоторый интерпретатор всего того, что там в этих скриптах написано. Скорость исполнения зависит от размера скриптов, скорости "перевода" текста скриптов в некоторые куски программного кода, который уже невозможно никак оптимизировать, и которые потому обращаются к функциям ОС. Правда некоторые хитрые личности умудрились сделать этокие компиляторы в так называемый байт-код. В основном этот код можно слегка оптимизировать. но чаще только на полном исключении оставленных комметариев и символов отсутпов. Хотя нужно признать, с каждым годом этот скритовый язык все быстрее в том числе из-за вожможности ОС быстрее читать данные из файлов. Цепочка выполнения не сложная: сервер, скрипт, интерпретатор, ОС. Даже в неумелых руках можно запустить с легкого пинка. И под любой ОС.

    2а. ASP требует некоторого обязательного компилятора, некоторых способов отладки получаемого кода, некоторых знаний особенности ОС и фреймворка. Это, нужно заметить, не простая задача. Тем более нет возможности вести нормальную разработку в каком-либо совсем примитивном текстовом редакторе. Но можно.

    2б. PHP не требует особых знаний н тем более глубоких знаний ни в одной области - от использования памяти до особенностей работы с теми или иными функциями ядра ОС. Все эти заботы берут на себя и чаще всего успешно решают разработчики интерпретатора. Даже подавление ошибок чаще всего по-умолчанию отключено.

    ПС: Выводы можно дополнить самому. Я описал самые явные различия в технологиях. Много конечно не указал: например работа с объектами имеет некоторые существенные различия. Проприетарность, возможность взлома, возможность отладки, количества IDE под каждую технологию.
    Ответ написан
    5 комментариев
  • Что называется базовым программированием в c++?

    @leclecovich
    Вам потребуется 21 день.%D0%BA%D0%B0%D0%BA-%D0%B2%D1%8B%D1%83%D1
    Ответ написан
    Комментировать
  • Что почитать для php senior developer?

    akubintsev
    @akubintsev
    Опытный backend разработчик
    Всегда советую "Чистый код" Боба Мартина. Примеры на Java, но суть общая. Эта книга в основном про подходы к стилю кода, нежели про шаблоны и мне она пригодилась больше, чем упомянутая книга Мэтта Зандстры.
    Ответ написан
    Комментировать