На самом деле стрелки там вполне удобные.
Зато очень неудобно что клавиши PgUp/Home и PgDn/End совмещены, причем Home/End включаются модификатором Fn.
Редактировать код очень неудобно, т.к. Home и End постоянно нужны.
Стоит-не стоит — не знаю.
Но на рынке в продаже до сих пор дофига GPS-навигаторов на WM5 и 6.
А это значит что софт под них тоже кому-то приходится писать.
Чтобы понять принцип и успешно применять на практике частичное применение функций никакого предварительного знания функционального программирования не нужно.
К сожалению ни Gestures for Chrome(TM) ни Smooth Gestures под линуксом не пригодны — во время жеста выскакивает контекстное меню.
Под виндой этого нет.
Кто-то знает как бороться, или какойто другой плагин для жестов?
А если серьезно, то претензия не принимается, т.к. в конструкции a != b || c != d трактовка может быть только одна. Никому в голову не придет что имелось в виду a != (b || c) != d. Поэтому именно за то что в паскале автор языка заставляет ставить скобки в совершенно однозначной ситуации надо руки обрывать.
А с битовыми операциями другое.
Там a << b + c может по замыслу программиста быть и (a << b) + c и a << (b + c) поэтому с целью увеличения читаемости там скобки не помешают.
Если бы не было паскаля, то все бы гарантированно знали, что в выражении (a != b) || (c != d) скобки не нужны.
За одно то, что в паскале логические операторы имеют приоритет над сравнением, Вирт будет гореть в аду.
Go подталкивает на многопоточное программирование (а не отталкивает, как C++, даже на стероидах нового стандарта).
Голый С++ может и отталкивает от потоков.
Но библиотеки типа boost.asio наоборот позволяют элементарно писать многопоточные программы без явной низкоуровневой синхронизации.
Рассказываю о реально действующем и заодно приятном способе сохранить зрение.
2 часа в день компьютерных сетевых стрелялок от первого лица (Counter strike, Wolfenstein Enemy Territory и подобные).
Всякие стратегии, пасьянсы и прочие энгрибердс — не годятся, там мышцы глаз не работают.
Как обучалка написанию модулей для линукса — неплохо. Подробно и интересно написано.
Но практическая ценность сомнительна.
1) В линуксе для getsockopt существует опция SO_ORIGINAL_DST которая как раз позволяет получить первоначальный адрес сервера до перенаправления.
2) Для IPv6 -j REDIRECT не работает, т.к. REDIRECT это NAT который для IPv6 не реализован (хотя и существуют пока незавершенные проекты по устранению этого недочета).
Так вот из-за этого для перехвата IPv6 вместо REDIRECT используют таргет TPROXY который вобщем-то по сути тоже перехватывает соединение, но не через NAT а просто внаглую безо всяких преобразований адресов направляет в локальный слушающий сокет (специальным образом открытый с использованием опции IP_TRANSPARENT).
И поэтому получение первоначального конечного адреса для схемы с TPROXY тривиально — просто получить локальный адрес сокета.
Да и ничего не мешает использовать TPROXY для IPv4.
Т.е. как минимум две штатные для линукса схемы позволяют организовать прозрачное проксирование без написания своих модулей ядра. И squid например поддерживает обе.
Вообще-то io_service — это универсальная библиотека целью которой является именно передача сообщений.
Сокеты asio ее используют, а не наоборот.
Велосипеды полезны при изучении разных концепций, а в работе нужно использовать стандартные решения (если у вас конечно нет задачи обфускации исходников).
Аргумент про тяжесть мне вообще не понятен — сорри. Бывают быстрые/медленные, функционально можные/слабые библиотеки. А тяжесть — это что-то из категорий прошлого века.
Зато очень неудобно что клавиши PgUp/Home и PgDn/End совмещены, причем Home/End включаются модификатором Fn.
Редактировать код очень неудобно, т.к. Home и End постоянно нужны.
Но на рынке в продаже до сих пор дофига GPS-навигаторов на WM5 и 6.
А это значит что софт под них тоже кому-то приходится писать.
Переход и вообще всякие подсказки для func не работают если smptr это смартуказатель (с переопределенным оператором ->).
Под виндой этого нет.
Кто-то знает как бороться, или какойто другой плагин для жестов?
А с битовыми операциями другое.
Там a << b + c может по замыслу программиста быть и (a << b) + c и a << (b + c) поэтому с целью увеличения читаемости там скобки не помешают.
За одно то, что в паскале логические операторы имеют приоритет над сравнением, Вирт будет гореть в аду.
Голый С++ может и отталкивает от потоков.
Но библиотеки типа boost.asio наоборот позволяют элементарно писать многопоточные программы без явной низкоуровневой синхронизации.
2 часа в день компьютерных сетевых стрелялок от первого лица (Counter strike, Wolfenstein Enemy Territory и подобные).
Всякие стратегии, пасьянсы и прочие энгрибердс — не годятся, там мышцы глаз не работают.
24. Напишите рекурсивную ф-ю ХХХХ
25. Напишите ф-ю Фибоначчи
Неудачный вобщем пример в котором намешали несколько необдуманных допущений сделанных разработчиками компилятора.
Но это не значит что у нас не должно быть выбора.
А вот для оставшегося меньшинства — недочет.
Но практическая ценность сомнительна.
1) В линуксе для getsockopt существует опция SO_ORIGINAL_DST которая как раз позволяет получить первоначальный адрес сервера до перенаправления.
2) Для IPv6 -j REDIRECT не работает, т.к. REDIRECT это NAT который для IPv6 не реализован (хотя и существуют пока незавершенные проекты по устранению этого недочета).
Так вот из-за этого для перехвата IPv6 вместо REDIRECT используют таргет TPROXY который вобщем-то по сути тоже перехватывает соединение, но не через NAT а просто внаглую безо всяких преобразований адресов направляет в локальный слушающий сокет (специальным образом открытый с использованием опции IP_TRANSPARENT).
И поэтому получение первоначального конечного адреса для схемы с TPROXY тривиально — просто получить локальный адрес сокета.
Да и ничего не мешает использовать TPROXY для IPv4.
Т.е. как минимум две штатные для линукса схемы позволяют организовать прозрачное проксирование без написания своих модулей ядра. И squid например поддерживает обе.
Сокеты asio ее используют, а не наоборот.
Велосипеды полезны при изучении разных концепций, а в работе нужно использовать стандартные решения (если у вас конечно нет задачи обфускации исходников).
Аргумент про тяжесть мне вообще не понятен — сорри. Бывают быстрые/медленные, функционально можные/слабые библиотеки. А тяжесть — это что-то из категорий прошлого века.