class Product {
int id;
String name;
String picture;
String description;
}
new JSONReadFromAsset().readJsonFromAsset(getApplicationContext());
ArrayList<String> nameList = new ArrayList<String>();
ArrayList<Integer> idList = new ArrayList<Integer>();
List<Product> mDataList
mDataList = JSONReadFromAsset.readJsonFromAsset(getApplicationContext(),"questions.json");
readJsonFromAsset() {
List<Product> dataList = new LinkedList();
for () {
Product product = new Product();
obj = jsonArray.getJSONObject(position);
product.id = obj.getInt("id");
product.name = obj.getString("name");
product.description = obj.getString("description");
product.picture = obj.getString("picture");
dataList.add(product);
}
return dataList;
}
bundle.putParcelable(SomeActivity.PRODUCT, mDataList.get(position));
class Static {
public static final String LINK = "http://ironwaterstudio.com";
}
Очень неплохая вещь для получения базовых понятий об ИБ - подготовиться и сдать экзамен Comptia Security+.
Есть книжки для подготовки, где как раз поверхностно, но весьма широко рассматриваются основные темы ИБ, начиная с физической безопасности, заканчивая криптографией и различными стандартами и законами в области ИБ.
Мы всех новых сотрудников(в т.ч. и студентов-стажеров) в своей компании проводим через этот экзамен в первый год работы. Далее уже каждый сам выбирает специализацию - кто какой областью хочет заниматься.
void setup()
{
//------ Timer0 ----------
TCCR0A = (1<<WGM01); // Режим CTC (сброс по совпадению)
TCCR0B = (1<<CS00); // Тактирование от CLK.
// Если нужен предделитель :
// TCCR0B = (1<<CS01); // CLK/8
// TCCR0B = (1<<CS00)|(1<<CS01); // CLK/64
// TCCR0B = (1<<CS02); // CLK/256
// TCCR0B = (1<<CS00)|(1<<CS02); // CLK/1024
OCR0A = 123; // Верхняя граница счета. Диапазон от 0 до 255.
// Частота прерываний будет = Fclk/(N*(1+OCR0A))
// где N - коэф. предделителя (1, 8, 64, 256 или 1024)
TIMSK0 = (1<<OCIE0A); // Разрешить прерывание по совпадению
//------ Timer1 ----------
TCCR1B = (1<<WGM12); // Режим CTC (сброс по совпадению)
TCCR1B |= (1<<CS10); // Тактирование от CLK.
// Если нужен предделитель :
// TCCR1B |= (1<<CS11); // CLK/8
// TCCR1B |= (1<<CS10)|(1<<CS11); // CLK/64
// TCCR1B |= (1<<CS12); // CLK/256
// TCCR1B |= (1<<CS10)|(1<<CS12); // CLK/1024
OCR1A = 2678; // Верхняя граница счета. Диапазон от 0 до 65535.
// Частота прерываний будет = Fclk/(N*(1+OCR1A))
// где N - коэф. предделителя (1, 8, 64, 256 или 1024)
TIMSK1 = (1<<OCIE1A); // Разрешить прерывание по совпадению
//------ Timer2 ----------
TCCR2A = (1<<WGM21); // Режим CTC (сброс по совпадению)
TCCR2B = (1<<CS20); // Тактирование от CLK.
// Если нужен предделитель :
// TCCR2B = (1<<CS21); // CLK/8
// TCCR2B = (1<<CS20)|(1<<CS21); // CLK/32
// TCCR2B = (1<<CS22); // CLK/64
// TCCR2B = (1<<CS20)|(1<<CS22); // CLK/128
// TCCR2B = (1<<CS21)|(1<<CS22); // CLK/256
// TCCR2B = (1<<CS20)|(1<<CS21)|(1<<CS22); // CLK/1024
OCR2A = 234; // Верхняя граница счета. Диапазон от 0 до 255.
// Частота прерываний будет = Fclk/(N*(1+OCR2A))
// где N - коэф. предделителя (1, 8, 32, 64, 128, 256 или 1024)
TIMSK2 = (1<<OCIE2A); // Разрешить прерывание по совпадению
sei (); // Глобально разрешить прерывания
}
ISR (TIMER0_COMPA_vect)
{
// Обработчик прерывания таймера 0
}
ISR (TIMER1_COMPA_vect)
{
// Обработчик прерывания таймера 1
}
ISR (TIMER2_COMPA_vect)
{
// Обработчик прерывания таймера 2
}
stty -F /dev/ttyACM0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts raw
Serial.begin(9600); Serial.println("START");
#!/bin/sh insmod usbserial insmod ftdi_sio insmod cdc-acm while [ true ] do stty -F /dev/ttyACM0 cs8 9600 ignbrk -brkint -icrnl -imaxbel -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke noflsh -ixon -crtscts raw while read LINE do echo $LINE done < /dev/ttyACM0 /bin/sleep 3 done