All streams
Search
Write a publication
Pull to refresh
0
0

User

Send message
Строго говоря это не одно и тоже. Версия dart'а будет работать быстрее (хотя, на практике и не значительно)
Фатальный недостаток dart найден :)

Если серьёзно, то removeLast лучше тем что вернее отражает суть:
Pop: удалить элемент из однонаправленного контейнера (такого как стэк)
RemoveLast: название говорит за себя.
Это идеальный вариант конечно.
Возможно вы имели в виду «как приготовить язя»
По возможности кратко изложу свою мысль:
Перевод должен быть. Интерфейс должен быть хорошим, чтобы для его освоения не пришлось лазить по иностранным форумам (привет Visual Studio).
Частоты не те? В смысле, микроволновка экранирует другой диапозон волн.
С какой целью, кстати, ложили телефон в микроволновку?
Не факт что везде устроено именно так, но, даже если да, на 100% такой подход ситуацию не спасает. Пусть упадет не тот процесс который держит связь с трекером, а тот который парсит – данные в базу не попадут и статистика не будет построена. Конечно можно проанализировать логи, выявить проблему, исправить парсер и запустить парсинг заново, но не факт что это будет делаться в реальности.
Если расскажут что интересное – поделитесь, ок? Интересно с чужой точки зрения На это посмотреть.
Напишу пожалуй как можно обмануть трекеры с програмной точки зрения.

Что у нас есть:
* Сервер (программа обрабатывающая запросы)
* Машины с трекерами (T) — объект наблюдения.
* Сеть GSM для связи между трекером и сервером.
* Расслабленность разработчиков: убеждённость что «всякую фигню нам на сервер слать не будут.»

Попытаемся завалить сервер. Если упадёт именно он, определить какого из водителей нужно наказывать проблематично (а мы ведь целиком за водителей, этих молчаливых труженников, да?).

Будем считать что нам известны адрес и порт сервера, куда трекер шлёт данные.
Сервер может быть построен по одной из следующих архетиктур:

А1) в основном потоке проверяем нет ли новых подключений, если есть создаём новый поток и обрабатываем данные в нём.
+) Потоки не тормозят друг друга (если их не много и нет другого «бутылочного горлышка», например записи в базу.)
— ) Много памяти, много времени на синхронизацию, в целом работает медленнее чем способ 2.

A2) в основном потоке проверяем нет ли новых подключений, или событий от уже подключённых трекеров. Обрабатываем по очереди все наступившие события (пришли данные, новое подключение и т.п.). Используем epoll, или что-то вроде того. Могут встретится реализации использующие poll() или select(), они хуже.
+ ) Работает заметно быстрее, устроено проще, значит меньше ошибок.
— ) Если не предпринять особых мер, то один наглый клиент займёт сервер навсегда, пока остальные будут ждать.

Итак, наконец, что мы можем сделать чтобы освободить братьев водил от назойливого присмотра:

1) Дос. Черной пеленой экран заполнил чистый DOS.... Открываем соедиенние, в бесконечном цикле шлём туда «0» или что похуже. Тут могут произойти сразу несколько (не)приятных вещей: сервер неаккуратно написаный по схеме 2 зависнет, или парсер пытающийся выкусить сообщение из потока не будет его находить, но будет заботливо складывать в буфер, который, как и всё хорошее, когда нибудь закончится и программа упадёт.

2) Открываем много много соединений, по желанию шлём какие-нибудь данные в них. Если нет ограничений на количество соединений, начнутся тормоза, особенно если сервер построен по схеме 1.

3) Если знать формат сообщений, то можно отсылать разные его вариации, которые завалят парсер. Мало ли кривых парсеров.

4) IMEI. большинство трекеров в каждом сообщении отсылают свой уникальный код, по которому определяется владелец машины. Большинство серверов пологаются на то, что этот код не будет меняться во время сессии. Любопытства ради грех не проверить что будет если вместо настоящего IMEI послать случайную последовательность символов.

Большая простыня получилась, но далеко не всё перечислено.
Да, большинство способов атаки «детские», но уверен что хоть одним из перечисленных способов можно завалить любой 90% таких серверов.
int aaaaazArray[111]; // Вот он массив моей мечты!11
Я про то что «скрытый ящик» => «недоступный ящик», а то что вы имели в виду называется «чёрный ящик».

Русского языка надо знать!
Скрытый ящик?!
Тогда патент не должен иметь юридической силы, не?
Я как раз ничего не путал, «по колёсам» специализируются все более менее крупные компании, потому что патентное законодательство такое. Вопрос втом, о чём конкретно этот иск.

Если что, я не разделяю популярную здесь позицию: «эппл зло потому что дорого, и не разрешила спиздить самсунгу (который не дешевле, но андроид) свой дизайн. Здравый смысл мешает.

Ну а это, по ходу, пост ненависти к эппл, моторолла со своим иском скромно стоит в сторонке.
За «slide to unlock» эппл не судился с самсунгом. На счет «огромного количества человеко-часов» это вы сами сейчас придумали или реально знаете очем речь в иске?
Как и предполагалось, в этом посте нет ничего по теме адекватности иска. Только злопыхания «так вам и надо эппл».
Между тем претензии эппл были более чем адекватными: все планшеты имеют схожие характеристики и для покупателя они различаются, в первую очередь, тем на сколько круто они смотрятся на витрине магазина. Учитывая чрезмерное вдохновение которое дизайнеры Самсунг почерпнули у продукции эппл требования последнего выглядят более чем обосновано.
Что касается этого иска, могут быть нюансы: либо эппл воспользовались продуктом многолетней разработки, либо юристам мотороллы, в своё время, удалось запатентовать «колесо».
Покупать Андроид планшет.
Похоливарим здесь? :)
Какие аппаратные кнопки вам нужны на планшете?
По моему опыту, на iPad, его единственной кнопкой* «домой» приходится пользоваться, дай бог, раз в сутки, а необходимость других кнопок как-то совсем не очевидна. Жесты решают.

* не считая кнопок установки громкости конечно.
Reader, как в safari, будет?

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity