Задать вопрос
  • Как получить ссылку с VPS/VDS?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    у VPS есть IP адрес

    вот с него и получай
    Ответ написан
    Комментировать
  • Mikrotik не работает с симкартой?

    gecube
    @gecube
    системный администратор, программист... все дела..
    Попробуйте симку в телефоне после того, как она перестает работать в микротике. Я не очень верю, что микротик портит симки, но ненулевая вероятность это есть. Так же попробуйте не обычную симку с тарифом мобильной связи, а специальную - с тарифом роутера, т.к. опсосы достаточно умны, чтобы банить пользователей, которые выходят с одной симки с нескольких компов.
    Ну, и если Вы не нарушали условий обслуживания, то всегда можно обратиться в СЦ ОпСоса и уточнить, что происходит.
    Ответ написан
    1 комментарий
  • Не могу понять работу метода .map?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    function camelize(str) { // на вход приходит строка
       return str      // вот тут пока ещё строка
         .split('-')   // здесь из этой строки сделали массив, разбив её по символу дефиса
                       // ниже пошёл массив ["lol", "kek", "cheburek"]
         .map((word, index) => index == 0 ? word : word[0].toUpperCase() + word.slice(1)) // что-то сделали с каждым элементом массива
         .join(''); // соединяет ['my', 'Long', 'Word'] в 'myLongWord'
     }


    Теперь упростим непонятную строку.
    К ней пришёл массив, у которого вызывается метод map() – он просто применит функцию в нём к каждому элементу массива. На выходе получится новый массив.
    .map((word, index) => index == 0 ? word : word[0].toUpperCase() + word.slice(1)) //**
    
    // то же самое, что:
    .map(
      function(word, index) {
         return index == 0 ? word : word[0].toUpperCase() + word.slice(1);
      }
    )
    
    // то же самое, что:
    .map(
      function(word, index) {
        if (index == 0) {
          return word;
        } else {
          return word[0].toUpperCase() + word.slice(1);
        }
      }
    )


    Метод массива .map() вызывает функцию, которая в нём аргументом, для каждого элемента массива и передёт в неё следующие три параметра:
    1. Текущий обрабатываемый элемент массива.
    2. Индекс текущего обрабатываемого элемента в массиве.
    3. Массив, по которому осуществляется проход.
    Ответ написан
    1 комментарий
  • Какая необходима база, для начала обучение java?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Добрый вечер! Прежде чем перейду к основной суть вопроса, небольшое, но важное отступление. Прошу вас прочитать весь вопрос. Для меня это очень важно.


    Добрый вечер. Прежде чем перейти к основной сути ответа, небольшое, но важное отступление, прошу дочитать мой ответ до конца. Это для Вас очень важно.

    Я начинающий frontend-щик. Мне необходимо изучение того java, который отвечает за web-приложения. Вопрос такой задал потому, что мой друг, который является сис-админом, услышав, что я ищу курсы для изучения java, начал меня отговаривать, сказав, что не зная Алфавита(а именно Pascal и C++ минимум), я не должен приступать к изучению java. Что это будет сложно без хороших знаний базы.


    Для того, чтобы вообще войти в ИТ профессию, до того как изучить фронтенд, до того как изучить java или что-либо. Но можно и парралельно. Вам нужно научиться искать информацию в инете. Готовые ответы. Уметь их анализировать. Уметь их воспринимать, а не надеяться на слова друга, который даже не является программистом, а сисадмином.

    У вас огромное количество вопросов, которые спрашивают элементарные вещи. Готовые ответы уже существуют. Такое впечатление, что вы даже не пытаетесь их искать.

    Я с ним отчасти, конечно согласен! Java С-подобный язык! И не понимание процессов, которые происходят внутри системы, может затруднить работу над создание в будущем web-приложении, да и вообще работы в компании.

    Джава это конечно не javascript, но это совсем не С-подобный язык. Это отдельный язык. У него есть своя платформа - java, ее нужно изучать, когда изучаете java. Понимание процессов которые происходят в системе - происходят в системе, а не в паскале или Си, поэтому их нужно понимать и изучать, но это можно делать без Си и без Паскаля

    Вопрос мой заключается в том, возможно ли приступить к изучению данного языка, не зная низкоуровневых языков?

    Да.

    С какими именно сложностями я могу столкнуться, если пренебрегу ?

    Судя по вашей сотне простейших вопросов, на которые в интернете уже есть ответы, сложности у вас будут все время, пока вы не будете просто больше искать, читать и естественно пробовать на практике. Базовый широкой кругозор в ИТ, у которого есть термин PC Essentials - дает интуицию в понимании как оно должно быть. Но это не относится непосредственно к знанию языков низкого уровня. Это относится на широте вашего понимания различных вещей в ИТ, типа что такое регистр процессора, или как работает https, и другое.

    На мнение авторов книг и курсов по java, я полностью довериться не могу, поскольку они заинтересованные лица) Они все пишут, что можно не иметь знании. Поэтому мне очень важно ваше мнение! Прошу подсказать! Может у вас или у вашего друга и т.д. был такой опыт...

    Ладно еще курсы. Но автора книг то тут причем?
    Не нужно искать лучший курс, лучшую книгу. Чтобы стать специалистом изучать нужно в любом случае гораздо больше, чем просто курс и книгу. Почитайте 2-3-5-10 книг, и будете сами уже понимать что читать а что пропустить.
    Ответ написан
    Комментировать
  • У вас VLC воспроизводит yootube playlist?

    paulenot
    @paulenot
    IT Issue
    1. На GitHub справа нажми Download ZIP
    2. Заходи в папку ~/.local/share/vlc/, создай папку lua, а в ней еще одну playlist
    3. Туда разархивируй файл playlist_youtube.lua из архива ZIP!

    Заходишь в VLC > верхняя панель - кнопка "Media" > пункт "Open Network Stream" > Скопируй ссылку в поле и нажми "Play"
    Ответ написан
    5 комментариев
  • Как отследить полную загрузку тега img?

    0xD34F
    @0xD34F Куратор тега JavaScript
    Promise
      .all([...img].map(n => new Promise(r => n.complete ? r() : n.onload = r)))
      .then(() => img.forEach(n => n.style.position = 'absolute'));
    Ответ написан
    4 комментария
  • Docker, postgres и создание бд?

    qork
    @qork
    { background: #F00B42 }
    Создается БД и пользователь, запуская с переменными из описания https://hub.docker.com/_/postgres
    version: '3.3'
    
    services:
      pgsql:
        image: postgres:11.1
        ports:
          - 5432:5432
        volumes:
          - ./pgsql:/var/lib/postgresql/data
        environment:
          POSTGRES_PASSWORD: app
          POSTGRES_USER: app
          POSTGRES_DB: app
    Ответ написан
    2 комментария
  • Как правильно выучивать материал?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Беру учебник, читаю полностью, попутно экспериментирую с примерами из книги. После прочтения пытаюсь набомбить пет-проект с использованием изученных технологий. Если где-то застреваю, перечитываю соответствующие главы, лезу в официальную документацию, гуглю.

    ещё вот у меня бывает ,что я иногда в некоторых оператарах путаюсь и немного туплю ,пройдет ли это и через сколько пройдет , и как ускорить это понимание?

    Уйдёт с практикой. Через сколько - это зависит от ваших индивидуальных способностей к обучению и интенсивности прикладываемых усилий.
    Ответ написан
    Комментировать
  • Где посмотреть\почитать нормальные уроки по ООП в PHP?

    php666
    @php666
    PHP-макака
    Надо не уроки смотреть всяких идиотов, а читать книги людей, чье мнение признано сообществом и которые написали книги.
    Гради Буч - для освоение сути ООП
    Мартин Фаулер - про архитектуру, про CRUD, про доменные объекты. Одной этой книги достаточно, что бы прокачать себя так, что ни один видеокурс в жизни не сделает.

    Иначе твои познания будут соответствовать уровню этих уроков, которые создаются лишь с целью срубить с лохов бабла.
    Ответ написан
    13 комментариев
  • Как реализовать подтверждение удаления записи из БД?

    orlov0562
    @orlov0562 Куратор тега PHP
    I'm cool!
    Это чистый JS, в обработчике onclick вызывается диалоговое окно, которое или пропускает или отменяет действие, самый простой пример
    <a onclick="if (!cofirm('Точно удалить?')) return false" href="#">удалить</a>


    Еще пример


    Вроде можно с помощью JS, но я в нём не особо разбираюсь пока что

    Для этой задачи придется разобраться, ничего не поделать.

    Хотя, не совсем точно, можно и на чистом php построить что-то типа "мастера", где у тебя будут в зависимости от параметров рендерится разные страницы, но это извращение.. Что-то типа

    Шаг 1. Рендерится страница с кнопкой удаления
    Шаг 2. Рендерится страница с диалогом удаления, на котором две ссылки
    ?=action=delete&confirm=yes
    ?=action=delete&confirm=no
    Шаг 3. Чекаем что выбрал пользователь в параметре confirm
    Ответ написан
    Комментировать
  • Как хранить пользовательские настройки сайта?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Есть ли способ полностью локально хранить переменные в браузере без участия сервера?
    Есть - LocalStorage
    Ответ написан
    Комментировать
  • Как вывести список топ пользователей GitHub по конкретному городу, используя ReactJS и Redux?

    @afanasiyz
    Javascript-разработчик
    Не смог сохранить в вашем онлайн редакторе, кину код app.js
    import React, { Component } from 'react';
    import { connect } from 'react-redux';
    
    class UsersList extends Component {
    
      componentDidMount() {
        this.getUsers();
      }
    
      getUsers = () => {
        let { dispatch } = this.props;
        let arr = [];
        fetch(`https://api.github.com/search/users?q=Donetsk`)
          .then(res => { return res.json() })
          .then(res => {
            return res.items.map((result) => {
              return result.login
            });
          }).then(logins=>{
            const promises = logins.map((login)=> fetch(`https://api.github.com/users/${login}`).then(res=>res.json()));
            return Promise.all(promises);
          }).then((users)=>{
            if(users){
              dispatch({ type: 'GET_USERS', users });
            }
          })
    
      }
    
      render() {
    
        let { users } = this.props;
        return (
          <div>
            <h2>Users</h2>
            {users.map((user) => {
              return (
                <div>
                  <p>{user.login}</p>
                  <p>{user.name}</p>
                  <p>{user.location}</p>
                </div>
              );
            })}
    
    
          </div>
        )
      }
    }
    
    const mapStateToProps = (state) => {
      return {
        users: state.users
      }
    }
    
    export default connect(mapStateToProps)(UsersList);
    Ответ написан
    2 комментария
  • Какая лицензия Windows нужна для запуска на виртуальной машине?

    @rPman
    Запутанная система лицензирования у майкрософт на столько сложная, что требуется специальный человек, который ходит на специальные курсы и сдает соответствующие экзамены, чтобы он мог объяснить вам что да как.

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

    Самая мелкая версия (с точки зрения лицензий и цены) которая может быть запущена внутри виртуальной машины - это win10 pro, и да, вам не подойдут версии oem. Еще есть форма лицензирования, когда вы берете лицензию в аренду на месяц (кажется доступна только с enterprise версий, там тоже куча разновидностей) а еще есть software assurance, которая как доп пакет позволяет лицензироваться от рабочих мест пользователей а не устройств (это если я верно понял то море поноса что написано на официальном сайте).

    Начиная с определенного количества рабочих мест/пользователей (надо еще разобраться что есть что), при использовании виртуализации или без, серверные версии могут оказаться выгоднее, при лицензировании на количество ядер процессора (любое количество пользователей).

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

    p.s. без виртуализации, для маленьких офисов, может оказаться самый выгодный вариант win 10 home + минимальное количество процессорных блоков, к которым подключено одновременно несколько рабочих мест (монитор+клавиатура+мышь), на базе ibik aster, судя по тому что компания еще существует, они как то урегулировали споры с лицензированием (на форуме у них были эпичные цитаты общения с представителем майкрософт, по которому следовало что даже играть хотсит вдвоем нельзя на домашних версиях)
    Ответ написан
    Комментировать
  • Функция .replace - любые символы, возможно ли?

    kshnkvn
    @kshnkvn
    yay ✌️ t.me/kshnkvn
    Вам регулярное выражение нужно, которое будет искать 'png" любыесимволы>, а затем найденный результат с replace() менять на нужный вам.
    Ответ написан
    Комментировать
  • Могли бы вы поделиться хорошим техническим заданием на разработку сайта/веб-приложения?

    Хорошее техническое задание -- очень обтекаемый термин. "Хорошим" можно было бы назвать техническое задание, отвечающее некоторым требованиям. А вот уже эти требования в зависимости от масштаба разрабатываемого продукта, методологии разработки, заказчика/исполнителя и других факторов могут сильно отличаться.

    Так, например, если вы работаете с государственным или окологогосударственным заказчиком/исполнителем, весьма вероятно, вам придётся подготовить ТЗ в соответствии с требованиями ГОСТ-19 и 34 (в особенности ГОСТ 34.602-89 и ГОСТ 19.201-78), которые предполагают создание очень формальных и подробных документов.

    Если же вы работаете не по водопаду или подобным методологиям, а используете подходы Agile, весьма вероятно, что детальное и проработанное от общих вещей до самых мелочей ТЗ вам не подойдёт, так как оно не будет обеспечивать требуемую гибкость подхода.

    Для какой-нибудь дизайнерской разработки (стиль, лого, графика), когда велика изначальная неопределённость, что же требуется сделать, лучшим вариантом может являться вообще достаточно общий бриф.

    Резюмируя: определитесь с требованиями к ТЗ, а, отталкиваясь от них, уже можно искать какие-то варианты.
    Ответ написан
    Комментировать
  • Как выводить посты в blade если в некоторых есть картинка, а в некоторых нет?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    условие @if влияет только на то, виден html или нет.
    Вы неправы.

    Картинки - это коллекция, она никогда не будет равна null, поэтому проверка ваша всегда проходит. Должно быть так:
    @if($post->images->isNotEmpty())

    $post->images()->first()->path
    А вот здесь вы делаете лишний запрос в БД. Должно быть так: $post->images->first()->path
    Ответ написан
    2 комментария
  • Как фильтровать queryset в шаблоне?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Шаблоны не предназначены для логики, делайте фильтрацию в представлениях.
    Ответ написан
    Комментировать
  • Хочу перенести сайт с mysql на PDO или mysqli прочитал много статей хочу внести ясность по некоторым пунктам?

    alekseyHunter
    @alekseyHunter
    Android developer
    Может ли такой вид обезопасить сайт от иньекций?


    За код первых запросов хакеры вам скажут спасибо, им софт уже найдет уязвимость.

    Последний запрос такой же уязвимый, т.к. вы напрямую берете данные из массива.

    Ошибки:
    • Вы не проверяете значение, которое содержится в POST/SESSION (тип данных, пустая строка)
    • Вы не проверяете регуляркой эти данные
    • Вы не используете параметрические запросы


    Для наглядности простой пример:

    function registration($link,$login,$password,$email) {
    	$newlogin = preg_replace('%[^A-Za-zА-Яа-я0-9]%', '', $login);
    	$newpassword = preg_replace('%[^A-Za-zА-Яа-я0-9]%', '', $password);
    
    	if($newlogin !=$login || $newpassword != $password) 
                    return false;
    
    		$pass = md5($newpassword);
    
    		check_input_data($link,$login,$email); //Кидает ошибку, если логин уже есть в базе
    
    		$stmt = mysqli_prepare($link, "INSERT INTO users (login,password) VALUES (?, ?)");
    		mysqli_stmt_bind_param($stmt, 'ss', $newlogin, $pass);
    
    		mysqli_stmt_execute($stmt);
    
    		if(mysqli_stmt_affected_rows($stmt)==1) {
    			$user_id = get_user_id($link,$newlogin);
    //Что-то делаем
        } else {
          return false;
        }
          mysqli_stmt_close($stmt);
    
          return true;
    }
    Ответ написан
  • По вашему опыту - поможет ли от выгорания смена работы?

    natojezlo
    @natojezlo
    Поработай месяцок на стройке, быстро придешь в чувства.
    Самого одно время все запарило. Решил немного подработать физически на шабашке, ну его н..й
    За неделю работы от звонка до звонка отдал бы все, что бы вернуться к прежней
    Ответ написан
    7 комментариев
  • Как совместить методы get и form_valid в django?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Django
    Седой и строгий
    Все параметры доступны внутри form_valid в self.args и self.kwargs, использовать get не нужно. А вместо Post.objects.create(**form.cleaned_data) можно использовать модельную форму и делать просто form.save()
    Ответ написан
    Комментировать