• Обучение программированию ребенка?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Изначально, учить нужно не языкам и технологиям, а базовым принципам устройства этого мира, пониманию логики и принятия решений, умению находить новые решения простых задач с максимально возможным результатом.

    Всё это должно быть в игровой форме и максимально быть интересным и простым для понимания.

    Например, на прогулке можно спросить:
    Как отмерить ровно 2м веревки, если есть длинная верёвка неизвестной длины и рядом столб, диаметром 50 см?

    И подобные.

    Как только он научится правильно принимать простые логические решения, он - уже программист!

    Останется ему (уже без Вашей помощи!) выучить любой язык, чтобы стать кодером и воплотить логику своих мыслей в алгоритм в виде кода.
    А 3D, C, OSI или еще что - это уже вопрос десятый...
    Ответ написан
    69 комментариев
  • Как назначить /dev устройтсву статичное имя?

    Мне кажется стоит посмотреть в сторону udev rules
    Вот пример переименования сетевого интерфейса:
    vi /etc/udev/rules.d/70-persistent-net.rules
    SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="b8:ac:6f:65:31:e5", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wan0"
    Ответ написан
    Комментировать
  • Как часто используются дескрипторы, декораторы и bind, call, apply?

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    Обо всем по порядку

    Дескрипторы - так понимаю речь идет о дескрипторах свойств объекта. Вещь крайне полезная, позволяющая задать поведение свойству, сделав его не перечисляемым или, например, только для чтения, а так же можно задать функции getter/setter, которые будут вызываться при чтении/записи свойства. Используется довольно часто.

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

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

    call и apply позволяют вызвать функцию с нужным контекстом, разница в том что apply принимает 2 аргумента - контекст и массиво-подобный объект содержащий аргументы, а call принимает произвольное число аргументов: 1й - контекст, последующие передаются как аргументы функции. Используется постоянно.

    Карринг. Хоть и используется не так часто, но бывает весьма полезным инструментом. По сути цепочки промисов построены на принципах карринга, только не функций, а объектов.

    Ну и напоследок, конструкция var self = this; позволяющая сохранить контекст в замыкании уже потихоньку уходит в прошлое, благодаря стрелочным функциям из es2015
    Ответ написан
    1 комментарий
  • Бесплатный проект для портфолио превратился в бесконечный. Как быть?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Вариант 1 - послать и забыть.
    Вариант 2 - переводить из бесплатного в платный.

    Базовый функционал есть? Есть
    Клиент уже доволен? Доволен
    Пора платить деньгу, а так он почувствовал халяву и не слезет с вас.
    Ответ написан
    6 комментариев
  • Как создать файл и каталоги в пути к нему?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    вам выше правильно написали, делайте по юникc-вей, всё остальное от лукавого:
    $ mkdir -p /путь/к/файлу/
    $ touch /путь/к/файлу/ФАЙЛ

    или одной строкой:
    $ mkdir -p /путь/к/файлу/ && touch /путь/к/файлу/ФАЙЛ

    если надо с переходом в каталог:
    $ mkdir -p /путь/к/файлу/ && cd  /путь/к/файлу/ && touch ФАЙЛ

    через ssh:
    $ ssh <USER>@<IP> 'mkdir -p /путь/к/файлу/ && touch /путь/к/файлу/ФАЙЛ'
    Ответ написан
    Комментировать
  • Как защитить изображения от PrintScreen?

    Serj-One
    @Serj-One
    i'm sexy and i know it
    Всё содержимое страницы априори доступно пользователю. Кому нужно, вытащат из кода.
    Защита от PrintScreen - турникет в поле, причём не просто не выполняющий свою функцию, но ещё и постоянно бьющий по бубенцам его поставившего.
    Ответ написан
    3 комментария
  • Верстать без фреймвороков это значит быть не професионалом?

    delphinpro
    @delphinpro Куратор тега CSS
    frontend developer
    Быть профессионалом - значит знать и правильно применять необходимые инструменты для наиболее эффективного решения задачи. А также НЕ применять, если в этом нет необходимости.
    Ответ написан
    4 комментария
  • Области применения JS в современном IT?

    @GreatRash
    JS применяется сейчас везде практически: фронтенд, бекенд, разработка приложений, игры. Кто его знает куда его ещё занесёт в будущем.
    Ответ написан
    1 комментарий
  • Развитие навыков в JavaScript?

    Jeiwan
    @Jeiwan
    Устройся на работу – это самый лучший вариант обучения. И это единственная возможность получить опыт в решении конкретных прикладных задач, за которые и платят деньги. Если хорошо знаешь верстку, то, думаю, тебе не проблема будет устроиться верстальщиком с перспективой развития до фронт-энд разработчика — довольно часто ищут не матерых спецов, а людей с горящими глазами, желающих развиваться.
    Нет смысла тратить годы на подготовку. Поищи вакансии, походи на собеседования, посмотри, что тебе нужно подтянуть, подтяни. Устроишься на работу — и навыки пойдут в гору.
    Ответ написан
    2 комментария
  • С чего начинать проектировать приложение?

    max-kuznetsov
    @max-kuznetsov
    Главный IT-архитектор
    Предположим, что с будущей функциональностью Вы определились. Тогда Вы точно знаете, кто или что будет поставлять данные, и кто/что будет их потреблять.

    Теперь выясните, кто будет обращаться к вашей системе, чтобы передать или забрать данные, а к чему будет обращаться Ваша программа. Те системы или пользователи, которые обращаются к программе сами, нарисуйте схематически на листе бумаги вверху. Те, к которым будет обращаться программа (включая БД), - снизу.

    Теперь нарисуйте под каждым нарисованным сверху субъектом прямоугольник с названием UI или API - это интерфейсы, к которым будет обращаться пользователь или внешняя управляющая система. Иногда UI тоже может обращаться к API. Объедините все прямоугольники с UI одним контуром и обзовите слоем UI. Объедините все прямоугольники с API и обзовите слоем сервисов.

    Для систем, нарисованных снизу, укажите компоненты, которые будут отвечать за доступ к этим системам. Объедините все эти компоненты одним контуром и обзовите слоем доступа к данным.

    Между слоем сервисов и слоем доступа к данным нарисуйте большой контур и назовите его слоем бизнес-логики. В маленьких прямоугольниках внутри этого контура перечислите основные бизнес-задачи. Один компонент Вашей системы будет решать одну бизнес-задачу.

    Теперь справа нарисуйте несколько длинных прямоугольников снизу доверху и написшите в них: логирование, конфигурация, мониторинг производительности, обработка исключений и что-то ещё, что является общей инфраструктурой (или сквозной функциональностью) для всех слоёв вашей программы.

    Получите логическую архитектуру. Разбросайте слои по серверам - получите физическую архитектуру.

    А дальше - детально прорабатывайте каждый маленький квадратик. Всё.
    Ответ написан
    2 комментария
  • Как не волноваться на собеседовании?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    найти какое ни будь кафе или бар с крайне неприятной атмосферой и там решать задачи, когда научитесь игнорить все что происходит вокруг на собеседовании будет проще
    Ответ написан
    2 комментария
  • Какие актуальные технологии фронтенда?

    teotlu
    @teotlu
    Навёрстываю упущенное
    Препроцессоры (LESS, SCSS, SASS, Stylus), всякие фреймворки типа Angular и React.js, сборщики типа Grunt или Gulp. Node.js, чтобы это всё замутить в автоматическую сборку. Bower ещё какой-нибудь.
    Нативный JavaScript — это основное и неотъемлемое требование.

    Разумеется, нужно хорошо уметь верстать. Для современных браузеров уже не настолько актуально, но всё-таки стоит использовать спрайты или иконочные шрифты. Я предпочитаю второе.
    Ответ написан
    Комментировать
  • Какие актуальные технологии фронтенда?

    @crazyjs
    Vanilla JS всегда актуален
    Ответ написан
    Комментировать
  • Какой js-фреймворк выбрать?

    @constantant
    Если у вас небольшое приложение, то никакого смысла во фреймворках нет, в них вообще смысла нет :)
    Пишите нативно с использованием простых библиотек. Старт, конечно, будет подольше чем на фреймворке, зато поддержка будет максимально быстрой и эффективной, да ещё и не нужно будет, в случае необходимости, искать специалиста со знанием пресловутого фреймворка.
    Ответ написан
    1 комментарий
  • Друзья, есть ли какие задачи для практики по JavaScript?

    codewars.com

    правда там культивируется самообфускация, но многие языковые конструкции прорабатываются на ура.
    Ответ написан
    Комментировать
  • Как такое сверстать?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Конечно возможно. Например, вот так:
    ul {
        -moz-column-count: 4;
        -moz-column-gap: 20px;
        -webkit-column-count: 4;
        -webkit-column-gap: 20px;
        column-count: 4;
        column-gap: 20px;
    }
    Ответ написан
    1 комментарий