Search
Write a publication
Pull to refresh
56
0
Илья @WST

Инженер-программист

Send message

Почему мы не любим вносить правки в свои макеты

Reading time3 min
Views21K
image

Речь пойдёт о начинающих проектировщиках, которые делают интерактивные (и не очень) прототипы, и дизайнерах.
Рассмотрим классический сценарий. Исполнитель получает заказ, оценивает сроки своей работы и садится за неё в последний возможный момент. У кого-то этот момент находится в начале календарного плана, у кого-то — в ночь перед сдачей проекта, всё зависит от степени самоорганизации и ответственности.
Читать дальше →

Отладка самолета? Это очень просто!

Reading time13 min
Views119K
Некоторое время назад мне пришлось очень плотно поучаствовать в приемо-сдаточных испытаниях самолета. Эти испытания были основной частью процесса передачи свежеизготовленного, самого (по моему мнению) технически продвинутого на настоящий момент времени бизнес-джета от производителя заказчику. Казалось бы, причем здесь тестирование, разработка, да и вообще тематика Хабра? Желающие узнать это могут перевернуть страницу и прочитать довольно много текста, причем вообще без картинок.
Читать дальше →

Полупроводниковая электроника

Reading time30 min
Views385K


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



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





Иллюстраций: 34, символов: 51 609.



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

Реализация мечты, или Радио 86РК — 25 лет спустя

Reading time13 min
Views185K
В уже далеком 1986 году у меня появилась мечта. Вернее, МЕЧТА – построить свою собственную микро-ЭВМ «Радио-86РК», схема которой была опубликована в журнале «Радио» (и который уже неоднократно упоминался на Хабре, например, здесь — habrahabr.ru/post/172405 ).
Читать дальше →

Почему будущее за удалённой работой (часть 1)

Reading time4 min
Views76K
image

В последнее время тема удалённой работы стала особенно актуальной — достаточно вспомнить этот недавний пост на хабре, выход книги Remote от Джейсона Фрайда и приуроченный к запуску книги старт биржи поиска удалённых сотрудников от 37 Signals.
Сторонников у неё более чем достаточно, особенно среди работников, уставших изо дня в день добираться до офиса по сумасшедшим городским пробкам. Противников также немало и в первую очередь среди работодателей. Здесь я постараюсь объяснить, почему, несмотря на все минусы (многие из которых, к слову, либо временные, либо вымышленные), удалённая работа — это наше будущее, и будущее весьма близкое. Как человек из IT-индустрии, я конечно имею в виду в первую очередь её, но значительная часть этих наблюдений носит универсальный характер.
Сразу оговорюсь, я не хочу сказать, что работа в офисе уйдёт в небытие, она лишь превратится из единственного возможного способа в инструмент, решающий определённый спектр задач. Под катом список основных плюсов удалёнки для работника и работодателя, а в следующей части я постараюсь опровергнуть основные мифы, к которым часто апеллируют её противники.
Читать дальше →

Что значит быть junior-разработчиком

Reading time5 min
Views88K
image
Автор фотографии: Максим Золотухин

Привет Хабр! Хочу рассказать вам о небольшом сообществе junior-разработчиков в Алматы и своём пути junior-разработчика в Казахстанском вебе.
Читать дальше →

Mooha — нодовый интерфейс для PHP

Reading time11 min
Views27K


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

Идея графического управления логикой программы мне всегда казалась очень элегантным, а в некоторых случаях, единственным удачным решением. Позже, когда помимо музыки и видео я увлекся программированием (в основном PHP, так уж сложилось), мне захотелось попробовать, пусть даже в качестве эксперимента, создать графическую оболочку для выполнения тех нехитрых задач, с которыми я сталкивался в своей работе.
Читать дальше →

Как 45 минут терять по $172 222 в секунду

Reading time4 min
Views158K
Это, пожалуй, самый болезненный отчет об ошибке, который я когда-либо читал. Он красочно описывает шаги, которые привели к потере 465 миллионов долларов компанией Knight Capital в связи с ошибкой программного обеспечения, проявившейся в прошлом году и обанкротившей компанию.

В этом отчете есть все характеристики технического долга в огромной, лишенной поддержки и запущенной базе кода (ошибка произошла из-за исполнения кода, который не использовали почти 9 лет) и ужасная и грустная история взаимодействия между разработчиками ПО и ИТ-профессионалами.
Читать дальше →

Дело Попова-Бабушкина живет

Reading time4 min
Views110K
Хочу попросить вас не ругать самого школьника — кто из нас в начале пути не писал велосипеды, которые должны были потопить гигантов ИТ-индустрии или хотя бы не мечтал об этом. Не хватало еще отбить у человека тягу к программированию. Лучше отправить лучи поноса тем некомпетентным журналистам, которые снова опрофанились, и тем кто затеял этот поход за мировой известностью.

upd
Я пообщался с Руфатом, насколько это позволил мне мой дурной английский. Он почему-то поблагодарил за этот пост, еще отметил, что интереса к личной жизни других людей он не испытывает, несмотря на то, что это написано в новостях. Хотя признается, что шутил над друзьями используя самописный spyware. К антивирусу это не имеет отношения, его разработку и поддержку он уже прекратил.
Техническую сторону обсудить не получилось из-за языкового барьера, единственное, что он мне сообщил, то что есть сервер (php, ajax, js), на сервере мускуль и есть клиент написанный на дотнете, стадия разработки проекта — альфа. На вопросы как обстоит дело с работой из-за НАТа и про протокол он не ответил. Зато дал ссылку на видео, где можно увидеть работу программы.
vimeo.com/28194023

При помощи добрых людей isden и merlin-vrn, которые помогли мне с вопросами, я более детально пообщался с Руфатом и с его согласия публикую нашу переписку:
Okey. I am using .NET for Windows client. Browser control (server) is PHP, AJAX, JS
We developing this project. And dont add now security methods.
This project not a hacker tool.
This project client software notify connected PC.

Can you reveal some details of your agreement with «Exoventure Associates»?
This contract 1 year for looking my project investor.

How many lines of code, or can you provide any other software quality metrics?
All the code I programmed.

What if server is hidden behind some firewall or NAT? Does it support IPv6?
Now I using Hosting.

Which actions the program allows to execute, and is it possible for users to add custom actions? Is it possible to define complex actions, something like «reboot if CPU load is more than 90%»?
Program limited permission allowed for user. And not time now this question answer

How can I be sure nobody can access my computers? Can I be sure nobody can even see which commands I send to my computers?
Yes. You send to target computer command. And Computer's user see your command

Do you use encryption? Or commands are sent in plain text?
Yes. I will use to security methods. But now am developed back end for project because now not ready project new version

How resilient is the program? Can I have feedback from the remote if my command was successful? What if the computer suddenly disappeared, can it alarm me that my command failed?
Yes. Now there log system

What operating system can be used as a back end?
Server — Linux
Client — Windows

What are benefits of your program? Can you provide some comparison with well-known remote control software, like mobile SSH clients, Teamviewer and others?
My project difference features: remote many computers with one device.
And this project. very easy for end users

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

Журналисты в очередной раз радуют нас удивительными открытиями. Как пишет новостной портал mir24.tv, школьник из Баку по имени Руфат Мамедли создал «уникальную программу, аналогов которой нет в мире». С помощью этой программы можно будет, имея при себе всего лишь телефон, управлять любым компьютером, в любом уголке земного шара.
Читать дальше →

Nibbler — компьютер из 17 микросхем. С дискретным TTL процессором

Reading time1 min
Views76K
2 года назад тут писали про самодельный компьютер с процессором на отдельных интегральных микросхемах — BMOW1. С архитектурной точки зрения он был весьма продвинут, однако крайне сложен для повторения.

Автор BMOW1 (Стив Чемберлин — Steve Chamberlin) разработал компьютер Nibbler, состоящий всего из 17 микросхем. Причем — процессор там также собран на дискретной логике.

Что-ж, посмотрим что у него внутри.
Читать дальше →

Новый взгляд на старые игры

Reading time2 min
Views44K
Задумывались ли вы когда-нибудь над тем, как могли бы выглядеть ваши любимые игры времён 90-х, если бы среди кнопок джойстика была кнопка «Zoom out»? Как заядлого любителя (и ассистирующего спидраннера) игр Sonic the Hedgehog и их современных модификаций-хаков, меня однажды заинтересовала эта тема. Подробности под катом.

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

Производительный сетевой сервер на PHP

Reading time9 min
Views29K
Вы пробовали заказать в Макдональдсе жаренного на орудийном шомполе поросенка с домашним вином и, на десерт, девушку рядом с вами за столиком, для приятной беседы во время трапезы? Даже не думали об этом?? Вот-вот — статья как раз об этом, о стереотипах программиста и лени, двигающей прогресс. А если серьезно — в статье мы напишем очень полезный многим высокопроизводительный сетевой сервер на PHP за пару часов. Я совершенно серьезно :-)

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

HTML Academy, Хабр и краудфандинг

Reading time3 min
Views90K
HTML Academy — это интерактивные онлайн-курсы по HTML и CSS. Проект существует уже более года, за который мы создали более 15 курсов, большая часть из которых бесплатна. Всё это время работа велась на чистом энтузиазме, однако, сейчас уже нужно выходить на новый уровень, чтобы делать курсы чаще, круче и полезнее. Для этого есть много путей, и один из них — народное финансирование.

Немного об HTML Academy


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

Практическое задание
Читать дальше →

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

Reading time11 min
Views33K
Badoo — крупнейшая в мире социальная сеть для знакомств с новыми людьми, насчитывающая 190 миллионов пользователей.
Все данные хранятся в двух дата-центрах — европейском и американском. Некоторое время назад мы исследовали качество интернет-соединения у наших пользователей из Азии и обнаружили, что для 7 миллионов пользователей наш сайт будет загружаться в 2 раза быстрее, если мы переместим их из европейского дата-центра в американский. Перед нами впервые встала задача крупномасштабной миграции данных пользователей между дата-центрами, с которой мы успешно справились: мы научились перемещать 1,5 миллиона пользователей за один рабочий день! Мы смогли перемещать целые страны! В первой части мы подробно расскажем о поставленной перед нами задаче и о том, какого результата мы достигли.
Читать дальше →

Пишем игры на C++, Часть 2/3 — State-based программирование

Reading time4 min
Views79K
Пишем игры на C++, Часть 1/3 — Написание мини-фреймворка
Пишем игры на C++, Часть 3/3 — Классика жанра

Здравствуй, Хабрахабр!

Поздравляю вас, если вы прочитали первый урок! Он достаточно большой. Обещаю, что тут кода будеть меньше, а результатов больше :)

О чем эта часть?


  • Мы попытаемся постичь state-based programming, с помощью которого новые уровни и меню делаются очень легко


В следующем посте будут натуральные игры :)



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

Пишем игры на C++, Часть 1/3 — Написание мини-фреймворка

Reading time6 min
Views425K
Пишем игры на C++, Часть 2/3 — State-based программирование
Пишем игры на C++, Часть 3/3 — Классика жанра

Здравствуй, Хабрахабр!

На хабре не очень много уроков по созданию игр, почему бы не поддержать отечественных девелоперов?
Представляю вам свои уроки, которые учат создавать игры на C++ с использованием SDL!

Что нужно знать


  • Хотя бы начальные знания C++ (использовать будем Visual Studio)
  • Терпение


О чем эта часть?


  • Мы создадим каркас для всех игр, в качестве отрисовщика будем использовать SDL. Это библиотека для графики.


В следующих постах будет больше экшена, это лишь подготовка :)

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

Изображения: форматы и сжатие (2/3)

Reading time19 min
Views47K


И снова здравствуйте! После перерыва в месяц продолжаем экскурсию по форматам изображений и алгоритмам сжатия. Где мы остановились? Ах, да, восьмидесятые годы.
Читать дальше →

Lock-free структуры данных. Основы: Атомарность и атомарные примитивы

Reading time15 min
Views112K

Построение lock-free структур данных зиждется на двух китах – атомарных операциях и способах упорядочения доступа к памяти. В этой статье речь пойдет об атомарности и атомарных примитивах.

Анонс. Спасибо за теплый прием Начал! Вижу, что тема lock-free интересна хабрасообществу, это меня радует. Я планировал построить цикл по академическому принципу, плавно переходя от основ к алгоритмам, попутно иллюстрируя текст кодом из libcds. Но часть читателей требует зрелищ не мешкая показать, как пользоваться библиотекой, особо не рассусоливая. Я согласен, в этом есть свой резон. В конечном счете, и мне не так интересно, что там внутри boost, — опишите, как его применять! Поэтому свой эпический цикл я разделю на три части: Основы, Внутри и Извне. Каждая статья эпопеи будет относится к одной из частей. В Основах будет рассказываться о низкоуровневых вещах, вплоть до строения современных процессоров; это часть для почемучек вроде меня. Внутри будет освещать интересные алгоритмы и подходы в мире lock-free, — это скорее теория о том, как реализовать lock-free структуру данных, libcds будет неисчерпаемым источником C++ кода. В Извне будут статьи о практике применения libcds, — программные решения, советы и FAQ. Извне будет питаться вашими вопросами/замечаниями/предложениями, дорогие хабражители.

А пока я судорожно готовлю начало Извне, — первая часть Основ. Статья во многом не о C++ (хотя и о нем тоже) и даже не о lock-free (хотя без atomic lock-free алгоритмы неработоспособны), а о реализации атомарных примитивов в современных процессорах и о базовых проблемах, возникающих при использовании таких примитивов.
Атомарность — это первый круг ада низкий уровень из двух.
Читать дальше →

Кружок электроники: программа занятий

Reading time11 min
Views144K
На прошлой неделе был пост про организацию занятий по электронике в школе. В этом посте, как и обещал, постараюсь изложить свои соображения насчет программы и методики ведения таких занятий.

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

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

Django работает не так, как вы думаете

Reading time4 min
Views36K

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

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

Ну а чтобы не быть голословным — перейдём к примерам. Нас ждут:
  1. Неудаляемые модели, которые мы удалим
  2. Валидируемые поля, которые не валидируются
  3. Два админа, которые портят данные

Примеры

Information

Rating
Does not participate
Location
Красногвардейское, Адыгея, Россия
Date of birth
Registered
Activity