Pull to refresh
41
0
Александр @Teivaz

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

Send message

Эффективное использование Github

Reading time 13 min
Views 122K

Github — важная часть жизни современного разработчика: он стал стандартом для размещения opensource-проектов. В «2ГИС» мы используем гитхаб для разработки проектов web-отдела и хостинга проектов с открытым кодом.

Хотя большинство из нас пользуются сервисом практически каждый день, не все знают, что у него есть много фишек, помогающих облегчить работу или рутинные операции. Например, получение публичного ключа из URL; отслеживание того, с каких сайтов пользователи приходят в репозиторий; правильный шаринг ссылок на файлы, которые живут в репозиториях гитхаба; горячие клавиши и тому подобное. Цель этой статьи — рассказать о неочевидных вещах и вообще о том, что сделает вашу работу с гитхабом продуктивнее и веселее (я не буду рассматривать здесь работу с API гитхаба, так как эта тема заслуживает отдельной статьи).


Содержание



Читать дальше →
Total votes 149: ↑148 and ↓1 +147
Comments 38

Знай сложности алгоритмов

Reading time 2 min
Views 982K
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Total votes 312: ↑296 and ↓16 +280
Comments 99

Дневная астрономия

Reading time 4 min
Views 46K
Все знают что астрономические наблюдения проводятся под покровом темноты, желательно вдали от яркой городской засветки. Тем не менее на небе можно увидеть много интересного даже при ярком солнечном свете. И это не только Солнце. Днем превосходно видно Луну, а при определенной сноровке можно разглядеть и сфотографировать даже некоторые планеты и космические аппараты! В статье много дневных фото и видео с различными небесными объектами.


Луна и Венера при дневном свете. Источник: Astronomy Picture of the Day, автор: David Cortner.
Читать дальше →
Total votes 47: ↑47 and ↓0 +47
Comments 25

Секретный конструктор std::shared_ptr

Reading time 4 min
Views 46K
This constructor is so secret, not even STL maintainers know about it...
Stephan T. Lavavej
Этот конструктор настолько секретный, что даже сопровождающие STL не знают о нём...
пер.: Door

У std::shared_ptr есть небольшой секрет: очень полезный конструктор, о котором большинство программистов даже не слышали. Он был добавлен только в стандарте С++11, и его не было даже в TR1 версии shared_ptr. Однако он поддерживается gcc с версии 4.3, и компилятором MSVC еще с времен Visual Studio 2010. В Boost он появился примерно с 1.35.0.

В большинстве обучающих материалов, в которых описывается std::shared_ptr ничего нет об этом конструкторе. Скотт Майерс ни словом не обмолвился о нем в «Effective Modern C++», другой автор — Nicolai Josuttis уделил этому конструктору около половины страницы в своей книге «The C++ Standard Library».



Итак, что представляет собой этот секретный конструктор?
Читать дальше →
Total votes 46: ↑46 and ↓0 +46
Comments 26

Забытый зум

Reading time 6 min
Views 23K
AutoCAD in 80s
AutoCAD начала 80-х

Зум появился очень давно, на заре эры графических интефейсов, с первыми векторными редакторами.
Но с тех пор он не был использован почти нигде, кроме САПР и программ для работы с графикой. Про него вспомнили только когда появились мобильные устройства — на маленьком экране не умещались большие фотки и веб-страницы.
В мобильных интерфейсах зум стал вполне привычным и естественным и продолжает эволюционировать. Но на десктопе зум заброшен и, на мой взгляд, совершенно напрасно. Zoomable user interface (ZUI) даёт ряд преимуществ, позволяющих лучше решить актуальные задачи. Я решил описать эти преимущества по типам зума, с примерами.
Читать дальше →
Total votes 66: ↑57 and ↓9 +48
Comments 26

Аквапоника своими руками с применением микроконтроллера

Reading time 5 min
Views 157K
image

Всем привет. Как-то на просторах Интернета мне попался интересный американский проект. Суть проекта в том, что можно выращивать различные агрокультуры, используя не почву, а, так сказать, симбиоз рыб с растениями. Получается замкнутый цикл. Вы кормите и выращиваете рыб, их продукты жизнедеятельности, растворённые в воде, являются питательной средой для растений. А эти растения, получая питательные вещества для роста из воды, очищают её. Весь процесс повторяется по кругу. Данный метод называется «аквапоника».
Читать дальше →
Total votes 112: ↑112 and ↓0 +112
Comments 122

Метод «Кнута-Пряника-Покера»

Reading time 8 min
Views 104K
Покер на рабочем месте


За более чем десять лет моих активных поисков и применения GTD/PM-методик в своей, без малого, десятилетней практике фрилансера и предпринимателя, до меня наконец дошло — серебряной пули нет. Многие знали об этом всегда, мне же понадобились годы. Когда для тебя одновременное количество проектов измеряется не одним десятком. Когда ты прокрастинатор настолько, что даже прокрастинируя этой статьей от работы умудряешься прокрастинировать прокрастинацию чтением писем Лейбница и готов прокрастинировать рекурсивно. Когда ты перфекционист шестого разряда и программист-романтик, то до последнего надеешься, что есть универсальное лекарство. Но его нет…

Было бы счастье, да… многолетние поиски философского камня принесли и свои плоды. У меня накопился большой сундук различных подходов, которыми я хочу поделиться.

Читать дальше →
Total votes 41: ↑38 and ↓3 +35
Comments 28

Шпаргалка по HTTP-библиотекам для С++

Reading time 12 min
Views 107K
К сожалению, в стандартной библиотеке языка С++ нет никаких средств для работы с протоколом HTTP. Возможно, в будущем появятся, но на данный момент каждый раз при необходимости дёрнуть какой-нибудь REST-сервис, пропарсить веб-страничку, написать простенького бота или краулера приходится задаваться вопросами «А какую же библиотеку взять, так чтобы побыстрее и попроще?». Иногда проект уже использует какой-то фреймворк (а иногда даже несколько) и тогда приходится вспоминать «А как же сделать HTTP-запрос имеющимися средствами?». Чтобы не путаться я решил написать для себя шпаргалку с примерами HTTP-запросов на С++ с применением разных библиотек. А самое удобное место для хранения подобных шпаргалок — Хабр: и сам не потеряешь, и другим может пригодиться.

Будут рассмотрены:
  • WinInet
  • WinHttp
  • Casablanca
  • Qt
  • POCO
  • wxWidgets
  • Boost.Asio
  • libcurl
  • neon
  • .NET (С++/CLI)
  • IXMLHTTPRequest
  • HappyHttp
  • cpp-netlib


Читать дальше →
Total votes 96: ↑89 and ↓7 +82
Comments 38

Red Pitaya — 5 инструментов в 1 за 400$

Reading time 3 min
Views 45K
Всего сутки остались до окончания кампании на Кикстартере. Так что вы ещё можете успеть заказать мультифункциональный измерительный прибор включающий в себя:
  • 2-х канальный осциллограф
  • 2-х канальный анализатор спектра с полосой пропускания 60 МГц
  • 2-х канальный генератор сигналов произвольной формы
  • 2-х канальный анализатор частотных характеристик с полосой пропускания 60 МГц
  • программируемый PID-контроллер

image
Читать дальше →
Total votes 40: ↑38 and ↓2 +36
Comments 21

Anki DRIVE — возвращаемся в детство

Reading time 2 min
Views 58K
Anki DRIVE.

С 10 по 14 июня 2013 года в выставочном комплексе Moscone West в Сан-Франциско проходила всемирная конференция разработчиков Apple — WWDC 2013. Это событие прошло мимо Хабра. Ну я не смог найти записи этого года. Однако, на этой конференции была представлена новая игрушка, точнее игрушки — умные гоночные машинки Anki DRIVE.

Если ты, %хабраюзер%, застал времена «За рулём», помнишь игрушечные железные дороги, которые в 90-х заменили машинки на пультах управления (в том числе по трекам) или в настоящее время увлекаешься робототехникой, коптерами и вертолетиками, то прошу под кат.
Читать дальше →
Total votes 46: ↑43 and ↓3 +40
Comments 30

LG Nexus 4 — личный опыт и никаких переводов

Reading time 14 min
Views 286K
Это не первый материал по Nexus 4, но поделиться мыслями очень хотелось. Я достаточно давно “сижу” на Android’е, и за это время перепробовал с десяток разных девайсов. У меня были и “Самсунги”, и “ЭйчТиСи”, у многих знакомых всякие “Сони” в больших количествах. Естественно, так или иначе, у меня на перепрошивке или просто в руках были многие из них. Девайсы от LG вызывали у меня двоякие чувства. В своё время, среди бюджетников равных Optimus One p500 практически не было, а некоторые устройства по цена / характеристики были на очень приличном уровне, но… с ПО, обновлениями, камерой и некоторыми другими функциями дела обстояли не так гладко. Есть как минимум один LG, у которого 100% нет проблем с обновлениями и ПО. Вот он:

Image #1755483, 153.7 KB
Читать дальше →
Total votes 109: ↑92 and ↓17 +75
Comments 148

Недвоичная логика

Reading time 10 min
Views 102K
В начале Второй мировой войны перед армией США остро встала проблема нехватки баллистических таблиц стрельбы, жизненно необходимых для работы артиллерии. Типичная баллистическая таблица представляет собой набор числовых данных траекторий полета снаряда, предварительно расчитанных для определенных условий стрельбы, ствола, снаряда, погодных условий и температуры воздуха. Ручной расчет лишь одной траектории занимал несколько дней, и каждая таблица обходилась в огромные количества человеко-часов.

В то время этими расчетами занимались лишь несколько высококвалифицированных специалистов, и даже увеличение штата лаборатории в 1942 году помогло незначительно. В июне этого же года был заключен контракт с Школой электротехники Мура Пенсильванского университета, которая располагала диффереренциальным анализатором конструкции Вэнивара Буша — механическим вычислителем той эпохи. Работой руководил лейтенант, а позже капитан Герман Голдстайн, получивший степень доктора математики в Чикагском университете. Именно он с профессором Брайнердом в 1943 году представил идею «электронного дифференциального анализатора» авторства Джона Мокли.

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

При общей своей примитивности (для задания программы необходимо было вручную перемещать узлы и коммутаторы) и технических трудностях эксплуатации, связанных с ненадежностью вакуумных ламп, ЭНИАК поражал своими возможностями и скоростью работы, которая не была ограничена наличием движущихся частей. В отличие от других электромеханических машин той эпохи, работавших на электрических реле, и своего преемника ЭДВАК, первый электронный цифровой компьютер общего назначения был не двоичным, а десятичным.
Читать дальше →
Total votes 109: ↑105 and ↓4 +101
Comments 39

Будущее вселенной

Reading time 15 min
Views 104K
Как-то я наткнулся на интересную тайм-ленту предполагаемых событий вселенной на википедии, но она была довольно скудной и без картинок, так что я залез в гугл и поискал «future time line», и первое, что увидел, — этот сайт. Мне очень понравилась эта статья и я решил перевести ее, заодно и вычитать ее получше.
Все, что здесь изложено — лишь предположения и теории, вполне возможно, что все или некоторые события будут не такими. Весь пост представлен в виде тайм-ленты от 10000 до 10100 года, и содержит много интересных картинок и ссылок на вики, читать много и интересно.



10 000 – 15 000 Н.Э.


Гиперновая из звездной системы Эта Киля начинает воздействовать на наш регион Галактики


Эта Киля – одна из самых больших и нестабильных звезд в нашей Галактике. Ее температура настолько высока, что ее гравитация не в состоянии удерживать газ, утекающий с ее поверхности по сформированным потокам вверх, от нее. Она впервые была замечена в 1843 году, когда ее звездная величина (читай величина свечения) достигла -0.8, сделав ее второй по яркости звездой в ночном небе.
Она в дальнейшем утихла на какое-то время, и снова «засветила» в конце 1990-х. Эта флуктуация продолжается с периодичным вспыхиванием и затуханием, и будет продолжаться до тех пор, пока не случится неизбежное. Не в состоянии совладать с собственной массой и плотностью, она коллапсирует и, потом, превращается в одну из самых смертельных сил, известных в природе – в гиперновую.
На какое-то время, этот колоссальный взрыв освещает всю галактику. Это будет достаточно ярко, чтобы заметить в дневное время с Земли, в то время как ночью это сравнимо с полной луной.
Но гораздо больше вреда принесут убийственные струи гамма-излучения, выброшенные умирающей звездой. Они будут выброшены на таких высоких энергиях, что даже системы в тысячах световых лет от Эта Киля будут задеты. В результате, на многочисленных планетах в нашем регионе Галактики произойдет вымирание живых организмов в это время.

Читать дальше →
Total votes 265: ↑257 and ↓8 +249
Comments 239

Что делать с компьютерными проводами

Reading time 1 min
Views 5.7K
Вас не замучили провода на столе, которые занимают место, портят вид и даже мешаются? Меня лично они дико достали! Вот, есть очень интересное решение, предложенное дизайнером Daniel Ballou


Настольная линия электропередачи
Читать дальше →
Total votes 133: ↑88 and ↓45 +43
Comments 122

Делаем загрузочно-установочную флешку

Reading time 2 min
Views 773K
После поста о восстановлении флешек, оказалось, что у многих теперь есть рабочие, бесхозные флешки, которые обязательно нужно задействовать. Почему бы не сделать из них загрузочные флешки с дистрибутивами необходимых ОС? Это может здорово пригодиться при установке/переустановке операционных систем на нетбуки, где отсутствуют приводы оптических носителей. А иногда может даже ускорить процесс установки и сделать его намного тише на компьютере, где привод есть.
Хотя на Хабре уже описывались варианты создания загрузочных флешек, но вариант, который предлагаю я — слишком прост и по своему универсален, чтобы обойти его стороной.

image
Читать дальше →
Total votes 161: ↑142 and ↓19 +123
Comments 54

Две раскладки в одном флаконе

Reading time 2 min
Views 11K
Раньше мне приходилось использовать три раскладки клавиатуры. И в этом топике я хочу рассказать, как мне удалось сократить их число до двух. Эта хитрость универсальна и в большинстве случаев позволяет сократить количество раскладок к количеству алфавитов. Не претендую на оригинальность — идея лежит на поверхности, и сразу предупреждаю — если у вас и так только две раскладки — топик этот вам, скорее всего, не поможет.

Первая — английская, рабочая. Вторая — украинская, родная, основная для общения. Третья — русская, в общем обычно не используемая, разве иногда — погуглить что-нибудь, вот, на Хабре комент или топик написать. При этом третья раскладка висела в списке активных, но при работе и постоянном переключении украинская-английская-украинская постоянно приходилось нажимать лишний раз Alt+Shift или Ctrl+Shift. Кроме того, часто случалось, что начал печатать, вроде как все хорошо, ан нет — раскладка русская, вместо 'і' пошли 'ы', вместо 'є' — 'э', и тому подобное. Мучился я так, мучился, и вот в один прекрасный день решил это дело как-то
оптимизировать
Total votes 80: ↑61 and ↓19 +42
Comments 137

Полезные штуки для iOS-разработчика #1

Reading time 4 min
Views 83K
На Хабре в свое время было несколько статей «Очень много полезных штук для AS3». Автор попытался собрать ссылки на самые полезные и интересные библиотеки. И т.к. в последнее время я разрабатываю под iOS, решил последовать его примеру и сделать то же самое, но для своей платформы. Описания почти прикладывать не буду, все есть на страничках проектов.
Читать дальше →
Total votes 114: ↑109 and ↓5 +104
Comments 80

Концепции Boost

Reading time 6 min
Views 32K
От использования шаблонов в С++ лично меня всегда отпугивало отсутствие стандартных механизмов задания ограничений параметров. Другими словами, когда разработчик пишет функцию

template <class T>
bool someFunc(T t)
{
	if (t.someCheck()) {
		t.someAction(0);
	}
}

он делает различные допущения относительно функциональности объектов типа T, однако не имеет стандартной возможности донести их до пользователей. Так приведенный пример предполагает, как минимум, следующее
Читать дальше →
Total votes 80: ↑77 and ↓3 +74
Comments 30

Тонкости анализа исходного кода C/C++ с помощью cppcheck

Reading time 27 min
Views 57K
В предыдущем посте были рассмотрены основные возможности статического анализатора с открытым исходным кодом cppcheck. Он показывает себя не с худшей стороны даже при базовых настройках, но сегодня речь пойдёт о том, как выжать из этого анализатора максимум полезного.

В этой статье будут рассмотрены возможности cppcheck по вылавливанию утечек памяти, полезные параметры для улучшения анализа, а также экспериментальная возможность по созданию собственных правил. Сегодня никаких сравнений анализаторов «кто лучше», статья полностью посвящена работе с cppcheck.
Читать дальше →
Total votes 59: ↑59 and ↓0 +59
Comments 15

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity