Skip to content

Instantly share code, notes, and snippets.

@dodikk
dodikk / Localisable.stringsdict
Last active April 1, 2016 16:39
[localization] Plurals and strings
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>REMINDER_PREVIEW_FORMAT</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>Take %1$#@lu_pills@ at %2$@</string>
<key>lu_pills</key>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>REMINDER_PREVIEW_FORMAT</key>
<dict>
<key>NSStringLocalizedFormatKey</key>
<string>Take %1$#@lu_pills@ at %2$@</string>
<key>lu_total_runs</key>
<dict>
default_platform :ios
platform :ios do
before_all do
#reset git
setup_jenkins()
reset_git_repo(force: true)
end
@dodikk
dodikk / sb_xib_code.txt
Last active February 1, 2016 16:10
iOS GUI tool holy war
Storyboard :
+ видна структура приложения (переходы)
+ визуально верстаешь
- частые и трудно решаемые merge conflict
- тормоза xcode когда “всё в одном файле” (сюрприз! можно иметь несколько storyboard в одном прожекте)
Xib :
+ визуально верстаешь
+ merge conflict реже
+ Нет тормозов, ибо “1 xib - 1 screen”
@dodikk
dodikk / ReimportUnityEngineUI.cs
Created January 22, 2016 10:22
Unity bug workaround "in timestamps but is not known in assetdatabase"
using UnityEngine;
using System.Collections.Generic;
using UnityEditor;
using System.Text.RegularExpressions;
using System.IO;
using System.Text;
// http://forum.unity3d.com/threads/unityengine-ui-dll-is-in-timestamps-but-is-not-known-in-assetdatabase.274492/#post-1942214
public class ReimportUnityEngineUI

Computer science theory

  1. Что такое инвариант цикла?

  2. Что такое сложность алгоритма? O(n) нотация. O(???) для операций с NSArray, NSDictionary, запрос в БД (индексированный VS. неиндексированный)

  3. CS data structures (linked list, binary tree, array)

  4. Различия аутентификации, авторизации

@dodikk
dodikk / ObjcCast.hpp
Created November 21, 2015 23:19
Safe Cast templates for Objective-C
#ifndef __JFF_CAST_FUNCTIONS_H__
#define __JFF_CAST_FUNCTIONS_H__
#import <Foundation/Foundation.h>
#pragma mark -
#pragma mark NSObject casts
template < class DESTINATION >
DESTINATION* objc_kind_of_cast( id nsObject )
{
@dodikk
dodikk / df_24_hour_issue.mm
Created August 4, 2015 12:54
NSDateFormatter bug
NSLocale* posixLocale = [[NSLocale alloc] initWithLocaleIdentifier: @"en_US_POSIX"];
NSCalendar* gregorianCal = [[NSCalendar alloc] initWithCalendarIdentifier: NSCalendarIdentifierGregorian];
NSDateFormatter* df = [NSDateFormatter new];
{
gregorianCal.locale = posixLocale;
df.locale = posixLocale;
df.calendar = gregorianCal;
}
df.dateFormat = @"yyyy-MM-dd'T'hh:mm:ss.SSSZ";
@dodikk
dodikk / LoadFromNib.mm
Created June 18, 2015 15:22
Subviews not loaded for xib with autolayout
NSArray* nibObjects = [[NSBundle mainBundle] loadNibNamed: @"HLJCommunicationMethodView"
owner: self
options: nil];
HLJCommunicationMethodView* createdView = objc_member_of_cast<HLJCommunicationMethodView>([nibObjects firstObject]);
result = createdView;
@dodikk
dodikk / crash.txt
Created June 17, 2015 07:49
crash-iso-8.3
EXC_BREAKPOINT
/usr/lib/system/libsystem_platform.dylib:0 _os_lock_corruption_abort
/usr/lib/system/libsystem_platform.dylib:0 _OSSpinLockLockSlow$VARIANT$wfe
Frameworks/CFNetwork.framework/CFNetwork:0 _ZN19URLConnectionLoader21_loaderEvent_AckBytesEx
Frameworks/CFNetwork.framework/CFNetwork:0 _ZN19URLConnectionClient26_internal_captureDataArrayEv
Frameworks/CFNetwork.framework/CFNetwork:0 ___ZN27URLConnectionClient_Classic29_delegate_didReceiveDataArrayEv_block_invoke
Frameworks/CFNetwork.framework/CFNetwork:0 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2
Frameworks/CFNetwork.framework/CFNetwork:0 ___ZNK18QCoreSchedulingSet12performAsyncEU13block_pointerFvvE_block_invoke
/usr/lib/system/libdispatch.dylib:0 _dispatch_call_block_and_release
/usr/lib/system/libdispatch.dylib:0 _dispatch_client_callout