• Как делают такие фигуры?

    @Slydex Автор вопроса
    Наверное это моё проклятие - отвечать на свой же вопрос. Не знаю как это работает но пока вопрос не задашь - ответ на него совершенно неочевиден. Я буду этим и дальше тут пользоваться если вы не против.)))

    В общем потыкал, оказалось всё проще некуда, выделяем нужную область, с выбранным инструментом выделения ПКМ на сделанном выделении и конвертируем в кривые:

    7f317c826c72480bbf40f4bdbedee3eb.png

    Потом в панели контуров задаем имя новой кривой, дальше Слой -> Новый слой заливка -> Контур, или выбрать перо и нажать в верхрей панели "Фигура" при выбранной кривой, и всё собственно.. Готово.

    1c4e89b091754b69bcf0d0075b0ebda2.png

    Фигуру лучше делать из выделений большого размера, так точность намного выше будет.
    Ответ написан
  • Как писать unit-тесты для telnet на python?

    OnYourLips
    @OnYourLips
    telnet_instance = Telnet(self.host_IP, timeout=self.connection_timeout)

    Не создавайте объект внутри кода для работы с ним.
    Иначе очень сложно его тестировать. Передавайте созданный объект.
    А при использовании тестов передавайте не объект типа Telnet, а его mock.
    Ответ написан
  • Кто может объяснить для чего нужен rest api?

    ptrvch
    @ptrvch
    вебдев-энтузиаст. Django, AngularJS
    REST - это принцип построения приложения, когда к любому объекту можно "достучаться" при помощи http-запроса.

    К примеру, по адресу http://somedomain.com/api/users/123/notes/234 всегда будет доступна заметка с id=234 пользователя у которого id=123, например, в виде json-объекта:
    {
      "authorId": 123,
      "content": "Текст заметки под номером 234"
    }


    Причем по этому же адресу этот объект можно изменить либо удалить, делая http-запрос другими методами (PUT/PATCH и DELETE соответственно).

    REST API - это набор плюшек (для каждого бэкендового языка свой собственный), которые делают построение REST-архитектуры удобным и простым.

    Если нет желания с головой окунаться в мир бэкенда, рекомендую firebase от Google.
    Можно в два шага прикрутить базу данных в реальном времени, аутентификацию, файловое хранилище и еще много чего (в том числе и REST, если захотите когда-нибудь с ним ознакомиться).
    Ответ написан
  • Существует ли "карта программиста"? Что и за чем учить?

    iCoderXXI
    @iCoderXXI
    React.JS/FrontEnd engineer
    Нет одинаково эффективного пути для всех и каждого.

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

    Тут главное - настолько сильно хотеть достичь результата, чтобы любые препятствия только добавляли азарта. Чтобы ночами спать не мог и думал о задаче. Это ключевой момент обучения. Все остальное - декорации, способы, инструменты...

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

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

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

    На первых порах, тестирование будет занимать до 99% времени и сил. Заодно подтягивается синтаксис используемых языков (вообще не важно каких), вырабатывается внимательность, концентрация, тренируется память и пр.

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

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

    Только так, только жесткий хардкор! Если ты не прошел эту фазу, то ты либо родился гением, либо тебе нечего делать в профессии... Это как детские болезни - ими нужно переболеть в детстве.

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

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

    Ах да, обложись справочниками по любому инструменту и научись быстро вникать и подхватывать необходимый минимум. Обычно достаточно на 20% владеть инструментом, чтобы решать 80% задач.

    В любом случае я за критерий истины держу платежеспособный спрос.
    Ответ написан
  • Что учить, чтобы расти в сторону DevOps?

    Sanes
    @Sanes
    А вы и не сможете всё знать. DevOps это, как эникей. Куда ветер подул, то и учит.
    Ответ написан
  • Записная книжка программиста?

    @varezprog
    я использую copypastecode.ru (не требует установки)
    базу кладу в любую папку с облаком (yandex.диск, google.drive, dropbox...)
    Ответ написан
  • Как сделать генератор случайных чисел на Delphi чтобы он был не менее 128 бит?

    @nirvimel
    Как сделать генератор случайных чисел?

    я сделал через рандом

    сомневаюсь что так будет правильно

    Неправильно будет делать иначе.
    Ответ написан
  • Не пойму в чем проблема?

    @vilgeforce
    Раздолбай и программист
    На предыдущей строке "kat1 = math.sqrt((c ** int('2')) - (b ** int('2'))" не хватает скобки как минимум.
    Ответ написан
  • Как ускорить работу на старом компьютере?

    @moozooh
    Chief Technical Grammar Nazi
    Система в целом очень слабая, но её можно улучшить почти забесплатно, если подойти к этому с умом и не полениться написать нескольким людям.

    В «проектах» подобного толка ставится единственная задача — разгрузить основное бутылочное горлышко. В случае с системой вроде вашей таких горлышек два: дисковая подсистема и, в чуть меньшей степени, процессор. С процессором всё более-менее просто: нужно переложить максимум нагрузки на видеокарту, где это возможно, и избегать софт с тяжёлым, неоптимизированным интерфейсом. С диском чуть сложнее, потому что сейчас у вас во время, скажем, работы в Фотошопе происходит примерно следующее: файл переносится с диска в оперативную память, и через файл подкачки переносится обратно на диск (1), одновременно с этим ФШ создаёт собственный временный файл кеша (scratch file), в который записывает изменения — историю и всё прочее (2), при этом антивирус сканирует изменения на диске на предмет чего-то нежелательного (3), периодически что-нибудь шевелит система с её фоновыми процессами (4) — вот у нас уже до четырёх одновременных обращений к диску, который в принципе не приспособлен обрабатывать более одного за раз. Поэтому действовать надо следующим образом.
    • Поищите у знакомых память DDR. Купить её уже нельзя, но многие ещё не выбросили старые планки, которые смогут отдать вам просто так или за что-нибудь символическое. Оптимально нужно 4 ГБ, больше смысла нет (у вас система, очевидно, 32-битная, поэтому увидит лишь немногим меньше 4 ГБ). Особенно тщательно опрашивайте админов — они зачастую любят складировать списанное железо на всякий случай. Это как раз один из таких случаев.
    • Поищите у этих же знакомых/админов бесхозный жёсткий диск на 120–200 ГБ (чем больше, тем лучше; лишь бы работал). Многие будут готовы расстаться с ним за пару кило фруктов, бутылку хорошего вина или любой подобный эквивалент, потому что сейчас такие диски всё равно мёртвый груз. Перенесите на него все временные файлы/папки — кеш браузера, scratch-файл ФШ, файл подкачки и пр. Чем больше диск, тем быстрее скорость записи и чтения; чем свободнее диск, тем больше важных данных попадает туда, где скорость обращения выше.
    • Хорошо прочистите системник от пыли, особенно все вентиляторы и радиаторы, и попробуйте аккуратно поднять частоты процессора. Семпроны не очень хорошо гонятся, но 8–10% обычно можно отвоевать без перегрева и на штатном охлаждении. В вашей ситуации каждая мелочь внесёт свою лепту.
    • Обязательно обновите ФШ до CS4 — в нём интерфейс ускоряется видеокартой и поэтому будет меньше тормозить. Судя по тому, что вы работаете с софтом такого рода на настолько убитом железе, вы всё равно скорее всего не лицензией пользуетесь. По меньшей мере стоит обновиться до CS3, т. к. он всё равно намного быстрее, чем CS2. CS2 — самый тормозной ФШ!
    • Файлу подкачки задайте фиксированный размер (4 ГБ хватит, если стоит 4 ГБ ОЗУ) и положите на пустой диск, чтобы избежать фрагментации и параллельных потоков записи/чтения. В самом крайнем случае можно вовсе его отключить — это сильно ускорит многие процессы, но будьте готовы к тому, что программы, случайно «вылезшие» за пределы доступной памяти, будут вылетать с потерей несохранённых данных.
    • Оптимизируйте набор софта. Резидентный антивирус лучше всего выключить и заменить его связкой из DEP (я не помню, была ли она в XP SP3, но, по идее, должна), еженедельных проверок активным сканером и хорошего браузера. С браузерами в смысле прожорливости сейчас, к сожалению, не всё безоблачно; попробуйте что-нибудь относительно легковесное типа Otter или Vivaldi; что бы вы ни выбрали — включите аппаратное ускорение, поставьте самый мощный адблокер из доступных; если не помешает, можно попробовать и более радикальную меру — отключить флэш (функционально он сейчас, по сути, только в некоторых веб-плеерах используется, остальное — сплошь реклама и красивости). Сотрите или уберите из автозагрузки всё, что не строго необходимо. Отключите или переведите на ручной режим все службы, которые выполняют какие-либо некритичные процессы записи/чтения в фоне (тут Гугл в помощь). Музыку лучше слушать с диска через foobar2000 или другой легковесный плеер, т. к. веб-плееры типа вконтактовского жрут больше ресурсов, но при этом всё равно пропускают поток через диск. Word можно заменить версией из Office 2003 — она менее прожорлива, чем последующие, и не имеет уродского ленточного интерфейса.

    Удачи!

    EDIT: Добавил абзац с пояснениями.
    Ответ написан
  • Чем язык программирования отличается от фреймворка?

    @z777
    Могу ошибаться, в моем понимание это выглядит так:
    Библиотека языка это наборы необходимых элементов для работы, например: ArrayList, Timer, TimeUnit, Loger и т.д., т.е. те вещи с помощью которых ты разрабатываешь программы.
    А фреймворк это набор абстрактных функций с помощью которых быстрее и легче разрабатывать, например нужно тебе прочитать файл, с помощью языка и его библиотек ты получаешь доступ к файлу, проверяешь можно ли из него прочитать информацию, открываешь поток для чтения, читаешь, закрываешь поток и т.д. У фреймворка достаточно вызвать один метод который тебе вернет содержание файла, а всю реализацию сделает за тебя. Как то так.
    Ответ написан