• Подключение к базе данных MySql, как правильно и современно?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Вопрос хороший, но неправильно сформулирован.
    Поскольку тут на самом деле два вопроса - какой драйвер использовать и уже потом - как правильно соединяться.
    Ответ на первый вопрос очевиден. Если выбирать из mysql_connect, mysqli и PDO, то достаточно зайти на страницу мануала, посвященную каждому варианту, и посмотреть, что там написано. Ну или попробовать использовать в своем коде и посмотреть что получится.

    А вот вопрос, как правильно подключаться в двух оставшихся вариантах, действительно важный, и ответ на него, как обычно, почти никто не знает, поскольку все друг у друга списывают статьи не 2-х, а 22-х летней давности. К счастью, есть сайты с актуальной информацией.

    Теоретически, можно использовать mysqli. Но не нужно. Потому что это низкоуровневый драйвер и пользоваться им без подготовки очень неудобно. Но если вот прям так приспичило, то вот как правильно соединяться используя mysqli

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

    Но правильным ответом, если выбирать из перечисленных трех, будет PDO. Здесь тоже не так просто, поэтому смотрим как правильно соединяться используя PDO - учитывая те же ключевые моменты, которые указаны выше.

    Хорошим вариантом будет использовать высокоуровневую абстракцию типа redbean. Но поскольку нормальной документации по нему нет, а есть только пара хайповых видео, где он используется, причем без каких бы то ни было объяснений и разбора основ, то я бы рекомендовал редбин уже опытному разработчику, а не начинающему. Но в любом случае как в нем соединяться, написано в документации

    Пароль в базе данных не шифруется а хэшируется. Делается это с посощью функции password_hash
    Ответ написан
    3 комментария
  • Как перестать эникеить?

    fdroid
    @fdroid
    press any key
    Как перестать эникеить?

    Да никак. Можно тоннами осваивать новые знания, но за пределы доширака и пылесосинга системников можно выйти только при некотором везении и случайном (или не случайном) трудоустройстве в компанию, в которой ваши знания будут востребованы.
    Насчёт "типовых задач админа" - ну дык это вообще чрезвычайно расплывчатое понятие, которое зависит от компании и её задач. В большинстве достаточно одноранговой сети 192.168.0.0/24 и какого-нибудь файл-сервера, а у провайдера нужно знать сеть на уровне L2 в обязательном порядке, L3 - в зависимости от того зачем вас взяли.
    Вообще, с учётом того, что IT финансируется чуть ли не по остаточному принципу в непрофильных компаниях, прокачать скиллы и быть реально полезным можно только там, где IT - это основной профиль деятельности, иначе так и будете ковыряться в песочнице, делая то, что никому не надо и на что денег никто не даст. Конечно, если речь идёт о действительно крупных конторах с соответствующей инфраструктурой и огромным IT-отделом, то там всё по-другому, но туда ещё попасть надо, а для этого нужно менять локацию на что-нибудь крупное, и то не факт, что получится устроиться. Вообще, всё очень индивидуально, но, имхо, сисадминить в провинции - это не то, что принесёт профессиональное развитие и деньги.
    Ответ написан
    1 комментарий
  • Существует ли бесплатная программа для расчета сети, длины кабелей и прочих расходников?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    nanoCad СКС, но лицензия дорогая
    Мы, когда-то, считали вручную. Брали поэтажные планы, шли по зданию и размечали маршрут прокладки на бумаге. Затем загружали план в LibreOffice Draw, перерисовывали поверх маршруты кабелей, пересчитывали в масштабе расстояния, затем смотрели, сколько кабелей проходит по каждому участку маршрута и суммировали. Добавляли вертикальные прогоны. За пару-тройку часов получали калькуляцию и добавляли 10% запаса.
    Так, чтобы просто поставил свитч и розетки, не получится. На практике окажется, что там нельзя короб проложить, тут надо обязательно под фальшпотолком пройти, к директору только в коробчатый плинтус, и т.д.
    Ответ написан
    Комментировать
  • Решать задачи VS Продолжать учиться?

    KickeRocK
    @KickeRocK
    FrontFinish
    Ничего не учите и не делайте.
    Всё, ответственность снята, спите спокойно.
    Потом скажете, что могли стать крутым прАграммистом, но Андрей с тостера помешал.
    Загуглите "карта развития фронта" и попробуйте найти работу трейни, лучше по знакомству
    Ответ написан
    Комментировать
  • Решать задачи VS Продолжать учиться?

    @McBernar
    Что вам мешает читать, решать задачи и делать учебный проект одновременно?
    Ответ написан
    1 комментарий
  • Python как записать в фаил, переменные лист и словарь?

    @bbkmzzzz
    файл пишется в текстовом виде, библиотека поддерживает все стандартные классы данных (dict, tuple, list, set и т.д) разбирает числовые данные по типу, булевы разбирает в True/False
    Дополнительно умеет возвращать строку (без записи в файл) через функции dumps/loads
    import json
    # имя файла, в котором мы сохраним объект
    shoplistfile = 'shoplist.data'
    # список покупок
    shoplist = ['яблоки', 'манго', 'морковь']
    # Запись в файл
    with open(shoplistfile, 'w+') as fle:  # менеджер контекста, файл закроется при выходе из блока
        json.dump(shoplist, fle, indent='    ')  # indent - отступы форматирования
    
    del shoplist  # уничтожаем переменную shoplist
    
    # Считываем из хранилища
    with open(shoplistfile, 'r') as fle:
        shoplist = json.load(fle)
    
    print(shoplist)
    Ответ написан
    1 комментарий
  • Изучение фронтэнда/JS?

    @avr1972
    Мне кажется, что Кантор - это как университетский курс математики, к нему надо готовиться. На торрентах масса курсов по Javascript, сделанных разными пионерами, конечно сомнительного качества, но подготовится к Кантору они помогут. Плюс надо понимать зачем Вам байнды и коллы на практике. Просто даже если Вы очень хорошо разберетесь в JS а применять будете 10%, все равно все забудете. По основам есть очень хороший курс УЦ Специалист от Борисова.
    Ответ написан
    Комментировать
  • Как полностью написать сайт с нуля, если ты знаешь только frontend?

    amark
    @amark
    rush less, feel more
    Я бы посоветовал смотреть в сторону cms.
    Есть много простых cms, которые позволяют без глубинных знаний с помощью простого визарда "далее-далее-готово" развернуть готовый движок с образцом сайта и базовым функционалом.
    Я обычно советую modx, но вам возможно нужно что-то другое.
    Ответ написан
    Комментировать
  • Как лучше всего изучать английский?

    ver_nevas
    @ver_nevas
    Java програмист.
    Лично я на постоянной основе использовал сервис Puzzle English . В основном прокачивает навыки аудирования и словарный запас.
    Чтобы прокачать грамматику целое лето учился в English Dom.
    Чтобы иметь языковую практику использую приложение Tandem, так же для аудирования использую приложение Podcast Player. Есть много подкастов связанных с IT.
    Ответ написан
    Комментировать
  • Где научится работать с API сайтов?

    Ternick
    @Ternick
    Да ладно :) принцип у каждого API может и одинаковый хотя я немного не согласен :)
    Но ко всем API нет одного универсального ключа :)
    Если вам нужно работать с telegram api, то вам нужно идти и изучать документацию на оф. сайте :)
    Вот и всё :)
    Если с google api, то по аналогии идёте и ищите документацию по google api :)
    ==========================================================================================
    Я советую вам например пойти и попробовать поработать с telegram api, потому что для него тонны примеров почти под любой язык (под питон3 точно есть) :)
    И вы примерно поймёте как это работает :)
    =======================================================================================
    Я конечно точно не утверждаю, но могу сказать что работа с API любого сайта завязана на post и get запросах :)
    Научитесь работать хотя бы в 1 языке программирования с библиотекой связанной с интернетом :)
    Научитесь работать с API :)
    =======================================================================================
    Лично я работаю на питоне и мне обычно достаточно для работы с любым API одной библиотеки для работы с интернетом:)
    Например requests :)
    И из неё понадобится всего только 2 метода : post и get :)
    Всё :)
    И обязательно иметь хорошие знания английского языка :)
    Потому, что все документации на нём :)
    Ответ написан
    6 комментариев
  • WP как удалить вирус?

    @DeniSidorenko
    Было такое, удалив лишь этот код он будет появляться снова и снова. Надо удалить сам вирус. Для этого есть пару вариантов и лучше попробовать все
    1) Сканирование на вирусов через антивирус хостинга( если такой имеется, может стоить небольшую доп плату)
    2) Установить плагин для проверки сайта на вирусы Antivirus
    Вот статья как грамотно все сделать
    Как удалить вирус
    Ответ написан
    1 комментарий
  • Что написать для тренировки на js с нуля?

    @vazonov
    Javascript developer
    Смотря сколько времени хотите потратить.
    Можно создать проект с нуля. Например, сервис для хранения собственных заметок. Определяете цели, которые будет выполнять приложение (создать заметку, удалить, редактировать, искать по категории). Можете и API написать (welcome to node.js), если хотите сохранять заметки на сервере. Не хотите писать API - можете использовать другие сервисы, которые дадут возможность делать "серверную" работу за Вас, Вам лишь надо с ними "общаться" с клиентской стороны (например, Google Firebase). Если не хотите и этого - можно сохранять заметки локально в браузере (localStorage, IndexedDB). Создавая проект Вы и столкнетесь с написанием и модалок, и кнопок, и пагинации, и очень много всего другого, что пригодится в реальной работе.
    Еще варианты:
    - Приложение для хранения просмотренных фильмов (и фильмов, которые хочется посмотреть. Впечатления, личная оценка)
    - PWA приложение, которое копирует функционал какого-то мобильного приложения (смотрите Google Play, AppStore)
    - API, которое будет выдавать сгенерированные (фейковые) данные (faker.js)
    - WhatApp / Viber / Telegram / Facebook bot для отправки актуальной погоды / курса валют, пр.

    Можете написать то, что пригодится Вам. Например, телеграм бот, который бы присылал Вам новинки фильмов, которые появились на торрентах. Это node.js.

    Можете написать игру на canvas. Можете не на canvas. Просто JS + CSS.
    Еще Варианты:
    - 2048
    - Лабиринт, где что-то куда-то двигается
    - Угадай число (скрипт "загадывает" число, ты вводишь свое - он тебе говорит, больше оно или меньше и пока не угадаешь)
    - Любая другая с использованием популярных js-движков для игр (https://github.com/collections/javascript-game-engines)


    Можете переписать какую-то JS-библиотеку (смотрите на Гитхабе).
    Можете написать свою библиотеку. Начните с малого: допустим, она будет генерировать случайные строки. Или имена, фамилии и эмайлы.
    Еще варианты:
    - Редактор текста
    - Проверка паролей на устойчивость
    - Валидация (паролей, имен, фамилий, телефонов, эмайлов) - привет, регулярные выражения
    - Генерация случайных пикселей на canvas
    - Библиотека-helper: пишете свои функции-велосипеды при работе с данными (спарсить json, склонировать объект, пр.)


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

    bingo347
    @bingo347 Куратор тега JavaScript
    Crazy on performance...
    1. Для чего замыкание существуют?
    Для инкапсуляции данных.
    В ООП есть модификаторы доступа (private, protected), которые закрывают доступ к данным извне класса, но позволяют обращаться к ним из методов.
    В ФП для этой задачи используют замыкания, закрывая данные внутри функции. Из вне данные недоступны, но вложенные функции имеют к ним доступ.

    2. В каких условиях они создаются?
    Когда вложенная функция обращается к переменным внешней функции.

    Хоть и просили без примеров, но на примере показать проще:
    // makeCounter - внешняя функция
    function makeCounter(initialValue) {
      var value = +initialValue || 0;
      // counter - внутренняя функция
      // она использует переменную value из внешней функции
      // что-бы это было возможным, для counter создается замыкание,
      // в котором хранится переменная value
      // переменная initialValue функции counter не нужна, поэтому ее можно "забыть"
      return function counter() {
        return value++;
      };
    }
    
    // у нас 3 экземпляра функции counter
    var counter1 = makeCounter();
    var counter2 = makeCounter();
    var counter3 = makeCounter(100);
    // и для каждой есть своя переменная value
    console.log(counter1()); // 0
    console.log(counter1()); // 1
    console.log(counter2()); // 0
    console.log(counter1()); // 2
    console.log(counter3()); // 100
    
    // а вот получить как-то напрямую переменную value мы не можем
    // инкапсуляция нам не дает поломать данные
    Ответ написан
    Комментировать
  • Где искать работу изучающему линукс?

    @pfg21
    ex-турист
    берешь список админских задач, к примеру 51 задание для оттачивания навыков системного адми..., полностью его делаешь, хорошо изучая каждое движение и команду.
    список ориетирован на локальный комп с виртуалбоксом так точ для его исполнения ничего лишнего не надо.
    потом ищешь еще парочку списков.
    и будем считать основу ты знаешь.

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

    после такого челенджа вопросов где и что искать у тебя просто не возникнут :) удачи.
    Ответ написан
    Комментировать
  • Что обязательно нужно знать в PHP и что посоветуете выучить?

    MisterN
    @MisterN
    Вообще правильно выше сказали, что необходимо плясать от требований потенциальных работодателей. Это все очень зависит от региона - требования, конкуренция, предпочитаемые технологии. А на удаленку без опыта не знаю, можно ли устроиться, я не пробовал. Я бы сказал, что вреда не будет, если вы прямо сейчас напроситесь на собеседование где-нибудь.
    Можете погуглить че-нить типа "как пройти собеседование на программиста php" или типа того, посмотреть обычные задачи для собеседования. Конечно без нет гарантий, что они вам попадутся, но сможете сами увидеть свои слабые места и вообще будете думать в нужную сторону (трудоустройства).
    Вот типовое задание. Конечно, сделать его можно по-разному. Но как сделаете - уж точно можете искать место джуна. Хотя, и то правда, что оно не на джуна и возможно, что оно займет у вас много времени. Но если осилил - не сомневайтесь, уже можно искать работу и в парралель продолжать учиться. Я вот очень благополучно работал без знания автотестов. Не к тому, что они не нужны, а к тому, что вам не обязательно пытаться объять необъятное. А на рынок все-же надо смотреть. А то мож и правда нужно битрикс учить, фиг знает. Красота красотой, но зарабатывать надо.
    "Создание мини CRM системы:
    Должно быть реализовано на любимом фреймворке
    Backend часть
    1. Авторизация в CRM системе
    1.1 Поля для входа на форме (Email, пароль)
    2. Модуль для отображения пользователей системы
    2.0 Отображение списка пользователей
    2.1 Возможность выставление прав пользователям, список (Администратор, менеджер)
    2.2 Поля пользователя (email, пароль, статус)2.3 Удаление и редактирование пользователей
    2.4 Смена статуса пользователям, Активный или неактивный
    2.5 Редактировать список может только пользователи с правами администратор
    3. Раздел отображение заявок
    3.1 Вывод списка заявок
    3.2 Поля у заявки (Имя клиента, Наименование заявки, наименование товар, телефон, время создания заявки, статус, комментарий, цена)
    3.3 Смена статуса заявки (Принята, отказана, брак)
    4. Раздел истории изменения заявок
    4.1 Каким пользователям были изменены поля у заявки (Имя клиента, Наименование заявки, наименование товара, телефон, время подачи заявки, статус, комментарий, цена)
    5. Добавить возможность выгрузки в CSV списка заявок, поля в CSV (Наименование заявки, товар, цена, телефон)

    Frontend часть

    1. Создать простую форму для отправки заявки
    1.1 Поля формы (Имя клиента, телефон, комментарий, товар)
    1.2 Список товаров (яблоки, апельсины, мандарины)
    Ответ написан
    2 комментария
  • Что обязательно нужно знать в PHP и что посоветуете выучить?

    voronkovich
    @voronkovich
    Я бы порекомендовал посмотреть плейлист PRS-7 фреймворк на канале Дмитрия Елисеева.
    Там обсуждается создание современного фреймворка на PHP и рассматриваются такие темы как: PSR, Dependency Injection, шаблонизаторы и т.д. Крайне рекомендую!

    Также советую почитать книгу Джоша Локхарта (создатель фреймворка Slim) Современный PHP.
    Slim-фреймворк тоже можете посмотреть, он достаточно добротно написан :).

    TDD. Есть хорошая книга Кента Бека Экстремальное программирование. Разработка через т.... Примеры там даны на Java, но будут понятны любому кто знает хотя бы один Си-подобный язык (PHP к таковым относится!).

    UPD: Вы просили указать: можно ли с вашими знаниями устроится джуном. Я думаю, что да, можно.
    Ответ написан
    Комментировать
  • Какие книги можно почитать для улучшения основ программирования?

    @potan
    Функциональный программист
    Лучше старого SICP ни чего не встречал, особенно на русском.
    Там недостаточно рассмотрены типизация и параллельное программирование, но все остальное изложено просто великолепно.
    Новый SICP хуже - он ориентирован больше на использование чего-то готового (авторы курса решили, что это сейчас важнее).
    Ответ написан
    2 комментария
  • Какие книги можно почитать для улучшения основ программирования?

    rasswet
    @rasswet
    https://www.youtube.com/watch?v=SW_UCzFO7X0
    гарвардский курс «CS50. Основы программирования» на русском бесплатно
    Ответ написан
    Комментировать
  • Почему Brackets выдает ошибку 'alert' was used before it was defined?

    monochromer
    @monochromer
    DIVeloper
    scr="js/script.js" - исправьте название атрибута на src.
    Ответ написан
    Комментировать
  • Какие самоучители посоветуете вы для изучения английского?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Красный мерфи, запас основных слов, штук 300 (https://lingvist.com/ru/ ) и можно приступать к чтению литературы на английском по тому языку/технологии, что вы уже знаете. Тоже желательно не с сильно академическом языке, а какие-нибудь самоучители.
    Читаете книжку, новые слова смотрите в словаре, кидаете в Anki (Anki тренируете каждый день по 10-20 минут). Чтением занимаетесь каждый день. И к концу книги на одну страницу будет уходить уже меньше времени, и меньше будете заглядывать в словарь. И через 3-4 книги уже спокойно будете читать (редко поглядывая в словарь).
    PS: Этот способ не подходит для общения на английском (как текстом так и голосом).
    Ответ написан
    3 комментария