Ответы пользователя по тегу Программирование
  • Как избавиться от кучи if в методе?

    Therapyx
    @Therapyx
    Data Science
    именно в данном случае в голвоу полезло следующее, где будет один иф :)
    Во первых этот список должен кем-то заполняться и изменяться и уж точно не программистом в хард-коде.
    т.е. должна быть там блица по типу key value
    1000 - плюшка
    10000 - другая плюшка
    20000 - ...
    n - m

    делаем некий адаптер, куда будет передана сумма заказа - загружаем в нём к примеру в сет, который будет отсортирован с этой таблицей.
    после чего ищем число которое и через итерацию проверяяем
    если число больше, чем текущий индекс и меньше, чем индекс +1 значит это наш range откуда надо достать плюшку из value.

    А чего ожидал интервьювер, увы не знаю.
    Ответ написан
  • Мне нужно сообщить программисту, как работает моя сложная система. Каким образом это лучше сделать?

    Therapyx
    @Therapyx
    Data Science
    Sequence diagram - то, как обьекты и классы взаимодействуют на практике.
    use case diagram - для более абстрактного представления архитектуры.
    class diagram - уже для более детального разбора классов, взаимодействий и их параметров.

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

    проги: К примеру MagicDraw
    Ответ написан
    Комментировать
  • Как начать чтение файла с определенной строки?

    Therapyx
    @Therapyx
    Data Science
    К сожалению это невозможно. На моей памяти нету реализаций, чтобы прямым запросом попасть на строку "х". В любом случае, какие бы функции для этого не было, по типу в 8-й жаве
    String lineTarget = Files.readAllLines(Paths.get("file.txt")).get(LineNr)

    это всего-лишь для удобства. Чтобы попасть на строку 50, надо прочитать(пропустить) первые 49.
    Ответ написан
  • Программисту нужна слепая печать?

    Therapyx
    @Therapyx
    Data Science
    эта штука - приходит со временем. В разработке печать кода занимает наименьшее кол-во времени, а если не все продуманно, то даже при "печати" приходится думать больше и чаще, чем печатать в целом, поэтому если ты будешь печатать в 2 раза дольше - это не большая помеха.
    Слепая печать не маст хев - это приятный бонус.
    Ответ написан
    Комментировать
  • Почему 16-ричная система счисления такая популярная?

    Therapyx
    @Therapyx
    Data Science
    Как работает техника? Что такое состояния? Как отображаются эти состояние - все это нули и единицы на нижнем уровне. одна F это 1111, т.е. 2^0 + 2^1 + 2^2 + 2^3. FFFF это 1111 1111 1111 1111 по такой же схеме. Поставлен ли флаг на байте "х"? 1 - да, 0 - нет. Так же и все логические операции происходят в таком виде.
    Соответсвенно так на много удобнее описывать все адреса в той же оперативной памяти.
    А теперь насчет удобства, представь ipv6 адресс в виде бинарной репрезентации? Для человеческого глаза куда приятнее видеть 16-ричную систему ежели столб из бесконечности единиц и нулей. Ибо 16-ричная репрезентация по сути очень идеентична с бинарным кодом, логична для структуры компа в целом и куда приятнее для восприятия человеком.
    п.с. я не до конца понял - что ты имеешь ввиду под "кривая"? Для компа 10-ричная система "кривая", а для нас бингарная - "кривая". 16-ричная это скажем так - компромисс, которые подходит обеим сторонам.
    Ответ написан
    Комментировать
  • Видеоаналитика. Возможно ли следить за объектом на большой скорости?

    Therapyx
    @Therapyx
    Data Science
    Более уверен, что можено. Определять веткоры обьектов попадающие в кадр -> А зоны, которые должны сохранятся в БД могут служить как тригеры, в коих если обьект заходит - то вся нужна инфа просто сохраняется в БД.
    Дак вот если отвечать конкретно на вопрос, можно ли? - безусловно можно.
    А вот конкретно как? - на этот счет опять же уверен, что есть куча разных реализаций и продуктов по этой тематике.
    Ответ написан
    3 комментария
  • Какие специалисты нужны для создания сайта с определенным функционалом?

    Therapyx
    @Therapyx
    Data Science
    1, 3, 4, 5) Веб-программисты (php + mysql или asp.net, c# + mssql) => EcmaScript всем ну или можно разделить на веб программистов и верстальщиков (будет якобы экономия на зп, ибо вторые оплачиваются меньше).
    2) Тут конкретно надо искать специалиста в этой области. Data Mining, Data Science, Machine Learning. Как в комментарии написали - это скрее будет тыжпрограммист, только нужен с хорошей математической базой.

    А насчет всего нового - тут надо глубже смотреть, ибо всяких фреймворков уже тонны. Так же и анализировать рынок труда и кандидатов (где больше и легче найти хороших специалистов (ну или более дешевых - в зависимости от задач). Такие вещи как правило не пишутся в 1 пост
    Ответ написан
    4 комментария
  • Как научиться понимать как работает память на низком уровне?

    Therapyx
    @Therapyx
    Data Science
    Я бы мог конечно опять написать 2 страницы со всякими иллюстрациями, но не вижу смысла. Вы где и что смотрели, что вот так уж осталось не понятным?
    Вот допустим 3-ая картинка, что именно тут не понятно или не совсем ясно? androidexample.com/Use_of_Heap_and_Stack_memory_in...
    "Интересует момент начиная от. Вот объявляем мы переменную и что происходит дальше и как дальше структуры и классы располагаются в памяти."

    - Полностью описывает этот критерий.

    Чтобы знать больше, надо заняться уже операционными системами -> процессы -> нити -> ахитектура ЭВМ.
    Ответ написан
    Комментировать
  • Что такое битность команды?

    Therapyx
    @Therapyx
    Data Science
    вот хороший скрипт, то что тебе надо на 10-й странице
    users.ece.utexas.edu/~valvano/EE345M/Arm_EE382N_4.pdf
    Все разжовывать долго, а уже ночь ))
    82ab4bc5cacb44cba5e7e7f57cedf22f.png

    а насчет 16 битных инструкциях. Это ты скорее о Thumb instructions set.
    тут - https://stackoverflow.com/questions/10638130/what-... тут описаны плюсы, минусы итд)

    А так вот наглядный пример:
    ARM:
    mov r3, #0
    loop
     subs r0, r0, r1
     addge r3,r3,#1
     bge loop
     add r2, r0, r1

    => 5 * 4 байта = 20 байт.
    А теперь тоже самое на Thumb
    mov r3, #0
    loop
     add r3, #1
     sub r0, r1
     bge loop
     sub r3, #1
     add r2,r0,r1

    => 6 * 2 байта = 12 байт.
    Ответ написан
    4 комментария
  • Куда двигаться дальше senior разработчику? Новый язык, технологии, opensource, стартап?

    Therapyx
    @Therapyx
    Data Science
    С Возрастом наоборот хочется спокойствия, учить читать - это всегда да, но уже без фанатизма. Если тебе так хочется 24 на 7 проводить в постоянных изучалках и никогда не сидеть на месте, то ищи другое место работы, в крупных компаниях на хотябы средних позициях - сегодня можешь делать программку на жаве, а завтра понадобиться стэк веб технологий, а послезавтра пойдут в дело сети и протоколы, а после после завтра понадобиться написать какой-нибудь плагин на Си. А через неделю настроить машинное обучение на определенные алгоритмы.
    Понимаешь к чему я клоню? ) рассылай резюмешки и доказывай, что ты достаточно компетентен для энной позиции.
    А выбор вектора - это такое... Что для одного хорошо, то для другого плохо. Мне вот например нравится что-то делать с микропроцессорами, но в тоже время для меня это слишком напряжно. Тебе наерняка нравится еще что-то другое, но это не значит, что оно понравится мне. И так тут будет с каждым комментатором, увы. И да, с сеньером ты себя переоцениваешь. Сеньер это далеко не "выучить 1 язык".
    Ответ написан
    Комментировать
  • Путь далее. С++ или ...?

    Therapyx
    @Therapyx
    Data Science
    В универе ты должен научиться программировать. Синтаксис дело вторичное. Если ты научишься этому - то перейти на другой язык у тебя не составит труда. Метаться из крайности в крайность себе дороже. Делай все для универа, а в свободное время пробуй другие технологии.
    - Никто тебе не даст ответа "что лучше", такого понятия не существует. Попробуй все интерисующее и скажи себе - что для тебя лучше.
    Иначе же читай в интернете статьи по сравнениям различных языков. Но опять же с холиварами по сути айос вс андроид. Если тебе такое интересно - то их в интернете море и еще ведро сверху
    Ответ написан
    Комментировать
  • Как вы определяете, сколько времени нужно на задачу?

    Therapyx
    @Therapyx
    Data Science
    Это уже из области software engineering, разные агильные и не агильные методы. Возмем на примеру Scrum'a или XP с их стори картами, planning poker. Пример:
    - Есть крупная задача. Разбиваете на стори карты, к примеру юзер вводит свои данные и нажимает на кнопку регистрация, что в дальнейшем так же разбивается на таски, какие тут видно? Юзер вводит свои данные? Какие данные? - Имя фамилию адресс телефон. Нажимая на кнопку что происходит? Данные берутся или записываются в дб, из этого пункта можно сделать еще такс как "подлючение к базе данных". И конце концов когда эти кусочки колбасы наимельчайше порезаны на маленькие части. Идет распределение времени для каждого из них (кстати могут и сразу определять время для всей юзер стори). Определяют как Story Points, где 1 = полный раб. день(тоже может вариироваться). И вот сидит команда и распределяет время для этих задач, к примеру я говорю, что для подключения дб(сейчас очень абстрактно!!) надо 0.5CP, Вася говорит 1CP, а Петя говорит 0.1CP в итоге получается, что 3 человека из команды не сходятся во мнении. Тогда каждый из них начинает рассказывать всем свою точку зрения, почему он так считает, почему именно 0.5 или 1 или 0.1 все выслушивают - и голосуют еще раз на базе того, что они услышали, до тех пор пока время не совпадет или хотябы приблизительно.
    После чего каждая юзер стори имеет свой общий вес времени. Все они складываются. И вот пожалуста, прошел анализ времени(в скраме он правда делается для 2-4 недель(1 спринта)). Но на практике многие ошибаются в расчетах поэтому и делают каждый раз по месяцу, тем самым увеличивая точность этих предсказаний.

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

    Therapyx
    @Therapyx
    Data Science
    Если за такие деньги и берешь уже, то бери механику.
    Вот пример https://www.amazon.de/Mechanische-Tastatur-Layout-...
    Идеентичная модель без RGB стоит почти в 2 раза дешевле.
    Но для программирования таких наворотов не надо, хотя макросы и бинды при должном использовании(если заморочиться) могут принести приличный профит ))
    для печатания советую Cherry blue свитчи. А вообще как уже и говорили - такие вещи надо реально чувствовать. Ибо есть уйма разных свитчей, в том числе и собственных разработок от стилсериеса, логитеча, которые отличаются от стандартной линейки черри. Все они дают разную отдачу, звуки, плотность нажатия и соотвественно ощущения. Так что магазин - не иначе. Или хотябы в магазине понять и попробовать различные механики, определиться какие свитчи нравятся тебе больше всего, а потом уже заказывать в интернете на их основе.
    Ответ написан
    Комментировать
  • Список популярных языков по уровню порога вхождения?

    Therapyx
    @Therapyx
    Data Science
    Самый легкий язык это англ+гугл, ну и вот, что он выдал посложнее)
    https://www.quora.com/What-is-a-list-of-programmin...
    а вот еще
    https://www.reddit.com/r/learnprogramming/comments...
    Конкретного мнения как "утверждения" нет и не будет. Кому-то 1 определенный язык может даваться труднее, чем другой и наоборот для другого человека. Это как споры, с какого языка начинать? Если бы я вернул время назад, то начал бы сразу с плюсов.
    Ответ написан
    2 комментария
  • Как перебрать массив задом на перёд?

    Therapyx
    @Therapyx
    Data Science
    $max = sizeof($array);
    for($i = max; $i > 0 ;$i--)
    {
    echo $array[i];
    }

    a... и сохранить.
    $array= array_reverse($array);
    Ответ написан
    Комментировать
  • Программирование 24/7?

    Therapyx
    @Therapyx
    Data Science
    Ну студентом...
    Спи, учись, бухай.
    кодить 24 на 7, я бы сказал даже хуже, как для личности тебя в целом, так и для здоровья.
    Кто тебе мешает спать 7-8 часов, часов 10 учиться/лекции и 6-7 часов смотреть сериальчики или тусить?
    Ответ написан
    Комментировать
  • PHP include в зависимости от дня недели и времени?

    Therapyx
    @Therapyx
    Data Science
    А что если сделать ход конем и сначала инициализировать переменную стринга для недели, после чего делать всего-лишь один инклюд. На подобии include($var + ".php")?
    Точного синтаксиса не знаю, правильный алгоритм дал - дело за тобой ))
    Ответ написан
    Комментировать
  • Сколько математики нужно программисту?

    Therapyx
    @Therapyx
    Data Science
    - булева алгебра (везде)
    - дискретная математика (желательна(не все темы, но для логики всегда будет полезно) + для сложных задач)
    - линейная алгебра (геймдев, machine learning...)
    - дигитальная схемотехника(неуместно, но на уровне булевой - мне лично она помогла хорошо, тут уж от человека к человеку)

    Приведу тебе 2 примера из личного опыта, так как основное уже и писали - "все зависит от места работы". Когда меня ставили "джуном",<-подчеркиваю, пару лет назад, уже тогда ожидали, что я буду спокойно писать свои алгоритмы сортировок под ту или иную задачу. Проводить анализ больших, терабайтных, данных с охереть какими сложными структурами данных. Использовать такие понятия как интерполяция, экстраполяция и тому подобное. Так же и чинить сортировку данных по 4-5 различным критериям с использованием максимум 3-4 индексов(пусть будет в массиве), а в идеале вообще в рил тайме без задержек - это все сложные алгоритмы, и это я еще не далеко не в самое далекое и глубокое место попал, есть немеренно позиций с куда большими требованиями к кандидатам. Но меня вот не спрашивали и мне приходилось в самом прямом смысле - страдать, это притом, что я довольно таки не плохо знал математику, в множестве ее направлениях(не школьных), ну или по крайне мере - так думал :D И Вряд ли бы без помощи с многими задачами смог бы справиться. Тогда то у меня и появилось первое "восхищение" каким-либо человеком за всю жизнь, после того как видел, что творит мой начальник с 30 летним стажем работы))

    А вот тебе второй сценарий, когда еще начинал учиться и работать в маленькой конторке, сайтики, сайтики, базы данных и вот там все, что приходилось использовать это ифелс, и написать формулу расчета грязных-чистых выплат (Привет 5-й класс).
    Ответ написан
    2 комментария
  • Почему нет сайтов с курсами по обучению программирования для детей?

    Therapyx
    @Therapyx
    Data Science
    Есть, Scratch. Как раз предназначен для малого возраста.
    Ответ написан
    3 комментария
  • Как обработать большое количество данных за минуту?

    Therapyx
    @Therapyx
    Data Science
    Оптимизированные алгоритмы, иначе же выбирать более подходящие платформы для больших данных. Я так предполагаю "MySql" и php - это ужасное решение, если думать о Big Data и ее обработки.
    Но как уже писали выше- нужна конкретика, а не "допустим 1000".
    Ответ написан
    2 комментария