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

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

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

Пятничные вебинары: учимся программировать бесплатно

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

image
Всего голосов 10: ↑7 и ↓3+4
Комментарии1

Своя змейка, или пишем первый проект. Часть 0

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

Предисловие


Привет Хабр! Меня зовут Евгений «Nage», и я начал заниматься программированием около года назад, в свободное от работы время. Просмотрев множество различных туториалов по программированию задаешься вопросом «а что же делать дальше?», ведь в основном все рассказывают про самые основы и дальше как правило не заходят. Вот после продолжительного времени за просмотром разных роликов про одно и тоже я решил что стоит двигаться дальше, и браться за первый проект. И так, сейчас мы разберем как можно написать игру «Змейка» в консоли со своими начальными знаниями.

Глава 1. Итак, с чего начнем?


Для начала нам ничего лишнего не понадобится, только блокнот (или ваш любимый редактор), и компилятор C#, он присутствует по умолчанию в Windows, находится он в С:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe. Можно использовать компилятор последней версии который поставляется с visual studio, он находится Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\Roslyn\csc.exe.

Создадим файл для быстрой компиляции нашего кода, сохранил файл с расширением .bat со следующим содержимым:

@echo off
:Start
set /p name= Enter program name: 
echo.
С:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe "%name%.cs"
echo.
goto Start

"@echo off" отключает отображение команд в консоли. С помощью команды goto получаем бесконечный цикл. Задаем переменную name, а с модификатором /p в переменную записывается значение введенное пользователем в консоль. «echo.» просто оставляет пустую строчку в консоли. Далее вызываем компилятор и передаем ему файл нашего кода, который он скомпилирует.

Таким способом мы можем скомпилировать только один файл, поэтому мы будем писать все классы в одном документе (я не разобрался еще как компилировать несколько файлов в один .exe через консоль, да и это не тема нашей статьи, может кто нибудь расскажет в комментариях).
Читать дальше →
Всего голосов 32: ↑23 и ↓9+14
Комментарии34

Руководство по ассемблеру x86 для начинающих

Время на прочтение16 мин
Количество просмотров156K
В наше время редко возникает необходимость писать на чистом ассемблере, но я определённо рекомендую это всем, кто интересуется программированием. Вы увидите вещи под иным углом, а навыки пригодятся при отладке кода на других языках.

В этой статье мы напишем с нуля калькулятор обратной польской записи (RPN) на чистом ассемблере x86. Когда закончим, то сможем использовать его так:

$ ./calc "32+6*" # "(3+2)*6" в инфиксной нотации
30

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

Начнём с написания базовой программы Hello world! для проверки настроек среды. Затем перейдём к системным вызовам, стеку вызовов, стековым кадрам и соглашению о вызовах x86. Потом для практики напишем некоторые базовые функции на ассемблере x86 — и начнём писать калькулятор RPN.
Читать дальше →
Всего голосов 51: ↑48 и ↓3+45
Комментарии26

Пилим свою службу Windows – руководство для «не настоящих программистов»

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


Однажды вы задумаетесь, как превратить скрипт или приложение в Windows-службу. Скорее всего, задача окажется не такой уж тривиальной – приложению как минимум потребуется специальный интерфейс для получения команд от системы. А раз есть требования и ограничения, то есть и скрипты, и милые сердцу костылики для преодоления.


Статья будет полезна тем, кто, как и я — «программист не настоящий».

Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии8

Как защитить своего ребенка от мусора на YouTube и сделать кастомный плеер с белым списком каналов

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

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



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


К сожалению, я очень быстро уяснил, что детский ютуб — это просто АДОВЫЙ ТРЕШ. Про это даже на Хабре уже был перевод статьи. Детские каналы — это какие-то бездонные клоаки, наполненные вырвиглазными видео типа "разворачиваем сто киндер-сюрпризов", "дурацкие стишки с убогой 3д графикой под крикливую музыку" и "гоняем машинки в Beam NG под дурацкие комментарии". По какой-то причине все это является очень привлекательным для маленьких детей, которые бросаются кликать на такие видео как только увидят их в рекомендованных. А YouTube не позволяет управлять рекомендациями. Даже дав своему сыну планшет с включенными "нормальными" мультиками, я уже через пару минут наблюдаю, как он за два клика по рекомендациям опять находит эти чертовы шоколадные яйца и снова начинает в них залипать.


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

Читать дальше →
Всего голосов 91: ↑87 и ↓4+83
Комментарии364

Набор инструментов инди-разработчика игр

Время на прочтение7 мин
Количество просмотров19K
Доброго времени суток, начинающие игроделы!

Инди-разработчик игр, это универсальный солдат, которому приходится делать все: писать код, рисовать картинки, лепить 3D модели потом делать для них текстуры и многое другое. Под каждую задачу нужен определенный инструмент, да еще и бесплатный по возможности, так как начинающий игродел имеет скромный бюджет. О том, какие программы помогли мне ускорить рабочий процесс я расскажу под катом.


Внимание: данный пост не рекламный, это лишь список программ, которые помогают мне в моих проектах.
Читать дальше →
Всего голосов 9: ↑5 и ↓4+1
Комментарии17

Курс «Разработка на Java» от Mail.Ru Group на канале Технострим

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


Этой весной мы выложили на канале Технострим запись курса по Java. Уже несколько семестров подряд он читается в рамках образовательного проекта Техносфера, реализуемого компанией Mail.Ru Group совместно с МГУ им. М. В. Ломоносова. Курс включает все темы, необходимые начинающему разработчику в мире Java. Авторы не углубляются в детали синтаксиса, а сразу берутся за практические задачи: разработку игры с консольным интерфейсом и функционального чата. В конце курса разбираются частые вопросы из собеседований на позиции junior и middle Java-developer.

Записи лекций и материалы курса бесплатны и доступны всем желающим.

Большинство домашних заданий можно выполнить и проверить в репозитории курса.
Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Комментарии0

Популяризация науки

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


Здравствуйте!

Меня зовут Вячеслав Голованов, и уже больше четырёх лет я регулярно публикуюсь на Хабре.

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

Сначала я делал переводы статей на разные темы, часто о разработке — например, оформил перевод целой веб-книги "Выразительный Javascript". Потом постепенно увлёкся научно-популярной тематикой, стал делать новостные статьи. В итоге я нашёл себя в переводах лонгридов – длинных статей на научно-популярные темы. Я составил себе определённый набор сайтов-источников с качественными материалами, познакомил пользователей «Хабра» с блогами космолога Итана Сигеля, специалиста по физике частиц Мэтта Страсслера, создателя системы Wolfram Language Стивена Вольфрама.
Читать дальше →
Всего голосов 66: ↑61 и ↓5+56
Комментарии75

PowerShell и Group Policy Preferences, когда счет принтеров на сотни

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


Много копий сломано вокруг управления сетевыми принтерами на пользовательских компьютерах. В основном администраторы разбились на два лагеря: подключение логон-скриптами (bat/vbs) и управление через GPP. У обоих подходов есть свои плюсы: скрипты быстрее обрабатываются, а GPP гибче и применяется чаще, чем пользователи перезагружают компьютеры. Но когда принтеров больше сотни и разбросаны они в нескольких десятках офисов и городов, сложности будут в обоих случаях.

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

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

А всё, что делается больше одного раза, можно автоматизировать!

Что мы сегодня будем делать?

  • вести учет всех сетевых принтеров;
  • автоматизировать добавление принтеров в GPP (PS/XML);
  • автоматизировать добавление принтеров на принт-сервер, причем на кластерный (BAT/VBS)!

Итак, начнем.
Читать дальше →
Всего голосов 14: ↑14 и ↓0+14
Комментарии21

Принтеры с СНПЧ: выбираем и сравниваем по стоимости отпечатка

Время на прочтение8 мин
Количество просмотров166K
СНПЧ в штатном исполнении появилась в струйных принтерах сравнительно недавно. До этого владельцы устройств, не доверявшие кустарным надстройкам, были вынуждены ограничиваться объемом родных картриджей принтера. Теперь на струйной печати можно экономить со всей гарантийной ответственностью!

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



Под катом о том, на что следует обратить внимание при выборе струйного принтера со штатной системой СНПЧ.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии44

Научитесь создавать собственные команды bash менее чем за 4 минуты

Время на прочтение4 мин
Количество просмотров23K
В этой статье я научу вас создавать собственные псевдонимы команд bash, а также как одновременно запускать несколько команд с помощью одной команды bash.

TL;DR В первой части описывается, почему псевдонимы — это так важно, сколько времени они экономят и т.д., но, если вы просто хотите узнать, как создать собственные псевдонимы, то перейдите к шагу 1.


Читать дальше →
Всего голосов 37: ↑21 и ↓16+5
Комментарии29

Настройка squid или как не купить платное решение

Время на прочтение20 мин
Количество просмотров124K
image

Всем привет!

Часто в организациях используем разного рода прокси, прокси как составляющая программного шлюза или самостоятельный классический вариант squid + анализатор логов и т.п.

Мы пытались внедрить решение от Ideco и ИКС, в итоге остановились на squid. Под катом история пути и техническая информация по настройке старого доброго кальмара.
Читать дальше →
Всего голосов 15: ↑11 и ↓4+7
Комментарии31

Что можно найти в чужом коде? Подборка полезных материалов по .NET

Время на прочтение5 мин
Количество просмотров13K
Привет, Хабр! Наш коллега, Скотт Хансельман, считает, что в рамках изучения языка программирования важно не только кодить и практиковаться в написании, но и изучать чужой код. «Читайте чужой код» говорит Скотт и приводит полезные материалы, которые он нашел в наработках своего коллеги. Подробнее под катом!

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

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

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


Никлаус Вирт, швейцарский ученый-информатик, в 1976 году написал книгу под названием «Алгоритмы + Структуры данных = Программы».

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

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

Иногда в вопросах на интервью прямо упоминается та или иная структура данных, например, «дано двоичное дерево». В других случаях задача формулируется более завуалированно, например, «нужно отследить, сколько у нас книг от каждого автора».

Изучение структур данных — незаменимое дело, даже если вы просто стараетесь профессионально совершенствоваться на нынешней работе. Начнем с основ.

Переведено в Alconost
Читать дальше →
Всего голосов 36: ↑21 и ↓15+6
Комментарии17

Ситуация: приложения для медитации становятся успешнее, чем подкасты

Время на прочтение5 мин
Количество просмотров17K
Подкасты стали привычным медиа за рубежом: 44% американцев слушали аудиопередачи хотя бы однажды, а около четверти жителей США прослушивают минимум по одной ежемесячно.

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

Тем не менее, на рынке аудиоприложений появился другой игрок с «разговорным» контентом, который успешно получает доход за счет продажи подписок. Это приложения для медитации.

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

Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии23

Защищаем VPS-сервер на базе Windows 2008 R2

Время на прочтение3 мин
Количество просмотров21K
Это вольный перевод моего поста из блога моей компании — о том, как я разгребал последствия хакерской атаки на наш сервер.

Если в двух словах — мой сервер взломали. Злоумышленник получил пароль к FTP-серверу и в течении почти 10-ти часов скачивал все, до чего дотянулись ручонки. То, как, собственно, был взломан сервер — отдельная история. Вкратце — хакер отправил фальшивый саппорт-тикет моему хостеру с просьбой помочь создать FTP-юзера. И хостер, в общем-то, повелся. Мало того, что создал юзера, да еще и дал ему админские права… Переписку хакера с хостером (мне удалось завладеть копией) я — если хабровчане захотят — выложу обязательно, это отдельная веселуха. А пока просто перечислю шаги, которые я предпринял, чтобы защитить свой сервер и ликвидировать последствия:
Читать дальше →
Всего голосов 45: ↑30 и ↓15+15
Комментарии21

Использование Zabbix для слежения за базой данных MS SQL Server

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

Предисловие


Часто возникает потребность в режиме реального времени сообщать администратору о проблемах, связанных с БД (базой данных).

В данной статье будет описано, что необходимо настроить в Zabbix для слежения за базой данных MS SQL Server.

Обращаю внимание на то, что подробно как настраивать приводиться не будет, однако формулы и общие рекомендации, а также подробное описание по добавлению пользовательских элементов данных через хранимые процедуры будут приведены в данной статье.
Также здесь будет рассмотрены только основные счетчики производительности.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии9

80% касс самообслуживания под угрозой

Время на прочтение2 мин
Количество просмотров70K
С малых лет всегда интересовало тестирование, особенно в области безопасности, но кстати тестировщиком я так и не стал, но иногда люблю потыкать чужие автоматы и поискать уязвимости.

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

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

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

Насколько это безопасно?
Читать дальше →
Всего голосов 164: ↑155 и ↓9+146
Комментарии356

Горизонты восприятия на пальцах™

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

Эпиграф
Горизонт — непостижимая линия где смыкаются волны, сговорившись с небом хранить тайну
Инженер Механических Душ


image
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии24

Английский язык: взгляд инженера

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

ДИСКЛЕЙМЕР


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

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




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

Возьмем такой предмет, как английский язык. Там куча понятий: 12 времен глагола, страдательный залог, причастия и т.п. Кто их ввел? Видимо, некие ученые мужи, для которых английский язык был РОДНЫМ. Они жили себе в каком-нибудь Oxford’e или в Cambridg’e и вряд ли знали русский язык.

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

Вспомните, как вы в школе изучали русский язык. Подлежащее, сказуемое, дополнение, определение… и штук 200 правил, из которых куча исключений, которые все благополучно забывают, кроме собственно учителей русского. И которые потом нужны – максимум – при разборках с бюрократическими документами («казнить нельзя помиловать»).

Английская грамматика – туда же – что-то академическое и малополезное при изучении языка с нуля. Для человека, который более-менее свободно умеет стыковать из английских слов фразу, нужно просто учить новые слова.

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

Статья ориентирована именно на таких.
Читать дальше →
Всего голосов 95: ↑77 и ↓18+59
Комментарии288

Информация

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