- 1
- 2
Рак
https://twitter.com/thelarkinn/status/1006746626617008128
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−1
Рак
https://twitter.com/thelarkinn/status/1006746626617008128
С этим миром явно что-то не так.
Вот если бы в хуе было два яйца - это было бы неправильно. А так - яйца где-то отдельно, но хуй знает, какие яйца ему принадлежат.
Ну в данном случае фигня какая-то, разыменовал мусор и сидит довольный.
Обычно там NULL
Я каждый день с утра разыменовываю мусор, и потом хожу весь день довольный.
> хожу довольный
Эксплойты пишешь?
Нихуя себе мышка.
Еще можно усиленно пихать в API всякий мусор и смотреть как он себя поведет, но лучше читать код.
На самом деле в _хорошем_ коде не должно быть явных буфероверфлоу: функции или явно требуют выделить память за них, либо явно передать им размер нужной памяти. Всякие говнофункции типа *str* тоже часто депрекейтнуты, а страницы со стеком, с кодом и с кучей разедены так что выполнить произвольный код в куче все равно так просто не получится
Но говноеды умеют в gadgets aka return oriented programming, : когда делают jmp в заранее известное место (можешь вику читнуть)
Для боротьбы с говноедами современные ОС используют ALSR загружая каждый раз в разное место, а openbsd релинкит в случайном порядке ядро и юзерленд, а больше так делает никто
17 января 2014 года проект оказался под угрозой закрытия из-за того, что у Тео де Раадта, использующего для OpenBSD огромный «зоопарк железа» у себя дома, накопилась значительная задолженность за электроэнергию, эквивалентная 20 000$, в связи с чем он опубликовал письмо с просьбой о помощи.
Когда-то openbsd давала денег DARPA, но потом пришел пездец: Тео говорит что они обиделись на его антивоенные высказывания по поводу Ирака.
Даже у фрибзди куча спонсоров, а у openbsd мало совсем: кстати, больше всего бабла им давал Яндекс)
foo(); //сам дурак
а если ссылка то
var foo = new Foo();
foo();
Был такой "справочник программиста PC" человека по имени Джордейн:
охуенная книга, в которой описывалась как программировать буквально всё железо PC, например как с помощью таймера и писиспикера сделать звук.
Так вот там многие программы давались в двух вариантах: в асемблере и в барсике (ибо барсик был частью base system доса, qbasic вроде).
Мне от этик пиков и поков хотелось скорее в masm и там делать MOV и OUT.
Некоторые, кстати, так писались на микикомпах типа спектурума потому что basic был в прошивке
+
В школе не учили. Но мы сами учились :)
и каскадный онделит
Это мы не проходили
Это нам не задавали
Тарам-пам-пам!
Тарам-пам-пам!
Констреинты? Это что-то такое монструозное, нинужное, интерпрайзное, из javaee из 2001 года, а я сейчас в ATOM на JavaScript все напишу и по RESTу сложу в сторадж
> только MySQL
Это по какой-такой спесальности?
Вы уже ссосали?
Ваш КО
http://www.redmine.org/boards/1/topics/15943
и если это так сложно для пиздоглазых, то что уж говорить о говноедах
Ruby?
>>говноедах
PHP?
Кстати, Django умеет внешние ключи, uniq и not null. Больше, правда, никакие констреинты не умеет, но и это уже хорошо.
И вообще там postgres главная субд. Петон молодец
ну нахуй
дякую тобi боже що я не рейлист
Так что DHH говна поел with no reason.
Правда, это было 8 лет назад. Может быть с тех пор рельсы чему-то научилмсь
ps: дока грит "Active Record only supports single column foreign keys"
так-то ежу понятно что PK тут CODE потому что он Unique и однозначно идентифицирует ряд, но некоторые ORM не хотят видеть ключем не INT например
ORM это всегда трейдоф, как и любая попытка сделать что-то с помощью высокоуровневых инструментов или кодогенерации.
В том же Django я могу описать модели типа:
И получить автоматически веб-морду для создания птичьих семей, и возможность делать запросы типа
Вполне себе будет нормальный запрос, внешние ключи индексируются.
Разумеется, если я захочу я могу сделать
и ORM замапит мне все поля, потому что моя задача только в том чтобы кортеж (или как правильно назвать ряд?) с курочкиными пропертями вернуть.
Могу пойти дальше, и получить результат запроса в виде dict и сам заполнить курочку:
Ничто, в общем, не мешает когда нужно взять в руки голый SQL, а унылый CRUD бойлерплейт и заполнение форм (а это 80% любого говносайта) сделает за меня Django и ORM.
>>во флоатах
вот ты смеешься, а я реально видел тех кто так делает. Они удивляют меня еще болше тех, у кого в коде sql инъекции.
https://www.npmjs.com/package/bignumber.js
Ничего лишнего
2) дождиаешься когда ее пропишут в своих package.json все, включая jquery, react и webpack
3) с помпой выпускаешь новую версию, незаметно добавляя туда майнер
4) вжух, и через сутки твой код работает на ста семи миллионах компьютеров по всему миру
Если воткнуть его в операции bignumber никто даже не заметит!
> BigInts are a new primitive in the JavaScript language. As such, they get their own type that can be detected using the typeof operator:
Можно провести еще одну такую транзакцию с противоположным знаком.
Она нормализует счёт и выведет его в NaN.
> Egg *eggs[2];
Я бы написал так:
Egg eggs[2];
И пускай там два яца лежат внутри буя без всякой указательности
А как ты после этого будешь реализовывать castrate()?
Имхо, всё это должно принадлежать чему-то более высокоуровневому (Body?) А если органам нужно знать друг о друге -- то передать через конструктор ссылку или weak_ptr.
Имхо, массив указателей нужен в двух случаях:
1) одно яйцо может принадлежать более чем одному человеку (паттерн приспособленец как раз): много указателей на одну сущность
2) левое и правое яцо суть одно и тоже: указателя два, а яйцо одно.
Можно еще было хранить там тупо указатель на null terminated массив яиц на случай если их будет три или одно, либо же хранить количество яиц отдельно (это безопаснее чем null term)
С принадлежность согласен: тут явно не выполняется HAS-A, так что лучше отдать это body.
А зачем weak? Чтобы не получилось reference cycle?
Ну а как же полиморфизм (яйца могут быть разного типа)?
> Чтобы не получилось reference cycle?
Ну да.
Так что тут похоже что ты прав: лучше иметь ссылку на интерфейс потому что она всегда одинаковая, а вот где выделять память под реальные воловьи яйца это уже на совести клиента нашего фреймворка
Ну да, именно так.
З.Ы. С указателем ещё и тестировать всё это можно будет по-отдельности.
В 16ти битном режиме я бы сказал что нужен short, но на современных системах все равно выровняется
А Dick какого размера?
Я спрашиваю потому что если он очень большой то лучше хранить указатель: пусть у тебя член отдельно будет
Таки да, надо *dick. Ведь член можно отделить (правда это не рекомендуется), его может не быть изначально, он может быть одновременно и на положенном месте и в чьей-нибудь руке, рту, анусе, кармане и т.д. Может быть даже в руке, что находится в анусе. Или, может лучше хранить id хуйца?
Говорят одно африканское племя нашло способ форкать хуи
Ну, и собсно сам:
Нужно же куда-то утилизировать лишнюю процессорную мощь!
Молодцы, ребята, стараются.
The Great Moore's Law Compensator (TGMLC), generally referred to as bloat, and also known as Wirth's law, is the principle that successive generations of computer software acquire enough bloat to offset the performance gains predicted by Moore's Law.
In a 2008 article in InfoWorld, Randall C. Kennedy, formerly of Intel, introduces this term using successive versions of Microsoft Office between the year 2000 and 2007 as his premise. Despite the gains in computational performance during this time period according to Moore's law, Office 2007 performed the same task at half the speed on a prototypical year 2007 computer as compared to Office 2000 on a year 2000 computer.
И все страшно радуются: Ура! Теперь вместо противных C# и сложных C++ мы можем написать все продукты на JavaScript. 19-ти летние хипстеры запустили свои Atomы, налили себе смузи, и как давай жечь
А что в шарпе противного-то? Вполне себе статически тупизированный. Всё лучше чем js.
В тему офиса, еще праативного спольски процитировать.
Как он на яву набрасывал.
https://www.joelonsoftware.com/2005/12/29/the-perils-of-javaschools-2/
A sure sign of my descent into senility is bitchin’ and moanin’ about “kids these days,” and how they won’t or can’t do anything hard any more.
When I started interviewing programmers in 1991, I would generally let them use any language they wanted to solve the coding problems I gave them. 99% of the time, they chose C.
Nowadays, they tend to choose Java.
На мой вкус почти все что угодно лучше чем JS (кроме PHP), но судя по всему я тут в меньшенствие
зы: ахахах, спольски не знал что скоро вместо джавистов (которые хотябы учили про GC, кучу и стек) придут JS kids
Деградация неумолима.
С другой стороны похоже что ms не дают покоя лавры google doca.
Кому впёрся их монструозный офис за сверхдохуя денег, когда каждом в браузере есть всё то же и бесплатно.
Я помню эпическую схватку Rich UIs в 2008: Java Fx, Silver light, Flash(Flex): потом пришел JS с канвасами+HTML5 и всем песец пришел. А когда-то на них делали все: От чатов до кнопочек
А жабавпплеты убила яцеголовая политика SUN: они запретили MS делать свою JVM, в результате IE (а это было 85% рынка тогда) остался без поддержки апплетов (не вручную же сановую JVM ставить) и пришел пипец апплетам.
В любом случае сейчас все берут жопаскрипт и HTML5 вместо точеных сей для клиент-сайда.
А не, все, пизда
https://blogs.windows.com/msedgedev/2015/07/02/moving-to-html5-premium-media/
Support for ActiveX has been discontinued in Microsoft Edge, and that includes removing support for Silverlight.
Это не отменяет того факта что ActiveX нигде кроме винды работать не будет
А что, сейсас её не юзают?
Сейчас в моде делать микросервисы с эпи под REST/json.
В Корбе был IDL и там можно было описывать интфейсы и даже генерить скелеты.
Потом пришли джаваскриптеры и сказали что лучше REST/json, потому что так во-первых нету способа хоть как-то формально описать интерфейс, а во-вторых все ошибки будут исключительно в рантайме, в общем все модные в современном мире разработки тренды
Сегодня прикладные разработки базируются на одной из 2 (тут какое-то нечитаемое говно) MTS/DCOM и CORBA...
Насколько устарело?
То-есть старые разработки конечно никуда не ушли, но новые конечно же будут на rest или soap (у ms).
Вот MTS в качестве координатора распределенных еще можбыть
Свят свят Силверлайт Мокрософтов..
Я джва месица назад лепил одну флешку позоказу первого конала.
Все мои знакомые флексеры/экшенскриптеры давно или в мобильных разработках или в редких десктопах
Т.е. если я с крестов и low-level хардкора перейду на js, то сиськи вырастут? Ня :3
Проверь.
Вот например в Django Core Team есть разработчик:
https://github.com/mxsasha/
Как ты думаешь, это мальчик или девочка?
Тут такое нагуглить можно:((
ЯННП.
Главное чтоб не подписывался Александреску.
С js перейдёт на кресты и сиськи сразу исчезнут. А вместо них может появиться даже седая борода.
– А что это у тебя между ног?
– Это мой... ребёнок.
http://www.ltran.ru/latin-russian/
на латынь "хер с горы" -- "Pedicabo ego montes", перевёл обратно -- "Бля горы".
Ах ты трипиздоблядина хуеклятая! → O tropezcasino hoeksta!
O tropezcasino hoeksta! → O tropezcasino hoeksta!
На латынь перевёл, а с латыни не хочет.