Pull to refresh
0
@strizhread⁠-⁠only

User

Send message

Web-технологии глазами С++ программиста

Reading time5 min
Views57K
Год назад знакомые попросили сделать меня сайт с динамическим контентом. Тогда о Web я знал чуть больше чем ничего, но попробовать было интересно.

Под катом впечатления заядлого С++ программиста от мира Web, собственные велосипеды, необычные решения, возмущения по поводу и без. Все эмоции вынесены в спойлеры, дабы не нагружать статью.

Надеюсь будет интересно Web разработчикам посмотреть на потуги С++ника, ну а С++ разработчикам узнать для себя что-то новое.

Что там у тебя...

Очень быстрый и эффективный способ расслабления глаз

Reading time4 min
Views416K

Предисловие


imageНе знаю, все ли программисты всесторонне любознательные люди, но я всегда пытаюсь получить фундаментальные знания во всех областях, которые могут быть практически полезны. В то время, когда мне в голову пришла эта идея я изучал анатомию и физиологию по журналам «Тело человека. Снаружи и внутри», ну а по работе я занимался стерео-варио фотографиями (для тех кто не знает — были такие советские календарики с ребристой поверхностью, где картинка либо казалась объемной, либо менялась). Так вот, в один из вечеров мне пришла в голову замечательная идея, которую я на протяжении уже 4х лет использую для поддержания своего зрения.
Обещаю, что эффект почувствуете сразу!
Читать дальше →

RAW vs DNG

Reading time4 min
Views66K
Как мне показалось из комментариев к этой статье, среди хабрафотографов есть некоторое количество людей, не знавших (или не знающих) про формат DNG. В этом топике я рассмотрю этот формат по отношению к RAW.

Какой из этих форматов лучше использовать? Этот довольно важный вопрос вы, возможно, уже задавали себе. Если вы ничего не слышали про DNG или слышали только мельком, не вдаваясь в подробности – не беда. Именно для этого я и пишу этот пост. Всем заинтересовавшимся – добро пожаловать под кат.
Читать дальше →

Закрываем зеркало сайта от индексации правильно

Reading time4 min
Views6.7K
Здравствуй, %habrauser%.
Сегодня я покажу как не надо закрывать от индексации зеркало сайта, и как закрыть его правильно.

Предыстория

Я работаю web-мастером в одной крупной для нашего города компании.
Мы сделали клиенту сайт, для рекламирования и продажи своей продукции.
Клиент выбрал доменное имя в зоне .RU, и сайт около года успешно работал. Сайт по настоящее время обслуживается и редактируется по мере необходимости у нас.
Через какое-то время клиент захотел второй домен для сайта, но в зоне .РФ.
Он самостоятельно нашёл «профессиональных seo-специалистов продвигальщиков», сайт которых стоял на первом месте в выдаче Яндекса по определенным запросам.
С ними он заключил договор, и ежемесячно отгружал немалую сумму денег в эту seo-конторку.
Спустя пару недель сеошники наконец проснулись, связались с нами и получили ftp доступы к сайту, а так же пароль от админки сайта.

Началась «оптимизация»

Всё началось с того, что они не разобрались в движке сайта PHPShop.
Отправили нам письмо, мы им сообщили где что редактируется, в каком файле находятся нужные им теги, а так же в довесок дали немного ссылок на официальную документацию.
Читать дальше →

App Store — получение денег

Reading time2 min
Views32K
Когда мы только начинали заниматься вопросом создания приложений для iPhone/iPod Touch, остро стоял вопрос легализации получения денег, т.к. яблочники их отправляют только на банковский счет.
Аккаунт мы регистрировали на физлицо, но, в связи с нашим интересным законодательством, проблема абсолютно актуальна и для аккаунтов компаний.

Все, что описано ниже, касается Украины. В других странах, насколько я общался с разработчиками, жизнь проще и дела обстоят получше, но точно утверждать не буду, т.к. руками не щупал.

Итак, есть 2 основных варианта открытия валютного счета для получения денег из-за границы SWIFT-переводом: счет предприятия (ЧП, ООО, ОАО — без разницы) и счет физлица (частного лица).

Больше под катом

Простой и безопасный способ переноса пользовательских данных на отличный от системного диск

Reading time3 min
Views33K

Краткое введение


Случилась у меня под новый год беда: уронил с высоты полутора метров свою файловую помойку(Хитач на 1 Тб), как оказалось — падение было фатально… Посмотрел я на цены и решил заместо новой помойки купить системный SSD, а существующий 500 гиговый хитач сделать помойкой, настройко- и документо- хранилищем и местом различных программ, не требующих быстрого SSD. выбор пал на 60 гиговый OCZ Vertex 3, который и был куплен, теперь перед мной стояла задача выноса системного и пользовательского мусора на 2й винт, о чём и пойдёт дальнейшее повествование…

Готовимся к опасным экспериментам


Сразу после установки системы, драйверов и минимально необходимого набора программ(брузер, архиватор, торрент, адобридер и т.п.) и настройки системы под работу с SSD было принято решение проделать архивацию системы(к тому моменту весь диск С весил 30Гб), что и было проделано. Дальше было много различных попыток переноса папок без редактирования реестра и переменных сред, в итоге я вернулся к созданому образу VHD и использовал копии папок оттуда, но обо всём по порядку, а сейчас лишь отмечу, что образ системы в итоге оказался просто необходим и не столько из-за того что систему несколько раз возвращать из небытия…
Читать дальше →

Паттерны проектирования

Reading time2 min
Views48K
Здравствуй хаброчеловек!

Так уж случилось, что с этого семестра в своем вузе я записался на спецкурс по паттернам проектирования. Курс проходит в виде семинаров, на которых ты (студент) должен рассказать чему научился за неделю (имеется ввиду, какие паттерны изучил и применил на практике).
Читать дальше →

Как понять, хорош ли ваш проект для инвестора: чеклист стандартных грабель стартапа

Reading time9 min
Views74K

Бизнес-ангел часто смотрит на стартаперов с недоумением

Предположим, вы придумали какое-то железо, и теперь хотите начать его производство. У вас уже есть прототип: вот он, в руке, коряво выглядит, в 4 раза больше нормального размера и из него торчит провод. Но он работает. У вас горят глаза: ведь осталось только «допилить» его и начать производить по всему миру. Из маркетингового плана у вас есть только «запостить про железку на Хабр – и всё закрутится».

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

Так вот, я занимаюсь тем, что отбираю стартапы для крупных и действительно крупных инвестиций. Ниже я хочу рассказать вам о том, как оценка проекта выглядит «с той стороны» для компаний, рассчитывающих не «срубить бабла по-быстрому», а готовых вкладываться в длинные проекты.
Читать дальше →

Реализация идеи беспроводного уровнемера

Reading time4 min
Views71K
В процессе работы с установкой появилась задача сделать уровнемер в баки, т.к. периодически происходили случаи перелива, а когда 8-10 тонн воды оказываются в подвале, который когда-то был бассейном для испытания торпед, то вытянуть это все ведрами на третий этаж является очень непростым делом. Казалось бы ничего особенного в задаче нет, но появилось несколько сложностей.

Условия:
  • Объем баков: 2 по 8000 литров
  • Геопозиция баков: -2й этаж (8 метров под землей)
  • Перекрытия этажей: дерево
  • Необходимая точность определения уровня: ± 10 литров
  • Предупреждение о критических уровнях
  • Индикация на рабочем месте


Нерабочее и рабочее решение предлагается далее

SRP-6: аутентификация без передачи пароля

Reading time5 min
Views34K
Как и было обещано в соседней теме, где рассказывался велосипед, выкладываю описание алгоритма SRP RFC2945 — способе регистрации и аутентификации пользователей безопасным образом по небезопасному каналу. Вот только в процессе подготовки статьи я обнаружил более свежую версию протокола, SRP-6, вместе с реализацией, в связи с чем решил выбросить свои архаичные наработки по SRP-3, и просто дать ссылки на имплементацию новой версии.
Читать дальше →

Инструкция-шпаргалка для начинающих

Reading time2 min
Views134K
Если в один прекрасный момент вам ударило в голову желание насадить разумное, доброе, вечное, и пересадить всех с SVN на GIT, сразу встают три проблемы:
  • Объяснить зачем это нужно разработчикам и руководству
  • Ввести в обиход новую схему работы с кодом
  • Научить ничего не подозревающих девелоперов новым техникам
Читать дальше →

ПИД-регулятор своими руками

Reading time17 min
Views285K

I. Постановка задачи


Нужно держать температуру на заданном неком уровне и менять задание. Есть микроконтроллер, к которому прицеплены измеритель температуры, и симистор для управления мощностью. Не будем греть голову на ТАУ, ни разностными схемами, просто возьмём и сделаем «в лоб» ПИД-регулятор.
Читать дальше →

Корректная реализация разностной схемы ПИД регулятора

Reading time7 min
Views88K
ПИД-регулятор является простейшим регулятором, имеющим эффективные аппаратные аналоговые реализации, и потому применяемый наиболее широко. Для своей работы требует настройки 3х коэффициентов под конкретный объект, позволяющие подобрать процесс регулирования согласно требованиям. Обладая простым физическим смыслом и простой математической записью, применяется широко и часто в регуляторах температуры, регуляторах расхода газа и других системах, где требуется поддерживать некий параметр на заданном уровне, с возможными переходами между разными заданными уровнями. Разумеется, существуют более сложные регуляторы, позволяющие более точно и быстро и с меньшими перерегулированиями выходить на заданные параметры, а так же учитывающие нелинейность или гистерезис регулируемого объекта, однако они обладают большей вычислительной сложностью и сложнее в настройке.

Несмотря на свою простоту как физического смысла, так и математической записи:

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

Причем проверить качество реализации ПИД регулятора крайне легко.
Читать дальше →

Google’s Mod_Pagespeed вышел из беты

Reading time1 min
Views13K

Для тех, кто как я, не знал, что такое mod_pagespeed — это модуль для Apache, собравший в себе очень много механизмов оптимизации. На страничке приводятся:
  • Оптимизация изображений, их ресайз и компрессия
  • Сращивание и минификация JS и CSS
  • Отложенная загрузка JS и изображений

И многое-многое другое.
Читать дальше →

Как ускорить загрузку своего сайта при помощи compress.php, который объединит и сожмёт JS + CSS в Gzip

Reading time3 min
Views61K
Ускоряем сайт при помощи GoogleПодробные инструкции, которые даются на code.google позволят вам:

  • Сжать все многочисленные скрипты JS и стили CSS
  • Соединить все полученные файлы в один JS и в один CSS
  • Сжать полученные два файла в формат GZIP, который понимают почти все браузеры и умеют распаковывать на лету
  • Прописать такой .htaccess, который заставляет браузеры кэшировать данные два файла

Всё это будет происходить при запуске единственного скрипта compress.php

Для примера, результат сжатия скриптов моего сайта:
  • JS: сжато в gzip 26 698 B, сжато без gzip 95 796 B, было 120 147 B
  • CSS: сжато в gzip 46 049 B, сжато без gzip 160 001 B, было 281 870 B

Получается, что экономия трафика составляет 329 270 B. Но основной выигрыш для скорости загрузки в том, что теперь загружается не 14 файлов, а всего 2 (а это намного быстрее, так как браузер не тратит время на запросы). Причём делается это один раз, а не динамически силами самого сервера (тем более, что не все сервера поддерживают подобное конфигурирование сжатия для экономии ресурсов процессора).

В итоге, получится:
<link rel="stylesheet" type="text/css" href="min/styles_1349888114.cssgz" />
<script src="min/all_1349888114.jsgz" /></script>

Читать дальше →

Создание красивого образа .dmg для программы в [Mac] OS X

Reading time6 min
Views28K
Приветствую достопочтенных жителей Хабра!

Сегодня я расскажу вам о том, как красиво преподнести пользователю инсталлятор своей программы. Наверняка каждый, кто пользуется не только программами из AppStore, сталкивался с красивыми образами диска .dmg, как вот у Адиума, к примеру. Такой образ представляет из себя, так сказать, интерактивный инсталлятор, в котором дана чёткая подсказка: перетащи значок вот сюда. Всё предельно понятно и просто.

Конечно, для бывалого маковода и zip-архив сгодится, но ведь все любят, чтоб было красиво и удобно. Так что мы с вами, дорогие читатели, озаботимся сегодня созданием такого вот красивого образа диска для своей (ну или чужой) программы.

Можно, конечно, проделать это всё вручную, но это не_наш_метод™, так что мы будем писать shell-скрипт для автоматизации сего процесса. Автоматизация нам так же пригодится в случае ввода в эксплуатацию билд-сервера, тогда этот сервер будет не только собирать программу из исходников, но и делать образ диска для дистрибьюции.

Если Вам не нужно знать как работает такой скрипт, а нужен лишь инструмент — в конце имеется ссылка на весьма универсальный скрипт, готовый к применению.
Приступим

Почему телевизор Самсунг «теряет» minidlna сервер

Reading time2 min
Views60K
Короткий пост напишу только потому, что сам долго мучился и искал на него ответ, но в итоге пришлось разобраться самому.

Имеем:
— телевизор Самсунг с функцией SMART TV и соответственно AllShare, который заменяет поддержку DLNA, как говорят люди, потому что где-то что-то у них не соответствует спецификациям и потому не смогли они это назвать именно DLNA. Ну да бог с ним, в этих тонкостях я решил не разбираться.
— домашний серверок на линуксе, который качает, хранит и показывает фильмы на телевизор через этот самый DLNA. В качестве DLNA сервера был выбран minidlna методом тыканья пальцем в небо в репозитории федоры.

Проблема:
— регулярно сталкиваемся с тем, что хотим посмотреть это самое кино, включаем телевизор… и не имеем в списке SOURCE или же в интерфейсе самого AllShare своего сервера. Обидно. Особенно когда приходят гости и ты им с воодушевлением рассказываешь как у тебя круто показывает новый телевизор, что у тебя есть собственный сервер и на нем мы сейчас будем выбирать кино в высоком разрешении.
Читать дальше →

Необычное переполнение жесткого диска или как удалить миллионы файлов из одной папки

Reading time4 min
Views159K

Предисловие


Скорей всего, матерым системным администраторам статья будет не очень интересна. В первую очередь она ориентирована на новичков, а также на людей, которые столкнулись с подобной проблемой — необходимостью удалить огромное количество файлов из одной папки в ОС Linux (Debian в моем случае), а также с закончившимся местом на диске, когда df -h выдает что почти 30% свободно.
Читать дальше →

Потоки в OS X: как получить CPU usage всех потоков в чужой программе?

Reading time5 min
Views6.7K
Добрый день, уважаемые хабровчане-маководы!

В [Mac] OS X имеется замечательный встроенный инструмент — Activity Monitor, который легко покажет занимаемую процессом память и процессорное время. Что ж, это очень хорошо, но иногда хочется странного. Например, посмотреть, сколько у процесса потоков (threads) и сколько CPU кушает каждый из них. Тут уже Activity Monitor нам никак не может помочь, увы, а файловой системы procfs здесь бывалый линуксоид не найдёт. Придётся решать эту проблему своими силами.

Сегодня я поведаю вам о том, как написать маленькую консольную программку, которая будет на вход принимать PID процесса и на выходе давать информацию о CPU usage каждого потока этой программы (а так же общий usage).

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

Запись видео с экрана Mac OS X средствами open-source

Reading time6 min
Views31K
Иногда надо записать демо работы программы, но под руками нет подходящих инструментов. Более того, бесплатных утилит для этих целей вообще не найти, а платные еще и не факт, что справятся как надо. Как поправили меня в коментариях, обычная версия QuickTime Player отлично пишет видео. Дальше рекомендуется читать только любителям open-source и необычных решений.
В моем случае возникла необходимость записать работу игры на симуляторе iPhone и Android. Программист внутри меня сразу предложил написать кучу кода, как под iOS/Android, так и под сам Мак, дампить кадры через OpenGL и пр. Остановив эти позывы, я таки решил найти готовые решения, а затем и оформить тут статью, как памятку.

Читать дальше →
1
23 ...

Information

Rating
Does not participate
Location
Подольск, Москва и Московская обл., Россия
Registered
Activity