- 1
- 2
- 3
- 4
PREVIEW:
https://postimg.cc/67RGYQf8
PATH:
http://fanserials.auction/49075-razraby-1-sezon-1-seriya.html
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
PREVIEW:
https://postimg.cc/67RGYQf8
PATH:
http://fanserials.auction/49075-razraby-1-sezon-1-seriya.html
Фарадея золочёная клетка
Маяковского помятый пиджак
+1
using System;
namespace Test
{
public class HttpException : Exception
{
public HttpException(int status)
{
StatusCode = status;
}
public int StatusCode { get; set; }
}
class Program
{
static void TestCatch(int status)
{
try
{
throw new HttpException(status);
}
catch (HttpException ex) when (ex.StatusCode == 404)
{
Console.WriteLine("Not Found!");
}
catch (HttpException ex) when (ex.StatusCode >= 500 && ex.StatusCode < 600)
{
Console.WriteLine("Server Error");
}
catch (HttpException ex)
{
Console.WriteLine("HTTP Error {0}", ex.StatusCode);
}
}
static void Main(string[] args)
{
TestCatch(404);
TestCatch(501);
TestCatch(101);
}
}
}
https://ideone.com/zXstg3
Именно поэтому я за «C#».
+1
https://hackaday.com/2015/10/22/an-improvement-to-floating-point-numbers/
Оказывается, тут уже пытались решить плававющую проблему с помощью плавающей длины составных частей плавающей проблемы: не влезает - увеличь мантиссу. Впрочем, то, что значения типа 1/3 всё равно не получится записать, никого не смутило.
+1
using System;
using System.Runtime.Serialization;
namespace MyCoolProject {
internal sealed class CatastrophicException: Exception
{
private static bool dead = false;
public static bool Dead { get { return dead; } }
void RecurseDeath() {
try {
RecurseDeath();
} finally {
RecurseDeath();
}
}
private void DIE() {
dead = true;
try {
Environment.FailFast("Catastrophic Exception!!!");
} finally {
try {
RecurseDeath();
} finally {
throw this;
}
}
}
public CatastrophicException() {
DIE();
}
public sealed override string ToString() {
DIE();
throw this;
}
public sealed override System.Collections.IDictionary Data {
get {
DIE();
throw this;
}
}
public sealed override bool Equals(object obj) {
DIE();
throw this;
}
public sealed override Exception GetBaseException() {
DIE();
throw this;
}
public sealed override int GetHashCode() {
DIE();
throw this;
}
public sealed override string HelpLink {
get {
DIE();
throw this;
} set {
DIE();
}
}
public sealed override string Message {
get {
DIE();
throw this;
}
}
public sealed override void GetObjectData(SerializationInfo info, StreamingContext context) {
DIE();
}
public sealed override string Source {
get {
DIE();
throw this;
}
set {
DIE();
}
}
public sealed override string StackTrace {
get {
DIE();
throw this;
}
}
~CatastrophicException() {
try {
new CatastrophicException().DIE();
} finally {
try {
new CatastrophicException().DIE();
} finally {
new CatastrophicException().DIE();
}
}
}
}
}
+1
/index.php/module/action/param1/${@die(md5(HelloThinkPHP))}: 1 Time(s)
/index.php?s=%2f%69%6e%64%65%78%2f%5c%74%6 ... %6e%6b%50%48%50: 1 Time(s)
/index.php?s=/module/action/param1/${@die( ... elloThinkPHP))}: 1 Time(s)
такую вот хуйню в логах вижу
пыха у меня разумеется никакого нет, но что это вообще такое? Что так ломают?
+1
public class WindowEx : Window //...
{
//hwnd окна
public IntPtr Handle { get; set; }
private const int GWL_EXSTYLE = (-20);
private const uint WS_EX_TOPMOST = 0x00000008;
public void SetTopmost()
{
SetTopmost(Handle);
}
public static void SetTopmost(IntPtr hWnd)
{
SetWindowLongPtr(hWnd, GWL_EXSTYLE, (IntPtr)((ulong)GetWindowLongPtr(hWnd, GWL_EXSTYLE) | WS_EX_TOPMOST));
}
public void UnSetTopmost()
{
UnSetTopmost(Handle);
}
public static void UnSetTopmost(IntPtr hWnd)
{
SetWindowLongPtr(hWnd, GWL_EXSTYLE, (IntPtr)((ulong)GetWindowLongPtr(hWnd, GWL_EXSTYLE) & ~WS_EX_TOPMOST));
}
private bool _topmost;
public new bool Topmost
{
set
{
if (value)
{
SetTopmost();
}
else
{
UnSetTopmost();
}
_topmost = value;
}
get { return _topmost; }
}
}
Тру окно. С тру топмостом. Бесполезно чуть менее, чем полностью:
1) Новый топмост не нужен. Оригинальное свойство через SetWindowPos сделает тоже самое (SetWindowPos может менять дополнительный стиль WS_EX_TOPMOST)
2) Handle (hwnd окна) c публичным set. Круто, чё. Следовало бы сделать public IntPtr Handle { get; private set; }
Так я писал код где-то лет 6 назад.
+1
private void MainDataGridCellEditEnding(object sender, DataGridCellEditEndingEventArgs e)
{
if (e.Column == MainDataGrid.Columns[1])
return;
if (CheckComplianceWithIndentation)
if ((NumberOfLeadingSpaces(Rows[e.Row.GetIndex()].OriginalText) != NumberOfLeadingSpaces(Rows[e.Row.GetIndex()].Translation)) && !Rows[e.Row.GetIndex()].Tags.Contains("I"))
Rows[e.Row.GetIndex()].Tags += "I";
else if (NumberOfLeadingSpaces(Rows[e.Row.GetIndex()].OriginalText) == NumberOfLeadingSpaces(Rows[e.Row.GetIndex()].Translation))
Rows[e.Row.GetIndex()].Tags = Rows[e.Row.GetIndex()].Tags.Replace("I", "");
if ((Rows[e.Row.GetIndex()].Translation.Trim() == "") && !Rows[e.Row.GetIndex()].Tags.Contains("N"))
Rows[e.Row.GetIndex()].Tags += "N";
else if (Rows[e.Row.GetIndex()].Translation.Trim() != "")
Rows[e.Row.GetIndex()].Tags = Rows[e.Row.GetIndex()].Tags.Replace("N", "");
//...
}
public void TagsInit()
{
if (CheckComplianceWithIndentation)
foreach (var hRow in Rows.Where(hRow => NumberOfLeadingSpaces(hRow.OriginalText) != NumberOfLeadingSpaces(hRow.Translation)))
{
hRow.Tags += "I";
}
foreach (var row in Rows.Where(hRow => hRow.Translation == ""))
{
row.Tags += "N";
}
}
Дано: C#, WPF, DataGrid, таблица.
Надо сделать: таблица имеет поля, в том числе и поле Tags, которое определяется полями Translation и OriginalText, а также настройками пользователя (CheckComplianceWithIndentation), нет бы его вынести в класс строки как геттер:
public string Tags => f(Translation, Original);
вместо:
private string _tags;
public string Tags
{
get => _tags;
set
{
_tags = value;
RaisePropertyChanged("Tags");
}
}
Так нет же, будем отлавливать изменения ячеек таблицы (MainDataGridCellEditEnding) и пересчитывать Tags. MainDataGrid.Columns[1] - это колонка с ними, прибито гвоздями в xaml: CanUserReorderColumns="False"
Эх, а еще и Trim вместо String.IsNullOrWhiteSpace.
А еще немного венгерской говнонотации (hRow).
Так я писал где-то лет 7 назад. Да, тогда стрелок не было, но они приведены в описании тупо для сокращения строк кода.
+1
grep '^-' /mnt/etc/roskomhui.txt | cut -d' ' -f2 | sed 's|^\([^/]*\)$|\1/32|' | xargs -n1 ipcalc | awk -e '{if ($1=="Address:") ADDR=$2; if ($1=="Netmask:") print "route add " ADDR" mask "$2" 172.16.1.2" }'
На старом роутере у меня бы opkg и openvpn с сервачком за пределами России.
Список префиксов, на которые я хотел ходить через него, хранился в файле roskomhui.txt и имел формат
# petuh
-net 1.2.3.0/24
-host 1.2.3.4
# foo
grep '^-' /opt/etc/roskomhui.txt | xargs -n2 -icmd echo route add cmd gw $REMOTE_VPN_ADDR | sh
route add 1.2.3.4 255.255.255.255 %ADDR%
+1
var ER={}, x=new TextDecoder('KOI8-R').decode(Uint8Array.from( Array.apply(0,new Uint8Array(64).map( (_,b)=>b&1 ? 128+0x61+b/2 : 65+b/2 ))))
for (var i=0;i<64;i+=2){
if (i<52)
ER[x[ i ]] = x[i+1], ER[ x[i].toLowerCase() ] = x[i+1].toLowerCase()
ER[x[i+1]] = x[ i ], ER[x[i+1].toLowerCase()] = x[ i ].toLowerCase();
}
text=`<Налог>
<Наименование>НДС</Наименование>
<УчтеноВСумме>false</УчтеноВСумме>
</Налог>`
text.replace(/./g,(char,offset,text) => ER[char] || char);
Из юзерскрипта для транслитерации в обоих направлениях.
+1
// Задача: Рисовать в консоли прогресс бар, на сколько дней текущий год завершился
static void ProgressBarOfElapsedDays(DateTime dateTime, bool isRefreshebleat = false) // рефрешеБЛЕАТ! :))
{
int daysOfYear = DateTime.IsLeapYear(dateTime.Year) ? 366 : 365;
int dayInProcents = daysOfYear * 100 / 100; // WAT?
int currentDay = dateTime.DayOfYear * 100;
int daysOfYearNotElapsed = daysOfYear * 100 - currentDay; // Сложный матан
int procent = 100 - (daysOfYear * 100 - currentDay) / dayInProcents;
int buffer = 0;
if (isRefreshebleat)
{
if (Console.CursorTop >= 1 || Console.CursorLeft >= 1)
{
Console.SetCursorPosition(Console.CursorLeft - Console.CursorLeft, Console.CursorTop - Console.CursorTop); // когда Console.SetCursorPosition(0, 0) недостаточно
}
}
// остальной код
}
isRefreshebleat и всё остальное :))