Как стать автором
Обновить
-3
0

Пользователь

Отправить сообщение

Указатели, ссылки и массивы в C и C++: точки над i

Время на прочтение10 мин
Количество просмотров610K
В этом посте я постараюсь окончательно разобрать такие тонкие понятия в C и C++, как указатели, ссылки и массивы. В частности, я отвечу на вопрос, так являются массивы C указателями или нет.

Обозначения и предположения


  • Я буду предполагать, что читатель понимает, что, например, в C++ есть ссылки, а в C — нет, поэтому я не буду постоянно напоминать, о каком именно языке (C/C++ или именно C++) я сейчас говорю, читатель поймёт это из контекста;
  • Также, я предполагаю, что читатель уже знает C и C++ на базовом уровне и знает, к примеру, синтаксис объявления ссылки. В этом посте я буду заниматься именно дотошным разбором мелочей;
  • Буду обозначать типы так, как выглядело бы объявление переменной TYPE соответствующего типа. Например, тип «массив длины 2 int'ов» я буду обозначать как int TYPE[2];
  • Я буду предполагать, что мы в основном имеем дело с обычными типами данных, такими как int TYPE, int *TYPE и т. д., для которых операции =, &, * и другие не переопределены и обозначают обычные вещи;
  • «Объект» всегда будет означать «всё, что не ссылка», а не «экземпляр класса»;
  • Везде, за исключением специально оговоренных случаев, подразумеваются C89 и C++98.


Указатели и ссылки


Указатели. Что такое указатели, я рассказывать не буду. :) Будем считать, что вы это знаете. Напомню лишь следующие вещи (все примеры кода предполагаются находящимися внутри какой-нибудь функции, например, main):

int x;
int *y = &x; // От любой переменной можно взять адрес при помощи операции взятия адреса "&". Эта операция возвращает указатель
int z = *y; // Указатель можно разыменовать при помощи операции разыменовывания "*". Это операция возвращает тот объект, на который указывает указатель

Читать дальше →
Всего голосов 70: ↑48 и ↓22+26
Комментарии73

ВКонтакте прекращает поддержку Jabber'a

Время на прочтение1 мин
Количество просмотров106K
Сегодня получил вот такое сообщение.

Данное сообщение отправлено Вам, т.к. Вы используете стороннее приложение для отправки личных сообщений ВКонтакте. В этом приложении используется протокол XMPP, который больше не поддерживается ВКонтакте и будет полностью отключен 31 августа 2013 года.

Мы рекомендуем использовать официальные клиенты ВКонтакте для мобильных устройств и браузерную версию на компьютере.

По всем вопросам Вы можете обращаться в службу поддержки ВКонтакте по ссылке vk.com/support?act=new


Не пойму только зачем его отключать, им пользуются единицы и нагрузки как таковой и вовсе от него нет.

UPD: на e-mail пришла просьба разместить ссылку на петицию о пересмотре отключения. Есть сомнения, что это возымеет какой-то эффект, но чем черт не шутит.
Всего голосов 79: ↑63 и ↓16+47
Комментарии119

OS/2 четверть века спустя: почему IBM проиграла, а Microsoft выиграла

Время на прочтение20 мин
Количество просмотров217K
Двадцать пять лет назад IBM представила генеральный план восстановления контроля над рынком PC. В ноябре 1987 года в магазины отправились первые дискеты с OS/2 версии 1.0. Microsoft разрабатывала ее вместе с IBM и в случае успешной реализации этих планов мир был бы совсем иным. И мир уже начал меняться.

Сейчас о OS/2 обычно вспоминают только в связи с той ролью, которую она сыграла в промышленной войне, окончившейся триумфальной победой Microsoft. На момент выпуска OS/2 в Microsoft работало 1800 человек, меньше, чем сейчас работает в ливерпульском телемагазине QVC. Microsoft даже не была крупнейшим производителем программ для PC. Но всего через несколько лет компания стала не только крупнейшим игроком отрасли, но и одной самых дорогих компаний в мире; один лишь слух о выходе Microsoft в новую нишу вызывал панику у существующих игроков.

Согласно традициям нашего издания я вернул старые программы к жизни и оценил OS/2 с современной точки зрения. Но гораздо интереснее вновь задать иной вопрос: могла ли IBM победить? Если именно OS/2 стала причиной поражения Синего Гиганта, то смогли бы они остановить Microsoft с помощью более хитрых планов? Давайте вернемся в те времена, когда мир еще не знал слов «платформа» и «экосистема» и вспомним, как выглядела отрасль информационных технологий в середине 1980-х.


Читать дальше →
Всего голосов 160: ↑157 и ↓3+154
Комментарии73

Наглядно о том, почему я не беру кредиты

Время на прочтение4 мин
Количество просмотров233K
Кредит — это когда банк вас грабит и вы ему за это ещё платите.
Пожарный Сидоров бездействовал: банк горел — кредит гасился.



Привет, Хабр!

Многие из вас, наверняка, слышали не раз подобные шутки про кредиты и ипотеку. Некоторые, наверное, не раз пользовались калькуляторами вкладов и кредитов, и оценивали выгодность того или иного способа накопления денег. Я тоже недавно заинтересовался этой темой, и подошёл к этой проблеме математически.
Читать дальше →
Всего голосов 123: ↑77 и ↓46+31
Комментарии283

История игровых приставок в рекламе. Часть 1: от Magnavox Odyssey до Super Nintendo

Время на прочтение6 мин
Количество просмотров110K
Тёплую ламповую Dendy мне подарили на новый год, когда мне было восемь лет. Половину ночи отец пытался присобачить её к телевизору, и ему это удалось! А позже ко мне в гости приезжал младший брат со спортивной сумкой, в которой возил Sony PlayStation и несколько дисков к ней…

Тема сегодняшнего поста — история игровых консолей в рекламе. Я добавил также видеоролики — в рекламе часто используется геймплей, который поможет понять всю атмосферу приставки. Мне пришлось разделить пост на две части, так как под катом — около 70 изображений и видеороликов.

Для затравочки — реклама тенниса для Sega Mega Drive.

image

Первое поколение


Magnavox Odyssey

Ральф Баер, Билл Гаррисон и Билл Руш создали прототип приставки «Brown Box». У него было два контроллера, игровой пистолет и шестнадцать переключателей. Баер в 1969-м смог договориться с Magnavox о производстве, и в 1972 году в продажу поступила Magnavox Odyssey. Картриджи являлись набором перемычек, включающих одну из игр, уже имевшихся в приставке.

Было продано около 330 тысяч экземпляров, стоила приставка в районе ста долларов.



Читать дальше →
Всего голосов 78: ↑68 и ↓10+58
Комментарии39

Насколько у Вас стабильная работа и что в этом рюкзачке?

Время на прочтение2 мин
Количество просмотров31K
Написать данный пост меня побудили воспоминания, нахлынувшие после написания моей первой статьи на Хабрахабре.

Жизнь — штука нестабильная по определению. Но многие дестабилизирующие факторы меркнут по сравнению с жизнью на спине огненного дракона по имени Япония.

Я работал в туристической компании, руководя разработкой CRM-системы и платёжных терминалов системы бронирования.
Два года разработки дали результаты, и 11 марта (жизнь не без чувства иронии) директор пригласил меня пообедать в японском ресторанчике с уютной и ненавязчивой атмосферой для того, чтобы отметить рождение нового туристического проекта о Японии.

Обед был вкусен, мысли о светлом будущем переполняли сердце…
Но уже через час я стоял в здании муниципалитета и, не мигая, смотрел на экран телевизона, чувствуя, наверное, то же самое, что чувствовал Робинзон Крузо в первый день на острове.

За несколько минут я понял, что никаких туристов не будет, как не будет и работы в только что созданной собственными руками системе.
Читать дальше →
Всего голосов 52: ↑25 и ↓27-2
Комментарии31

Журнал «Монитор» (апрель 1992) и притчи о компьютерных жителях

Время на прочтение2 мин
Количество просмотров59K
«Только собрались Диггер, товарищ Комманд Ком и командир Нортон пивца попить, как в окно к ним постучали. „There isn't enough room!“ — закричал командир Нортон, увидев в окне ненавистный куколь отца Вындоуза.»

Прочитал недавно пост о журнале «Вычислительная техника», пакете Norton Commander и вспомнил Командира Нортона и других героев компьютерного юмора Александра Голубева.

Внимания хабровчан это стоит хотя бы потому, что очень точно отражает специфику работы программ и компьютеров того времени, а главное, настроения, которое тогда царило в IT-сфере. Особенно заметно отношение к начавшей тогда распространяться «Винде» и очень теплое отношение к старым игрушкам типа Digger. Своего рода история, облеченная в юморе.

К сожалению, обложки того номера у меня не сохранилось, а сайт автора давно не обновляется…

Под катом то, что больше относится к IT. Все остальное можно без труда найти самостоятельно.
Читать дальше →
Всего голосов 100: ↑66 и ↓34+32
Комментарии65

Так ли мертв Symbian или «Повесть о камерфонах»

Время на прочтение10 мин
Количество просмотров128K

Доброго времени суток, Хабр. На написание данной заметки меня побудили несколько факторов – опыт общения с другими людьми из сообщества поклонников Нокии, заметки и анализы на Хабре, а так же – собственный опыт по выбору подходящих смартфонов.
Как обычно, людей в «этих ваших интернетах» много, у каждого есть своё мнение, свои доводы и контраргументы, но любят люди и просто поддаваться моде и ругать что либо просто потому, что это тренд. Мой пост призван несколько развеять устоявшееся мнение о Symbian, её возможностях и нынешнем статусе. Строить основную часть доводов я буду на примере камерфонов, расскажу и объясню как и почему я ими увлекся, так что если вам это интересно, добро пожаловать и приготовьтесь потратить трафик на фото и видео примеры.

Читать дальше →
Всего голосов 109: ↑86 и ↓23+63
Комментарии178

Легкий способ научиться слепому десятипальцевому набору

Время на прочтение3 мин
Количество просмотров1.2M
Традиционно рекомендации по обучению десятипальцевой печати сводятся к двум советам:
  • тратить нервы на клавиатурные тренажеры вроде пресловутого «Соло на клавиатуре»;
  • заклеить подписи на клавишах.

Научиться печатать на клавиатуре вслепую при помощи этих способов — издевательство над собой. Каждый, кто пробовал «Соло», хотя бы раз в ярости бил по клавиатуре кулаком, и практически никто не дошел до конца. А кто пробовал заклеивать надписи на клавишах, вскоре отрывал наклейки обратно, потому что без навыка и без подписей печатать невозможно, а жить дальше как-то надо.

Что если я скажу вам, что есть абсурдно простой, состоящий из одного пункта способ научиться слепой печати без этих дурацких органичений?
 

Читать дальше →
Всего голосов 88: ↑76 и ↓12+64
Комментарии232

Выбираем компьютер в начале 90-х (eng-видео)

Время на прочтение1 мин
Количество просмотров65K


Наверное, на Хабре многие уже забыли об ЭЛТ мониторах, «шариковых» мышках, дисководах для гибких дисков и прочих удовольствиях эпохи 90-х (да и начала 2000-х тоже). Если вы ностальгируете по компьютерам 90-х, или же, наоборот, не застали ту эпоху, рекомендую посмотреть англоязычное видео на тему «выбор компьютера».

Читать дальше →
Всего голосов 38: ↑34 и ↓4+30
Комментарии25

Жизни нет, населена роботами

Время на прочтение7 мин
Количество просмотров217K
Заявление о находке, достойной занесения в книгу истории сделано. Джон Гротзингер, руководитель научной миссии Curiosity и другие ученые рассказали, что же обнаружил марсоход в своем исследовании марсианского грунта прибором SAM. Событию предшествовал нездоровый ажиотаж, вызванный неосторожными словами ученого и раздутыми в СМИ слухами. Это привлекло внимание всего мира к этому событию.
image
Читать дальше →
Всего голосов 270: ↑266 и ↓4+262
Комментарии109

Ebay. Украина. О таможне и пересылках — 2012

Время на прочтение7 мин
Количество просмотров192K
Небольшое предисловие. В 2010 году на Хабре был опубликован пост Ebay. Украина. О таможне и пересылках, в котором aevdox рассказал о нюансах доставки товаров с Ebay применительно к Украине и, особенно, об украинских таможенных правилах. Прочитав этот пост, я почувствовал, что мне есть, что к нему добавить, и, не будучи хабражителем, написал письмо автору. Так там появился «Upd # 3».

Вчера вечером со мной неожиданно связался aevdox и сообщил, что, во-первых, ему пишут, что информация 2010 года устарела и было бы полезно привести статью в актуальное состояние, во-вторых, он готов стать моим хабрапапой. Таким образом и получился этот пост. Далее по тексту я предполагаю, что читатель уже знаком с первоначальным постом и воспринимает этот как его логичное продолжение.

А теперь к сути. С принятием в 2012 году нового Таможенного кодекса Украины (далее – ТК) и его вступлением в силу информация в статье «Ebay. Украина. О таможне и пересылках» сразу же безнадёжно устарела. Прежде всего потому, что новый кодекс отменил нормативно-правовые акты, на которые я ссылался в своём дополнении (Закон № 2681-III, Постановление Кабмина № 1652), и теперь эти отношения регулирует сам кодекс. Регулирует он их уже иначе. Я попытался разобраться с тем, что же изменилось для нас, простых покупателей с Ebay, и соответственно актуализировать информацию в статье.

Если вкратце – «жить стало легче, жить стало веселей».
Подробности далее
Всего голосов 154: ↑149 и ↓5+144
Комментарии97

Развитие правого полушария головного мозга или как я учился рисовать

Время на прочтение4 мин
Количество просмотров87K
Сразу дискламер: я редко пишу посты на широкую аудиторию, и более правильного ресурса для этого текста в рамках моего кругозора не нашлось. Тем не менее, если кто-то найдет это интересным, значит не зря… Поехали.

С чего все началось



Как-то я услышал от одного человека мысль о том, чтобы заниматься бизнесом, ему приходится «выращивать в себе Мистера Хайда», типа некая альтернатива его личности способна придумать что-то такое, что не способен придумать он сам. Конечно же, он шутил, по большей части, и тогда я этому значение не придал. Вспомнил эту точную метафору лишь, когда сам решил, что мне нужно развивать креативность, умение продуктивно фантазировать, придумывать нестандартные решения.
Читать дальше...
Всего голосов 163: ↑156 и ↓7+149
Комментарии84

Интервью как процесс с точки зрения собеседующего

Время на прочтение8 мин
Количество просмотров9.4K
Волею судеб так сложилось, что кроме повседневных обязанностей по написанию кода, исправлению ошибок, бесчисленных митингов и stand-up-ов, и всего прочего-прочего, я оказался вовлечён в процесс проведения собеседований.

Компания заинтересована в долгом сотрудничестве, поэтому поиск и найм людей производится очень тщательно: есть этап собеседования с рекрутерами, техническое собеседование, часто в несколько этапов, проектное собеседование, где обсуждают вопросы специфичные для конкретного проекта и финальные разговоры с руководителями подразделений на этапе предложения. Структура системы собеседований похожа у всех крупных технологических компаний — поэтому тот, кто прошел его в какой-либо организации, может легко представить процесс в десяти других.

Отработав в компании более 4х лет в нескольких смежных больших проектах я участвовал в собеседовании более чем 50 человек, из которых было нанято только 5.

На данный момент я покинул компанию о которой я описываю, и по согласованию сторон, могу поделится с тем как устроен этот процесс немного изнутри.

По большей части буду говорить о техническом интервью — том самом этапе, где мы проверяем компетентность кандидата как инженера. Процесс сложный и дорогой, в нём нет единственно правильного подхода. По своей сути, цель диалога понять — какой остаточный набор знаний есть у кандидата, его способность думать и соображать и личностные качества, ну и ответить на самый главный вопрос вселенной и всего такого — готов ли я с этим человеком работать бок-о-бок в проекте.
Читать дальше →
Всего голосов 28: ↑18 и ↓10+8
Комментарии74

SASM – IDE для ассемблера

Время на прочтение4 мин
Количество просмотров118K
Здравствуйте, уважаемые хабравчане!

Данным постом хочу представить сообществу проект, который время от времени писался мной последний год: SASM (SimpleASM) — IDE для разработки программ на языке ассемблера x86 и x86-64.

image

SASM — простая кроссплатформенная (доступна на Windows и Linux) среда разработки для языков ассемблера NASM, MASM, GAS, FASM с подсветкой синтаксиса и отладчиком. Программа работает «из коробки» и хорошо подойдет для начинающих изучение языка ассемблера. Основана на Qt. Распространяется по свободной лицензии GNU GPL v3.0.

Исходники лежат в репозитории на GitHub.
Бинарники можно скачать на сайте программы.

Под катом Вы найдете немножко истории и более подробное описание возможностей.
Читать дальше →
Всего голосов 131: ↑126 и ↓5+121
Комментарии39

GOTO BASIC

Время на прочтение7 мин
Количество просмотров34K
«Инициация в программирование» (1997 году, на 286-х), вторые деньги, заработанные в школе за написание программ на информатике для двоечников (первые деньги были за решение задач по физике), призовое место на краевой олимпиаде по программированию (хотя принимали программы только на Паскале и Сях, я раздобыл BASIC-компилятор и вооружившись речью про дискриминацию, загружал exe-шники, сделанные на Бэйсике. Прокатило). Первые программы по шифрованию, поворот картинки на 90 градусов… Все это было на Бэйсике (а друзья даже писали музыку и 3д-тетрис).

Недавно на Хабре промелькнул перевод «50 лет Бейсику!» и я решил поисследовать историю создания Бэйсиков.
Из 318 версий Бэйсиков я коснусь не больше 10.

1964


imageВ 1964 два профессора Дартмутского колледжа создали BASIC как инструмент, с помощью которого студенты-непрограммисты могли самостоятельно создавать компьютерные программы для решения собственных задач.

Джон Кемени, учился у Ричарда Феймана и Алонзо Чёрча (разработчик λ-исчисления), водил знакомство с фон Нейманом и консультировал Эйнштейна по математическим вопросам.

Томас Курц, учился у Джона Тьюки (автора слов «software» и «bit»).

Оба награждены медалями «Пионер компьютерной техники».

Первоначально Бейсик был реализован на мейнфрейме GE-265 с поддержкой множества терминалов.
Вопреки распространённому убеждению, в момент своего появления это был компилируемый язык.

При проектировании языка использовались следующие восемь принципов. Новый язык должен был:
— быть простым в использовании для начинающих;
— быть языком программирования общего назначения;
— предоставлять возможность расширения функциональности, доступную опытным программистам;
— быть интерактивным;
— предоставлять ясные сообщения об ошибках;
— быстро работать на небольших программах;
— не требовать понимания работы аппаратного обеспечения;
защищать пользователя от операционной системы.
Читать дальше →
Всего голосов 77: ↑73 и ↓4+69
Комментарии32

Аннотации в Java, часть I

Время на прочтение5 мин
Количество просмотров80K
Это первая часть статьи, посвященной такому языковому механизму Java 5+ как аннотации. Она имеет вводный характер и рассчитана на Junior разработчиков или тех, кто только приступает к изучению языка.

Я занимаюсь онлайн обучением Java и опубликую часть учебных материалов в рамках переработки курса Java Core.

Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

Мой метод обучения состоит в том, что я
  1. строю усложняющуюся последовательность примеров
  2. объясняю возможные варианты применения
  3. объясняю логику двигавшую авторами (по мере возможности)
  4. даю большое количество тестов (50-100) всесторонне проверяющее понимание и демонстрирующих различные комбинации
  5. даю лабораторные для самостоятельной работы

Данная статье следует пунктам #1 (последовательность примеров) и #2(варианты применения).
Читать дальше →
Всего голосов 47: ↑42 и ↓5+37
Комментарии21

Управленческие инструменты: 4-фазный алгоритм решения проблем с людьми или «А чего ты хочешь, если ты такой хреновый менеджер?»

Время на прочтение10 мин
Количество просмотров179K
На одном из давних тренингов мы отрабатывали кейс “Сотрудник не присылает вовремя отчеты”. Кейс абсолютно не привязанный к реальной жизни — ведь такого же не бывает, чтобы люди не присылали вовремя отчеты, верно?

И вот одному менеджеру не досталось пары, и я встал играть роль сотрудника. До этого всем пар хватало, поэтому к роли сотрудника я был не очень готов…

Моим собеседником оказался молодой человек, назовем его Егор, технический директор небольшой компании.

Цель кейса — донести до сотрудника обратную связь, что отчеты надо присылать вовремя. Егор начал сразу с места в карьер:

— Александр, как же так, почему Вы не присылаете мне отчеты?

Я стоял, думал-думал, чего сказать. И потом ляпнул первое, что пришло в голову:

— Егор, а чего ты хочешь, если ты такой хреновый менеджер?!

Каюсь, я тогда был не в курсе про тяжелые манипуляции. Зато их влияние смог ощутить на себе в полной мере. Егор покраснел, потом пошел пятнами:

— Что значит “хреновый менеджер”?!!! Это недопустимо — так разговаривать с руководством…

И дальше меня начали увольнять. И это довольно печально для менеджера. Хотя с другой стороны, хорошо, что такая ситуация случилась на тренинге, а не в реальной жизни.

И сегодня мы как раз поговорим о том, как доносить до людей неприятную обратную связь, а также как ее правильно принимать. Как обычно— алгоритмы, схемы, примеры — все, что мы любим. :) И многобуков, что мы не любим, но зато с подробностями.
Читать дальше →
Всего голосов 185: ↑174 и ↓11+163
Комментарии106

Будущее программирования аппаратных ускорителей

Время на прочтение10 мин
Количество просмотров20K
Многие из новейших суперкомпьютеров основаны на аппаратных ускорителях вычислений (accelerator). включая две самые быстрые системы согласно TOP500 от 11/2013. Ускорители распространяются так же и на обычных PC и даже появляются в портативных устройствах, что ещё больше способствовует росту интереса к программированию ускорителей.

Такое широкое применение ускорителей является результатом их высокой производительности, энергоэффективности и низкой стоимости. Например, если сравнить Xeon E5-2687W и GTX 680, выпущенные в марте 2012, мы увидим, что GTX 680 в четыре раза дешевле, имеет в 8 раз большую производительность операций одинарной точности и в 4 раза большую пропускную способность памяти, а так же обеспечивает более 30 раз большую производительность в пересчёте на доллар и в 6 раз большую производительность на ватт. Исходя из таких сравнительных результатов, ускорители должны бы использоваться везде и всегда. Почему же этого не происходит?
Читать дальше →
Всего голосов 42: ↑38 и ↓4+34
Комментарии25

Как и зачем я решил начать собственное дело

Время на прочтение8 мин
Количество просмотров190K
Салют, Хабр!
Недавно я уволился с довольно завидной должности (главного архитектора) в довольно неплохой компании (Acronis) и с непоколебимым решением в мозгу больше не работать по найму переехал из Москвы обратно в Ереван, откуда семь лет назад понаехал в Златоглаво-Нерезиновую. Учитывая необычность произошедшего и часто задаваемый вопрос «но почему?!», я решил разобраться в собственных мыслях и озвучить их вслух для себя самого и тех, кто может почерпнуть в моих размышлениях что-то для себя полезное. Короче говоря, это рассказ о том, почему я оставил высокооплачиваемую перспективную работу в международной компании ради сомнительной перспективы начать собственное дело, и как я собираюсь дальше жить.
Читать дальше →
Всего голосов 321: ↑291 и ↓30+261
Комментарии418

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность