Задать вопрос
  • Есть ли ресурсы для обучение детей программированию?

    index0h
    @index0h
    @wkololo_4ever
    @Inv3go
    Есть нюанс: объективно программирование - скучная, сложная, монотонная, ответственная, созидательная работа. Что бы не потерять "запал" - нужно сначала поставить цель, которая будет вдохновлять.

    Даже в случае, если первым ЯП будет JS - это вовсе не значит, что все будет легко, и в шоколаде. Если попытаться сделать авторизацию (ввод логина и пароля с их проверкой) - вдруг окажется, что браузер этого не умеет. И что бы это сделать нужно знать HTTP, что такое web сервер, что такое база данных и NodeJS, а там далеко не все так просто. Многие фронтендщики, считающие, что хорошо знают JS в том же NodeJS теряются и понимают, что таки не знают.

    Я рекомендовал С потому, что он даст понимание, как в принципе работает компьютер, что такое память, что такое процессорное время + он НЕ требует знать сразу стек технологий, в отличии от того же JS. Браузерный JS без HTML/CSS, знания DOM, понимания событийной модели работы - это абсолютно бесполезная хрень, годящаяся разве что для Hello World. У NodeJS (серверный JS) - уровень вхождения на порядок выше, утечки памяти в принципе ищутся как подземные воды у лозоходцев.
  • Возможно ли исправить?

    index0h
    @index0h
    Прочитай еще про DRY обязательно. Копировать - это то, чего по хорошему делать нельзя.
  • Есть ли ресурсы для обучение детей программированию?

    index0h
    @index0h
    Вы хотите обучить системного программиста, или web-программиста?))
    Если web - то, первое, с чего надо начинать - это HTML + CSS, потом PHP + MySQL, и уже потом JS + NodeJS.

    Если же системного:
    www.learn-c.org

    То, что в школах и универах учат сортировкам и как бы все - это только подтверждает, что утверждение "с-ма образования пост-СНГ - превратилась в говнище". Но это вовсе не значит, что на C только сортировки пишут.

    Из задач можете рассмотреть например:
    * сделать обертку для вызова gocr, и распознавать чеки (если именно через консоль делать - там ничего сложного)
    * сделать микро сайт www.fastcgi.com/devkit/doc/fastcgi-prog-guide/ch2c.htm
  • Это нормальная практика не разделять mobile разработчиков по ОС?

    index0h
    @index0h
    olexandr7
    Друг как то историю рассказывал: на собесе про кучу всего поговорили, а потом пошли вопросы по сигнатурам методов, например модификаторы у функции sprintf...

    У меня тоже ситуация была: про подавление нагрузки поговорили, индексы на аминокислоты разложили, сервера кэшей/очередей тоже проговорили. Интервьюер: ок, а теперь к практике, что произойдет:
    $a = 5 + '5abc' + 'abc5';
    Я: посмотрю блейм скрипта с целью узнать кто автор, дальше с ним поговорю с целью понять, что такого может в жизни произойти, что бы он позволил себе такое написать.
    И: ну, тут задача на приведение типов
    Я: да я понимаю, что 10, вы в реальном коде хотя бы раз подобное видели?
    И: нет..
    Я: я тоже..

    Не все зависит от рекрутера)) Тех. специалист может быть хреновым интервьюером.
  • Как быть если npm и gulpjs не установлены на хостинге, а хранить в гит-репозитории склеенные js и css не хочется?

    index0h
    @index0h
    composer локально без sudo... Это phar архив, sudo может понадобится только когда хотите его глобальным по системе сделать, например скопировав в /usr/local/bin

    > есть ли способ установить так же npm?
    Я запутался, вы что хотите сделать? Локально установить npm и composer? Если да - то читайте оф. гайды по установке, права суперпользователя таки потребуются.
  • Это нормальная практика не разделять mobile разработчиков по ОС?

    index0h
    @index0h
    Ну как сказать, то что пишут в вакансиях, не всегда соответствует действительности. Обращайте внимание на уровень, который указывается в вакансии. Senior web-мастер вы вряд ли найдете. Для бекендщика часто пишут что-то в стиле "Strong knowledge: HTML5, CSS, JavaScript", в частности на текущую должность тоже в вакансии что-то подобное было, но за пол года я написал штука 30 HTML тегов...

    На счет убегать от web - зря вы так, все движется в web))
  • Где достать обфускатор для сайта, чтобы можно было из php шифровать html содержимое?

    index0h
    @index0h
    pitimirov_a Никто не говорит про то, что это невозможно, это вполне реализуемая задача. Вот только проблема в том, что это бесполезная трата времени))
  • Где достать обфускатор для сайта, чтобы можно было из php шифровать html содержимое?

    index0h
    @index0h
    Вы путаете их с минимизаторами. Смысл тут не в том "чтоб никто не догадался", а в том, что бы минимизировать трафик между сервером и клиентом.

    Обфускация фронта может быть оправдана наличием защищаемых данных на клиенте, но это очень похоже на архитектурную проблему.
  • Что выбрать Dart или Go?

    index0h
    @index0h
    beduin01
    Если ты хочешь делать сайты - даже не думай, что одним языком отделаешься))

    IncorrecTSW
    > Но он прост как 3 копейки и на нем накидать прототип или мелкий сервис вообще без проблем.
    Нода далеко не под весь веб - хоршая идея. Утчеки памяти можно определяется примерно так же как подземные воды у лозоходцев. Синхронные вещи на ней - тоже на самая лучшая идея. В случае HL обязательно придется увеличивать количество потоков для реализации асинхронщины, по умолчанию их 4. Под прототипы - php))

    beduin01
    > Dart конвертированный в JS работает быстрее, чем нативный код на JS
    Знавал я доного порня, который утверждал, что программы на транслируемых языках быстрее, чем на языках в которые они транслируются, его потом в дурку забрали ясное дело

    > ну учитывая, что кучу сайтов на Ruby и PHP пишут видимо математические вычисления в Вебе не так уж нужны...
    Мат. операции используются постоянно, обычно не сложные, но все же + к тому как правило основное время - это ожидание данных от БД, или внешних сервисов. В случае с PHP - вообще пичаль, это state-less язык.

    > а почему тогда NodeJS все так хвалят?
    Хипстеры, что с них взять))
  • Что выбрать Dart или Go?

    index0h
    @index0h
    beduin01 Смысла особого нет. JS не настолько низкоуровневая штука.
    Есть CoffeeScript, TypeScript,... (это из нашемевших), делают тоже самое

    Артем производительность тут ни при чем. Это как сравнивать дрель и велосипед. Они предназначены для разных целей.
  • Зачем почти все просят прислать гитхаб аккаунт?

    index0h
    @index0h
    Есть планы записать несколько cool story + написать небольшой проект и по нему тоже несколько видео, правда web - будет как частный случай использования.

    Go под web далеко не всегда имеет смысл использовать. Например те же бложики на go - с пушки по воробьям. Но под state системы с асинхронщиной и требования к производительности/памяти - вполне ок.

    Если есть какие-то предложения по темам - напишите
  • Зачем почти все просят прислать гитхаб аккаунт?

    index0h
    @index0h
    пичалька(( ссылка на github - обычно это не требование, а скорее большой плюс
  • Почему все хотят django?

    index0h
    @index0h
    Для php - спорно, если на то пошло - это WP)). Хотя из фремворков - основные киты: laravel, symfony, zend, yii
  • На каком framework / cms делать биллинговую систему?

    index0h
    @index0h
    Возможно я не совсем правильно выразился.
    Задача "сделать биллинговую систему" - это абстракция высшего уровня, без привязки к конкретному проекту (или бизнес процессу) она может значить что угодно.

    > У меня нету ТЗ , есть задача просто затратив меньше усилий автоматизировать больше процессов.
    Дык описывайте, какие процессы вы хотите автоматизировать и что конкретно у вас не получается.
  • На каком framework / cms делать биллинговую систему?

    index0h
    @index0h
    CyrusHarding
    Вы сделали не правильные выводы по прошлым вопросам.

    На них не отвечают потому, что:
    1. Многабуков. Не пишите большие вопросы,
    2. Вопрос-агрегатор. Не пишите в одном вопросе 1),2),...10)... один вопрос - один контекст.
    3. Не спрашивайте "как сделать ...?", "или на каком движке сделать ...?". Штука, которую вы хотите сделать должна быть хорошо описана в ТЗ, и только на основании ТЗ стоит выбирать фреймворк. То, что вы можете получить тут как ответ - это "юзай А", "нет, юзай Б", "юзай В"... Но ничто не будет правильным ответом))
  • Как верно организовать роутинг для блога?

    index0h
    @index0h
    > Да, я считаю вашу критику не обоснованной.
    Да мне в общем то все равно, вы же защищаете подобие фреймворка, разработчики которого даже в MVC не смогли))
  • Как верно организовать роутинг для блога?

    index0h
    @index0h
    @Relike

    Так как вы сказали что знакомы с Yii буду приводить сравнение с ним.

    0. Autoloading
    www.codeigniter.com/user_guide/general/models.html
    ci: $this->load->model('modelName') - НЕ ОК, но справка так рекомендует!
    > If you find that you need a particular model globally throughout your application, you can tell CodeIgniter to auto-load it during system initialization.
    ЛОЛШТО?? Автолодинг на нейспейсах еще в 5.3 появился. А то, что предлагается подгружать модели в конфиге при инициализации - за это надо... плохо в общем сделать.

    1. Роутинг + Контроллеры
    www.codeigniter.com/user_guide/general/routing.html
    https://github.com/yiisoft/yii2/blob/master/docs/g...

    У ci - значения параметров запроса жестко привязаны к их порядку объявления, у yii они привязаны к именам. Контроллер ничего не должен знать о роутинге, он решает другие задачи.
    Наличие _remap - это вообще зло))

    2. View
    www.codeigniter.com/user_guide/general/views.html#...
    https://github.com/yiisoft/yii2/blob/master/docs/g...

    В задачи контроллера не входит полное управление представлением. Он обязан сформировать данные для вывода и передать их в шаблон, но не разбираться с тем какие зависимости есть у шаблона, динамические они, или статические, это полностью задача шаблона, справка ci предлагает делать по другому.

    3. Модели
    www.codeigniter.com/user_guide/general/models.html
    https://github.com/yiisoft/yii2/blob/master/docs/g...

    Модель не должна быть связана с пользовательским вводом, это задача контроллера, но справка ci учит обратному! Если вы поменяли ЧПУ - придется исправлять все зависимые контроллеры И все зависимые от них модели, это путь в никуда.

    Что на счет валидации данных?
    В ci это дело должно быть прописано обязательно руками отдельно. Но на секундочку, проверка данных перед запросом к БД - это одна из важнейших задач модели.
    Я в курсе про form_validation, валидация форм - это проверка пользовательского ввода, валидация модели - это работа с БД, если в промежутке между form_validation и моделью данные изменяются - их обязательно необходимо проверять.

    4. Контроль доступа, ci его просто нет из коробки, у yii - есть причем несколько имплементаций.

    5. Кэширование, что на счет инвалидации кэша?
    У yii есть зависимости, у ci - только ручное удаление. Кэша фрагментов тоже не вижу, хотя это ончеь удобно))

    6. Виджетов тоже не наблюдаю..

    И это только беглый просмотр доки))

    > CI не быстрый? Быстрый.
    Быстрый он не потому что качественный, а потому что убогий по функционалу. Качественный фреймворк - это тот, в котором составляющие части являются минимально зависимыми друг от друга, что бы в случае изменений - правки приходилось выполнять в минимуме компонент.

    > ... но отстаивать свою правоту не обосновав ничем весомым своё решение. Так-что я думаю не стоит им уподобляться...

    Вы считаете мою критику не обоснованной?))

    > Да и вопрос ставился чутка иначе :)
    На ваш вопрос ответили уже выше)
  • Как верно организовать роутинг для блога?

    index0h
    @index0h
    Relike
    Простой - это вовсе не значит, что быстрый, правильный, или удобный. Это значит решения "в лоб", они же чаще всего - не самый хороший выбор.
  • Как верно организовать роутинг для блога?

    index0h
    @index0h
    Месседж был в следующем:
    если нужна скорость выполнения - это не CI
    если нужна функциональность - это не CI
    если проект большой - это не CI
    если нужно что-то "на коленке" - вот это CI, но есть решения по лучше
  • Какой выбрать язык для серверной части highload проекта?

    index0h
    @index0h
    Тимофей

    > Не знаю, я лично memcached так не использовал, но модуль для ...
    смысл в том, что бы отправлять данные на прямую из мемкэша, без использования ноды, php, python, или на чем там бэкенд написан.

    > Возможности nginx. Разве нет? Можете сказать, что не работает?
    Я ж вам привел пример с мемкэшем

    > Сокеты и порты. А как связать, скажем, 80 порт с нужным сокетом нужного приложения ноды по домену?
    Обычно проксируется через nginx на сокет файл + nginx отадет статику. Но это не является обязательным, можно напрямую поднять ноду на 80-м, в таком случае слушать сокет нет необходимости.

    > Так passenger разве отнимает возможность взаимодействия с окружением, в котором запускается приложение?
    Тебе это не нужно.

    > Приложение работает точно так же, за исключением того, что нет необходимости переписывать код для работы в разных окружениях и конфигурация сервера приложения интегрирована в web-сервер.
    Если код должен работать на РАЗНЫХ окружениях - он должен таки тестироваться на РАЗНЫХ окружениях)).

    > Опять-таки, непонятно, как может конфликтовать сервер приложения с подобным софтом?
    Например вы запускаете на старой версии ноды свою апликуху, но используете API последний версии - работать корректно не будет. Либо протвиоположный вариант: используете устаревшее API.

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