Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×
Senior Software Developer в Tietoevry
  • Відправ акулу на море! Збір 10 млн грн на борти Shark (UPD: зібрано!)

  • Врятуємо хлопця з 92 ОМБр

  • Useless коментарі до коду: які писати не варто і чому

    Днями використав композицію гіперболічного тангенса та полінома. Якщо саму композицію ще можна через graph калькулятор збагнути, то от коефіцієнти вже дзуськи. Без коментарів макітру можна довго чухати.
    Інший приклад з проєкту. Кінцеві автомати. Хай якими пиши їх на таблицях переходів наочними, а вони однаково краще сприймаються графом. Тому все одно робиш стейт діаграми на Конфлюенсі й в коді на них посилаєшся.
    Мій досвід про «документування кодом» свідчить, що це залежить від проєкту та домену. А подекуди й мови. Бо в плюсах буває коментую те, що в тому ж Гаскелі коментувати навіть на думку б не спало. Єдине певно з чим погоджусь, що краще взагалі без коментаря, ніж коментар беззмістовний, який не має цінності

    Підтримав: Denis Melenevsky
  • Useless коментарі до коду: які писати не варто і чому

    Загалом слушне зауваження, проте не вирішує проблеми повністю, адже це O(2^n) реалізація, тож верхня межа там теж має бути дуже близенько. Та й хоч небезпечні варіанти там і виключені, але наявність мінуса поруч з unsigned мене одразу б напружила.
    Краще лінійний варіант, DP bottom up. Жодних мінусів. Це єдине, що тут варте коментаря, як на мене. Щось типу // TODO: exponential version. DO NOT USE! you’ve been warned.
    Пригадую, що колись навіть реалізував O(1) варіант, коли був знайшов статтю про використання генератрис у комбінаторних задачах. Та то вже радше вправа для leetcode.
    І хоч я з автором на одній хвилі, для мене це скоріше приклад як краще не робити.

  • Useless коментарі до коду: які писати не варто і чому

    Та й цінність

    fibonacci calculates Fibonacci series using recursion approach.

    в мене особисто викликає сумніви, а надто в представленій формі, коли побіжний погляд відповідає на всі питання промовистіше за тисячі коментарів.
    В самого проєкт, де часто трапляються коментарі штибу
    struct A {    /**    * @brief Constructor of A    * @param Reference to B    */    A(B& b); };
    Тож загалом я з автором погоджуюсь, бо мені беззмістовні коментарі лише заважають. Проте приклад обраний невдало, як на мене.

  • Збираємо 4,5 млн грн на «небесну кару» для окупантів. DOU збір (UPD: зібрали!)

  • Купимо 80 дронів для «Азову». Новий збір спільноти DOU (UPD: зібрали)

  • ІТ-спільното, купимо армії «літачок»? Збираємо $ 1 000 000 на сучасний комплекс PD-2

  • Війна

    Залишу також допис, може хто відгукнеться. Бо сам сюди зайшов щоб те саме дізнатись.

  • Тестовое задание «на дом» — строго за деньги по предоплате

    Понял.
    Если количество возможных ключей тоже 100, то, насколько я понимаю, какой нибудь gperf без проблем сгенерирует такую minimal perfect hash function with order preservation. А если возможных ключей >= 2^32 при всего 100 возможных значениях, то тогда главный вопрос не в том, как сделать итераторы, а в том как решать вопрос с коллизиями. И в этом случае по-моему легче сразу взять дерево и не морочить себе голову.

  • Тестовое задание «на дом» — строго за деньги по предоплате

    А поподробней про размер таблицы?

  • Тестовое задание «на дом» — строго за деньги по предоплате

    Есть хэш функции с сохранением порядка

  • Тестовое задание «на дом» — строго за деньги по предоплате

    Зачем мне реализовывать хэштаблицу с О(log n) + упорядоченность, если имея хорошую хэш функцию и размер я могу реализовать O(1)? Эффективность хэштаблиц именно в этом. Иначе можно просто напрямую пользоваться сбалансированным двоичным деревом

  • Тестовое задание «на дом» — строго за деньги по предоплате

    С помощью упорядоченных итераторов вы можете AVL tree превратить в структуру с поиском\вставкой за O(1)? Мне любопытно как

  • Тестовое задание «на дом» — строго за деньги по предоплате

    В принципе, достаточно помнить время поиска\вставки. Это уже много инфы для рассуждений. Сложность О(1) у хештаблицы уже вычеркивает бинарные деревья как вариант реализации, так как сбалансированное AVL или Red-black дерево это O(log n). Сложность O(1) только у массивов. Остается вопрос в адекватной хеш функции без коллизий.
    Но я абсолютно согласен, что такие вопросы чрезмерны в подавляющем большинстве случаев. Я это знаю, потому что мне это было отдельно интересно. А в остальном для этого у меня в плюсах всегда была стандартная библиотека, где есть map/unordered_map. Мне встречались варианты собеседований, где вопросы по внутренностям алгоритмов и структур данных были крайне уместны. Первое это automotive отрасль, где один из ISO стандартов не разрешает пользоваться сторонними библиотеками. Поэтому, как я понял, очень много имплементить приходится самому. Второе — это у людей алгоритмы были реально must have, поскольку в проекте было много вычислительной геометрии, свои оптимальные реализации некоторых стандартных вещей и даже несколько патентов на эту тему. Во всех остальных случаях подобные интервью очень многое говорят не только о самомнении интервьюера, но и о серьезности самой конторы.

  • Как учить иностранный язык так, чтобы заговорить на нем

    Помню как-то смотрел ролик от основателя LingQ, где он говорил об основной ошибке при изучении языка — люди сидят на учебных материалах слишком долго и многие так никогда и не окунаются в естественную среду языка, в то время как продираться сквозь непонимание языка оказывается гораздо эффективней. В том ролике он говорил, что на изучение своих первых 4х языков потратил столько же времени, сколько на остальные 12 впоследствии. Нашел его краткую статью на эту тему medium.com/...​age-learning-6ebf26117be2

    Ассоциациями пользовался, но самым эффективным для меня в итоге оказалось заучивание слов сразу в контексте фразы. Как-то был перерыв с норвежским и многие слова пришлось заново вспоминать. Но, например, фразы наподобие å stille et spørsmål (для датчанина, полагаю, без перевода понятно) намертво впечатались. К сожалению, учить фразами я начал уже после норвежского. Этому меня ирландский научил. Он значительно сложнее языков германских групп (англ., норв., датск.). Тут чтобы сказать простое спасибо тебе нужно знать о глагольных частицах, прошедших условных формах глагола и предложных местоимениях. А можно просто запомнить фразу go raibh maith agat. С ростом багажа фраз мозг постепенно самостоятельно учится разбирать их синтаксис, определять схожести\различия и проводить параллели. Так можно учить язык практически не заглядывая в грамматику. Полагаю, как-то так же мы все учим язык в детстве. Задолго до знания падежей и спряжений.
    В остальном, если уровень языка уже позволяет смотреть фильмы и сериалы, то к описанному добавил бы еще чтение художественных и научно-популярных книг. Дает хороший качественный скачок, поскольку сталкиваешься с литературным текстом, зачастую красивым и богатым на формы и обороты.

  • Хостинг для домашнього проекту?

    heroku.com
    Це не AWS у тому вигляді, в якому я його пам’ятаю, коли з ним працював. Швидше готовий онлайн контейнер: сам відстежує новий push в git репозиторій, запускає збірку і потім те, що зібрав. Можна залогінитись у bash.
    Для більшості мов, наскільки я розумію, є готові білдпакі, тобто образ з pip для python проекту, node.js для node проекту и т.і. В моєму випадку був haskell. Білдпак із haskell stack знайшов на стороні і без проблем запустив веб сервіс на yesod. Все було безкоштовно.

  • Как читать книгу

    Мне нравится, как это частично показано здесь

    Шикарно, спасибо!

    Підтримав: TechnoBarbarian
  • Как читать книгу

    Отличный образец научпопа

    Оговорился. Конечно же научной фантастики.

    Я думаю, что тут неслабое влияние оказывает рынок, в котором большинство из нас работает: то бишь аутсорс и аутстаф.

    Возможно. Признаться об этом не задумывался. А может дело в том, что в моих областях все меняется не так стремительно, как в iOS. В Хаскеле от самого концепта, описанного часто формальным языком абстрактной алгебры, до первой удачной его реализации в виде библиотеки порой можно обнаружить разрыв в пару лет, а то и 5-10. А обсуждать в 1000й раз выходящий раз в пятилетку новый стандарт языка, как в С++, попросту скучно. :) Особенно когда обнаруживаешь себя на кофепойнте в компании питониста и проджект менеджера, к примеру. Не скажу, что мы всякий раз обсуждали Докинза или Глейка, но с другой стороны как-то и без колбасы с фреймворками было о чем поговорить.
    К слову, что касается литературы по саморазвитию, то тут тоже книга книге рознь. Например, автобиографию Бенджамина Франклина я бы даже сейчас не задумываясь посоветовал любому.

    Підтримали: Kseniia, TechnoBarbarian
  • Как читать книгу

    Топим за нового Доктора и надеемся она будет так же крута как Теннант или Смит!

    Підтримав: anonymous
← Сtrl 123 Ctrl →