• Какие есть способы реализации анимации ui в стиле Material Design на Html5/CSS/JS?

    ArthurGurinovich
    @ArthurGurinovich
    Здесь Вы можете найти достаточно много разных интересных решений по дизайну:
    tympanus.net/codrops
    Ответ написан
    Комментировать
  • Давайте соберём список ссылок на сайты с полезными инструментами, плагинами и стилями для Bootstrap?

    @lastnast
    bootswatchr.com - быстрая стилизация Twitter Bootstrap
    stylebootstrap.info - похожий сервис. Еще один аналог — Bootstrap Generator
    charliepark.org/bootstrap_buttons - генератор красивых кнопок
    www.plugolabs.com/twitter-bootstrap-button-generator - генератор красивых кнопок
    www.lavishbootstrap.com - создание цветовой схемы для Twitter Bootstrap на основе любого изображения
    https://jetstrap.com/ - онлайн создатель интерфейса на Bootstrap
    bootswatch.com - бесплатные темы, также есть Wrapbootstrap с премиум темами
    320press.com/wpbs - бесплатная тема для WP
    Еще несколько:
    bootstrapwp.rachelbaker.me
    roots.io
    digitalnature.eu/themes/bootstrap
    wpbootstrap.iubenda.com
    braginteractive.com/bootstrap
    www.johnparris.com/alienship
    https://github.com/commadelimited/jQuery-Mobile-Bo... - мобильная тема
    www.bentdesignstudio.com/v2/2012/03/twitter-bootst... - UI для Photoshop
    gui.repixdesign.com/#freebies - аналог предыдущего
    fortawesome.github.io/Font-Awesome - специальный иконочный шрифт
    ckrack.github.io/fbootstrapp - Twitter Bootstrap в стиле Фейсбука.
    Также есть в стиле
    xbreaker.github.io/plusstrap - Google
    aozora.github.io/bootmetro - Windows 8
    www.eyecon.ro/colorpicker-and-datepicker-for-twitt... - для Twitter Bootstrap
    www.dangrossman.info/2012/08/20/a-date-range-picke... - выбор даты как в Google Analytics
    blueimp.github.io/jQuery-File-Upload - файловый загрузчик
    blueimp.github.io/Bootstrap-Image-Gallery - фотогаллерея
    jhollingworth.github.io/bootstrap-wysihtml5 - для Bootstrap
    bootboxjs.com - небольшая js библиотека
    vitalets.github.io/bootstrap-editable - быстрое редактирование контента на странице
    www.leecarmichael.com/bootstrapx-clickover/example... - плагин, расширяющий функционал встроенного popover
    drupal.org/project/twitter_bootstrap_ui - как модуль для Drupal
    anutron.github.io/mootools-bootstrap - для Bootstrap
    bootsnipp.com - Сниппеты для Bootstrap
    builtwithbootstrap.com - галерея сайтов на Twitter Bootstrap
    www.yiiframework.com/extension/bootstrap - удобная связка Yii фреймворка и Twitter Bootstrap
    Ответ написан
    Комментировать
  • Где взять стартовые HTML-шаблоны?

    mQm
    @mQm Автор вопроса
    https://medium.com/@gearmobile
    Легкое знакомство с Jeet.gs - Jeet.gs - первое знакомство
    Ответ написан
    Комментировать
  • Как держать в голове проект по программированию над которым работаешь не каждый день?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    То же самое что и zoom на карте:
    1. делаете общую схему с функциональными блоками и их связями. блоки - нумеруются.
    2. каждый блок - детализируете в новой схеме.
    * тут делаете текстовые описание связей и все, что относится к схеме/к процессу в отдельном docx/xlsx-документе. (google docs)
    * на основе этого - не составит труда описать функции для кодинга, если позволяет уровень детализации данной схемы.
    3. goto 2.

    (разумно использовать draw.io и подключить к google docs/google disk)
    Ответ написан
    Комментировать
  • Symfony2. Где находится класс Mailer?

    RussellKvashnin
    @RussellKvashnin
    WEB-developer
    Вам все прекрасно рассказали в предыдущем трэде.
    Если не понятно - постараюсь подытожить.
    Инжектить в контроллер сервис mailer не нужно, т.к. контроллер в симфони реализует ContainerAwareInterface, и доступ к сервису можно получить с помощью метода get().
    Если же ваш контроллер по каким-либо причинам не наследуется от стандартного контроллера симфони - вы должны реализовать ContainerAwareInterface.
    Если же вы наследуете стандартный контроллер симфони, и делаете свой контроллер сервисом вы должны заинжектить контейнер при помощи сеттера.
    Пример конфигурации:
    my.controller.service:
            class: MyCompany\MyBundle\Controller\MyController
            calls:
                - [setContainer, ["@service_container"]]
    Ответ написан
    4 комментария
  • Почему российские заказчики в большинстве своем не воспринимают минималистичный веб-дизайн?

    ankfrv
    @ankfrv
    В большинстве своем, это не заказчики не воспринимают минимализм, а вы не воспринимаете потребностей заказчика. Очевидно, что сайт заказчика должен помогать ему достигать определенных бизнес-целей. Так же очевидно, что заказчик и лучше знает, и тоньше чувствует свою целевую аудиторию. Думая о минимализме вы забываете о том, что дизайн — это то, как вещь работает, а думаете только о том, как она выглядит. Скажем, для потребителей ИКЕА — это круто, потому что это будет работать. А вот для потребителей чебуреков от Арама — это работать не будет. И как бы дизайн не выглядел «круто» на ваш взгляд, этот взгляд так и останется «вкусовщиной».
    Если вы не можете дать клиенту решение, которое будет помогать достигать цели — значит, что в развитии отстаете вы, а не он. Если вы считаете, что ваше минималистичное решение все таки поможет — обоснуйте это и вас услышат. Не можете обосновать? Возможно, что за вашим минимализмом нет ничего, кроме минимализма.
    Ответ написан
    1 комментарий
  • Как рациональнее реализовать мультиязычный сайт на Laravel?

    akserdin
    @akserdin Автор вопроса
    PHP/JS developer
    Спасибо за вариант.

    Я размышлял, читал, и тут вдруг наткнулся на чудесный туториал.

    В нем все-таки используются дополнительные поля в таблице с префиксами языка - field_en, field_fr итп

    Затем добавляем методы в Модель:

    public function getTitleAttribute()
    {
    $locale = App::getLocale();
    $column = "title_" . $locale;
    return $this->{$column};
    }
    public function getContentAttribute()
    {
    $locale = App::getLocale();
    $column = "content_" . $locale;
    return $this->{$column};
    }

    Тогда в шаблоне можно пользоваться переменными вот так:

    {{ $post->title }}

    {{ $post->content }}

    Ну а для фраз, к-рые касаются только представлений (и не хранятся в БД) есть методы trans() или Lang::get(..)

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

    PS вот туториал https://medium.com/laravel-4/laravel-4-multisites-...
    Ответ написан
    4 комментария
  • Как проверить, имеются ли в строке числа, символы и буквы не латинского алфавита?

    @warlawyer
    Не совсем понятно, что такое цифры и символы латинского алфавита, но думаю вам поможет что-то вроде preg_match("/[^a-zA-Z0-9]/",str,$matches) Если массив $matches не пустой, значит в строке есть что-то, что не входит в группу [a-zA-Z0-9]
    Ответ написан
    2 комментария
  • Как научится верстать из PSD макетов в html+css?

    cjbars
    @cjbars
    @djay Если вы неплохо знаете HTML5, CSS3 и JavaScript, то наверняка понимаете, что у сайтов есть:
    - каркас или сетка
    - повторяющиеся части ( хедер, футер, сайд бар.... и т.п.)
    - элементы которые могут быть сделаны без медиафайлов(картинок, видео, flash)
    - медиа элементы
    - формы.

    Так вот сперва разделите макет на эти части.
    Сверстайте каркас.
    Затем разделите части на элементы, и начинайте верстать каждый элемент.

    Со временем вы будете видеть вместо белого квадрата черной обводкой нечто вроде этого:

    <div class="black-square">Текст в черном квадрате</div>


    .black-square
    {
    width: 100px;
    height: 100 px;
    background-color: white;
    border: 1px solid black;
    }

    Волшебной кнопки - "Сохранить как сверстанный макет" увы в Photoshop нет.
    Ответ написан
    3 комментария
  • Как удалить историю коммитов в bitbucket?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Отредактировать или удалить коммит (с помощью git commit --amend, git rebase или git reset --hard).
    Запушить новую версию бранча (с помощью git push +<branch name>).
    Ответ написан
    1 комментарий
  • Каков план личностного развития PHP программиста с нуля?

    somenumboola
    @somenumboola
    Team Lead in B-online Solutions
    Буду исходить из "дано" задачи "PHP программист" и из того что автор вопроса стремится заниматься сугубо back-end программированием. Заранее прошу прощения, я несколько увлекся
    Итак:
    1. Установка сервера (Open Server, Xampp, Denver), на начальном уровне. (просто из exe)
    2. Общие принципы.
    2.1. Типы данных.
    2.2. Переменные.
    2.2.1. Работа с переменными по ссылке.
    2.2.2. Методы объявления и уничтожения переменных.
    2.3. Управляющие конструкции (если знаком, то особенности синтаксиса в рамках языка).
    2.3.1. Условия.
    2.3.2. Циклы.
    2.4. Конструкции вывода(print, print_r, echo).
    2.5. Конструкции отладки и управления выполнением(var_dump,die,exit,break в циклах, пустой return;).
    2.6. Пред определенные глобальные переменные($_GET,$_POST,$_REQUEST,$_SERVER), константы зарезервированные под модификаторы (static, function, const, $this)
    2.7. Особенности версий 5.3, 5.4.
    2.7.1. Анонимные функции.
    2.7.2. Замыкания.
    2.7.3. Особенности объявления массивов.
    2.7.4. Пространства имен.
    3. HTTP протокол.
    3.1. Заголовки входящие.
    3.2. Заголовки исходящие.
    3.3. Процесс общения.
    3.4. Метод php “header(…)” в контексте темы.
    3.5. Глобальная переменная $_SERVER[] в контексте темы.
    4. Установка сервера на среднем уровне (основы файла .htaccess и RewriteRule)
    5. Процедурное программирование.
    5.1. Математические методы.
    5.2. Оперирование типами.
    5.2.1. Методы оперирования массивами (array_values,array_keys,array_map и т.д.)
    5.2.2. Методы оперирования строками (strlen,substr и т.д.).
    6. ООП.
    6.1. Классы.
    6.1.1. Инкапсуляция(public,protected,private). Понимать разницу.
    6.1.2. Наследование.
    6.2. Интерфейсы.
    6.2.1. Имплементация интерфейсов.
    6.3. Абстрактные классы.
    6.4. Полиморфизм.
    6.5. Магические методы.
    6.5.1. Базовые (__construct,__get,__set,__destruct)
    6.5.2. Расширенные (__invoke,__serialize,__isset)
    6.5.3. Разобраться когда стоит применять магические методы а когда это плохая практика.
    7. Библиотека SPL, и расширение поведенческих возможностей классов за ее счет.
    8. Базы данных.
    8.1. SQL
    8.2. Примитивный уровень общения с БД. (mysql_connect,mysql_close,mysql_query).
    8.3. Средний уровень общения с БД(PDO и другие кастомные библиотеки).
    8.4. Высокий уровень (ActiveRecord,DataAccessObject,ObjectRelationMapping).
    8.5. NoSql БД на примере MongoBD (настоятельно рекомендуется, но не обязательно).
    9. Фреймворки. На мой вигляд можно начать с Kohana. Сужу по уровню вхождения стажеров которых видел и отсутствию пространств имен с которыми по первах могут возникать проблемы.

    И главное, Внимание! Личностные качества.
    - Усидчивость.
    - Владение Google при оттачивании темы или сложной задаче на уровне, когда поисковик видит в пользователе не то что DDOS а полноценный физический краш. тест.
    - Не брезгливость. Умение заставить себя разбираться в гов… хм. Нелицеприятных дебрях.
    - Збагойствие. Отсутствие паники при различных ошибках и не состыковках. Всегда остыть и попробовать снова, но по другому.
    Ответ написан
    5 комментариев
  • Каков план личностного развития PHP программиста с нуля?

    @nikita-b
    Все это сильно зависит от того, что вы знаете сейчас. Английский знаете? Если нет, то это первое, что стоит изучить, хотя бы на уровне чтения.

    0. Допустим если вы не знаете английский.
    lingualeo.com
    Русский сервис, где можно читать тексты и смотреть разные видео на английском. Очень удобен.
    https://www.duolingo.com/
    Похожий сервер, чуть проще. У него очень интересный принцип работы и замысел почитайте.

    1. Допустим вы знаете/изучили английский. Нужны только самые основы вы их разовьете в процессе изучения онлайн-курсов. Что такое онлайн-курсы? Это сервисы, где вам через видео, книги, тесты предлагают знания. Университет онлайн.
    Это очень хороший способ, потому что у них уже есть набор тем, которые вам требуется изучить.
    Есть такой сервис на русском:
    htmlacademy.ru
    Я не пробовал, но в целом рекомендуют. Он не совсем бесплатный, но там 100 рублей в месяц. Это совсем мелочи.
    Есть еще:
    proglive.ru
    Но он если честно слишком дорогой. Я смотрел там несколько вэбинаров и не был особо впечатлен. но может кто-то там учится подскажет. Может в интернете найдете информацию о нем.

    Есть более продвинутые аналоги на английском:
    www.codecademy.com
    Бесплатный набор курсов по очень-очень большому спектру тем. Достаточно высокого качества.

    Еще
    https://teamtreehouse.com
    https://teamtreehouse.com (Без моей реф. ссылки)
    Этим я сейчас пользуюсь сам. Курсы более подробные и приятные. Хотя если, что-то знаете то могут показаться зануднее. Есть еженедельное шоу, где рассказывают о всяких новых технологиях и течениях. Часто появляются новые курсы. Можно задать вопросы на форуме. Он правда платный. Около 1000 рублей в месяц, но он того стоит.
    https://www.udacity.com/
    Еще один бесплатный аналог. Не пробовал.

    2. Допустим вы прошли курсы по html,css, js, jquery, php. Я рекомендую уже с этого момента выполнять платные работы.
    Есть много разных мест, где можно найти работу:
    Русский: fl.ru
    Английские: www.freelancer.com
    https://www.odesk.com
    В англоязычном секторе зарплаты намного приятнее. Для жителей регионов в особенности.
    Вы можете брать дешевые проекты и предлагать низкую цену. Практика очень важна.

    Впрочем можно и попробовать найти работу(Не фрилансером), но я считаю, что это сильно ограничит ваш прогресс на данном этапе.

    3. Несмотря на то, что этот пункт идет третий он должен идти параллейно со вторым. А возможно и первым. Но в целом это все не обязательно, просто так вы повышаете свой уровень.
    3.1 https://www.edx.org/course/mitx/mitx-6-00-1x-intro...
    Это очень хороший курс от крутейшего в мире универа по теме IT. Сначала кажется, что легкий, а потом внезапно начинается ад. Пройдя его вы наверно будете знать больше, чем большая часть людей, которые заканчивают российские вузы)
    Там правда Python, но знать его не надо, все объяснят.
    Зато очень рекомендуется математика.
    Для начинающих несмотря на название достаточно сложен.
    3.2 https://www.class-central.com
    Список курсов, которые проводят крупнешие университеты мира.
    Вам нужно многое из того, что касается программирования, алгоритмов, математики.
    Ищите, что вам интересно и вперед.
    Я советую:
    3.3 https://www.coursera.org/course/algs4partI
    И вторую часть.
    Там правда используется Java, но нужны только основы.
    3.4 https://www.edx.org/course/linuxfoundationx/linuxf...
    Курс по основам Linux. Не пробовал.
    3.5 Математика. От простого к сложному:
    https://www.coursera.org/course/algebra
    https://www.coursera.org/course/precalculus
    https://www.coursera.org/course/calcsing
    https://www.coursera.org/course/calc1
    https://www.coursera.org/course/sequence
    Не все курсы проходят, так что надо искать аналоги. Там были и более сложные. Так же важны курсы по теории вероятности.

    Что осталось за скобками? Придется изучить систему контроля версий. Я люблю Git. Вот хорошая книга:
    cloud.github.com/downloads/GArik/progit/progit.ru.pdf
    Совет: Не берите больше 3-4 курсов. Не справитесь. Хотя бы уж в начале не берите.

    Если пройдете все это, поздравляю, вы стали программистом причем достаточно высокого уровня.
    То есть подведем итоги. Вам надо:
    1. html, css. Не надо в них углубляться. Просто основы.
    2. js, jquery. Тоже на начальном этапе не углубляйтесь.
    3. php и какой-нибудь фреймфорк. Symfony или Yii. И какая-нибудь база данных.
    3.1. Узучение какой-нибудь CSS. Drupal например. Или Wordpress.
    4. Система контроля версий. Git.
    5. Математика.
    6. Алгоритмы.
    7. Computer Science в целом. Linux, шифрование, механика работы баз данных и серверов и т.д.
    При этом по сути для трудоустройства хватит первых трех, что бы там кто не говорил.
    Ответ написан
    7 комментариев
  • Каков план личностного развития 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 комментариев
  • Как правильно показать проект?

    MonkAlbino
    @MonkAlbino
    Фронтенд разработчик
    Для диплома (когда задачу ставишь сам и пишешь интересую тебе программу) формат был такой:
    - Какую цель требуется решить?
    - Имеющиеся аналоги.
    - Чем твоё решение будет лучше?
    - На каких технологиях решается задача и почему?
    - Общие схемы решения задачи.
    - Результат:
    -- Задача решена, цели достигнуты, показываешь красивые графики и отчёты, что всё прекрасно.
    -- Задача не решена, цели не достигнуты, показываешь красивые графики и вытягиваешь проект, доказывая, что отрицательный результат - тоже результат. Делаешь выводы о том как так вышло и что из этого следует. Молишься, чтобы проканало.

    Для заказчика (когда задачу ставят тебе) формат использую такой:
    - Какую цель требуется решить? (если технари, то в общем виде. если менеджеры, то подробнее) (не все помнят всех деталей проекта, особенно если прошло много времени, а высший менеджмент только поверхностно в курсе).
    - На каких технологиях решается задача и почему? (если доклад перед техническими специалистами, то подробнее. если перед менеджерами, то в общем виде) (естественно пункт существует, если технологии заказчиком не обговаривались, некоторым надо сделать, не важно на чём)
    - Результат:
    -- Задача решена, цели достигнуты, демонстрация продукта (причем желательно, чтобы в качестве пользователя был человек из этой компании, ваш консультант по продукту. если такового нет, то вы или член вашей команды максимальной углублённый в задачи клиента), показываешь красивые графики и отчёты, что всё прекрасно.
    -- Задача не решена, цели не достигнуты, нет смысла собираться для презентации. Есть смысл собраться и решить нужны ли вы им как исполнитель.
    Ответ написан
    1 комментарий
  • Как правильно показать проект?

    IgorO2
    @IgorO2
    73
    Ну я показываю проект заказчику так:
    Что ожидалось, что было сделано и как этим пользоваться.
    Ответ написан
    2 комментария
  • Как вырасти из верстальщика в JS-программиста?

    nowm
    @nowm
    «Гордое звание» — это когда есть награды, дипломы, сертификации и прочее. Вообще, к слову, я уже лет 5 пишу на PHP почти каждый день и всё равно не считаю себя программистом. Возможно, когда у меня будет диплом от Zend, я буду думать, что я что-то вроде программиста.

    Если вам шашечки нужны, то сдавайте всякие_сертификации, если же нужно ехать, то лучше просто писать код и не загоняться, гордое у вас звание или нет.

    Upd. А вообще, извините за ёрничество. Возможно вам помогут некоторые мысли на эту тему:

    Выражение «просто пиши код», на самом деле, — это квинтэссенция. Просто некоторым людям становится неохота несколько раз разными словами описывать одно и тоже, и родился такой концентрат — который, как Yupi, куда можно «просто добавить воды», и получится готовый продукт. По сути, большую часть советов можно свести к этой одной фразе [пиши код]. Можно (даже нужно) для развития прочитать кучу книжек, но если вы мысли из этих книг не оформите кодом, толка от этого развития не будет, и программистом вы не станете. Мышцы будут развиваться только в том случае, если вы их напрягаете, а не только читаете инструкции, как их правильно напрягать. Инструкции помогут это делать правильно, но без практики не будет никакого развития.

    Для постоянного развития нужен постоянный поток работы с новыми необычными заданиями. В веб-студиях обычно с новыми необычными заданиями очень туго бывает. Моё мнение, что долгая работа в веб-студии — дорога, которая убивает любознательность начисто. Через некоторое время работа становится настолько однотипной, что, кажется, можно бота написать, который будет за вас её делать. Новые задачи, которые напрягают мозги и не позволяют пользоваться готовыми решениями — очень хороший движитель, но за целый день делания однотипной работы в веб-студии, самостоятельно искать новые задачи становится неохота — всё же есть такая штука как оффлайн и, вообще, банальная усталость и тупиздняк от однотипной работы.

    Когда вы пользуетесь каким-нибудь готовым решением, полезно заглядывать к нему под капот. У меня примерно похожая история была с Opencart. Я в какой-то момент очень сильно начал загоняться процессами, происходящими на этапе инициализации движка и отдельными классами, входящими в его состав. В результате родилось решение, которое позволило использовать PDO, вместо mysql_*, при этом, оно хорошо работало на боевых серверах и не ломало модули, где использовался старый подход. По сути, особенно заметной разницы в быстродействии не стало, но лично для меня это был хороший буст. (Я потом ещё загнался тем, чтобы выдрать из опенкарта костяк и использовать его в качестве своеобразного бутстрапа, на котором можно собрать любой сайт. Вряд ли я всё это дело буду где-то публиковать и использовать, но, опять же, лично для меня это было полезным для развития процессом.)

    После того, как вы сделали работу, тысячу раз её перепроверьте и сделайте кучу ненужных замеров производительности и потребления ресурсов. Попробуйте всё это дело как-нибудь оптимизировать. Например, сдали работу — всех всё устраивает, денег заплатили и т.п. В этой ситуации нужно загнаться тем, чтобы снизить потребление памяти на 10% процентов. Никто не заметит, что вы огромную работу сделали, чтобы снизить потребление, но это будет лично для вас практика. Можно сделать какую-нибудь ненужную работу, вроде выкидывания из исходников jQuery всех функций, которые вы никогда не будете использовать. Или, наоборот, можно что-то своё добавить. По сути, постоянное развитие — это как жизнь киргизского комсомольца, который постоянно ищет себе проблемы, чтобы потом их героически преодолевать.

    А ещё... а ещё... У меня очень большая куча мыслей — я наверное когда-нибудь напишу книжку, чтобы все их аккуратно уложить в голове.

    Первый шаг, который нужно сделать: заняться каким-нибудь личным проектом, где вы сможете развивать свои навыки (и, даже, не обязательно его выпускать за пределы локальной машины). Что угодно. Например, калькулятор с какими-нибудь расширенными функциями. Тут как раз на вёрстку будет минимальный упор. В этом проекте нужно отказаться от использования любых сторонних библиотек и изобретать свои решения. Например, вам хочется делать выбор элементов из DOM простыми селекторами с синтаксисом, похожим на jQuery, смотрите, как это реализовано в jQuery и пишите с нуля свой аналог. Главное не копипастить, а писать самостоятельно. Пусть будет похоже, но будет не точная копия. Вы в процессе будете напрягать мозги и развиваться. Будете часто лазать в документацию по языку. У вас появится понимание не многочисленных фреймворков, а именно чистого нативного кода и функций. И мыслить вы начнёте не категориями «какую функцию jQuery можно использовать», а категориями «какой алгоритм сюда можно придумать».

    Это всё сравнимо с обычной грамотностью и умением выражать мысли — чтобы развиваться, нужно читать и писать. В любом случае, писать код всё равно придётся. Без этого программистом не станешь.
    Ответ написан
    4 комментария
  • Как дать доступ к сайту программистам, при этом чтобы без последствий?

    iproger
    @iproger
    Безответственный гений
    Желательно доверять программистам. Иначе это как пригласить террориста домой.
    Ответ написан
    Комментировать
  • Как определить вид хеша?

    EvilsInterrupt
    @EvilsInterrupt
    System programming, Reversing Engineering, C++
    Ув. Автор, то что Вы спрашиваете это из разряда "как получилась цифра 5?" может быть умножением 1 на 5, а может быть сложение 4 + 1, а может быть делением 10 на 2. Вы бы точнее сформулировали Вашу проблему
    Ответ написан
    2 комментария