Несколько лет активно интересуюсь и разбираюсь проблемами перфекционизма, прокрастинации, повышения, прости господи, «эффективности» и сабжевого синдрома (свои, к слову сказать, успешно пофиксил) и прихожу к неожиданному выводу. Для многих будет звучать парадоксально, но корень всей этой невротической байды в распухшем ЧСВ пациента. Это кажется странным, но нытики, перфекционисты, прокрастинаторы слишком зацикленны на самом себе и пребывают в иллюзии «прожектора», это такой эффект когда человеку кажется, будто за его жизнью следят и оценивают успехи и неудачи пристальнейшим образом.
Прокрастинатор, вместо принятия факта, что ему не хочется учить английский и иметь «увлекательное» хобби, продолжает себя истязать требованиями. Вместо того чтобы со спокойной душой крошить пончиками на пузо за сериалами. Все равно он уже это делает только с чувством дикой вины и тревоги.
Невротик-трудоголик, движим все тем же социальным сравнением и завистью. Не понимая, что гонится совсем не за вещами и статусом, а компенсирует чувство глубокой личной ущербности.
Перфекционист, мучительно переделывая в сотый раз очередной мертворожденный проект пытается прикрыть свою жопу от критики, а не хочет достичь идеального результата.
Нытики зациклены на изощренной аргументации другим и себе причин своей «неуспешности», вместо того чтобы признаться что банально ссутся от страха ошибиться.
Истоки вышеозвученной заразы заложены в воспитании, в котором ценность человека оценивается через результаты его деятельности и заработке, а не безусловно, просто потому что он есть. И самое главное лекарство — разрешить самому себе быть таким каким хочется, не гоняясь за изменчивым настроением толпы. Погладьте себя по головке сами, перережьте эту пуповину социального одобрения.
И да, перестаньте думать о своей работе как о чем-то неебически важном, вы делаете хреновы игры, а не ракетные двигатели от стабильности которых зависят жизни. Всем насрать на вашу работу, это ширпотреб, который используют и забудут, а на персону вашу насрать втройне. Сконцентрируйтесь на реальной деятельности, а не понтах. Перестаньте постить в соцсети месяц, о вашем существовании забудет 90% «друзей». Расслабьтесь, vsem pohui.
P.S.: бонус для одиноких. Спокойный человек, довольный собой, в разы обаятельнее чем озабоченный производимым на других впечатлением, дёрганый невротик.
Когда Павлов изучал условные рефлексы, он создал «башню молчания», в которой не было никаких посторонних раздражителей. Только условный, на котоый создается рефлекс, и безусловный для подкрепления. Предполагалось, что когда ничего не отвлекает, рефлексы будут вырабатываться легче.
Не тут-то было. Активность животных была снижена, часто они вообще просто засыпали.
Дело в том, что кора не обладает достаточной спонтанной активностью, ее постоянно стимулирует ретикулярная формация ствола и среднего мозга. А сама ретикулярная формация, в свою очередь, имеет отчасти собственную активность, но в большой мере стимулируется от сенсорных центров среднего мозга.
То есть некоторый уровень сенсорного входа необходим для нормального мышления. А вот насколько большой — это очень индивидуально и определяется как раз уровнем спонтанной активности ретикулярной формации. Если он велик, то для человека комфортна тишина, а посторонние стимулы уже разрушают тонкие процессы дифференцировки. Если спонтанная активность мала, ее все время приходится «кормить» внешними стимулами — таким людям легче работать в шуме, под музыку и т.д.
Когда у меня знакомые спрашивают, какой я могу посоветовать им дешёвый vps, я просто шлю им этот список. После этого объяснения не требуются, сразу видно, что можно взять, а что не нужно.
Visual Paradigm for UML Community Edition
Бесплатна к использованию, написана на Java, я использовал её и на винде, и под линуксом.
Community Edition — самая простая версия, но ее функционал в разы больше то же Umbrello или Dia.
Также есть один ньюанс для Community Edition: если, например, у вас одна диаграмма классов, то она нормально экспортируется в картинку или pdf, но если диаграммы две и больше — то поверх сэкспортированного изображения (или pdf) будут навязчивые водяные знаки, мол хочешь нормальное экспортирование — покупай. Такие же ограничения на все типы диаграмм.
Сначала меня это сильно удручило, но потом я придумал немного хакерский прием.
1. экспортируем диаграмму в изображение формата SVG
2. открываем SVG файл в текстовом редакторе (это же по сути XML файл, где вся информация, в том числе и водяные знаки написаны текстом) и удаляем кучу строк с описаниями водяных знаков, благо они не разбросаны по файлу, а находятся в самом конце.
3. качаем Batik SVG Toolkit и одной командой в шелле получаем чистенькие PDF или PNG. Batik тоже на Java, я использовал его на винде, но и на лине тоже должен запуститься.
Удобней экспортировать всегда в одну и ту же папку несколько svg файлов и натравливать batik на всю папку сразу с помощью одного и того же шелл скрипта.
Если диаграмма большая, то batik-rasterizer.jar следует запускать с указанием размера памяти под java, так как 64МБ по умолчанию бывает мало и тогда batik падает.
Кстати в самой Visual Paradigm for UML для генерирования PDF также используется Batik.
И еще в догонку: Visual Paradigm for UML не запустится под линуксом, если включен Compiz. Я справился так: поставил Compiz Fusion Tray Icon и каждый раз переключался между Compiz и Metacity. Неудобно, но можно потерпеть
На самом деле, самое важное, что нужно знать новичку, Вы не описали. Тостер битком набит преполезнейшими советами и ответами на вопросы новичков, которых у Вас тут нет.
Чтобы не быть голословным, стоит ли новичкам знать, что:
за низкую конверсию заявок (proposals) они могут вполне неиллюзорно улететь в баню, причем достаточно перманентную? И что лычка Rising Talent спасает от этого, а потому она абсолютный мастхэв?
эта самая лычка будет защищать их не всегда, а только первые 5 или 8 заказов (сейчас не помню уже)?
советы, разбросанные по всему рунету о том, что внимание работодателя надо привлекать заявлениями, что Вы тут новенький и работаете на отзыв, а не на деньги, вредны, и можно крепко взяпаться, в т.ч. и перед апворком?
с заказчиками-индусами по первости (среди них встречаются нормальные, но по моему и не только опыту это скорее исключение) иметь дело категорически не рекомендуется, ибо шансы поработать бесплатно за посредственный отзыв или нарваться на конфликт, отказавших от выполнения бесконечных хотелок увеличиваются в разы?
вскоре после начала работы к ним постучатся от upwork и захотят проверить их личность, посмотрев на них через камеру, и побеседовав с ними голосом, к чему они обязаны быть готовы, или аккаунт будет приостановлен?
если они вдруг выяснили, что вляпались в проект, который не осилят по скилам/срокам/т.п., надо как можно быстрее раскланиваться с дичайшими извинениями и возвратом всей суммы (чтобы не выхватить отзыв)?
на предложения от заказчика (опять же, в основном индусов и пакистанцев) поработать в обход проекта, сделаенное в переписке на самом upwork, надо сразу отвечать отказом и тут же жаловаться, или это сделают они, и будет плохо всем, но индусам как-то пофиг?
Потому что веб-сайты превратились в веб-сервисы. Проблема тормозов (например, если вы сидите на Eee PC с 1Гб памяти) решается отказом от веб-сервисов: в браузере просматриваются лишь странички, а для сервисов используются отдельные приложения.
Так, вместо тормознутых почтовых веб-сервисов типа GMail используется старый добрый почтовый клиент. Хотя по нынешним временам стало очень трудно найти почтовик без встроенного браузера со всеми его тормозами, так на вскидку кроме Sylpheed ничего и не припомню.
Для просмотра лент с соцсетей и новостных лент используется RSS-агрегатор. Хотя по нынешним временам крайне сложно найти RSS-клиент без встроенного браузера — я не знаю ни одного GUI-клиента, который не тянул бы с собой тормознутый браузерный движок.
Вместо youtube и подобных видеосервисов используется потоковый плеер.
Ну и всё в том же духе. Большинство веб-сервисов заменяется автономными приложениями, а немногие статические странички просматриваются в links2 или подобном браузере, который отлично их рендерит, даже с графикой. В таком режиме можно хоть с Raspberry Pi комфортно в Интернете сидеть.
> Проведём маленький эксперимент, если Вы не против — мне любопытно чего такого я не знаю на фундаментальном уровне, из того, что преподают в ВУЗах в качестве базы.
Ну я вот писал программу по нескольким курсам, один из основных — «Алгоритмы и структуры данных», вот база (не все, особенно и последнего семестра, нужно знать и доказывать, но основные свойства полезно знать).
Вот примерный список, я надеюсь, он после обкатки скорректируется. Общий объем 225 часов (чисто лекции, практика Python-C-C++ идет отдельными часами).
Поиск в массиве
1.1 Линейный поиск
1.2 Двоичный поиск
1.3 Троичный поиск
1.4 Интерполяционный поиск
Структуры данных
1.5 Массив
1.6 Стек
1.7 Очередь, двусторонняя очередь
1.8 Словарь
1.9 Хеш-таблица
Рекурсия, математическая индукция
3.1 Хвостовая рекурсия
3.2 Обратная польская запись
3.3 Числа Каталана
3.4 Вычисление биномиальных коэффициентов
3.5 Метод градиентного спуска
3.6 Метод сопряженных градиентов
3.7 Принцип динамического программирования
3.8 Метод ветвей и границ
3.9 Методы Gradient boosting
3.10 Алгоритм Кадана
3.11 Поиск методом золотого сечения
3.12 Производящие функции
3.13 Запаздывающие генераторы Фибоначчи
3.14 Memoization
3.15 Корекурсия
3.16 Задача 3-SAT
3.17 Алгоритм фрактального сжатия
Структуры данных (рекурсивные)
3.18 Список
3.19 Дерево
3.20 Граф
Графы
7.1 Обход в ширину (BFS)
7.2 Обход в глубину (DFS)
7.3 Топологическая сортировка
7.4 Алгоритм Munagala-Ranade
7.5 Алгоритм Mehlhorn-Meyer
7.6 Задача о динамической связности
7.7 Алгоритм поиска точек сочленения графа
7.8 Алгоритм поиска мостов графа
7.9 Алгоритм Косараю
7.10 Алгоритм Тарьяна
7.11 Задача 2-SAT
7.11 Алгоритм Брона-Кербоша
7.12 Конденсация графа
7.13 Раскраска графа
7.14 Задача о назначениях
7.15 Венгерский алгоритм
7.16 Алгоритм Ульмана
Структуры
7.17 Матрица смежности
7.18 Матрица достижимости
7.19 Матрица сильной связности
7.20 Матрица Лапласа
7.21 Матрица Инцидентности
7.22 Список смежности
7.23 Список ребер
Графы: циклы
8.1 Алгоритм поиска Эйлерова цикла
8.2 Алгоритм поиска Эйлерова пути
8.3 Алгоритм поиска Гамильтонова цикла
8.3 Алгоритм поиска Гамильтонова пути
8.4 Задача Коммивояжера
Графы: остовное дерево
9.1 Теорема Кирхгофа
9.2 Теорема Кэли о числе деревьев, код Прюфера
9.3 Лемма о безопасном (минимальном) ребре
9.4 Алгоритм Краскала
9.5 Алгоритм Примы
9.6 Алгоритм Борувки
9.7 Задача устранения петель в сети Ethernet (STP)
9.8 Задача Штейнера
Персистентные структуры
13.1 Метод копирования пути
13.2 Метод толстых узлов
Структуры
13.3 Персистентный стек
13.4 Персистентная очередь
13.5 Персистентное дерево
Консенсус в сетях
14.1 Алгоритм Paxos
14.2 Задача Византийских генералов
14.3 Кворум
14.4 CAP-теорема
14.5 PACELC-теорема
14.6 Королевский алгоритм
14.7 Алгоритм Zyzzyva
Структуры
14.8 Blockchain
Целочисленное программирование
15.1 Каноническая форма, сложность решения
15.2 Алгоритмы полного перебора
15.3 Алгоритм Нарайаны
15.4 Задача о ранце
15.5 Алгоритм Meet-in-the-Middle
15.6 Задача раскроя
15.7 Метод обратного поиска
15.8 Задача планирования производства
15.9 Задача оптимизации телекоммуникационных сетей
15.10 Метод секущих плоскостей, алгоритм Гомори
15.11 Алгоритм Альфа-Бета отсечений
15.12 Жадные алгоритмы
15.13 Матроиды, алгоритм Радо-Эдмонса
Быстрые вычисления
16.1 Умножение Карацубы
16.2 Алгоритм Шенхаге-Штрассена
16.3 Алгоритмы возведения числа в степень
16.4 Алгоритмы возведения в степень числа по модулю
16.5 Алгоритм Кули-Тьюки
16.6 Алгоритм Штрассена
Факторизация
17.1 Алгоритм Евклида (НОД)
17.2 Алгоритм факторизации Ферма
17.3 Метод квадратичных форм Шенкса
17.4 Ро-алгоритм Полларда
17.5 Метод квадратичного решета
17.6 Общий метод решета числового поля
17.7 Факторизация с помощью эллиптических кривых
17.8 Тест Агравала-Каяла-Саксены
17.9 Алгоритм Берлекэмпа
Дискретное логарифмирование
18.1 Алгоритм Гельфонда-Шенкса
18.2 Алгоритм COS
Вероятностные тесты на простоту
21.1 Тест Ферма
21.2 Тест Миллера-Рабина
21.1 Тест Бейли-Померанца-Селфриджа-Уогстаффа
Вебграфы
22.1 Модель Болобаша-Альберта
22.2 Модель Болобаша-Риордана
22.3 Модель Бакли-Остгус
22.4 Модель копирования
22.5 PageRank, Google matrix
Структуры
22.1 MapReduce
22.2 Apache GiGraph
22.3 Pregel
** При этом стоит учесть что запланированы еще курсы по Теории графов, Дискретной математике, Экстремальным задачам, Машинному обучению, Теории сложности и пр.пр.пр. Т.е. это просто фундаментальный курс по алгоритмам и структурам данных, который является точкой отсчета для всего остального (ну как курс по Математическому анализу).
*** Это несколько больше чем я сам знаю, так что это еще и мой план для себя подтянуть неизвестные/забытые темы. Обсудив его с коллегами, на предмет кто будет читать мы пришли к выводу, что мы все были бы рады и сейчас прослушать такой курс.
на тостере есть миллион вопросов на эту тему, примерный усредненный ответ:
0) выучить английский
1)htmlacademy /freecodecamp. Есть еще codeschool, codeacademy. И еще миллион сайтов которые можно нагуглить.
практика
2)learn.javascript от корки до корки. на сегодня это самое полное собрание сочинений по js.
3)практика
4)практика
5) книги по паттернам / статьи по перфомансу / тонким моментам. На этом моменте выбираете фреймворк
и снова практика.
Смех смехом, но с моей точки зрения, одну из лучших книг по началам э… всего, написал таки физик. Роджер Пенроуз, «Путь к реальности». Книга вообще-то по физике, но первые ~300 страниц посвящены формированию необходимого математического аппарата. Причем действительно с самого начала.
Первые главы посвящены базовым принципам научного знания, аристотелевой логике и даже обыкновенным дробям =) Далее, постепенно повышая уровень хардкора, автор приходит к тензорам и лагранжианам. А потом уже занимается, собственно физикой.
Как мне кажется, эта книга — самая плотная, но в то же время последовательная упаковка научного знания.
Если следовать этой логике, то не надо было вообще никаких языков, кром кода машинного придумывать. Каждый новый язык программирования только добавляет энтропии в хорошо устаканенное поле деятельности программиста.
Оригинальная статья, как и перевод, написанны с хорошей долей сарказма, нацеленного как раз на тех, кто угрюмо утверждает, что менять и искать ничего не надо.
Вот уже несколько лет используем TeamTalk для конференций в нашей организации. TeamTalk4 поддерживает видео и имеет версии для Windows, Linux и Mac.
Плюсы TeamTalk по сравнению со Skype:
— неограниченное число участников конференции — зависит только от ширины канала на сервере. Лично я участвовал в конференции из 200 человек,
— очень высокое качество звука даже на диалапе,
— не сосет трафик в неактивном режиме,
— поддерживает вложенные комнаты, можно устанавливать пароли,
— (бесплатные) видеоконференции для неограниченного числа участников,
— разработчик активно реагирует на обращения.
Возможный минус в том, что необходимо разворачивать сервер. Скачать можно тут: www.bearware.dk
Этап такой настал.
Порог вхождения уже несколько выше «гаража».
Кроме того, есть замечательная статья-рассуждения (ссылку давать не буду, дам просто название):
«Почему в России не будет суперсовременных роботизированных производств». ИМХО и в ней есть рациональное зерно и значительный объем объяснения текущего положения дел.
Проснуться на полчаса-час раньше — это пытка, весь день потом хочется спать. Зато проснуться на 3-4 часа раньше — это нормально, чувствуешь себя выспавшимся.
Лечь пораньше, чтобы уснуть пораньше, невозможно — время засыпания от этого не изменится. Время засыпания зависит только от того, в какое время проснулся утром.
Поэтому для меня нормальный способ не чувствовать себя сонным — постепенно сдвигать время пробуждения на полчаса каждый день в течение недели, а затем корректировать его понедельником с ранним подъёмом.
На ассемблере было весело писать под чиптюны, особенно по ночам :) Код для какого-нибудь робота нормально пишется под что-нибудь тяжело-металльное ("как будто ядерную бомбу паяешь"), а вот бизнеслогика в энтерпрайзе — под пситранс/эмбиент. Все от типа задач зависит.
Прокрастинатор, вместо принятия факта, что ему не хочется учить английский и иметь «увлекательное» хобби, продолжает себя истязать требованиями. Вместо того чтобы со спокойной душой крошить пончиками на пузо за сериалами. Все равно он уже это делает только с чувством дикой вины и тревоги.
Невротик-трудоголик, движим все тем же социальным сравнением и завистью. Не понимая, что гонится совсем не за вещами и статусом, а компенсирует чувство глубокой личной ущербности.
Перфекционист, мучительно переделывая в сотый раз очередной мертворожденный проект пытается прикрыть свою жопу от критики, а не хочет достичь идеального результата.
Нытики зациклены на изощренной аргументации другим и себе причин своей «неуспешности», вместо того чтобы признаться что банально ссутся от страха ошибиться.
Истоки вышеозвученной заразы заложены в воспитании, в котором ценность человека оценивается через результаты его деятельности и заработке, а не безусловно, просто потому что он есть. И самое главное лекарство — разрешить самому себе быть таким каким хочется, не гоняясь за изменчивым настроением толпы. Погладьте себя по головке сами, перережьте эту пуповину социального одобрения.
И да, перестаньте думать о своей работе как о чем-то неебически важном, вы делаете хреновы игры, а не ракетные двигатели от стабильности которых зависят жизни. Всем насрать на вашу работу, это ширпотреб, который используют и забудут, а на персону вашу насрать втройне. Сконцентрируйтесь на реальной деятельности, а не понтах. Перестаньте постить в соцсети месяц, о вашем существовании забудет 90% «друзей». Расслабьтесь, vsem pohui.
P.S.: бонус для одиноких. Спокойный человек, довольный собой, в разы обаятельнее чем озабоченный производимым на других впечатлением, дёрганый невротик.
Риталин это не самый лучший выбор в долгосрочной перспективе — дорогой, побочные эффекты, нелегальный во многих странах, в целом не полезен.
Есть другой препарат, мало известный в РФ. Сразу на pubmed ссылку дам. Желающие могут продолжить на longecity и reddit.
Не тут-то было. Активность животных была снижена, часто они вообще просто засыпали.
Дело в том, что кора не обладает достаточной спонтанной активностью, ее постоянно стимулирует ретикулярная формация ствола и среднего мозга. А сама ретикулярная формация, в свою очередь, имеет отчасти собственную активность, но в большой мере стимулируется от сенсорных центров среднего мозга.
То есть некоторый уровень сенсорного входа необходим для нормального мышления. А вот насколько большой — это очень индивидуально и определяется как раз уровнем спонтанной активности ретикулярной формации. Если он велик, то для человека комфортна тишина, а посторонние стимулы уже разрушают тонкие процессы дифференцировки. Если спонтанная активность мала, ее все время приходится «кормить» внешними стимулами — таким людям легче работать в шуме, под музыку и т.д.
www.linode.com/pricing
$5 = 1gb ram + 20gb ssd
Когда у меня знакомые спрашивают, какой я могу посоветовать им дешёвый vps, я просто шлю им этот список. После этого объяснения не требуются, сразу видно, что можно взять, а что не нужно.
www.online.net/en/dedicated-cloud
www.scaleway.com/pricing
3 евро = 2gb ram + 50gb ssd + dynamic ip
www.ovh.ie/vps/vps-ssd.xml
3 евро = 2gb ram + 10gb ssd
ru.hetzner.com/hosting/produkte_vserver/cx10
4 евро = 1gb ram + 25gb ssd + backup space
www.kimsufi.com/en/servers.xml
10 евро = 4gb + 40gb ssd + Atom™ N2800 (2 ядра)
simplecloud.ru/price
250 руб = 1gb ram + 20gb ssd
www.ihor.ru/vds
250 руб = 1gb ram + 20gb ssd
www.leaseweb.com/cloud/public/virtual-server
5 евро = 1gb ram + 40gb ssd
www.digitalocean.com/pricing
5 баксов (350р) = 512mb + 20gb ssd
Теперь в этот список в на предпоследнее место я добавлю linode.
Купил простенькую машину на arubacloud за 1 евро в месяц, всё есть и всё устраивает. Админка отстойная, правда
Бесплатна к использованию, написана на Java, я использовал её и на винде, и под линуксом.
Community Edition — самая простая версия, но ее функционал в разы больше то же Umbrello или Dia.
Также есть один ньюанс для Community Edition: если, например, у вас одна диаграмма классов, то она нормально экспортируется в картинку или pdf, но если диаграммы две и больше — то поверх сэкспортированного изображения (или pdf) будут навязчивые водяные знаки, мол хочешь нормальное экспортирование — покупай. Такие же ограничения на все типы диаграмм.
Сначала меня это сильно удручило, но потом я придумал немного хакерский прием.
1. экспортируем диаграмму в изображение формата SVG
2. открываем SVG файл в текстовом редакторе (это же по сути XML файл, где вся информация, в том числе и водяные знаки написаны текстом) и удаляем кучу строк с описаниями водяных знаков, благо они не разбросаны по файлу, а находятся в самом конце.
3. качаем Batik SVG Toolkit и одной командой в шелле получаем чистенькие PDF или PNG. Batik тоже на Java, я использовал его на винде, но и на лине тоже должен запуститься.
Удобней экспортировать всегда в одну и ту же папку несколько svg файлов и натравливать batik на всю папку сразу с помощью одного и того же шелл скрипта.
Если диаграмма большая, то batik-rasterizer.jar следует запускать с указанием размера памяти под java, так как 64МБ по умолчанию бывает мало и тогда batik падает.
Кстати в самой Visual Paradigm for UML для генерирования PDF также используется Batik.
И еще в догонку: Visual Paradigm for UML не запустится под линуксом, если включен Compiz. Я справился так: поставил Compiz Fusion Tray Icon и каждый раз переключался между Compiz и Metacity. Неудобно, но можно потерпеть
Чтобы не быть голословным, стоит ли новичкам знать, что:
и еще много, много чего…
Так, вместо тормознутых почтовых веб-сервисов типа GMail используется старый добрый почтовый клиент. Хотя по нынешним временам стало очень трудно найти почтовик без встроенного браузера со всеми его тормозами, так на вскидку кроме Sylpheed ничего и не припомню.
Для просмотра лент с соцсетей и новостных лент используется RSS-агрегатор. Хотя по нынешним временам крайне сложно найти RSS-клиент без встроенного браузера — я не знаю ни одного GUI-клиента, который не тянул бы с собой тормознутый браузерный движок.
Вместо youtube и подобных видеосервисов используется потоковый плеер.
Ну и всё в том же духе. Большинство веб-сервисов заменяется автономными приложениями, а немногие статические странички просматриваются в links2 или подобном браузере, который отлично их рендерит, даже с графикой. В таком режиме можно хоть с Raspberry Pi комфортно в Интернете сидеть.
Ну я вот писал программу по нескольким курсам, один из основных — «Алгоритмы и структуры данных», вот база (не все, особенно и последнего семестра, нужно знать и доказывать, но основные свойства полезно знать).
Вот примерный список, я надеюсь, он после обкатки скорректируется. Общий объем 225 часов (чисто лекции, практика Python-C-C++ идет отдельными часами).
Поиск в массиве
1.1 Линейный поиск
1.2 Двоичный поиск
1.3 Троичный поиск
1.4 Интерполяционный поиск
Структуры данных
1.5 Массив
1.6 Стек
1.7 Очередь, двусторонняя очередь
1.8 Словарь
1.9 Хеш-таблица
Сортировки, анализ алгоритмов
2.1 Bubble sort (пузырьковая сортировка)
2.2 Merge sort (сортировка слиянием)
2.3 Quick sort (быстрая сортировка)
2.4 Bucket sort (блочная сортировка)
2.5 Heap sort (пирамидальная сортировка)
2.6 Insertion sort (сортировка вставками)
2.7 Counting sort (сортировка подсчетом)
2.8 Radix sort (порязрядная сортировка)
2.9 Timsort и другие гибридные алгоритмы сортировки
Рекурсия, математическая индукция
3.1 Хвостовая рекурсия
3.2 Обратная польская запись
3.3 Числа Каталана
3.4 Вычисление биномиальных коэффициентов
3.5 Метод градиентного спуска
3.6 Метод сопряженных градиентов
3.7 Принцип динамического программирования
3.8 Метод ветвей и границ
3.9 Методы Gradient boosting
3.10 Алгоритм Кадана
3.11 Поиск методом золотого сечения
3.12 Производящие функции
3.13 Запаздывающие генераторы Фибоначчи
3.14 Memoization
3.15 Корекурсия
3.16 Задача 3-SAT
3.17 Алгоритм фрактального сжатия
Структуры данных (рекурсивные)
3.18 Список
3.19 Дерево
3.20 Граф
Строки
4.1 Z-функция
4.2 Алгоритм Кнута-Морриса-Пратта
4.3 Алгоритм Ахо-Корасик
4.4 Алгоритм Бойера-Мура
4.5 Алгоритм Бойера-Мура-Хорспула
4.6 Сходство Джаро-Винклера
4.7 Расстояние Левенштейна, алгоритм Укконена
4.8 Расстояние Дамерау-Левенштейна
4.9 Алгоритм Карпа-Миллера-Розенберга
4.10 Алгоритм Каркайнена-Сандерса
4.11 Алгоритм Арикавы-Аримуты-Касаи-Ли-Парка
4.12 Алгоритм Ву-Менбера
4.13 Алгоритм Ландау-Вишкена
4.14 Алгоритм Майерса
Структуры
4.15 Префиксное дерево
4.16 Суффиксный массив
4.17 Суффиксное дерево
Порядковые статистики, потоковые алгоритмы
5.1 Алгоритм BFPRT
5.2 Алгоритм Манро-Патерсона
5.3 Алгоритм Канна-Гринвальда
5.4 Алгоритм большинства голосов Бойера-Мура
5.5 Алгоритм Lossy Count
Деревья
6.1 Эйлеров обход дерева, DFS, BFS
6.2 Двоичное дерево поиска
6.3 Декартово дерево
6.4 Красно-черное дерево
6.5 АВЛ-дерево, дерево Фибоначчи
6.6 Splay tree (расширяющееся дерево)
6.7 B, B+, B* дерево, 2-3 дерево
6.8 PQ-дерево
6.9 Дерево отрезков
6.10 Дерево Фенвика
6.11 Алгоритм двоичного подъема (задача LCA)
6.12 Алгоритм Фарах-Колтона и Бендера (RMQ, LCA)
6.13 Sqrt-декомпозиция
6.14 Центроидная декомпозиция
6.15 Heavy-light декомпозиция
6.16 Фибоначчиева куча
6.17 Куча, 2-3 куча
6.18 Очередь с приоритетами
6.19 Множество
6.20 Система непересекающихся множеств
6.21 Лес непересекающихся множеств
6.20 Ассоциативный массив
Графы
7.1 Обход в ширину (BFS)
7.2 Обход в глубину (DFS)
7.3 Топологическая сортировка
7.4 Алгоритм Munagala-Ranade
7.5 Алгоритм Mehlhorn-Meyer
7.6 Задача о динамической связности
7.7 Алгоритм поиска точек сочленения графа
7.8 Алгоритм поиска мостов графа
7.9 Алгоритм Косараю
7.10 Алгоритм Тарьяна
7.11 Задача 2-SAT
7.11 Алгоритм Брона-Кербоша
7.12 Конденсация графа
7.13 Раскраска графа
7.14 Задача о назначениях
7.15 Венгерский алгоритм
7.16 Алгоритм Ульмана
Структуры
7.17 Матрица смежности
7.18 Матрица достижимости
7.19 Матрица сильной связности
7.20 Матрица Лапласа
7.21 Матрица Инцидентности
7.22 Список смежности
7.23 Список ребер
Графы: циклы
8.1 Алгоритм поиска Эйлерова цикла
8.2 Алгоритм поиска Эйлерова пути
8.3 Алгоритм поиска Гамильтонова цикла
8.3 Алгоритм поиска Гамильтонова пути
8.4 Задача Коммивояжера
Графы: остовное дерево
9.1 Теорема Кирхгофа
9.2 Теорема Кэли о числе деревьев, код Прюфера
9.3 Лемма о безопасном (минимальном) ребре
9.4 Алгоритм Краскала
9.5 Алгоритм Примы
9.6 Алгоритм Борувки
9.7 Задача устранения петель в сети Ethernet (STP)
9.8 Задача Штейнера
Графы: кратчайший путь
10.1 Алгоритм Дейкстры
10.2 Алгоритм Best-First
10.3 Алгоритм A*
10.4 Алгоритм Левита
10.5 Алгоритм Беллмана-Форда
10.6 Алгоритм Флойда-Уоршелла
10.7 Алгоритм ALT
10.8 Алгоритм Reach-based pruning
Графы: потоки в сетях
11.1 Алгоритм Форда-Фалкерсона
11.2 Алгоритм Эдмонса-Карпа (алгоритм Диница)
11.3 Алгоритм поиска потока минимальной стоимости
11.4 Сети Петри
11.5 Алгоритм проверки графа на двудольность
11.6 Алгоритм раскраски двудольного графа
11.7 Алгоритм Хопкрофта-Карпа
11.8 Венгерский алгоритм
11.9 Blossom алгоритм (алгоритм Эдмондса)
11.10 Алгоритм Штор-Вагнера
Геометрия
12.1 Метод Гаусса
12.2 Поиск точек в прямоугольнике
12.3 Алгоритм Бентли-Оттмана
12.4 Алгоритм Грэхема
12.5 Алгоритм Джарвиса
12.6 Алгоритм Чана
12.7 Алгоритм Киркпатрика
12.8 Метод трассировки луча
12.9 Метод суммирования углов
12.10 Диаграмма Вороного и триангуляция Делоне
12.11 Алгоритм Форчуна
12.12 Рекурсивное построение диаграммы Вороного
12.13 SLERP
Структуры
12.13 R, R+, R* дерево
12.14 K-мерное дерево
12.15 BSP, VP дерево
12.16 Дерево покрытий
Персистентные структуры
13.1 Метод копирования пути
13.2 Метод толстых узлов
Структуры
13.3 Персистентный стек
13.4 Персистентная очередь
13.5 Персистентное дерево
Консенсус в сетях
14.1 Алгоритм Paxos
14.2 Задача Византийских генералов
14.3 Кворум
14.4 CAP-теорема
14.5 PACELC-теорема
14.6 Королевский алгоритм
14.7 Алгоритм Zyzzyva
Структуры
14.8 Blockchain
Целочисленное программирование
15.1 Каноническая форма, сложность решения
15.2 Алгоритмы полного перебора
15.3 Алгоритм Нарайаны
15.4 Задача о ранце
15.5 Алгоритм Meet-in-the-Middle
15.6 Задача раскроя
15.7 Метод обратного поиска
15.8 Задача планирования производства
15.9 Задача оптимизации телекоммуникационных сетей
15.10 Метод секущих плоскостей, алгоритм Гомори
15.11 Алгоритм Альфа-Бета отсечений
15.12 Жадные алгоритмы
15.13 Матроиды, алгоритм Радо-Эдмонса
Быстрые вычисления
16.1 Умножение Карацубы
16.2 Алгоритм Шенхаге-Штрассена
16.3 Алгоритмы возведения числа в степень
16.4 Алгоритмы возведения в степень числа по модулю
16.5 Алгоритм Кули-Тьюки
16.6 Алгоритм Штрассена
Факторизация
17.1 Алгоритм Евклида (НОД)
17.2 Алгоритм факторизации Ферма
17.3 Метод квадратичных форм Шенкса
17.4 Ро-алгоритм Полларда
17.5 Метод квадратичного решета
17.6 Общий метод решета числового поля
17.7 Факторизация с помощью эллиптических кривых
17.8 Тест Агравала-Каяла-Саксены
17.9 Алгоритм Берлекэмпа
Дискретное логарифмирование
18.1 Алгоритм Гельфонда-Шенкса
18.2 Алгоритм COS
Обработка очередей
18.1 Семейство алгоритмов Round-robin
18.2 Алгоритм EDF
18.3 Алгоритм SRTF
18.4 Алгоритм Fixed-priority pre-emptive scheduling
18.5 Задача составления расписания (JSP, OSSP)
18.6 CFS планировщик
18.7 BFS планировщик
Кеширование
19.1 T-дерево
19.2 Алгоритм Белади
19.3 FIFO, LIFO кеширование
19.4 LRU, PLRU кеширование
19.5 MRU кеширование
19.6 RR кеширование
19.7 LFU кеширование
19.8 MQ кеширование
19.9 ARC кеширование
Рандомизированные алгоритмы
20.1 Метод Монте-Карло
20.2 Поиск наименьшего набора ребер, разрезающего циклы
20.3 Муравьиный алгоритм
20.4 Алгоритм Каргера
20.5 Изоморфизм графов (алгоритм Blum-Kanan)
20.6 Rapidly exploring random tree
20.7 Тасование Фишера-Йетса
20.8 Алгоритм Karloff–Zwick
Вероятностные тесты на простоту
21.1 Тест Ферма
21.2 Тест Миллера-Рабина
21.1 Тест Бейли-Померанца-Селфриджа-Уогстаффа
Вебграфы
22.1 Модель Болобаша-Альберта
22.2 Модель Болобаша-Риордана
22.3 Модель Бакли-Остгус
22.4 Модель копирования
22.5 PageRank, Google matrix
Структуры
22.1 MapReduce
22.2 Apache GiGraph
22.3 Pregel
Хеширование
23.1 Двойное хеширование
23.2 Фильтр Блума
23.3 Count-min sketch
23.4 Универсальное хеширование
23.5 SWIFFT
23.6 MD5
23.7 SHA-2
23.8 SHA-3 (Keccak)
23.9 Дерево Меркла
23.10 Подпись Меркла
23.11 Хеш-функции, учитывающие близость (LSH)
23.12 Хеширование на основе расстояния Хэмминга
23.13 MinHash
23.14 SimHash
23.15 Поиск ближайшего соседа c помощью LSH
** При этом стоит учесть что запланированы еще курсы по Теории графов, Дискретной математике, Экстремальным задачам, Машинному обучению, Теории сложности и пр.пр.пр. Т.е. это просто фундаментальный курс по алгоритмам и структурам данных, который является точкой отсчета для всего остального (ну как курс по Математическому анализу).
*** Это несколько больше чем я сам знаю, так что это еще и мой план для себя подтянуть неизвестные/забытые темы. Обсудив его с коллегами, на предмет кто будет читать мы пришли к выводу, что мы все были бы рады и сейчас прослушать такой курс.
0) выучить английский
1)htmlacademy /freecodecamp. Есть еще codeschool, codeacademy. И еще миллион сайтов которые можно нагуглить.
практика
2)learn.javascript от корки до корки. на сегодня это самое полное собрание сочинений по js.
3)практика
4)практика
5) книги по паттернам / статьи по перфомансу / тонким моментам. На этом моменте выбираете фреймворк
и снова практика.
Первые главы посвящены базовым принципам научного знания, аристотелевой логике и даже обыкновенным дробям =) Далее, постепенно повышая уровень хардкора, автор приходит к тензорам и лагранжианам. А потом уже занимается, собственно физикой.
Как мне кажется, эта книга — самая плотная, но в то же время последовательная упаковка научного знания.
Оригинальная статья, как и перевод, написанны с хорошей долей сарказма, нацеленного как раз на тех, кто угрюмо утверждает, что менять и искать ничего не надо.
Закажите себе SICP или почитайте Dive into Python. Полистайте странички на LambdaTheUltimate. Расширение кругозора никому никогда не мешало...
Плюсы TeamTalk по сравнению со Skype:
— неограниченное число участников конференции — зависит только от ширины канала на сервере. Лично я участвовал в конференции из 200 человек,
— очень высокое качество звука даже на диалапе,
— не сосет трафик в неактивном режиме,
— поддерживает вложенные комнаты, можно устанавливать пароли,
— (бесплатные) видеоконференции для неограниченного числа участников,
— разработчик активно реагирует на обращения.
Возможный минус в том, что необходимо разворачивать сервер. Скачать можно тут: www.bearware.dk
Порог вхождения уже несколько выше «гаража».
Кроме того, есть замечательная статья-рассуждения (ссылку давать не буду, дам просто название):
«Почему в России не будет суперсовременных роботизированных производств». ИМХО и в ней есть рациональное зерно и значительный объем объяснения текущего положения дел.
У меня аналогично:
Поэтому для меня нормальный способ не чувствовать себя сонным — постепенно сдвигать время пробуждения на полчаса каждый день в течение недели, а затем корректировать его понедельником с ранним подъёмом.
На ассемблере было весело писать под чиптюны, особенно по ночам :) Код для какого-нибудь робота нормально пишется под что-нибудь тяжело-металльное ("как будто ядерную бомбу паяешь"), а вот бизнеслогика в энтерпрайзе — под пситранс/эмбиент. Все от типа задач зависит.