1) Я уверен, что распределение по дисциплинам у нас не 100% идентичное.
Абстрактно: в стране А учат Discrete Structures (45%), Programming(45%), Algorithms(10%)
в стране Б учат Discrete Structures (33%), Programming(33%), Algorithms(33%)
Давая больше вопросы на Algorithms, можно подыгрывать стране Б.
2) Внутри дисциплины существует тоже самое распределение. И т.д.
Как кто-то выше сказал: дай тест ЕГЭ по математике всем школьникам мира — и выяснится, что русские самые гениальные математики. Нет, они просто натасканы на решение такого типа задач. Я неоднократно видел межнаров (победителей международных олимпиад по математике/физике), которые пытались вкурить что же имеется в виду на тесте GRE. Просто я видел много межнаров, которые в общаге МФТИ готовились к GRE, и которые обсуждали его. Так вот сложность была не в том, что решить задачку. А в том, чтобы понять, чего вообще от тебя хотят. А когда понял, то задачка-то тривиальная, для школьника.
3) Может быть просто плохой перевод.
Из ужасных примеров:
bus driver KB888111 HD – водитель автобуса KB888111 HD (тип микросхемы переводчик воспринял, вероятно, как номер автобуса)
Big-O notation может быть переведено как «Обозначение большого О», и пока до студента дойдет, что речь идет о сложности выполнения алгоритма (нотация О-большОе), может пройти несколько секунд, но это может повлиять.
Зайдите пожалуйста, на Similarweb Ссылка
И посчитайте в ТОП-20 количество российский сайтов.
После чего посчитайте количество немецких, французских, шведских, английских.
Для тех, кому лень идти считать:
Российских 4 из 20 (или 20%, что намного больше нашей доли в ВВП, населении и т.д)
Немецких, английских, шведских, французских — 0 в ТОП-20.
Еще я недавно зашел в категорию авто (Autos And Vehicles in the world)
Тоже очень интересно. Ссылка
Да) IT не ограничивается вебом. Но в вебе большая часть разработчиков. И веб достаточно легко измерим.
P.S. меня вымораживают фразы «кроме Котлина и 1С». Котлин и 1С это нереально круто!
Я не прочитал все комментарии, но прочитал статью и бегло прочитал исследование.
Вопросы которые возникли у меня:
— можно список случайно отобранных вузов? А то кто его знает, насколько он случайный?
— можно исходный тест и переведенные на родной язык тесты? Не пример, а конкретно то, что давали
— почему показывают отклонение от нормированного среднего, а не значения?
Если там 100 у русских вузов и 100,7 у американских элитных вузов — то ок
А если там количество верных ответов 0,2 и 0,9 — то это совсем другое.
Еще очень важно понимать, что в РФ 56% людей с ВО, а в США 46%.
Это значит, что в РФ должны откинуть 18% вузов снизу по качеству образования.
Потому что скорее всего они по уровню соответствуют колледжам.
Ну и конечно, действительно надо рассматривать национальную заточенность вопросов.
Если по честному, то представители каждой из стран должны были подготовить вопросы.
Например по 20 штук.
Каждый из 3-х других стран мог бы отклонить 3 вопроса.
Итого осталось бы 44 вопроса по 11 от каждой из стран.
Исходя из вышеперечисленного, данное исследование не кажется заслуживающим уважения, несмотря на то, что возможно оно и отражает реальность.
Ответ на этот вопрос заключается в правиле, которое я слышал у Robert C. Martin (Uncle Bob): количество разработчиков удваивается раз в 5 лет.
Согласно этому правила разработчиков с опытом 5+ лет должно быть где-то 50%
Но так как многие уходят (в руководителей, архитекторов, свой бизнес, вообще из отрасли) то доля тех, чей опыт меньше 5 превышает половину.
Я бы разделил две проблемы: проблему валидации и проблему типов.
Начну с валидации
Зачем мы разрешаем создавать объекты с невалидным состоянием?
1. Потому что это нам требуется для решения наших задач. Например при создании объекта и для возвращения ошибок валидации. Создается объект, проходит его валидация, если объект не валиден, то мы возвращаем невалидный объект с ошибками в контроллер и рендер формы.
Из данных объекта мы проставляем значения в полях, из объекта ошибок мы выводим ошибки.
Т.е. например если бы наш объект Order не мог бы находиться в невалидном состоянии, нам бы пришлось создать еще какой-то класс NonValidOrder и периодически мы рендерили бы форму/json из Order, а периодически из NonValidOrder, и пришлось бы еще делать какие-то механизмы превращения одного в другое. Зачем, если мы всегда можно вызывать метод valid? везде где оно требуется.
2. Часто мы создаем объект и потом до-обогащаем его данными. Применяем купоны, добавляем скидки, привязываем заказ к клиенту и т.д. До обогащения данными наш Order не валидный. Валидность мы проверяем уже перед сохранением в базу. Если бы мы не могли создать невалидный объект, то нам бы пришлось создавать объекты вроде MayBeValidOrder, со сходным функционалом нашего Order
3. Наш Order может быть валидным с заполненными client_id, manager_id, а может быть валидным и без них, поэтому проверять их наличие нам придется все равно.
4. Ну и последнее самое интересное: тот факт, что у нас в
order.client_id
записано
Types::Strict::Integer.constrained(gt: 0)
не дает нам никаких гарантий, что у заказа есть Client, потому что не факт, что у нас есть клиент с таким id. То есть типами мы все равно не избавимся от невалидных объектов.
А теперь что касается типов
Если хочется использовать типы, то IMHO лучше не писать на Ruby)
Для этого прекрасно подойдет тот же Rust, в добавок к типам еще будет очень умный компилятор (который поможет избежать много ошибок) и прирост в скорости на пару порядков.
Ну и на мой взгляд код на Rust с типами намного приятнее, кода на Ruby c типами.
В Ruby с псевдотипами приходится писать сильно больше кода, да еще и зависеть от гемов. Уж лучше тогда писать на Rust или Haskell))
Был трекинг-пиксель социальных сетей
Работало это так: у одной популярной соцсети есть своя форма комментариев. Если вы залогинены, то показывается ваша аватарка. Даже если не планировали оставлять комментарий. Там была дыра/фича позволяющая получить доступ к этой аватарке.
А дальше дело техники, по аватарке получаем профиль, по профилю номер телефона.
За 3-4 тысячи деревянных можно было поставить себе такую штуку на сайт, и получать номера телефонов в админке.
Но по-моему те, кто такое практиковали получали такую волну негатива, что от них разов увольнялись все менеджеры по продажам, потому это не обзвон по горячей базе, а обзон по базе, которая стабильно шлет матом.
IMHO просто США теряют позиции. После второй мировой войны ВВП США составлял почти 50% мирового!
Сейчас по номинальному ВВП в $ Китай догоняет, а по ППС уже перегнал и разница только растет. При этом надо понимать, что Китай главный кредитор США.
Вот и надо придумать какую-то другую шкалу, в которой ущемление прав человека в Китае можно сильно снизить показатели. Ведь ущемление прав человека в США очень просто не замечать. Пресса то об этом не пишет.
Для IDE это явно не проблема
в том же Ruby есть rvm, rbenv, папочка .bundle и со всеми вариантами IDE прекрасно работает
у rvm есть gemset, и IDE прекрасненько подтягивает нужный gemset и GOTO definition замечательно работает
Не вижу никаких проблем, почему IDE не справятся с таким же подходов в JS
Просто самолет не надо рассматривать как два фюзеляжа и перемычка между ними)
На самом деле есть 1 крыло: и это та штука на которой будет висеть два фюзеляжа, 6 движков, и ракета(ы))
И это не перемычка, а самая главная и самая прочная часть всей этой конструкции.
Поэтому ничего не надо синхронизировать. Относитесь к этому как к рельсе, у которой есть два набора колесиков. При такой аналогии не приходится переживать, что рельса переломится?)
в Rails проект cron управляет gem whenever, и вся систематизация заданий хранится в файле
schedule.rb, где они разбиты на группы, модули и содержат комментарии
Абстрактно: в стране А учат Discrete Structures (45%), Programming(45%), Algorithms(10%)
в стране Б учат Discrete Structures (33%), Programming(33%), Algorithms(33%)
Давая больше вопросы на Algorithms, можно подыгрывать стране Б.
2) Внутри дисциплины существует тоже самое распределение. И т.д.
Как кто-то выше сказал: дай тест ЕГЭ по математике всем школьникам мира — и выяснится, что русские самые гениальные математики. Нет, они просто натасканы на решение такого типа задач. Я неоднократно видел межнаров (победителей международных олимпиад по математике/физике), которые пытались вкурить что же имеется в виду на тесте GRE. Просто я видел много межнаров, которые в общаге МФТИ готовились к GRE, и которые обсуждали его. Так вот сложность была не в том, что решить задачку. А в том, чтобы понять, чего вообще от тебя хотят. А когда понял, то задачка-то тривиальная, для школьника.
3) Может быть просто плохой перевод.
Из ужасных примеров:
bus driver KB888111 HD – водитель автобуса KB888111 HD (тип микросхемы переводчик воспринял, вероятно, как номер автобуса)
Big-O notation может быть переведено как «Обозначение большого О», и пока до студента дойдет, что речь идет о сложности выполнения алгоритма (нотация О-большОе), может пройти несколько секунд, но это может повлиять.
И посчитайте в ТОП-20 количество российский сайтов.
После чего посчитайте количество немецких, французских, шведских, английских.
Для тех, кому лень идти считать:
Российских 4 из 20 (или 20%, что намного больше нашей доли в ВВП, населении и т.д)
Немецких, английских, шведских, французских — 0 в ТОП-20.
Еще я недавно зашел в категорию авто (Autos And Vehicles in the world)
Тоже очень интересно. Ссылка
Да) IT не ограничивается вебом. Но в вебе большая часть разработчиков. И веб достаточно легко измерим.
P.S. меня вымораживают фразы «кроме Котлина и 1С». Котлин и 1С это нереально круто!
Вопросы которые возникли у меня:
— можно список случайно отобранных вузов? А то кто его знает, насколько он случайный?
— можно исходный тест и переведенные на родной язык тесты? Не пример, а конкретно то, что давали
— почему показывают отклонение от нормированного среднего, а не значения?
Если там 100 у русских вузов и 100,7 у американских элитных вузов — то ок
А если там количество верных ответов 0,2 и 0,9 — то это совсем другое.
Еще очень важно понимать, что в РФ 56% людей с ВО, а в США 46%.
Это значит, что в РФ должны откинуть 18% вузов снизу по качеству образования.
Потому что скорее всего они по уровню соответствуют колледжам.
Ну и конечно, действительно надо рассматривать национальную заточенность вопросов.
Если по честному, то представители каждой из стран должны были подготовить вопросы.
Например по 20 штук.
Каждый из 3-х других стран мог бы отклонить 3 вопроса.
Итого осталось бы 44 вопроса по 11 от каждой из стран.
Исходя из вышеперечисленного, данное исследование не кажется заслуживающим уважения, несмотря на то, что возможно оно и отражает реальность.
Согласно этому правила разработчиков с опытом 5+ лет должно быть где-то 50%
Но так как многие уходят (в руководителей, архитекторов, свой бизнес, вообще из отрасли) то доля тех, чей опыт меньше 5 превышает половину.
Начну с валидации
1. Потому что это нам требуется для решения наших задач. Например при создании объекта и для возвращения ошибок валидации. Создается объект, проходит его валидация, если объект не валиден, то мы возвращаем невалидный объект с ошибками в контроллер и рендер формы.
Из данных объекта мы проставляем значения в полях, из объекта ошибок мы выводим ошибки.
Т.е. например если бы наш объект Order не мог бы находиться в невалидном состоянии, нам бы пришлось создать еще какой-то класс NonValidOrder и периодически мы рендерили бы форму/json из Order, а периодически из NonValidOrder, и пришлось бы еще делать какие-то механизмы превращения одного в другое. Зачем, если мы всегда можно вызывать метод valid? везде где оно требуется.
2. Часто мы создаем объект и потом до-обогащаем его данными. Применяем купоны, добавляем скидки, привязываем заказ к клиенту и т.д. До обогащения данными наш Order не валидный. Валидность мы проверяем уже перед сохранением в базу. Если бы мы не могли создать невалидный объект, то нам бы пришлось создавать объекты вроде MayBeValidOrder, со сходным функционалом нашего Order
3. Наш Order может быть валидным с заполненными client_id, manager_id, а может быть валидным и без них, поэтому проверять их наличие нам придется все равно.
4. Ну и последнее самое интересное: тот факт, что у нас в записано не дает нам никаких гарантий, что у заказа есть Client, потому что не факт, что у нас есть клиент с таким id. То есть типами мы все равно не избавимся от невалидных объектов.
А теперь что касается типов
Если хочется использовать типы, то IMHO лучше не писать на Ruby)
Для этого прекрасно подойдет тот же Rust, в добавок к типам еще будет очень умный компилятор (который поможет избежать много ошибок) и прирост в скорости на пару порядков.
Ну и на мой взгляд код на Rust с типами намного приятнее, кода на Ruby c типами.
В Ruby с псевдотипами приходится писать сильно больше кода, да еще и зависеть от гемов. Уж лучше тогда писать на Rust или Haskell))
Работало это так: у одной популярной соцсети есть своя форма комментариев. Если вы залогинены, то показывается ваша аватарка. Даже если не планировали оставлять комментарий. Там была дыра/фича позволяющая получить доступ к этой аватарке.
А дальше дело техники, по аватарке получаем профиль, по профилю номер телефона.
За 3-4 тысячи деревянных можно было поставить себе такую штуку на сайт, и получать номера телефонов в админке.
Но по-моему те, кто такое практиковали получали такую волну негатива, что от них разов увольнялись все менеджеры по продажам, потому это не обзвон по горячей базе, а обзон по базе, которая стабильно шлет матом.
Сейчас вроде как такой фичи/дыры нет.
Смог cобрать TodoMVC с флагом `+nightly --target=wasm32-unknown-unknown`
395Kb
С чистым WebAssembly или с emscripten
Сам пытаюсь ответить на этот вопрос)
TodoMVC Vue.js занимает порядка 100kB
TodoMVC Yew занимает в dev версии 13Mb, в release версии 1,1Mb
Собрать TodoMVC с флагами
`--target=wasm32-unknown-unknown`
и
`--target=wasm32-unknown-emscripten`
я не смог.
У кого получится — поделитесь рецептом.
Сейчас по номинальному ВВП в $ Китай догоняет, а по ППС уже перегнал и разница только растет. При этом надо понимать, что Китай главный кредитор США.
Вот и надо придумать какую-то другую шкалу, в которой ущемление прав человека в Китае можно сильно снизить показатели. Ведь ущемление прав человека в США очень просто не замечать. Пресса то об этом не пишет.
в том же Ruby есть rvm, rbenv, папочка .bundle и со всеми вариантами IDE прекрасно работает
у rvm есть gemset, и IDE прекрасненько подтягивает нужный gemset и GOTO definition замечательно работает
Не вижу никаких проблем, почему IDE не справятся с таким же подходов в JS
Если речь про support.google.com/youtube/answer/2797370?hl=ru
То что в ней плохого?
Уже ездят в Германии)
На самом деле есть 1 крыло: и это та штука на которой будет висеть два фюзеляжа, 6 движков, и ракета(ы))
И это не перемычка, а самая главная и самая прочная часть всей этой конструкции.
Поэтому ничего не надо синхронизировать. Относитесь к этому как к рельсе, у которой есть два набора колесиков. При такой аналогии не приходится переживать, что рельса переломится?)
Мне сделали какую-то персональную ссылку и я смог оплатить и перейти на годовую оплату.
advertka спасибо!
Я сейчас вижу продление за 89.50 и за 124 all products)
Где вы нашли $107?
Кликаю Buy, вижу
Вот тут пишут, что не у меня одного такая проблема
vk.com/jetbrains
advertka что я делаю не так?
schedule.rb, где они разбиты на группы, модули и содержат комментарии
Продублирую тут одну из них про «микровыражения».
ru.knowledgr.com/00353543/%D0%9C%D0%B8%D0%BA%D1%80%D0%BE%D0%B2%D1%8B%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5
P.S. перевод там так себе, но если захотите, то найти инфу на английском не составит проблем.
Речь идет о микроэмоциях длительностью 0.04 — 0.06c
По ссылке много отсылок к авторам исследований, названиями статей и т.д.