Как стать автором
Обновить
-1
0
Фёдоров Александр @youlose

Пользователь

Отправить сообщение
  1. выборка по sale_id + sale_dt, не имеет смысла потому что sale_id - первичный ключ, там значения не повторяются + они упорядочены

  2. Почему бы для пагинации не использовать WHERE sale_id > *последнее значение id продажи* ?

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

Мне кажется что вы путаете Pattern Mathing и Conditional Statements. Pattern Matching про сравнение одной структуры данных с другой и не важно что потом произойдёт. Switch/case это про выбор ветки с кодом, основываясь на выполнении условия и не важно как именно он сравнит паттерн матчингом или <, >, ==.

К примеру в языке Elixir в котором Pattern Matching был изначально можно писать и так:

defp add_is_trigger_to_options(question, %{task_id: task_id, question_type: :TRIGGER}) do

 // код

end

defp add_is_trigger_to_options(question, nil) do

 // другой код

end

и вот так:

defp add_is_trigger_to_options(question, task) do

  case task do

    nil -> // другой код

    %{task_id: task_id, question_type: :TRIGGER} -> // код

  end

end

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

По умолчанию Rust компилирует без оптимизаций, надо как минимум делать так:

rustc -C opt-level=3 rust/src/main_horse.rs

Вот документация на эту тему https://docs.rust-embedded.org/book/unsorted/speed-vs-size.html

соотвественно результат у меня на ноутбуке (macbook pro):
rust без оптимизаций:
Attempts: 3, duration: Some(36.852092s)

Executed in   36.86 secs    fish           external

   usr time   36.43 secs    0.16 millis   36.43 secs

   sys time    0.20 secs    1.94 millis    0.20 secs

rust с оптимизациями (-C opt-level=3):

Attempts: 3, duration: Some(1.103816s)

Executed in    1.30 secs      fish           external

   usr time  990.80 millis    0.11 millis  990.69 millis

   sys time  113.74 millis    2.05 millis  111.69 millis

java:

Attempts: 3, duration: 2.868 sec

Executed in    3.06 secs    fish           external

   usr time    5.00 secs    0.13 millis    5.00 secs

   sys time    0.41 secs    1.99 millis    0.41 secs

Почему-то не увидел в статье самого главного - про найм: "как нанять мидла, если владелец бизнеса или HR не разбирается в предметной области?". Работал с несколькими бизнесами, где за зарплату сеньора работали джуны и исправлять результаты их жизнедеятельности оказалось очень и очень дорого и сложно.

я имел в виду не тимлидство, а что-то как здесь https://github.com/avito-tech/playbook/blob/master/developer-profile.md#lead

есть же ещё lead developer и principal developer

Pomodoro не про микроменеджмент, а про гарантированные перерывы в работе (ну или возможности для более глубокой фокусировки на задачах, кому что надо). И да, это про борьбу с выгоранием, потому что часто выгорание начинается с "сейчас поднажму ещё пару часиков...".

Ну значит мне не везло с командами или вам везло чуть больше. К Perl у меня всё же тёплые воспоминания, из него вынес ощущение свободы, что можно писать одно и тоже разными способами, умение всё что угодно сделать регулярками и понимание скалярного и списочного контекста данных, но код на нём так и не пишу.
Я питонист не настоящий, но последняя задача на питоне решается достаточно красиво (и можно ещё юникод распознать без проблем) в одну строку!
bytearray([97,67,101,123,114,99,84,84,101,104,95,116,48,121,125,116,53,52,115]).decode('ascii')
Автор коммента написал (там про PRO)
«Замените свои MacBook «PRO» с 4GB памяти на нормальные компьютеры с 16GB памяти и PCIe SSD диском за такую же стоимость и не будет ничего никогда тормозить. „

Air из другого класса устройство и я считаю что обладает достаточными характеристиками для комфортной работы
Вы очень давно не видели macbook pro вживую, я в 2015 покупал себе самый базовый, там было 16 гигов

P.S. и про диск тут уже писали, ~2 гига/сек выдавал
на подключение и вызов подобной функции тоже надо код писать
Конечно, на нём очень удобно и быстро демонов писать и те же однострочники из терминала удобнее рубей непонятно на чём делать.

P.S. целые Homebrew и Chef без рельсов написано и немаленькие проекты
«чем хайповей язык, тем выше медиана, и тем больше отрыв верхов от низов»
Вы статью то читали?
Что может быть хайповее JS сейчас? А там и медиана хромает и отрыв.
В хайповых языках больше дилетантов, поэтому нижняя планка падает сильно вниз.
И так как там в целом больше разработчиков, есть из чего выбирать и это понижает ЗП мидлов и сеньёров.
Чтобы заработать на хайпе нужно очень быстро прыгнуть до топов в этой области, это очень непростая задача.
Всё очевидно же, если людей не ограничить то они будут часто выбирать сразу всё. И тогда и работодателям будет невозможно искать по специалистам и данных надо будет больше перелопачивать (это решаемо, но не теми дешёвыми ребятами которых нанимают чтобы подобные проекты делать).
Ну и автор пишет — что он много в чём профессионален, наверное так и есть, но есть узкие специалисты, которые будут лучше чем автор (это не точно =), но логично).
Вот это вы вспомнили =)

Да, с тех пор я и с Python познакомился (даже поддерживал несколько проектов на нём на фрилансе и несколько плагинов написал). А также с Erlang/Elixir, сейчас Haskell и Rust изучаю.

Про Perl могу сказать вот что: как только разработка становится командной все эти документированные багофичи парализуют прогресс (и к PHP это относиться в том числе). Его я больше не использую, ни для чего.

Python — очень неплохой и понятный язык программирования, в некоторых областях он монополист (ML и BigData). Так или иначе с ним приходиться сталкиваться и опыт в основном положительный.

Мне всё же больше нравится Ruby для веб разработки и написания инструментов, он более консистентный + разработчики на нём любят удобные интерфейсы использовать, ну и в целом им не чуждо прекрасное + лучшая поддержка unicode среди всех языков (японцы жеж) =)

Самый чемпион по сложности веб фреймворков для меня — Haskell, причём, сам синтаксис и основополагающие концепции оказались проще чем предполагалось, а вот простейшее API сделать за вечер мне далось невероятной болью и страданиями (там надо что-то принципиально новое придумать), для сравнения на Elixir + Phoenix за полчаса с нуля написал приложение, что меня очень сильно удивило.
«потому программисты не дураки и не будут указывать уровень 2 по многим навыкам в такой таблице, даже если он такой и есть»
Это же признак неадекватности руководства, значит «наказываете инициативу», боритесь с токсичным начальством.
Джун — тот кто решает простые проблемы сложным путем.
Мидл — тот кто решает простые проблемы простым путем, сложные сложным.
Сеньер — тот кто решает сложные проблемы простым путем
«Oracle JDK базируется на OpenJDK»
«OpenJDK полностью бесплатная и распространяется под GPL.»

Получается что у платной Oracle JDK должны быть открыты исходники и можно самому патчи LTS собирать?

Информация

В рейтинге
Не участвует
Откуда
Самара, Самарская обл., Россия
Дата рождения
Зарегистрирован
Активность