Pull to refresh
1
0
virtu @virtu

User

Send message

Внутренняя и внешняя линковка в C++

Reading time9 min
Views66K
Всем добрый день!

Представляем вам перевод интересной статьи, который подготовили для вас рамках курса «Разработчик C++». Надеемся, что она будет полезна и интересна для вас, как и нашим слушателям.

Поехали.

Сталкивались ли вы когда-нибудь с терминами внутренняя и внешняя связь? Хотите узнать, для чего используется ключевое слово extern, или как объявление чего-то static влияет на глобальную область? Тогда эта статья для вас.

В двух словах

В единицу трансляции включены файл реализации (.c/.cpp) и все его заголовочные файлы (.h/.hpp). Если внутри единицы трансляции у объекта или функции есть внутреннее связывание, то этот символ виден компоновщику только внутри этой единицы трансляции. Если же у объекта или функции есть внешнее связывание, то компоновщик сможет видеть его при обработке других единиц трансляции. Использование ключевого слова static в глобальном пространстве имен дает символу внутреннее связывание. Ключевое слово extern дает внешнее связывание.
Компилятор по умолчанию дает символам следующие связывания:

  • Non-const глобальные переменные — внешнее связывание;
  • Const глобальные переменные — внутреннее связывание;
  • Функции — внешнее связывание.


Читать дальше →
Total votes 26: ↑22 and ↓4+18
Comments34

Создаём простую нейросеть

Reading time9 min
Views179K


Перевод Making a Simple Neural Network

Что мы будем делать? Мы попробуем создать простую и совсем маленькую нейронную сеть, которую мы объясним и научим что-нибудь различать. При этом не будем вдаваться в историю и математические дебри (такую информацию найти очень легко) — вместо этого постараемся объяснить задачу (не факт, что удастся) вам и самим себе рисунками и кодом.
Начнем.
Total votes 41: ↑37 and ↓4+33
Comments17

Создание «искусственной жизни» на компьютере

Reading time10 min
Views110K
Всем привет. В статье хочу описать свой эксперимент по созданию «искусственной жизни» на компьютере.

Как это выглядит?

картинка кликабельна

На компьютере создаётся виртуальная среда со своими правилами и выпускается первая простейшая живность. Буду называть их ботами. Боты могут погибнуть или выжить и дать потомство. Потомок может слегка отличаться от предка.

Ну а дальше за работу принимается эволюция и естественный отбор.

А мне остаётся только наблюдать за развитием мира.

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

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

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

Внутреннее устройство кода — это самое интересное в проекте.

Код должен быть простым и выдерживать различные модификации (случайное изменение любого элемента в коде) над собой без синтаксических ошибок.
Читать дальше →
Total votes 214: ↑210 and ↓4+206
Comments393

Прощай, Google Maps

Reading time6 min
Views271K
Google решил сделать из Google Maps новый миллиардный бизнес, подняв цены в 14 раз и уменьшив лимит бесплатного использования почти в 30 раз, всё с минимальным периодом уведомления. К счастью, это немедленно стимулировало конкуренцию. Apple Maps, MapBox, TomTom — что выбрать?

Наш стартап GdziePoLek.pl позволяет пациентам находить нужные лекарства в обычных аптеках. И даже по названию («где найти лекарства») понятно, насколько важно отображение на карте. Работу сервиса легко объяснить одной картинкой, на фоне которой всегда были карты Google Maps:


Типичная страница нашего сервиса показывает наличие лекарства в аптеках
Читать дальше →
Total votes 130: ↑128 and ↓2+126
Comments203

Понедельник начинается в субботу, или что можно узнать о жизни в другой стране из логов sci-hub

Reading time26 min
Views35K
Хотите знать, как религия влияет на рабочий день, у кого самый длинный обеденный перерыв, и правда ли, что Москва никогда не спит? Но это же Хабр, а не жёлтая газета, так что историю вам поведает самый объективный рассказчик из всех — данные пользовательской активности.


Вам когда-нибудь доводилось найти пиратский настоящий клад? Такой что с первого взгляда становится понятно, что вы теперь богач. Если находили, то наверняка первый месяц провели, обложившись книжками, увеличительными стеклами и всем, что может помочь вам узнать про находку всё. А следующие несколько месяцев вы хвастались находкой всем друзьям.

Что-то в этом роде произошло со мной, когда я наткнулся на логи sci-hub. Вроде в интернете полно открытых данных, но чтобы заполучить журнал учёта на 195 миллионов записей — это не каждый день так везёт. Несколько недель я изучал доставшееся мне богатство, а теперь пришёл на хабр, чтобы рассказать вам, что я нарыл.
Читать дальше →
Total votes 80: ↑80 and ↓0+80
Comments49

Научите меня проводить собеседования

Reading time4 min
Views41K
Так получилось, что за многолетнюю карьеру в IT я провел более 200 собеседований, нанял и вырастил большое количество профессионалов от инженеров по тестированию до архитекторов и менеджеров. Мне часто приходится давать советы по проведению собеседований своим сотрудникам, поэтому я решил обобщить свой опыт и заметки. В результате родилась статья, которую вы читаете.

В ней нет золотого грааля, как нужно нанимать лучших сотрудников, только здравый подход к проведению собеседований. Скорее всего статья будет полезна тем, кто только начинает собеседовать людей. Однако, принесет пользу и остальным, чтобы посмотреть со стороны на свой подход к проведению собеседований.
Читать дальше →
Total votes 60: ↑57 and ↓3+54
Comments263

Принцип цикады и почему он важен для веб-дизайнеров

Reading time6 min
Views233K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →
Total votes 696: ↑682 and ↓14+668
Comments119

Дорога к свету

Reading time10 min
Views23K

Простейший робот из подручных средств



image
Наш простой робот

Многие, кто из нас сталкивался с вычислительной техникой, мечтали собрать своего робота. Чтобы это устройство выполняло какие-то обязанности по дому, к примеру, приносило пиво. Все сразу берутся за создание наисложнейшего робота, однако зачастую быстро обламываются в результатах. Своего первого робота, который должен был делать умищу фишек, мы так и не довёли до ума. По этому нужно начинать с простого, постепенно усложняя своего зверя. Сейчас мы поведаем тебе как из подручных средств, которые есть у каждого дома, можно создать простейшего робота, который будет самостоятельно передвигаться по твоей квартире.
Читать дальше →
Total votes 172: ↑165 and ↓7+158
Comments92

GTD на кухне: чем накормить голодного программиста

Reading time9 min
Views56K
imageИтак, как и обещал в первой части, продолжаем упрощать бытовую жизнь хабражителя. Сегодня 8 марта (кстати, девушки, поздравляю!) и части мужчин хочется порадовать своих женщин и освободить их от «рабского труда» на кухне, а другой части – приготовить для себя не традиционные пельмени\вареники\сосиски, а что-то посущественней.
Вот несколько проверенных рецептов, которые пригодятся и первым, и вторым.

Осторожно, много картинок. Голодным не входить!
Читать дальше →
Total votes 220: ↑168 and ↓52+116
Comments214

Lswitchp — типографический помощник

Reading time2 min
Views939
На просторах интернета был обнаружен маленький помощник, а именно программка, которая умеет быстро подставлять самые необходимые юникод–символы, кроме того, она может перключать раскладку, а счастливчики с клавишами F13 и F14 на клавиатуре смогут быстро разворачивать/сворачивать активные окна.

Программа очень молчаливая, и показывает своё существование только в списке процессов. Именно оттуда, при желании её и надо закрывать. Если есть желание пользоваться ей постоянно, то имеет смысл поместить в автозагрузку.

Список шоткатов:
Alt + - короткое тире –
Alt + = длинное тире ―
Alt + [ открывающая кавычка «
Alt + ] закрывающая кавычка »
Alt + . многоточие …
Alt + , буллет •
Alt + \ стрелка вверх ↑
Alt + / (numpad) неравенство ≠
Alt + * (numpad) смайл ☺
Alt + + (numpad) копирайт ©
F13 свернуть окно
F14 развернуть окно
Caps Lock переключение раскладки
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments34

Information

Rating
Does not participate
Location
Украина
Date of birth
Registered
Activity