… следуя вышеописанным советам можно значительно снизить вред от тяжелой пищи и наслаждаться сочным вкусом жареной курицы.
Неплохо было бы советы как-то вынести в отдельный список, а то я уже забыл все, пока читал.
Помню, что надо пожевать женьшеня и цыплака шпинатом хорошенько натереть, и тогда он станет вкусный.
УПД: Не заметил, что перевод, дико сорри.
Схожу-ка я оригинал почитаю, а то мысль о женьшене меня как-то странно беспокоит…
УПД1: Ну да, там речь не про женьшень как таковой, а про настойку женьшеневую. И еще пара-тройка советов упущена в конце — между прочим, очень полезные практические советы. :)
А… эээ… у меня один вопрос: почему так сложно, с интернетом и т.п.? Разве нельзя присобачить к контроллеру таймер RTC с батарейкой, чтоб хранил текущее время, задать один раз в конфигурации прошивки текущую таймзону и широту, и радоваться жизни безо всяких mqtt-брокеров? Это ж просто лампочка с таймером.
Но есть проблема, что те, кто предрасположен к тому же программированию, зависнут именно на «обучающем» языке, потому как чтобы идти дальше, нужно силы и время.
Этой проблемы нет.
Люди — это не радиодетальки. Они прекрасно осознают, что в мире есть множество языков программирования, и что есть языки «престижные» и «непрестижные», «взрослые» и «детские» и т. п. Поэтому если у ребенка программирование на «несерьезном» языке заходит легко и без проблем — его интерес к «серьезным» языкам программирования практически неизбежен.
Есть другая, гораздо более важная проблема — синдром утенка. Человек, увлекшийся программированием на каком-то языке, быстро осваивает его особенности. Но потом, когда он берется писать на другом языке, он использует ухватки и привычки, оставшиеся от первого языка — и иногда это заметно даже через многие годы. И вот здесь становится важным, какой язык он изучал первым — потому что некоторые языки прививают весьма специфические привычки.
Например, код бывших сишников, переквалифицировавшихся в плюсисты, бывает полон сырых указателей, malloc/free и прочих strdup. Код джавистов, переквалифицировавшихся в плюсы, надо с лупой проверять на предмет утечек памяти: привычка делать new и забывать про delete очень живуча. А когда на плюсах пишут любители функциональных языков, приходится разбираться с простынями сообщений об ошибках из-за их попыток все запихать в многоэтажный шаблонный код.
В этом плане «учебные» языки типа паскаля или питона достаточно безопасны — они структурные, изолируют ученика от многих подводных граблей, и в общем и целом формируют довольно адекватные привычки.
Потому что плюсы слишком сложны и полны граблей.
И когда дети, изучающие питон, уже вовсю будут писать свой вариант игры в рулетку (с блэкджеком и графикой), дети, изучающие плюсы, будут по-прежнему пытаться скомпилировать и запустить свой первый здрасьтемир.
Обучающие языки для детей не должны быть слишком сложными, иначе дети просто не смогут их осилить. Я как-то поприсутствовал на занятиях в кружке робототехники, где детей учили языку «С для микроконтроллеров» — чтобы роботами управлять. До сих пор мурашки по всему организму бегают: дети фактически запоминали куски кода как единое целое, и из этих кусков «складывали» программу. При этом если возникали ошибки — ступор, паника, зовем учителя.
Для детей хорошо подходят языки, где сразу все наглядно и очевидно. Черепашья графика — вообще прекрасная вещь. Я своим, помнится, поставил MSWLogo и распечатал шпаргалку про пару десятков команд — и дети вполне увлеченно рисовали всяческие снежинки, по ходу громоздя циклы.
Для школьников постарше уже можно давать языки посложнее — но опять же, не языки промышленной разработки. Паскаль — нормально, а вот С++ с его неочевидными правилами, напластованиями стандартов, эзотерическими сообщениями об ошибках на три экрана — это уже перебор. Дети просто не смогут освоить его в полном объеме, а значит, неизбежно возникнут фатальные перекосы в зависимости от квалификации учителя: одни будут его использовать как «си с удобным комментарием //», другие — как скриптовой язык, который зачем-то надо компилировать и в котором надо обязательно написать в начале магические строчки
#include <iostream>
using namespace std;
int main() {
Ну или учитель окажется очень продвинутый и даст детям какую-нибудь визуальную среду разработки — и тогда все «программирование» будет заключаться в накидывании кнопочек на формочки и вбивании однострочников в обработчики нажатий.
Товар точно не был забран — это можно проверить по логам.
Далеко не всегда. Очень многое зависит от исходников магазина. И если с деньгами всегда стараются работать аккуратно и все ходы записывать, то со ссылками на скачивание зачастую не очень-то церемонятся.
К примеру:
Прошла оплата — клиенту сгенерировали временную ссылку на скачивание, но при этом количество скачиваний не ограничено и не отслеживается.
Точнее, логи доступа к серверу где-то велись, но:
а) не факт, что они сохранились. По умолчанию они хранятся месяц, и если не было регулярных бэкапов — им кирдык.
б) не факт, что сохранилась временная ссылка, которую сгенерировали для клиента. А без нее поиск в логах вести бессмысленно — мы не знаем, что ищем.
в) не факт, что отсутствие ссылки в логах — свидетельство того, что клиент по ней ничего не скачивал. Возможно, URL в логах неполон или обрезан в самом интересном месте (бывали-с случаи).
г) ну и, наконец, если таки нашлись факты скачивания по ссылке — не факт, что это сделал сам клиент, а не злобный хакер, взломавший его почту.
Так что, если ваши кандидаты было достаточно в возрасте, то вы зря на них серчаете.
Мопед не мой, и контора не моя — так что набирал не я. :)
Насколько я знаю, приходили в основном довольно молодые люди — лет 27-35.
И если бы кандидат просто сказал, что по-разному бывает и вот работал он на системе, где в байте 6 бит — никто бы не осерчал, я вас уверяю. Наоборот, это ж прекрасный повод обсудить разные архитектуры. Но у кандидатов просто был ступор — что, мол, за вопросы такие дурацкие, кому в здравом уме может понадобиться знание о размерах типов данных?
Там действительно мой знакомый, и проект у них вполне практический. И оборудование достаточно стандартное — процессоры x86 почти везде, кое-где вроде как пытались внедрить ARMы. Так что байты там нормальные, восьмибитные.
Но выясняется страшное: приходят собеседоваться специалисты, которые вообще никогда не задумывались о том, как именно данные хранятся в памяти. А им по работе надо пакеты между нодами туда-сюда гонять по чахлым каналам связи…
Это для вас они скучные.
А у меня знакомый набирал людей на разработку — так кандидаты не знали, сколько бит в байте и сколько байт в 32-разрядном инте. Что такое указатель — вообще страшная тайна, шаманство какое-то…
В теории для тогоЗПТ чтобы стать айтишником и устроитЬся на работуЗПТ ВУЗ вуз не нужен.
В теории и средняя школа не нужна. Научился винду устанавливать — уже айтишник.
Опять жеЗПТ в теории ВУЗ вуз не обязательно должен давать только теоретические знания
Задача вуза — привить научный подход. Все.
К сожалению, в обществе уже довольно давно произошел сдвиг от изначального («вуз готовит кадры для науки») к сугубо утилитарному («вуз — это маркер того, что человек не дебил и смог усвоить чуть больше школьной программы»). И это проблоема не одной лишь России, в США тоже наблюдается девальвация высшего образования.
На практике можно посмотреть на Северо-Западную Европу с их градацией учебных заведений, где и «ПТУ» и «ВУЗ» подразделяются на различные «подвиды» и дают образования разного типа и уровня внутри своего «подвида».
А можно и не смотреть. Проблема высшего образования в том, что оно просто физически неспособно выпускаьб специалистов, владеющих «cutting-edge технологиями». И это становится очевидно, если сравнить время обучения одного специалиста (5-6 лет) со скоростью смены модных технологий (два-три года).
В этом ракурсе северо-западно-европейские вузы мало отличаются от любых других.
В России же всё размылось, перемешалось и вообще создаётся такое впечатление что часто на работу айтишником скорее возьмут человека с дипломом филолога чем ПТУшника с профильным образованием…
Да-да, «только у нас», «только в России» и другие заблуждения.
Как я уже говорил, проблема высшего образования — это общемировой тренд, а не местечковая российская особенность. Скорость смены технологий в айти уже давно превысила возможности вузов. Да, зарубежные курсы Computer Science еще как-то пытаются быть в тренде, но и они катастрофически отстают от реальности.
А на работу берут тех, кто тянет и может, а не по диплому. :)
— Моя фамилия Ге, — сказал француз китайцу.
— В китайском языке два иероглифа Ге, но, к сожалению, не один из них не подходит для фамилии.
Собственно, дальше можно не читать, смешно уже здесь: китайские иероглифы с чтением GE.
Как видим, их слегка больше, чем два, и для записи фамилий используются как минимум штук пять.
Про французское правописание тоже какие-то фантазии (aught — это вообще типично английское буквосочетание). Тогда уж и про русское правописание можно всяких небылиц понапридумывать — ять, твердый знак, жы-шы пышы с буквой ы…
А так-то смешной анекдот, да. Поляки его варианты очень любят в связи с повышенной шипучестью своего прекрасного языка. Можно найти обыгрывание этого анедота в старой комедии «Приключения канонира Доласа» — момент, когда Долас диктует немцу свою фамилию и место рождения.
В казино не играют в кости. По крайней мере, в тот вариант, что у вас. В казино играют в крепс — и основной смысл игры там скорее не в бросании костей, а в делании правильных ставок на правильные события: en.wikipedia.org/wiki/Craps
Лет двадцать пять назад я тоже с большим удовольствием игрался с ГСЧ — рисовал всякие цветные лабиринты на экране, писал блэкджек и даже, помнится, замахнулся на святоэ — игру в козла.
К счастью, тогда не было ресурсов типа хабра, чтобы выкладывать каждую новую версию.
Да, так вот. К чему это я? По порядку:
Во-первых, у вас в игре есть некий «второй игрок», но толку с него — ноль. Он зачем-то кидает кости, но ставок не делает и баланс для него не ведется. Следовательно, выиграть в игре невозможно (деньги у оппонента не кончаются), а вот проиграть — таки да.
Во-вторых, в чем цель игры-то? Нет ни списка чемпионов, ни рекордов, ничего. Захотел — ввел себе баланс в миллион денег и сиди, тупо вбивай ставки. Никакого духа соревновательности.
В-третьих, сама игра в кости «у кого больше выпадет» — скучна до омерзения. В ней сложно придумать стратегию, даже имея двух равноценных игроков, делающих ставки. Есть довольно много игр, в которых есть хоть какая-то стратегия — хотя бы в тут: www.pravilaigr.ru/kosti.php
Игрок отступил в коридор — занять укрытия около двери и устроить игроку такую долгую снайперскую перестрелку — какую он сам возжелал устроить?
Помнится, я как-то изучал образцы ИИ для монстров, написанные на QuakeC. Единственное, что осталось в голове после изучения — это «да ну нафиг, пусть с дефолтными бегают».
Я к тому, что в играх типа Quake довольно запарно будет написать приличную «тактику снайпера» для NPC.
Не понимаю, к чему весь этот матан. ASCII art можно делать, используя два подхода:
— Статистический. Плотность краски имитируется разными символвами, а само изображение надо рассматривать издалека. Для этого подхода матан не нужен: берем пиксель, в зависимости от его плотности (черноты) выбираем символ из соответствующей таблички, выводим.
— А-ля пиксель-арт: тут каждый символ важен, т.к. именно форма символа «рисует» картинку. Сами картинки, как правило, небольшие и нарисованы вручную.
Вот простенький алгоритмик, по которому можно получить текстовую картинку первым способом:
— грузим картинку в память.
— ресайзим ее, слегка сплющивая по вертикали, до нужной ширины — например, 80 пикселей. Сплющивать надо, т.к. символы текста не квадратные, а прямоугольные.
— Переводим в черно-белое изображение и выводим на экран, заменяя пиксели на символы в зависимости от черноты (я использовал списочек «на глаз» — "#WMH@OTI*+;:-,. ").
Экзамен по анатомии. Студентка на скелете показывает, где какой орган:
— Вот здесь — сердце… вот здесь — легкие… вот тут — кишечник… (*заливаясь краской*) а вот тут был член…
Профессор:
— Не был, а бывал, милочка. Это женский скелет.
Неплохо было бы советы как-то вынести в отдельный список, а то я уже забыл все, пока читал.
Помню, что надо пожевать женьшеня и цыплака шпинатом хорошенько натереть, и тогда он станет вкусный.
УПД: Не заметил, что перевод, дико сорри.
Схожу-ка я оригинал почитаю, а то мысль о женьшене меня как-то странно беспокоит…
УПД1: Ну да, там речь не про женьшень как таковой, а про настойку женьшеневую. И еще пара-тройка советов упущена в конце — между прочим, очень полезные практические советы. :)
Слабак! :)
Только русский, только хардкор.
А с «полными» словарями английского есть проблемка: туда входит куча аббревиатур. На что вы и напоролись.
Но это не точно.
Этой проблемы нет.
Люди — это не радиодетальки. Они прекрасно осознают, что в мире есть множество языков программирования, и что есть языки «престижные» и «непрестижные», «взрослые» и «детские» и т. п. Поэтому если у ребенка программирование на «несерьезном» языке заходит легко и без проблем — его интерес к «серьезным» языкам программирования практически неизбежен.
Есть другая, гораздо более важная проблема — синдром утенка. Человек, увлекшийся программированием на каком-то языке, быстро осваивает его особенности. Но потом, когда он берется писать на другом языке, он использует ухватки и привычки, оставшиеся от первого языка — и иногда это заметно даже через многие годы. И вот здесь становится важным, какой язык он изучал первым — потому что некоторые языки прививают весьма специфические привычки.
Например, код бывших сишников, переквалифицировавшихся в плюсисты, бывает полон сырых указателей, malloc/free и прочих strdup. Код джавистов, переквалифицировавшихся в плюсы, надо с лупой проверять на предмет утечек памяти: привычка делать new и забывать про delete очень живуча. А когда на плюсах пишут любители функциональных языков, приходится разбираться с простынями сообщений об ошибках из-за их попыток все запихать в многоэтажный шаблонный код.
В этом плане «учебные» языки типа паскаля или питона достаточно безопасны — они структурные, изолируют ученика от многих подводных граблей, и в общем и целом формируют довольно адекватные привычки.
И когда дети, изучающие питон, уже вовсю будут писать свой вариант игры в рулетку (с блэкджеком и графикой), дети, изучающие плюсы, будут по-прежнему пытаться скомпилировать и запустить свой первый здрасьтемир.
Для детей хорошо подходят языки, где сразу все наглядно и очевидно. Черепашья графика — вообще прекрасная вещь. Я своим, помнится, поставил MSWLogo и распечатал шпаргалку про пару десятков команд — и дети вполне увлеченно рисовали всяческие снежинки, по ходу громоздя циклы.
Для школьников постарше уже можно давать языки посложнее — но опять же, не языки промышленной разработки. Паскаль — нормально, а вот С++ с его неочевидными правилами, напластованиями стандартов, эзотерическими сообщениями об ошибках на три экрана — это уже перебор. Дети просто не смогут освоить его в полном объеме, а значит, неизбежно возникнут фатальные перекосы в зависимости от квалификации учителя: одни будут его использовать как «си с удобным комментарием //», другие — как скриптовой язык, который зачем-то надо компилировать и в котором надо обязательно написать в начале магические строчки
Ну или учитель окажется очень продвинутый и даст детям какую-нибудь визуальную среду разработки — и тогда все «программирование» будет заключаться в накидывании кнопочек на формочки и вбивании однострочников в обработчики нажатий.
Далеко не всегда. Очень многое зависит от исходников магазина. И если с деньгами всегда стараются работать аккуратно и все ходы записывать, то со ссылками на скачивание зачастую не очень-то церемонятся.
К примеру:
Прошла оплата — клиенту сгенерировали временную ссылку на скачивание, но при этом количество скачиваний не ограничено и не отслеживается.
Точнее, логи доступа к серверу где-то велись, но:
а) не факт, что они сохранились. По умолчанию они хранятся месяц, и если не было регулярных бэкапов — им кирдык.
б) не факт, что сохранилась временная ссылка, которую сгенерировали для клиента. А без нее поиск в логах вести бессмысленно — мы не знаем, что ищем.
в) не факт, что отсутствие ссылки в логах — свидетельство того, что клиент по ней ничего не скачивал. Возможно, URL в логах неполон или обрезан в самом интересном месте (бывали-с случаи).
г) ну и, наконец, если таки нашлись факты скачивания по ссылке — не факт, что это сделал сам клиент, а не злобный хакер, взломавший его почту.
Мопед не мой, и контора не моя — так что набирал не я. :)
Насколько я знаю, приходили в основном довольно молодые люди — лет 27-35.
И если бы кандидат просто сказал, что по-разному бывает и вот работал он на системе, где в байте 6 бит — никто бы не осерчал, я вас уверяю. Наоборот, это ж прекрасный повод обсудить разные архитектуры. Но у кандидатов просто был ступор — что, мол, за вопросы такие дурацкие, кому в здравом уме может понадобиться знание о размерах типов данных?
Но выясняется страшное: приходят собеседоваться специалисты, которые вообще никогда не задумывались о том, как именно данные хранятся в памяти. А им по работе надо пакеты между нодами туда-сюда гонять по чахлым каналам связи…
А у меня знакомый набирал людей на разработку — так кандидаты не знали, сколько бит в байте и сколько байт в 32-разрядном инте. Что такое указатель — вообще страшная тайна, шаманство какое-то…
В теории и средняя школа не нужна. Научился винду устанавливать — уже айтишник.
Задача вуза — привить научный подход. Все.
К сожалению, в обществе уже довольно давно произошел сдвиг от изначального («вуз готовит кадры для науки») к сугубо утилитарному («вуз — это маркер того, что человек не дебил и смог усвоить чуть больше школьной программы»). И это проблоема не одной лишь России, в США тоже наблюдается девальвация высшего образования.
А можно и не смотреть. Проблема высшего образования в том, что оно просто физически неспособно выпускаьб специалистов, владеющих «cutting-edge технологиями». И это становится очевидно, если сравнить время обучения одного специалиста (5-6 лет) со скоростью смены модных технологий (два-три года).
В этом ракурсе северо-западно-европейские вузы мало отличаются от любых других.
Да-да, «только у нас», «только в России» и другие заблуждения.
Как я уже говорил, проблема высшего образования — это общемировой тренд, а не местечковая российская особенность. Скорость смены технологий в айти уже давно превысила возможности вузов. Да, зарубежные курсы Computer Science еще как-то пытаются быть в тренде, но и они катастрофически отстают от реальности.
А на работу берут тех, кто тянет и может, а не по диплому. :)
Собственно, дальше можно не читать, смешно уже здесь: китайские иероглифы с чтением GE.
Как видим, их слегка больше, чем два, и для записи фамилий используются как минимум штук пять.
Про французское правописание тоже какие-то фантазии (aught — это вообще типично английское буквосочетание). Тогда уж и про русское правописание можно всяких небылиц понапридумывать — ять, твердый знак, жы-шы пышы с буквой ы…
А так-то смешной анекдот, да. Поляки его варианты очень любят в связи с повышенной шипучестью своего прекрасного языка. Можно найти обыгрывание этого анедота в старой комедии «Приключения канонира Доласа» — момент, когда Долас диктует немцу свою фамилию и место рождения.
В казино не играют в кости. По крайней мере, в тот вариант, что у вас. В казино играют в крепс — и основной смысл игры там скорее не в бросании костей, а в делании правильных ставок на правильные события: en.wikipedia.org/wiki/Craps
К счастью, тогда не было ресурсов типа хабра, чтобы выкладывать каждую новую версию.
Да, так вот. К чему это я? По порядку:
Во-первых, у вас в игре есть некий «второй игрок», но толку с него — ноль. Он зачем-то кидает кости, но ставок не делает и баланс для него не ведется. Следовательно, выиграть в игре невозможно (деньги у оппонента не кончаются), а вот проиграть — таки да.
Во-вторых, в чем цель игры-то? Нет ни списка чемпионов, ни рекордов, ничего. Захотел — ввел себе баланс в миллион денег и сиди, тупо вбивай ставки. Никакого духа соревновательности.
В-третьих, сама игра в кости «у кого больше выпадет» — скучна до омерзения. В ней сложно придумать стратегию, даже имея двух равноценных игроков, делающих ставки. Есть довольно много игр, в которых есть хоть какая-то стратегия — хотя бы в тут: www.pravilaigr.ru/kosti.php
Помнится, я как-то изучал образцы ИИ для монстров, написанные на QuakeC. Единственное, что осталось в голове после изучения — это «да ну нафиг, пусть с дефолтными бегают».
Я к тому, что в играх типа Quake довольно запарно будет написать приличную «тактику снайпера» для NPC.
— Статистический. Плотность краски имитируется разными символвами, а само изображение надо рассматривать издалека. Для этого подхода матан не нужен: берем пиксель, в зависимости от его плотности (черноты) выбираем символ из соответствующей таблички, выводим.
— А-ля пиксель-арт: тут каждый символ важен, т.к. именно форма символа «рисует» картинку. Сами картинки, как правило, небольшие и нарисованы вручную.
Вот простенький алгоритмик, по которому можно получить текстовую картинку первым способом:
— грузим картинку в память.
— ресайзим ее, слегка сплющивая по вертикали, до нужной ширины — например, 80 пикселей. Сплющивать надо, т.к. символы текста не квадратные, а прямоугольные.
— Переводим в черно-белое изображение и выводим на экран, заменяя пиксели на символы в зависимости от черноты (я использовал списочек «на глаз» — "#WMH@OTI*+;:-,. ").
На Путина похож.
— Вот здесь — сердце… вот здесь — легкие… вот тут — кишечник… (*заливаясь краской*) а вот тут был член…
Профессор:
— Не был, а бывал, милочка. Это женский скелет.
Так вот, «бывал» — это и есть форма давнопрошедшего времени: dic.academic.ru/dic.nsf/lingvistic/315