Go не имеет общих типов, но вы можете посмотреть, как sort работает, чтобы найти обходной путь. Что они делают, так это создать такой интерфейс:
type Interface interface {
// Len is the number of elements in the collection.
Len() int
// Less returns whether the element with index i should sort
// before the element with index j.
Less(i, j int) bool
// Swap swaps the elements with indexes i and j.
Swap(i, j int)
}
И теперь для любого настраиваемого типа вы можете создать соответствующий настраиваемый тип коллекции, который можно отсортировать. Алгоритм сортировки должен иметь дело только с целыми числами и булевыми значениями, и поэтому не видит и не заботится о том, каковы основные типы данных.
Все Мыслить в ... книги.
Брюс Эккель - Гений педагогики! Так легко понять реализацию полиморфизма в C ++. Он содержит все, что вам следует знать о C ++, основных и дополнительных концепциях. Намного лучше, чем у Страуструпа. Я выучил с ним и Java.
И последнее, но не менее важное:
C ++ - бесплатный!
Дополнение к упомянутым выше замечательным:
Поскольку я программист на C # и уже упоминалось большинство общих книг, я бы порекомендовал книгу Билла Вагнера «Более эффективный C # .
Я думаю Большинство людей, которые разрабатывают составные WPF-приложения, также должны ознакомиться с руководством Microsoft по составным приложениям (также известным как Prism):
Книга Питера Нортона по языку ассемблера для IBM PC
Я провел бесчисленные ночи перед компьютером (DOS), исследуя неизвестные миры :-D
Насколько влиятельная книга часто зависит от читателя и от того, где он был в своей карьере, когда читал книгу. Я должен отдать должное Head First Design Patterns . Великая книга и ее творческий подход должны использоваться в качестве примера для других авторов технических книг. Т.е. он написан для облегчения изучения и усвоения концепций.
Расширенное программирование в среде UNIX - У. Ричард Стивенс
Мой голос - "Как думать как компьютерный ученый: Learning With Python". Она доступна как в виде книги, так и в виде бесплатной электронной книги.
Она действительно помогла мне понять основы не только Python, но и программирования в целом. Хотя для демонстрации концепций используется Python, они применимы к большинству, если не ко всем, языкам программирования. Также: БЕСПЛАТНО!
Мастерство: ключи к успеху и долгому -Срок выполнения, Джордж Леонард
Речь идет о том, какой образ мышления требуется для достижения мастерства в каком-либо навыке и почему. Это просто потрясающе, и его тоже легко читать.
Твердый код, оптимизирующий жизненный цикл разработки программного обеспечения
Несмотря на то, что книга всего 300 страниц и отдает предпочтение технологиям Microsoft, она по-прежнему предлагает некоторые хорошие языковые лакомые кусочки.
Доменно-ориентированный дизайн Эрика Эванса - замечательная книга!
Что случилось с "Программированием для экспертов C - Секреты глубокого C" Питера Ван Дер Линдена - классическим и приятным чтением. Должен был прочитать это сразу после изучения C несколько лет назад, но понял это примерно через 3 года изучения C! Рекомендуемая книга, которая отвечает на самые распространенные вопросы SO по указателям (моя любимая тема). Живи этим, ешь, дыши! 10/10!
Что каждый программист должен знать о памяти
Ульрих Дреппер - объясняет структуру современных подсистем памяти и предлагает способы их эффективного использования.
PS: Извините, если я дважды публикую.
Теперь мой вопрос заключается в том, насколько надежным является мой метод использования сгенерированных изображений (чье имя файла не дает адреса) против скребков, когда я не использую никакого искажения текста на изображениях?
У меня нет никаких данных, чтобы подкрепить это, но я бы сказал: достаточно достоверно. Комбайны могут получать миллионы адресов, используя «обычные» средства; Я не думаю, что для них экономически целесообразно делать обработку изображений, чтобы получить немного больше.
И как продолжение: если я не хочу запасной метод, на тот случай, если создание изображения по какой-то причине не удастся, что было бы самым умным способом пройти?
Используйте хороший фильтр спама.: -) Нет, серьезно, это действительно трудно держать почтовый адрес скрытым от комбайнов.
-121--3594939- Монада ST
позволяет описывать и выполнять императивные алгоритмы в Haskell. Можно использовать STRef
s для изменяемых указателей списка двойных связей.
Автономные алгоритмы, описанные с помощью ST
, выполняются с помощью runST
. Различные выполнения runST
не могут совместно использовать структуры данных ST
( STRef
, STAray
,..).
Если алгоритм не является «автономным» и структура данных должна поддерживаться с операциями ввода-вывода, выполняемыми в промежутках между его использованием, можно использовать stToIO
для доступа к нему в IO
monad.
Относительно того, является ли это чисто функциональным или нет - я думаю, это не так?
-121--2220756-97 Вещи Каждый программист должен знать
This книга объединяет коллективный опыт некоторых лучших программистов мира. Это обязательное чтение.
Введение в GW Basic. Без него я бы никогда не научился программировать, а любые другие книги не помогли бы мне.
Алгоритмы на C ++ были неоценимы для меня при изучении нотации Big O и тонкостях различных алгоритмов сортировки. Это было опубликовано до того, как Седжвик решил, что может заработать больше денег, разделив их на 5 разных книг.
Часто задаваемые вопросы по C ++ - потрясающая книга, которая действительно показывает вам, что вы должны и чего не должны делать на C ++. Обратная совместимость C ++ оставляет много мин, и эта книга помогает тщательно их избегать, и в то же время является хорошим введением в объектно-ориентированный дизайн и намерения.
Кажется, большинство людей уже коснулись некоторых очень хороших книг. Мне очень помог Эффективный C #: 50 способов улучшить свой C # . Было бы упущением, если бы я не упомянул Дао Пуха . Книги по философии могут быть полезны и для души, и для кода.
50 способов улучшить свой C # . Было бы упущением, если бы я не упомянул Дао Пуха . Книги по философии могут быть полезны и для души, и для кода. 50 способов улучшить свой C # . Было бы упущением, если бы я не упомянул Дао Пуха . Книги по философии могут быть полезны и для души, и для кода.Я еще не видел здесь Тестовые шаблоны xUnit: тестовый код рефакторинга от Джерарда Месароса. Эта книга действительно помогла мне взглянуть на модульное тестирование с новой точки зрения.
Я опаздываю на этот вопрос, но, по-видимому, все еще могу предложить что-то уникальное ... Экономика программной инженерии Барри Боэм что, вкратце, , говорит, что если вы действительно хотите повысить производительность программного обеспечения, привлекайте лучших людей, поскольку более совершенные инструменты, оборудование, языки, методы и т. д. будут иметь незначительное влияние. Только лучшие люди значительно повышают производительность. Подчеркиваю, это инженеры лучше , а не больше инженеров!
Не та книга, которую вы бы взяли с собой в постель, как, например, Coders At Work , но книга, которая преподносит урок, который наша отрасль изо всех сил пытается усвоить. Свидетель оффшоринга: ложная экономика, предсказываемая моделью Бема, будет иметь лишь незначительный положительный эффект. если вообще есть. Проверьте это.
Важная литература для любого наставника / руководителя группы / менеджера или любого, кто подчиняется вышеупомянутому.
Это книга, которую должен прочитать каждый программист: Концепции системы баз данных от Абрахама Зильбершатца.
альтернативный текст http://images.barnesandnoble.com/images/14870000/14878097.JPG
Это очень богатая и полезная компиляция, однако я немного удивлен, что не встретил среди авторов Эндрю С. Таненбаума. ИМО, он - один из лучших профессоров CS, и его гений в основном связан с его необычайной способностью делать довольно сложные материалы доступными для студентов бакалавриата CS. Его книги («Современные операционные системы» или «Компьютерные сети» могут вызвать колокольчик) сделали замечательную работу, предоставив мне прочную основу в CS, пока я выполняю свою BS, и я очень рекомендую их. Еще несколько интересных вещей о Таненбауме, доказывающих, что его навыки выходят за рамки преподавания: автор ОС под названием MINIX - Линус черпал вдохновение из нее при внедрении Linux; Amoeba - распределенная ОС; Turtle - бесплатная анонимная p2p сеть.
Искусство гейм-дизайна - Книга объективов Джесси Шелла
Джесси Шелл преподает гейм-дизайн и руководит исследовательскими проектами в Центре технологий развлечений Карнеги-Меллон с 2002 года.
Нафф сказал.
The Art of Game Design - A Book of Lenses http://i50.tinypic.com/iekw0l.jpg
PS: Извините, если я дважды разместил сообщение, я не смог найти эту книгу в ответах - либо потому, что название было неточным, либо потому, что не было изображения. Дайте мне знать, и я удалю ее, если это так.
Руководство программиста по IBM PC. Книга "Розовая рубашка".
... ну, кто-то должен был это сказать.
You.Next(): Продвигайте свою карьеру разработчика программного обеспечения к лидерству ~ Майкл К. Финли (Автор), Хонза Федак (Автор) link text
Maverick !: История успеха самого необычного рабочего места в мире
альтернативный текст http://ecx.images-amazon.com/images/I/410TX7YN94L._SL500_AA300_.jpg
Заставит вас понять, что такое рабочее место должно нравиться.
Когда я впервые начал программировать на языках ООП, я обнаружил, что эта книга не только представляет собой всеобъемлющую книгу о C ++ и MFC, но и является одной из лучших объяснения объектно-ориентированных концепций, которые я видел.
Когда я общаюсь с разработчиками, которые только начинают программирование на объектно-ориентированном языке, я говорю им прочитать эту книгу.