Николай Чабановский
Россия, Санкт-Петербург, Приморский район
В данный момент Руководитель группы разработки в компании Сеть Знаний.
Заинтересован в работе на полное время или по контракту. Готов к удаленной работе.

Стремлюсь реализовывать масштабные нетиповые проекты. Предпочитаю использовать передовые инновационные технологии при разработке программного обеспечения. 

Технологии
Опыт работы (2)
Руководитель группы разработкиудалить изменить
Сентябрь '11 - Настоящее время
go web javascript

Проектирование и разработка высоконагруженных сервисов вопросов и ответов. В том числе:

  • администрирование баз данных
  • разработка веб-приложений
  • дизайн пользовательского интерфейса

В круг моих обязанностей входит: постановка и планирование задач, создание расписания сдачи проекта, распределение задач среди членов команды, обеспечение требуемого качества продукта.

Программистудалить изменить
Август '09 - Сентябрь '11
c++ c# java javascript c

Участвовал в разработке следующих проектов:

  1. SoftStylus
  2. DLNA SDK
  3. Bluetooth драйвер
  4. Connection Manager для платформы Android

Занял место на ежегодном корпоративном дне инноваций, на основе доклада запустили проект. 

Образование (2)
Инженер разработки ПОудалить изменить
Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики
Сентябрь '07 - Август '12
c++ tcp-ip сети
Техническое обслуживание средств ВТ и компьютерных сетейудалить изменить
Санкт-Петербургский Технический колледж управления и коммерции
Сентябрь '03 - Июнь '07
железо
Сеть Знаний
Аккаунты Сети Знаний
Лучшие ответы
Hello world!
34 голоса

Ответ очень прост. Их даже несколько. Самый простой, основанный на свойстве глобальных статических объектов.

int printHelloWorld() { printf("Hello World"); return 0; }
static int testVar = printHelloWorld();
int main ()
{
    return 0;
}

Это, если С стиль. С++ стиль: создаем класс, в конструкторе добавляем вывод, будет вывод до main, в деструкторе - после.

Главное различие в том, что функция strlen вычисляет длину строки, а оператор sizeof к вычислению длины строки никакого отношения не имеет. Оператор sizeof используется для определения размера памяти занимаемой сущностью. При работе со строками он может быть применим только к строкам, определенным на стеке и константным строкам. Механизм работы можно увидеть на примере:

char *pStr = "string";
char str[20];

strcpy(str, pStr);

int len1 = strlen(pStr);       // = 6
int len2 = strlen(str);        // = 6
int len3 = sizeof(pStr);       // = 4, если используется 32-х битная система
int len4 = sizeof(str);        // = 20
int len5 = sizeof("string");   // = 7

*& - это ссылка на указатель. Используется в С++ как альтернатива двойному указателю. К примеру, для инициализации указателя.

void someFunc(someType *& param) 
{
    someType * result = NULL;
    // Выполняем некоторые действия.
    param = result;
}
void someFunc(someType ** param) 
{
    someType * result = NULL;
    // Выполняем некоторые действия.
    *param = result;
}

Эти функции эквиваленты.

Надо сделать нечто подобное:

ifconfig -a | grep 'inet '.[^2] | awk '{print $2}'

Это для Соляриса.

Для просмотра программ необходимо посмотреть окно конфигурации системы. Для этого нажимаем одновременно Win + R. В появившимся окне пишем:

msconfig

После подтверждаем действие (если попросят). Должно открыться окно "Конфигурация системы". В нем надо открыть нужную вкладку, в нашем случае это "Автозагрузка".

Может это не совсем в стили GO, но работать будет:

func renderFile(w http.ResponseWriter, filename string) {
  fmt.Println("Read request: " + filename)
  file, err := ioutil.ReadFile(filename)
  if err != nil {
      fmt.Println("Cann't open file: " + filename)      
   else {
      w.Write(file)
   }    
}
показать все ответы
Написанное
Блоги

Блог компании "Сеть Знаний".

Инструменты
Первый компьютер Intel Celeron изменить
Любимый редактор nano