• Docker is deprecated — и как теперь быть?
    –1
    нет, можно вообще ничего не разворачивать у себя, либо по минимуму — ну там постгрес поставть локально. Все через тесты проверять, потом деплоить на дев, потом уже на прод.
  • Я провёл более 600 технических интервью — и вот пять проблемных мест, которые я заметил у кандидатов
    +1
    К нам иногда приходят новые разработчики в крупный энтерпрайз проект, который делается на государственные деньги. У этих бедолаг изначально глаза горят, а потом через несколько дней они понимают куда попали и огонь в глазах потухает и в них видно только отчаяние. Слава богу я больше не работаю в этом проекте, это был ужасный опыт.
  • Коллеги, вы меня огорчаете
    +1
    Я согласен, поэтому и считаю, что если берешь на работу человека, где в основном нужно писать круды, то нужно и на собеседованиях спрашивать про работу сети, бд, инедексацию итд. Если же человек идет разрабатывать бд, то знать про сортировку полезно.
  • Коллеги, вы меня огорчаете
    0
    Ну так и вопросы тогда нужно задавать не про сортировки, а про то, как оптимизировать сеть, бд, итд.
  • Коллеги, вы меня огорчаете
    0
    Может и такое быть, так и не нужно ничего оптимизировать предварительно не замерив и не зафиксровав факт наличия проблемы с производительностью.
  • Коллеги, вы меня огорчаете
    +8
    А потом на практике окажется что метод пузырьком будет быстрее на малом объеме данных, потому-что кеш.
  • Академия плохого кода: переводы строк, пробелы и отступы
    0
    сейчас некоторые переходят на 100 и 120
  • Мне надоело, что индустрия зависит от прихоти создателей языков программирования. Сообществу нужно больше власти
    0
    Я думаю нужно различать синтаксический сахар и конкретный концепт, скажем pattern matching — это не синтаксический сахар.
  • Мне надоело, что индустрия зависит от прихоти создателей языков программирования. Сообществу нужно больше власти
    0
    Ну точнее value типы есть в java — все примитивы, но нельзя создать свой собственный value тип.
  • Мне надоело, что индустрия зависит от прихоти создателей языков программирования. Сообществу нужно больше власти
    0
    docs.microsoft.com/en-us/dotnet/api/system.type.isprimitive?view=netcore-3.1#remarks

    The primitive types are Boolean, Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, IntPtr, UIntPtr, Char, Double, and Single.

  • Мне надоело, что индустрия зависит от прихоти создателей языков программирования. Сообществу нужно больше власти
    0
    Нет, просто в java в принципе нету value types, а в C# они есть, а примитивы есть и в C# и в Java.
  • Главная причина, почему не Linux
    0
    Он удобный для некоторого подмножества квалифицированных пользователей, у которых есть желание ковыряться в системе.

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

    Если уже работа того требует, то хочешь не хочешь, а ковыряться в системе придется.
  • Реальные сроки изучения слепой печати при низкой мотивации
    0
    Я таки переборол себя и раскашелился, по началу было очень сложно на ней работать и очень не удобно, из-за чего сомневался в покупке, но потом через месяц уже привык более менее, есть некоторые нюансы при работе конечно, к примеру, не стоит пытаться дотянуться до всех клавиш не двигая кисти, в основном все клавиши досягаемы, но когда пытаешься использовать шорткаты то обычно надо немного кисть сдвинуть (и ничего страшного в этом я не вижу) я по началу пытался так дотягиваться, потом прочитал в доке что не надо так :) Ну и к слову, год уже пользуюсь и давно забыл уже про потраченные 350 баксов, зато эта клавиатура продолжает мне приносить огромное наслаждение и радость.
  • Реальные сроки изучения слепой печати при низкой мотивации
    0
    Работал на MS Nature, хорошая клавиатура, удобная, я давно освоил слепой набор текста, еще на плоских. Но вот сейчас у меня новая клавиатура — Kinessis Advantage 2, вот она более экстремальная в этом плане, на ней жутко не удобно набирать текст не правильными пальцами, а я привык набирать не правильно, т.к. тренажерами не пользовался никогда. В итоге за 2 неделе привык, еще через 2 недели привык к спец символам и кое каким шорт катам, правда некоторые шорт каты пришлось перемапить. Зато теперь это самая удобная клавиатура из всех что у меня были и значительно увеличилась точность набора текста.
  • Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ
    +1
    То что у вас код со временем пишется гораздо-гораздо медленнее говорит лишь о плохом проектировании софта, тоже самое лего получить и с чистым JS. Сейчас то конечно да, jQuery уже не актуальный и вплоне хватает чистого ванильного JS, но в свое время он был просто жизненно необходим, чтобы нормально писать кроссбраузерные сайты, потому-что раньше браузеры не следовали стандартам и делали все по своему.
  • Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ
    0
    В общем-то никто не мешает тебе также делать и в Data Oriented Design, только вместо классов тут структуры, чаще всего иммутабельные.
  • Чем быстрее вы забудете ООП, тем лучше для вас и ваших программ
    0
    ООП ни плохо ни хорошо, надо уметь его правильно готовить, практика показывает, что у многих с этим очень плохо и ООП в данном случае может только навредить. Лично я для себя делаю так — для низкоуровнего АПИ очень хорошо ложится Data Oriented Design (тут как бонус еще и скорость), для высокоуровнего АПИ очень хорошо ложится ООП.
    А вот еще и не плохая статья как готовить ООП: OOP is dead, long live OOP
  • Краткий и бодрый обзор архитектуры компиляторов
    0
    Обычно — это просто разделение ответственностей, не обязательно лексический анализатор должен полностью пройтись по исходнику и сохранить все токены чтобы потом еще раз по токенам идти, можно делать это параллельно, скажем вызвал синтаксический анализатор метод lexer->getNextToken() лексер прочитал следующий токен и остановился, попутно сохранив offset. В итоге это просто инкапсуляция чтобы не думать о токенизации во время написания синтаксического анализатора.
  • Текстовый редактор — это вам не высшая математика, тут думать надо
    0
    Такие приложения, как базы данных, работают с большим количеством данных и поэтому тут больше выигрывают разные хитрые алгоритмические решения, а вот для приложений, которые работают в рантайме на обычном железе, такие как игры, браузеры IDE итд, уже надо не только об эффективных алгоритмах думать (если конечно хочется повысить производительность). Как по мне в java одна фатальная проблема — это сплошные классы везде, нету value типов совсем (ну кроме самых примитивных типа int), что затрудняет работать с памятью эффективно, да и вообще выделить что-то не на куче, за счет этого и тормоза. И вся существующая экосистема вокруг java именно построена на классах с выделением на куче. Простенький пример: хочется мне рендерить интерфейс и у меня как обычно есть луп где постоянно вызывается какойнить progress и render, есть пара методов для отрисовки, в методе для отрисовке надо передать экземпляр класса Rect, к пример для указания определенных границ, и вместо того, чтобы это сделать value типом, т.е. структурой и просто выделить на стеке, передать и забыть, мы либо создаем экземпляр в лупе и имеем с этого кучу проблем, либо костылим. В новую java собираются добавить value типы, вот как добавят, вот заживем.
  • Текстовый редактор — это вам не высшая математика, тут думать надо
    +2
    более специфичное это какое? Данный пример хорошо демонстрирует что нужно знать архитектуру компьютера и задача не всегда состоит в том, чтобы использовать существующий алгоритм, бывает нужно просто пробежаться по данным, и иногда выгоднее данные скопировать просто в линейный массив (к примеру из дерева) и потом в отдельной задаче пробежаться по нему и выполнить всю необходимую работу (на примере дерева — будет значительно быстрее чем выполнять эту же самую задачу в каждом узле), как пример подобной задачи — ray tracing, в один массив складываем простые структуры — запросы с нужными данными для вычисления, в другой массив складываем результат, при обходе сцены состваляем запросы, в конце линейно обходим данный массив, выполняем задачи рейтрейсинга и складываем результат своей работы в другой массив. Вот другие примеры: поиск в линейном массиве может быть быстрее чем поиск в heap-based BST дереве, log n бинарный поиск в отсортированном массиве может быть быстрее чем O(1) поиск в heap-based хеш табличах. Big-O нотация чаще выигрывает для больших значений n.
    Пример рейтресинга взят отсуюда: gamesfromwithin.com/data-oriented-design-now-and-in-the-future
    также может быть интересно: vimeo.com/97337258
  • Текстовый редактор — это вам не высшая математика, тут думать надо
    0
    Попробую, но в последний раз goland мне просто удалил кусок кода )
  • Текстовый редактор — это вам не высшая математика, тут думать надо
    +1
    специально только что проверил, режим в emacs'е для D вместе с языковым сервером, линтером, автоформатером и прочими дополнительными скриптами отъедает 220 МБ оперативной памяти. Для сравнения intellij idea 1.2 ГБ, и время от времени циферка увеличивается.
  • Текстовый редактор — это вам не высшая математика, тут думать надо
    0
    Не знаю, может есть какие-то плагины для emacs'а с такими фичами. Но вангую что нет, и выше я уже писал что emacs по фичам проигрывает, но тем не менее вполне себе можно создать из него IDE.
  • Текстовый редактор — это вам не высшая математика, тут думать надо
    0
    я хорошо знаю свои инструменты, в том числе и ide, которыми пользуюсь, я писал выше, что не дотягивает по фичам, но и не сильно таки уступает, по поводу отжора памяти не замечал ничего подобного, у меня старый ноутбук, на котором всего 2ГБ оперативки + всякие language server линтенры и прочее работают и все это съедает около 200-400МБ максимум (вместе с emacs'ом). Когда я выбираю emacs или IDEA (другие IDE я не воспринимаю), я всегда смотрю на то как хорошо IDEA поддерживает язык, и если все супер, конечно же я использую IDEA, потому-что действительно много удобных фичей, теже тайп хинты, override, implement, работа с бд итд, но если язык плохо поддерживается или поддержка языка слишком уж убогая и тормозная, то я предпочту использовать emacs. Лично я для Java, Kotlin, Python использую IDEA, для go и D только emacs. Главное настроить все надо, а сделать из emacs удобный и приятный инструмент довольно не простая задача.
  • Текстовый редактор — это вам не высшая математика, тут думать надо
    0
    для питона например есть rope: github.com/python-rope/ropemacs
  • Текстовый редактор — это вам не высшая математика, тут думать надо
    +3
    О нотация показывает как растет функция т.е. показывает ассимптотическую сложность и при этом опускаются постоянные коэфициенты, как примеру — сортировка вставкой будет работать быстрее на маленьком количестве данных чем быстрая сортировка.
    www.quora.com/Why-is-an-insertion-sort-faster-than-Quicksort-in-little-arrays
    Плюс ко всему при сортировке вставкой данные намного лучше ложатся в кеш, за счет линейности.
  • Текстовый редактор — это вам не высшая математика, тут думать надо
    +2
    тем не менее помимо сложности алгоритмо есть еще и внутренне устройство компьютера, которая может алгоритм сложность 0(N^2) выполнить быстрее чем O(N log(N)) за счет особенностей архитектуры и особенностей данных с которыми работает программист. Да и когда разработчики накручивают кучу абстракций поверх абстраций поверх абстракции поверх фреймфорков тоже играет свою роль.
  • Текстовый редактор — это вам не высшая математика, тут думать надо
    +2
    Сразу видно, что вы не умеете нормально пользоваться текстовыми редакторами P.S. я пользуюсь IDEA и emacs в зависимости от проектов и emacs не сильно проигрывает по фичам IDEA, зато жрет памяти и нагружет процессор намного меньше, если emacs может кушать 150 МБ, то IDEA будет может кушать 2-4 ГБ., а если это android studio то и все 16 ГБ сожрет.
  • Моё разочарование в софте
    +2
    Если же сравнивать emacs с чем-то не ide, например, sublime — все работает практически так же быстро, если не наставить кривых плагинов.

    Вот не согласен, саблайму до емакса очень далеко, из емакса вполне себе можно соорудить полноценную IDE, чаще всего емакс может все что может и IDEA от JetBrains, согласен, emacs по функционалу не дотягивает до JetBrains продкуции, но не дотягивает он совсем чуть-чуть, для меня emacs — это второй выбор после IDEA, если нет нормально поддержи для языка в IDEA, то я лучше выбиру emacs, для питона есть + всякие приятные плюшки в виде работы с базой данных (в про версии), а вот для го я ничего такого не увидел что может emacs, при этом emacs работает в разы быстрее, стабильнее и полностью настраиваемый, написать расширение для емакса намного проще (пару строк на лиспе), если чего-то не хватает, а вот написать расширение для IDEA уже намного сложнее (я имею опыт написания расширений и под емакс и под IDEA)
  • Моё разочарование в софте
    +1
    а вот emacs'ом я и до сих пор пользуюсь, второй после IDEA инструмент для написания кода.
  • Моё разочарование в софте
    0
    Не знаю про 90е, но вот я помню как работал в 3D редакторе — Maya 7 с 1 ГБ оперативки и все летало, на больших сценах у меня начинала тормозить графика, в итоге докуил еще 1 ГБ оперативки и программа стала просто нереально быстрой.
  • «Божественный» код (GOD'S code)
    0
    Конечно излишнаяя приверженность — это плохо, но забивать на нее тоже нельзя, вообще сильно зависит от размеров проекта, если проект очень большой, то тут сразу лучше начать адекватно разрабатывать архитектуру, если проект постоянно меняется, то правильная архитектура поможет быстро выпилвать устаревший функциаонал и внедрить новый, легко протестировать все это итд. Если же проект не большой, то сильно можно и не заморачиваться и возможно получится все удержать в голове. По поводу преждевременной оптимизации — лучше бы люди все же иногда задумывались бы об оптимизациях, а то последнее время все полюбили это правило и вообще не оптимизируют ничего, что относительно простые программы тормозят на весьма не плохом железе.
  • «Божественный» код (GOD'S code)
    0
    Ага, посмотри что компилятор генерирует, он может такое нагенерировать ради оптимизации кода, что нарушит все ваши правила, и не важно какой чистый и продуманный код вы напишете.
  • Погружение в разработку на Ethereum. Часть 1
    +1
    чтобы писать контракты удобнее использовать truffle и testrpc.
  • Использование библиотеки Android support percent на примере PercentRelativeLayout
    0
    Уау, это просто фантастика!
  • В ожидании Linux версии: проверка кода графического редактора Inkscape
    0
    Для меня наоборот менее читабельный подобный код, я в таком коде начинаю немного путаться с таким обилием кудрявых скобок и вложенностей.
  • Катя, Go, Dcoin и Android
    +5
    Мне показалось, что это можно считать завершением моего временного отшельничества и я написал Кате.

    Я решил, что, когда мы встретимся, предложу ей переехать жить ко мне и ни о чем не париться.

    Сдался мужик, а так хорошо ее отшивал.
  • Обзор примера применения обучения с подкреплением с использованием TensorFlow
    0
    многослойный перцептрон

    Это как? я думал таких в природе не существует.
  • Xamarin и Xamarin.Forms – кактус в шоколаде. Часть 1
    +1
    Луше и правда делать интерфейсы для каждой платформы своими, в большинстве случаев, т.к. пользователи iOS к примеру больше привыкли к меню с вкладками, а на Android к боковому меню. Ну и стилистика немного другая.
  • Data Modelling and Databases для первокурсника
    0
    А мне стыдно быть выпускником такого вуза.