Задать вопрос
  • Как заблокировать IP-адрес, который пингуется?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Ну если вы хотите выстрелить себе в ногу то ради бога - пишите скрипт который вытянет из netstat все подключения, пропингует и внесёт в блоклист фаервола.
    Вот только проблема в том что проще уже тогда просто в блоклист добавить весь блок IPv4 и не париться - результат тот-же а гемору меньше :)
    Ответ написан
    Комментировать
  • Прокомментируете тестовое на react?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    1. Хотелось бы видеть в проекте использование redux. react+redux - это самый распространенный и востребованный стек в React разработке.

    2. Почему все хандлеры и состояния находятся в App, а не в Main? Как вы потом эту кашу собираетесь масштабировать? Переносите все, что связанно только с Main в Main. По-хорошему смотрите пункт 1.

    3. Слишком много функциональных компонентов. Подумайте их где можно заменить на классы с реализованным shouldComponentUpdate или на PureComponent, чтобы убрать лишние вызовы render этих компонентов.

    4. import Logo from 'images/Logo.png';
    называть пути к ресурсам с заглавной буквы неправильно.

    5. Вместо:
    const StyledLogo = styled.img.attrs({
      src: Logo,
      alt: 'Aviasales'
    })`
      width: 60px;
      height: 61px;
    `;

    Удобней в использовании:
    const StyledLogo = styled.img`
      width: 60px;
      height: 61px;
    `;

    и:
    <StyledLogo src={logo} alt="Aviasales" />

    6.
    const Error = ({ text }) => (
      <StyledError dangerouslySetInnerHTML={{__html: text}} />
    );

    зачем тут html?
    Для сохранения переносов строки есть css правило:
    white-space: pre-line;

    7. Вместо:
    let element;
    
    if (error && !isLoading) {
      element = <Error text={error} />;
    }
    if (!error && isLoading) {
      element = <Loader />;
    }
    if (!error && !isLoading) {
      element = (
        <>
        <Heading />
        <Main
        isCurrencyExchanging={isCurrencyExchanging}
        activeCurrency={activeCurrency}
        handleCurrencyChange={this.handleCurrencyChange}
        ticketsFilteredByStops={ticketsFilteredByStops}
        stops={stops}
        handleStopsChange={this.handleStopsChange}
        handleUncheckOther={this.handleUncheckOther}
        />
        </>
      );
    }
    return element;

    Лучше:
    if (isLoading) return <Loader />;
    
    if (error) return <Error text={error} />;
    
    return (
      <>
        <Heading />
        <Main
          isCurrencyExchanging={isCurrencyExchanging}
          activeCurrency={activeCurrency}
          handleCurrencyChange={this.handleCurrencyChange}
          ticketsFilteredByStops={ticketsFilteredByStops}
          stops={stops}
          handleStopsChange={this.handleStopsChange}
          handleUncheckOther={this.handleUncheckOther}
        />
      </>
    );


    8. Вместо:
    filterTickets = (tickets, stops) => {
      return tickets.filter((ticket) => {
        return values(stops).indexOf(ticket.stops) !== -1;
      });
    };

    Лучше:
    filterTickets = (tickets, stops) => tickets.filter(
      ticket => values(stops).includes(ticket.stops),
    );


    9. Не пропускайте отступы между методами и между вложенными свойствами css.

    10. Вместо:
    componentsDidMount() {
      // много кода
    }


    Лучше:
    componentsDidMount() {
      this.fetchSomeData();
    }


    11. Директории и индексные файлы для каждого компонента, имхо, лишнее. Лучше компоненты определять в одноименном файле и только когда возникнет необходимость в его декомпозиции, заменять на директорию и index.

    12. Loader и Error самое место в директории components/core или что-то вроде того. Там же, по-хорошему, должны находиться базовые компоненты: кнопки, инпуты, табы, чекбоксы.

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

    sim3x
    @sim3x
    Я хочу узнать, на что могу рассчитывать с моим бэкграундом
    на собеседование

    Идете на собеседование и смотрите насколько вами заинтересованы и сколько вам дают
    Ответ написан
    Комментировать
  • Какую версию linux, выбрать для обучения?

    sim3x
    @sim3x
    убунту
    Ответ написан
    Комментировать
  • Как имитировать ie на linux?

    usdglander
    @usdglander
    Yipee-ki-yay
    Это вам не подойдёт? Нужен именно полноценный браузер с js и прокруткой?
    Ответ написан
    Комментировать
  • Как вы боретесь со слабой типизацией и зачем ее придумали?

    И самое главное: кто придумал слабую типизацию?

    Для начала разберитесь с классическим заблуждением, и не путайте слабую типизацию и динамическую типизацию. Сейчас из вашего вопроса можно подумать, что это одно и то же.

    Динамическую типизацию придумали для того, чтобы было легче писать обобщённые алгоритмы и мета-алгоритмы, в дин. языке для обобщения кода не нужны ухищрения типа дженериков (TypeScript, C# и много чего ещё) или шаблонов/макросов (C++). В ОО-языках часто доступны и другие удобства, например смена интерфейса объекта в зависимости от его состояния (т.к. решение о возможности вызова метода/свойства объект может принимать сам).

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

    Как вы пишете код на жс?

    Мы не пишем код на JS, мы пишем код на TypeScript. Да, такие сейчас странные времена, когда язык со статической типизацией компилится в язык с динамической, т.к. исполнять на клиенте (в браузере) больше нечего пока.

    Он же не должен быть напичкан parseInt() и !== undefined.

    Не должен. Если писать на голом JS, можно а) использовать JSDoc для аннотаций о типах, и работать с типами на уровне документации и договорённостей; б) писать алгоритмы в максимально обобщенной манере, и требовать по возможности не конкретных типов данных, а значений, над которыми допустимы нужные вам операции; в) покрывать код тестами, что и спасает в динамических языках.

    Чем больше проект, тем важнее статическая типизация, это нормально. JS - это язык который популярен по техническим причинам и по стечению обстоятельств, а не потому что он этого заслуживает (имхо). Очень неглупые дяди и тёти не стали бы тратить годы своего времени и кучу денег на разработку TypeScript и Flow, если бы это было ненужно.
    Ответ написан
    1 комментарий
  • Какую консоль выбрать?

    @RidgeA
    Комментировать
  • Как стать продвинутым сайтоклепателем (формоклепателем) и отправиться на каторгу, чтобы пахать за говяжий дошик и оплачивать сарай?

    Astrohas
    @Astrohas
    Python/Django Developer
    Хочу поделится своим опытом так сказать (раз уж тут у нас клуб анонимных новичков институтов).
    Если ты считаешь что родился в жопе мира, то я родился еще в худшем местоположении - в кишлаке, на севере Таджикистана (страна есть такая). Из цивилизации тут больше чем нихуя. Но я старался. Да нас тоже учили сгребать лопатой, но ну не в -30, а в + 40 , и не лопатой, а руками ... гребать хлопок. Школы - примитивные, уроки информатики - такие что уж смотреть двух девочек с одной чашкой было намного приятнее чем сидеть там. Но я блин не хотел сдаваться. Я не хотел до конца оставаться нонеймов с заработком 80$ в месяц. И я начал учить все новые и новые предметы. Туже информатику. Скажи ка мне каков шанс выиграть областную олимпиаду чуваку ни разу не проработавшего с компьютером? 0? Но я выиграл. А потом еще две (правда на тот момент времени был куплен ноутбук).
    Потом у меня была республиканская олимпиада. На тот момент у меня были знания алгоритмов, пару сертификатов от Интуита и полка прочитанных Кнутов. Но увы, республиканская олимпиада стала для меня разочарованием. Нет медальку золотую я получил, но был разочарован уровнем вопросов этой олимпиады. Представь - самая пиздатая олимпиада, а вопросы уровня написят программу вычислющею факториаль чисьла n . Фейспаль на фейспальме.

    Далее было еге для поступления. Таджикское еге, скажу честно чуть лучше по чем русское, ибо внезапно более продуманное. И в итоге получил 525 баллов, в то время как проходной был 240. Могу ошибаться, но это рекорд среди 80к абитуриентов. Поступил в политех. В первый день ожидал, что наконец-то получу знания которые мне нужны. Нихуя!
    В первый месяц нас учили рисовать заголовки в ворде.
    Второй месяц матемматика уровня уравнение аж с двумя неизвестными.
    3 месяц наконец-таки программирование - основы программирования на VB.net.
    Четвертый месяц Физика.
    Потом, в пятом месяце изучали рисование на фотожопе.
    Потом у нас была "практика программирования" - посути тоже что в третьем месяце - VB.Net.
    Потом месяц был угробен на экономику и культуроведение.
    Потом была Высшая математика.
    И это все за первый курс. Я ненавидел эти предметы. Я ненавидел этот вуз, VB.net и блядские семестровые и курсовые работы. Но выбора не было - либо сиди страдай, либо отслужи в блядской армии.
    Начался второй курс. В списке предметов появились элементы более приближенные к программированию.
    Месяц первый - Базы данных - 1. На деле проектирование баз данных акссес мышкой.
    Второй месяц, более приблеженная к моим знаниям дисциплина - Основы веб Дизайна. Проходила какая-та не разбирающаяся в хтмл и эсэсэс училка, программировала на нотепаде с хтмл тегами времен 2004 года. Еще советовала юзать Dreamвивер ибо это Чудо !11. Мне хотелось застрелиться.
    Потом проходили дискретку. Так как я отпетый алгоритмизд, то с этот предмет относительно был одобрен моими яйцами.
    Потом было ООП. Под ООП, оказывается подразумеваться решение тупых задач из книжек Златопольского и Абрамова на c++.
    Потом был предмет с гордым названием - Практика визуального программирования. По сути, тот же vb.net, опять задачи Абрамова и Златопотолокского, но потом постепенно подключали базу акссес. Так как там с провайдерами баз данных был лютый пиздец, всей группой решили выбрать одну версию вижуалстудии и микрософт оффиса (оба 2010), ибо на других версиях код напросто отказывался работать.
    Потом в следующем месяце был предмет - "программирование баз данных". Начало было многообещающим, препод даже одобрил то что я буду использовать python, но после первого занятия, препод пошел подыхать в больницу, а вести стал чувак который месяцем раньше вел "Практику визуального программирования". Все 16 он повторял точь в точь то что вел месяцем раньше. Многие даже сдали предыдущие работы. Справедливости ради скажу, что препод это был аспирантом, и часто во время занятий рассказывал анекдоты (преимущественно про блондинок).
    Следующий месяц прошли два предмета - Правоведение и литературу. Ахует как нужные предметы.
    После был месяц Объетко Ориентированного Пирограммирования - 2 . К счастью, помимо решения задач из книг Златовлаского, пробегались по презентациям из педивикии. Вроде еще класс создавали...
    Следующий месяц, пришлось слущать лекции по гражданской обороне...
    Потом месяц с охуенно нужным для меня - веб быдлокедера предметом - Математические вычленения на Maple.
    Последний месяц второго курса была, более менее адекватная преподша. Вела JavaScript, и я не особо придирался к ее знаниям, ибо сама призналась до лекции что с JavaScriptom пока не работала, и заодно научиться.....
    Теперь уже прошел месяц третьего курса. Прошли Программирование на интернет (это название предмета такое). По сути тот же Vb.net но с добавлением ASP. Опять задачи из книг Абрамовича. Бляд... вместо того чтобы делать сайты нас заставляли решать задачи типа "Дано число а и б найти какое из них большее". Тока в отличии от Vb.Net предметов до этого, данные выводились на страницу через риспонсе.врайт.............
    И так а знаете что ? Не один из вышеперечисленных двух дюжин предметов я не учил всерьез. Я просто сдавал во время работу, и порою читкодил на экзаменах.
    Хотите узнать как стать нормальным программистом учась в институте? Никак. Нужно просто поднят свою жопу и начать кодить. Пытаться сделать что -то. Никто за тебя изучать не будет. Скачай видеокурсов по хтмл хтмлакдемии на нонеймклабе, пройди их. Потом сверстай двух десятков макетов. Потом потихоньку иди в фриланс.
    На этом этапе не жажды денег и девок.

    Во втором курсе меня пригласили после пар поработать в институте. Взамен зарплата аж 40$ и некоторые бонусы с учебой. Я согласился. Зарплата конечно же не ахты, но бонусы это круто. Ещь за одним столом с педаггогами высоких мастей, в груди стоит бейдж "специализд центра тестирования", можно приезжать на автомабиле. Еще играеш в волейбол с деканом и всякими замдеканами.
    Но на 40 не проживешь. Поэтому я по ночам фрилансил. А теперь представь в 6,00 вставать, в с 8 до 12 быть на парах, с 13 до 16 работать в инсте. Потом с 18,00 до 01,00 фултайм удаленка или фриланс. с 1,30 до 6,00 сон. Бодрый бляд сон. 4,5 часа сна. Каждый день. А сколько спишь ты Анон? А бляд забыл, мне еще нужно готовиться по часу в сутки изучая алгоритмы ибо олимпиада студенческая скоро. У меня уже в копилке медаль золотая и кубок, но бляд бонусы победителя ахуенны - освобождение от рабства на 0,5 года и прибавка к стипендии в размере 4 косарей.

    -----
    Итак если хочешь чтобы не выпилили из института и хочешь стать нормальным программисздом, подними жопу и изучай. И тот факт что ты родился/живешь/или потерял девственность в жопе мира не должно тебя ограничивать.
    PS. Прошу прощения всем за нецензурную речь. .
    Ответ написан
    7 комментариев
  • Как с помощью Python редактировать файлы, защищенные привилегиями sudo?

    zooks
    @zooks
    Frontend
    sudo ./script.py
    Ответ написан
    Комментировать
  • Какие вопросы стоит задать разработчику онлайн магазина на WP Woocommerce что бы убедиться в его компетентности?

    greabock
    @greabock
    Могу
    Задать вопрос:
    "может ли он сделать качественный интернет-магазин который не будет тормозить и лагать на woocomerce".
    Если ответ "Да" - спец хреновый )
    Ответ написан
    4 комментария
  • 44 года можно ли еще стать востребованным специалистом в IT?

    Начал программировать лет 8 назад. В этом году мне будет 60.
    Работаю удаленно. Предложений работы больше, чем я могу взять.
    Не сразу, но научился зарабатывать достаточно. Ключевой момент: переход к удаленной работе вместо выполнения разовых заказов.
    Ответ написан
    13 комментариев
  • Twisted: как отправить сообщение при наступлении какого-то события в GUI?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Самый правильный вариант - в обработчике события GUI-приложения сделать определённый запрос к twisted-серверу, в ответы на который сервер разошлёт в активные подключения уведомления.
    Ответ написан
    9 комментариев
  • Выбор ОС для сервера Debian 9 или Ubuntu 17.10?

    @nikweter
    Системный администратор
    17.10 для сервера? И чем люди думают, когда нестабильные релизы в продакшн тянут..
    Ответ написан
    9 комментариев
  • Есть ли смысл с этой версии учить Python?

    @kzoper
    Нет
    Ответ написан
    Комментировать
  • Как правильно размещать return?

    longclaps
    @longclaps
    def f(x):
        if x <= -2.: # здесь и дальше явный float предпочтителен
            return 1. - (x + 2.) * (x + 2.)
        elif x <= 2.: # выкинуть лишнее сравнение
            return -0.5 * x # унарный минус перед x - это отдельная операция, нафиг её
        return (x - 2.) * (x - 2.) + 1.
    Ответ написан
    Комментировать
  • В чем минусы питона 3.6?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Естественно переделали, за 10 лет-то существования Python 3. Теперь идёт обратный процесс, с каждым днём всё меньше библиотек и фреймворков поддерживают 2.7.
    Ответ написан
    3 комментария
  • Не понимаю в правильном ли направлении я двигаюсь?

    @Themezv
    Js developer (React.js)
    Просто сижу на одном месте и туплю стандартную библиотеку не брал так как английский дальше от программирования не ушол

    Как и русский.

    Придумайте реальную задачу. И решайте её. Советую без ютуба. По Python, а уж тем более Django, совершенно прекрасная документация (и переводы есть).

    P.s. 1. Без английского очень тяжело
    2. На YouTube есть смысл смотреть записи с конференций, скринкасты крутых ребят, которые рассказывают что-то новое или из практики. А видео с "кликнем сюда, напишем это, напишем то" - обычно отвратительны, потому что записываются непрофессионалами (обычно).
    Ответ написан
    Комментировать