Pull to refresh
9
0.1
Эрик Замабувараев‐Ёмолкуу @Mabu

BASIC программист

Send message

Как пользоваться i2pd: исчерпывающая инструкция под MS Windows

Reading time4 min
Views113K


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

В i2p ты можешь заниматься множеством вещей: посещать и создавать сайты, форумы и торговые площадки, принимать почту, чатиться и скачивать торренты, и многое многое другое. Программа i2pd способна работать с большим числом программ и сервисов.
Читать дальше →
Total votes 42: ↑34 and ↓8+26
Comments48

Makefile для самых маленьких

Reading time4 min
Views734K
Не очень строгий перевод материала mrbook.org/tutorials/make Мне в свое время очень не хватило подобной методички для понимания базовых вещей о make. Думаю, будет хоть кому-нибудь интересно. Хотя эта технология и отмирает, но все равно используется в очень многих проектах. Кармы на хаб «Переводы» не хватило, как только появится возможность — добавлю и туда. Добавил в Переводы. Если есть ошибки в оформлении, то прошу указать на них. Буду исправлять.

Статья будет интересная прежде всего изучающим программирование на C/C++ в UNIX-подобных системах от самых корней, без использования IDE.

Компилировать проект ручками — занятие весьма утомительное, особенно когда исходных файлов становится больше одного, и для каждого из них надо каждый раз набивать команды компиляции и линковки. Но не все так плохо. Сейчас мы будем учиться создавать и использовать Мейкфайлы. Makefile — это набор инструкций для программы make, которая помогает собирать программный проект буквально в одно касание.
Читать дальше →
Total votes 89: ↑77 and ↓12+65
Comments33

Задачки для фронтенд-тренировки: doodle-place, Apple Podcasts, Site Blocker, парсинг CSV-файлов

Reading time3 min
Views3.7K

Клон doodle-place


image

doodle-place — это онлайн-мир, населенный анимированными каракулями. Вы можете бродить и просматривать каракули, созданные пользователями по всему миру, или внести свой вклад.

Чему вы научитесь, сделав клон doodle-place:

  • Использованию API для Canvas в JavaScript для рисования графики вроде каракулей на экране.
  • Методам работы с 2D-графикой и API WebGL
  • Работе с пользовательским вводом, например, с рисунками, и сохранению результатов в базе данных.
Читать дальше →
Total votes 7: ↑5 and ↓2+10
Comments4

Задачи для фронтенд-тренировки: реализуем отдельные элементы интерфейсов YouTube, Instagram, Spotify, GitHub

Reading time3 min
Views4.8K
image

Лето. Вот список веселых и интересных идей для тренировки навыков программирования.

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

Клон чата на YouTube (только чат)


Я выбрал эту задачу, так как YouTube так распространен, и любой приличный работодатель потребует от вас реализовать аналогичные функции, хотя и в гораздо меньшем масштабе.
Читать дальше →
Total votes 4: ↑2 and ↓2+4
Comments2

XML сайты в результатах поиска

Reading time6 min
Views6.5K

Что такое XML сайт


XML сайт это сайт, страницы которого являются простыми XML файлами с MIME типом "text/xml" "application/xml"(XML Media Types). Они содержат только уникальные данные для этой страницы.


В таком XML файле задаётся ссылка на XSLT шаблон, который преобразует XML в HTML или в XHTML в браузере пользователя.


Проблема


Для классических html веб страниц поисковики в качестве заголовка отображают содержимое тега title. В описании отображается кусочки текста с найденными ключевыми словами или содержимое тега meta description.


Поисковики обычно не исполняют скрипты на страницах которые индексируют и соответственно не видят конечный вариант страницы после их исполнения. Соответственно они не видят теги title и meta которые вставляются XSLT шаблоном. Они индексируют текст который есть в XML документе как есть.


Решение


Наша задача правильно добавить теги title и meta в XML чтобы браузер, поисковик и меседжер в котором отправляется ссылка на страницу их понимали.


Таким же образом можно будет добавить и другие HTML теги для поисковиков, меседжеров и даже браузера если он вдруг не исполнит XSLT шаблон.


результат
Google
image
Yandex Webmaster
image
Читать дальше →
Total votes 5: ↑4 and ↓1+5
Comments28

«ТехноТекст». Эпизод 3. Шедевры не стареют, рукописи не горят, IТ-статьи не {404}

Reading time9 min
Views5.9K


За время, прошедшее с прошлого конкурса, все сильно изменилось — и мир вокруг, и каждый из нас. Хабр вообще пережил редизайн и переименование; у нас прибавилось сотни аккаунтов и компаний, тысячи постов и комментариев. Сообщество и наши авторы тоже пережили трансформацию, и теперь они другие — еще умнее, профессиональнее, сильнее, раскрепощеннее. Поэтому на «ТехноТексте-2020» мы ждем много новых крутых текстов и талантливых участников. Тем более что в этом году у нас в два раза больше номинаций. А у вас — в 3 раза больше времени, чтобы подготовить свою звездную статью.
Читать дальше →
Total votes 36: ↑34 and ↓2+63
Comments40

Как сверстать веб-страницу. Часть 2 — Bootstrap

Reading time19 min
Views695K

Введение


Уважаемый читатель, эта статья является второй частью цикла статей, посвященных вёрстке.

В первой части мы верстали шаблон Corporate Blue от студии Pcklaboratory с помощью стандартных средств на чистом HTML и CSS. В данной статье мы попробуем сверстать этот же шаблон, но с помощью CSS фреймворка Bootstrap 3.
Читать дальше →
Total votes 104: ↑86 and ↓18+68
Comments59

38+ сайтов для размещения контента с целью продвижения своего бизнеса и личного бренда

Reading time28 min
Views130K

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

Читать дальше →
Total votes 15: ↑12 and ↓3+19
Comments14

Оптимальный путь новичка в мире C++/Qt

Reading time10 min
Views100K
Часто задаваемый начинающими программистами вопрос – какие материалы читать для повышения своего профессионального уровня? В таком, наиболее общем виде, ответить на данный вопрос невозможно. Это зависит от текущих знаний и умений человека, от его специализации, от задач, которые возникнут перед ним в будущем. Однако я попытаюсь ответить на данный вопрос для того направления программистской деятельности, в котором лучше всего разбираюсь – в создании кроссплатформенных сложных desktop-приложений. Приложений уровня и класса PhotoShop, VisualStudio, MS Word. Таких приложений, в которых с точки зрения программиста возникает больше количество разноплановых задач:

  • Отрисовка классического «офисного» GUI типа кнопок, прогресс-баров, виджетов, анимации.
  • Отрисовка любой нестандартной графики типа непрерывно движущихся графиков из миллионов точек.
  • Работа с базами данных
  • Работа с сетью
  • Работа с реестром операционной системы
  • Работа с принтером
  • Быстрое (в том числе параллельное) выполнение сложных вычислительных задач.
  • И многое, многое другое.

Наборов платформ и фреймворков, которые позволяют эффективно строить подобные приложения, не так уж много. В свое время, попробовав разные платформы, программисты в моей организации уверенно остановились на следующей связке: язык С++ и платформа Qt. Как показало время, этот выбор не подвел. Вот именно с оглядкой на этот выбор я начну излагать тот набор материалов, которые я рекомендую к изучению начинающими программистами, если они хотят стать настоящими гуру в этом направлении.
Читать дальше →
Total votes 8: ↑7 and ↓1+13
Comments21

Какие алгоритмы разработчики Яндекса реализовывают каждый день

Reading time8 min
Views50K

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




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


В статье четыре примера. Два на C++, один на TypeScript и один на Python. Способность быстро писать относительно простые алгоритмы без багов — общая необходимость, она не зависит от специализации разработчика.

Читать дальше →
Total votes 43: ↑33 and ↓10+38
Comments175

Как собрать досовский COM-файл компилятором GCC

Reading time10 min
Views14K
Статья опубликована 9 декабря 2014 года
Обновление от 2018 года: RenéRebe сделал на базе этой статьи интересное видео (часть 2)

В минувшие выходные я участвовал в Ludum Dare #31. Но даже до объявления тем конференции из-за своего недавнего увлечения я хотел сделать олдскульную игру под DOS. Целевой платформой выбрана DOSBox. Это самый практичный способ запуска DOS-приложений несмотря на то, что все современные процессоры x86 полностью обратно совместимы со старыми, вплоть до 16-битного 8086.

Я успешно создал и показал на конференции игру DOS Defender. Программа работает в реальном режиме 32-битного 80386. Все ресурсы встроены в исполняемый COM-файл, никаких внешних зависимостей, так что игра целиком упакована в бинарник 10 килобайт.


Читать дальше →
Total votes 40: ↑40 and ↓0+40
Comments22

Этот восхитительный Юникод

Reading time27 min
Views94K


Перед вами обновляемый список самых замечательных «вкусностей» Юникода, а также пакетов и ресурсов

Юникод — это потрясающе! До его появления международная коммуникация была изнурительной: каждый определял свой отдельный расширенный набор символов в верхней половине ASCII (так называемые кодовые страницы). Это порождало конфликты. Просто подумайте, что немцам приходилось договариваться с корейцами, где чья кодовая страница. К счастью, появился Юникод и ввёл общий стандарт. Юникод 8.0 охватывает более 120 000 символов из более 129 письменностей. И современные, и древние, и до сих пор не расшифрованные. Юникод поддерживает текст слева направо и справа налево, наложение символов и включает самые разные культурные, политические, религиозные символы и эмодзи. Юникод потрясающе человечен, а его возможности сильно недооцениваются.
Читать дальше →
Total votes 64: ↑64 and ↓0+64
Comments56

Руководство по созданию ActiveX-контролов на C++ с помощью ATL

Reading time13 min
Views29K
В интернете существует множество учебников по использованию ATL, и в частности, по созданию COM-компонентов с его помощью, в том числе и ActiveX/OLE контролов, но большинство из них почему-то описывают процесс тыкания мышкой в разные интересные места Visual Studio, использование графических инструментов последней, и мало какой из них затрагивает нутро сгенерированного средой разработки кода в достаточно глубоком объеме. В русскоязычном сегменте интернета ситуация и того хуже — материалов по ATL крайне мало, практически нет(да и не только по ATL, а и по созданию COM-компонентов вообще), поэтому я решил этот недостаток компенсировать.
Читать дальше →
Total votes 40: ↑28 and ↓12+16
Comments43

Windows Native Applications и сервис Acronis Active Restore

Reading time9 min
Views4.7K
Сегодня продолжаем рассказ о том, как мы вместе с ребятами из Университета Иннополис разрабатываем технологию Active Restore, чтобы позволить пользователю как можно раньше начать работу на своей машине после сбоя. Речь пойдет о нативных приложениях Windows, включая особенности их создания и запуска. Под катом – немного о нашем проекте, а также практическое руководство как писать нативные приложения.


Читать дальше →
Total votes 32: ↑32 and ↓0+32
Comments3

Расцвет и упадок Visual Basic

Reading time7 min
Views77K
Мне нужно сделать признание. До того, как я стал респектабельным разработчиком, работающим с такими современными языками, как C# и Java (и тем бурлящим хаосом, который известен нам под именем JavaScript), я был увлечённым фанатом невероятно популярного и неуклюжего Visual Basic.

Моя влюблённость была искренней. Ещё в детстве я учился программировать на языке BASIC. Но не просто на BASIC. Я начинал с потрясающей среды Microsoft под названием QuickBASIC на древней операционной системе DOS. Я всё ещё помню, как набирал белый текст на её бодром голубом фоне.


Для программирования в 1988 году QuickBASIC был волшебной штукой. Можно было писать код без громоздких номеров строк, отлавливать синтаксические ошибки в процессе набора и запускать программы прямиком из среды разработки без необходимости возни с командной строкой. Закончив программу, можно было делиться ею со своими друзьями при помощи вот этих ребят:


В наши дни QuickBASIC остался лишь ещё одной диковинкой из далёкого прошлого. Хотя так ли это? Новаторский проект под названием QB64 создал современную реплику QuickBASIC. Он запускается на Windows, MacOS и Linux, и не требует эмулятора. При запуске программы в QB64 среда выполняет хитрый трюк — сначала она транслирует код на BASIC в C++, а затем компилирует его.

Классический VB и эра Visual


QuickBASIC был впечатляющей средой для далёких дней текстовых компьютерных систем. Но всё изменилось, когда Microsoft выпустила Windows и погрузила пользователей PC в графический мир кнопок и кликов. Одновременно с выпуском компанией Microsoft Windows 3.0 (первой версии, которая добилась истинного успеха), был выпущен Visual Basic 1.0.
Читать дальше →
Total votes 114: ↑110 and ↓4+106
Comments222

Что должно быть в с-файле, а что должно быть в h-файле?

Reading time3 min
Views94K
Подобного рода вопрос мне недавно задал один коллега, начинающий программировать на языке Си. И я подумал, что это хороший повод поделится своим пониманием данного вопроса. Потому, что даже опытные программисты не всегда имеют схожие точки зрения на этот счет.

Отчасти это дело вкуса, поэтому, кому интересно как это делаю я, добро пожаловать под кат.
Читать дальше →
Total votes 33: ↑26 and ↓7+19
Comments25

GOTO BASIC

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

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

1964


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

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

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

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

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

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

Как заработать максимум на своем сайте. 22 способа и 240+ ссылок

Reading time17 min
Views454K


Эта статья родилась из личного опыта. Я искал самые эффективные способы монетизации сайта (ныне уже проданного на Telderi) и в какой-то момент понял, что тема очень обширная и требует подробного исследования. А его результаты могут быть интересны не мне одному.

Рассматриваются способы, наиболее актуальные для России и СНГ и не требующие участия разработчиков или требующие в минимальной степени.

Статья ввиду большого объема писалась не один месяц, поэтому не серчайте сильно, если где-то встретите неточности (в расценках, форматах). Просто напишите об этом в комментариях.
Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments26

Битва WEB-серверов. Часть 1 – оторванный от реальности HTTP:

Reading time3 min
Views14K
В этой статье мы попробуем себя в реверс-инжиниринге, можно сказать. Мы заглянем своими грязными руками под капот каждого из веб-серверов, эксплуатируя их так, как никто бы никогда не эксплуатировал.

Этот тест – замер сферического коня в вакууме, не более чем данные, которые были получены, и мы теперь не знаем, что с ними делать.

Читать дальше →
Total votes 15: ↑13 and ↓2+23
Comments10

Information

Rating
3,129-th
Location
Красноярск, Красноярский край, Россия
Date of birth
Registered
Activity