• Как синхронизировать действия пользователей и данные в многопользовательской системе?

    @res2001
    Developer, ex-admin
    Вы описываете типичную ситуацию при работе с базами данных.
    Обычно применяются 2 стратегии:
    1. ничего не делаем, побеждает последний записавший данные. Запись, конечно, должна быть атомарной, т.е. если 2 пользователя одновременно пишут, то в итоге должны быть записанны данные либо первого пользователя либо второго, но не нечто среднее.
    2. блокировка доступа на изменение, в этом случае описанная ситуация просто не возникнет.
    Эти же подходы вполне применимы и в вашем случае.
    Оба подхода имеют свои достоинства и недостатки, нужно оценить вашу конкретную ситуацию и выбрать более подходящий подход.
    Ответ написан
  • ВУЗ в неподходящем возрасте, работа, паника. Как быть?

    Posho
    @Posho
    Frontend-developer
    Я не очень понимаю, почему вас беспокоит реакция «общества», учитывая, что это ваша жизнь и ваш выбор.

    Теперь по пунктам:

    1. В России пороговый возраст поступления в вузы не ограничен. Как к этому отнесутся окружающие? Да всем насрать.

    2. Совмещайте работу с учебой, если не рассматриваете вечернюю и заочную форму обучения.

    3. Работодатели будут реагировать по-разному.
    Ответ написан
    2 комментария
  • Что такое slug в разработке?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Чаще всего, как уже написали, встречается в URL, но все же его значение чуть более шире - slug это уникальная строка идентификатор, понятная человеку (в отличие от ID) и содержащая только "безопасные" символы:
    - 0-9
    - a-z (общепринято - в нижнем регистре)
    - символ -
    - иногда еще символ _
    Могут использоваться не только в URL для понятности, но и, например, в запросах к БД (в первую очередь - на уровне АПИ) - ведь
    SELECT * FROM pages WHERE category="some-slug"
    более понятно, чем
    SELECT * FROM pages WHERE category=126.
    На уровне API это выглядит как
    get_pages_in_category( 'some-slug' )
    или
    $object->get_pages_in_category( 'some-slug' ).
    В общем, это человеко-понятный уникальный идентификатор.
    Ответ написан
    1 комментарий
  • Лучшие книги для изучении информатики с нуля?

    Psixodelik
    @Psixodelik
    Преподаватель на Hexlet
    но понял что там 80% воды, 15% бредни "академиков" написавших эти книги, и только 5% реально годной информации


    Каким образом вы это определили?

    не писать быдлокод как 90% программистов


    Смелое заявление.

    Начните с «Код. Тайный язык информатики» Чарльза Петцольда — это прекрасная книга для постижения основ информатики. Далее берите учебники по ОС, Сетям, Алгоритмам. По-последнему очень рекомендую «Грокаем Алгоритмы».
    Ответ написан
    1 комментарий
  • Стоит ли мне продолжать учиться разработке?

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

    @dmshar
    В НЕупорядоченном дереве такого алгоритма не существует. Это ничем не отличается от поиска в НЕупорядоченном массиве. Обе задачи требуют просмотра всего набора элементов. При упорядочении - можно думать о повышении эффективности алгоритма.
    Ответ написан
    Комментировать
  • Справится ли с этим нейросеть с распознаванием текста на скане?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    abby formreader попробуй, или finereader классический

    нейросеть справится но зачем
    Ответ написан
    1 комментарий
  • Как долго вы изучали ML и/или DS до первого оффера?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Ваш вопрос удалят, так как ресурс не предназначен для опросов. Но пока он здесь, в ML/DS не приходят с улицы. Это область, в которую можно попасть будучи только профессиональным программистом с превосходной математической подготовкой. Так что хороший универ, профильное образование, 5-10 лет работы программистом в какой-нибудь другой области, а потом появится шанс заниматься ML/DS.
    Ответ написан
    4 комментария
  • Стоит ли изучать математику по первоисточникам?

    @AVKor
    Только для профессионального занятия историей математики.
    Ответ написан
    Комментировать
  • Как выучить математику с 7 класса до уровня ШАДа?

    @res2001
    Developer, ex-admin
    Начните со школьных учебников алгебра/геометрия 6-11 классы, которые сейчас используются в школах. Так же можно использовать разные задачники и прочие материалы для них.
    Дальше можете переходить на учебники для технических ВУЗов. Так же можно использовать учебники для техникумов. Они обычно более приближены к жизни, поменьше воды, но и уровень чуть ниже. Можно начать с техникумовских учебников, а нужные темы продолжить по вузовским.

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

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Подавляющее большинство web-серверов в мире работают на Linux'ах. Вполне разумно ожидать от разработчика понимания окружения, в котором будут работать его программы. Так что не важно, что вы любите, важно с чем вас нанимают работать.
    Ответ написан
    19 комментариев
  • Какие отрасли сферы IT будут востребованы в будущем?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Предсказывать будущее ещё никто не научился. Профессию и специализацию надо выбирать по душе.
    Ответ написан
    Комментировать
  • Какой путь изучения математики оптимальный для взрослого человека?

    @dmshar
    1. Восстанавливаем математику в объеме средней школы.
    2. Берем программу по математике для любого универа и идем по программе. Обычно начинают с курса Высшей математики, затем - Теории вероятностей, Мат.логики, Линейной алгебры, Дискретной математики.
    3. Получив базу начинаете двигаться в том направлении, которое представляет для вас интерес - но тут уже надо знать, для чего вы эту математику будете применять.
    Ответ написан
    Комментировать
  • Зачем нужно знать эффективность\сложность алгоритма?

    Maksclub
    @Maksclub
    maksfedorov.ru
    Есть два алгоритма для одной задачи:
    - один проходит по всем элементам один раз и что-то делает, выполняя поставленную задачу O(N)
    - другой проходит по всем элементам для каждого элемента: O(N^2)

    При количестве элементов N=10, в цикле в первом случае будет 10 операций, во втором случае 100 (казалось бы, в 10 раз больше всего, как и элементнов)
    Но при увеличении до N=1000 в первом случае 1000 проходов, во втором уже 1 000 000 ! Видите как сильно растет разница.

    Даже при небольших значениях N это может быть важно, если каждая операция долгая/тяжелая и даже 2-3х кратное увеличение может быть проблемой.
    Ответ написан
    Комментировать
  • Какие вы знаете актуальные труды на тему алгоритмов и структур данных?

    dom1n1k
    @dom1n1k
    Кнут живее всех живых.
    Все классические алгоритмы и структуры данных были придуманы примерно к девяностым годам и с тех пор не менялись. Теорема Пифагора поменялась за 2 с лишним тысячи лет? А интегрирование по Риману устарело?
    То, что придумано в области алгоритмов в более поздние годы - уже, как правило, штуки для узкоспецифичных и сложных случаев. Начинать нужно явно не с них.
    Ответ написан
    Комментировать
  • Какие вы знаете актуальные труды на тему алгоритмов и структур данных?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    "Грокаем алгоритмы" посмотри, если Кнут не дается

    но он и не должен легко даваться
    Ответ написан
    Комментировать
  • Как решать задачи на ДП такого типа (выбрать предметы, но без повторений)?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Это классическая задача о рюкзаке.

    Можно составить такое ДП: F(c, k) - максимальное количество страниц, которые можно набрать из первых k книг общей стоимостью ровно c.

    База: F(0,0) = 0, F(0,*) = F(*,0) = -infinity.
    Пересчет:
    F(c, k) = max(F(c-cost[k], k-1) + pages[k], F(c,k-1))


    Это ДП приведено в википедии, например. Ответ - максимум по всем c F(c,k).

    Есть одна хитрость при реализации - можно обойтись только одной строкой этой матрицы, если вам не нужно восстанавливать весь набор книг в ответе, а только его лучшее значение (только надо поменять параметры местами - строка размером с максимальную цену). Это сократит потребление памяти в K раз, если у вас K книг. На скорость работы решения это не влияет.

    Сначала реализуйте все дп на матрице снизу вверх, двумя циклами.
    Теперь, если вы будете гнать внутренний цикл с конца к началу, то вам не понадобится смотреть на уже переписанные на текущей итерации внешнего цикла значения, и можно забить на второй параметр ДП и просто переписывать строку на месте.
    Ответ написан
    Комментировать
  • Какие области IT сильно связаны с алгоритмикой и математикой?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Когда я в универе был олимпиадником (АСМ) тоже думал - главное - быстро и круто алгоритмы писать, это настоящее программирование, а не вот эти ваши формочки клепать.
    На деле, как вам уже сказали, олимпиадные скиллы хороши ровно в одной области - выигрывании на олимпиадах.
    И основное умение получаемое там - суметь очень быстро написать код который пройдет по жестко заданным тестам. В реальной жизни, к сожалению, это называется "малоподдерживаемый говнокод который проще выкинуть".
    Потому что "пройти тесты" - это только малая часть хорошего кода и правильной архитектуры и алгоритмов.
    Там есть время подумать и написать хорошо, придумать алгоритм лучше, проверить разные варианты и так далее. Это все умеет любой хороший профессионал.

    Проведу аналогию - есть спортсмен который отлично научился в бассейне быстро плавать по прямой. Он один из лучших и вообще молодец. Знает до деталей как двигать руками, как загребать воду максимально эффективно, какую шапочку использовать для уменьшения трения и так далее. И тут задался вопросом - а где я, такой молодец, могу работать? Ответ - в том же бассейне, тем же спортсменом. Потому что за пределами бассейна, оказывается, надо еще 100500 совсем других умений. Даже спасатель на пляже из него выйдет хреновый, потому что мало быстро доплыть до человека, его сначала увидеть, а потом еще и спасти надо. Профессиональные спасатели может и плавают медленнее чем он, зато знают куда смотреть, как понять что человек тонет, как к нему плыть как вытаскивать, откачивать и так далее. И при этом плавают-то не намного хуже. Наш спортсмен из бассейна ничего этого не знает и не умеет.

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

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

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

    Так что выбирайте по области которая нравится. Пробуйте одно, другое. Информации - море, думаете про дата саенс - полгода проживите так будто туда собрались, читайте статьи, общайтесь в сообществах, участвуйте в вебинарах - конференциях, подпишитесь/задружите с теми кто там работает. Через полгода поймете точно - оно или нет. Поменять всегда успеете, у вас 5-6 таких заходов во время учемы, можно не спрашивать на тостере а просто попробовать всё. Возможно к тому времени как вы доучитесь в универе, появится пачка новых профессий которые вам отлично подойдут.

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

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    1) находите любой код асинхронного парсера (asyncio, loop - вот это во все )
    2) заменяете вызовы вызовами вашей функции (срабатывание негарантировано)

    выбрасываете

    читаете про многопоточность и мультипроцессинг
    Ответ написан
    Комментировать
  • Влияет скорость python на веб-программирование?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Python
    Седой и строгий
    Web-приложение это частный случай сетевого ПО, а у сетевого ПО издержки на ввод/вывод такие, что на их фоне издержки на выполнение незначительны. Проще говоря, если программист не криворукий, то Python не уступает в вопросе web-разработки любому другому языку.
    Ответ написан
    Комментировать